open-multi-agent-kit 0.93.0 → 0.94.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +29 -1
  2. package/README.md +3 -2
  3. package/dist/core/agent-session.d.ts +7 -14
  4. package/dist/core/agent-session.d.ts.map +1 -1
  5. package/dist/core/agent-session.js +78 -347
  6. package/dist/core/agent-session.js.map +1 -1
  7. package/dist/core/github-star-nudge.d.ts +15 -0
  8. package/dist/core/github-star-nudge.d.ts.map +1 -0
  9. package/dist/core/github-star-nudge.js +21 -0
  10. package/dist/core/github-star-nudge.js.map +1 -0
  11. package/dist/core/package-manager.d.ts.map +1 -1
  12. package/dist/core/package-manager.js +11 -1
  13. package/dist/core/package-manager.js.map +1 -1
  14. package/dist/core/sandbox/default-policy.d.ts +14 -0
  15. package/dist/core/sandbox/default-policy.d.ts.map +1 -0
  16. package/dist/core/sandbox/default-policy.js +58 -0
  17. package/dist/core/sandbox/default-policy.js.map +1 -0
  18. package/dist/core/sdk.d.ts.map +1 -1
  19. package/dist/core/sdk.js +1 -1
  20. package/dist/core/sdk.js.map +1 -1
  21. package/dist/core/session-bash-runtime.d.ts +62 -0
  22. package/dist/core/session-bash-runtime.d.ts.map +1 -0
  23. package/dist/core/session-bash-runtime.js +167 -0
  24. package/dist/core/session-bash-runtime.js.map +1 -0
  25. package/dist/core/session-bash-service.d.ts +61 -0
  26. package/dist/core/session-bash-service.d.ts.map +1 -0
  27. package/dist/core/session-bash-service.js +155 -0
  28. package/dist/core/session-bash-service.js.map +1 -0
  29. package/dist/core/session-compaction-service.d.ts +48 -0
  30. package/dist/core/session-compaction-service.d.ts.map +1 -0
  31. package/dist/core/session-compaction-service.js +250 -0
  32. package/dist/core/session-compaction-service.js.map +1 -0
  33. package/dist/core/settings-manager.d.ts +5 -0
  34. package/dist/core/settings-manager.d.ts.map +1 -1
  35. package/dist/core/settings-manager.js +9 -0
  36. package/dist/core/settings-manager.js.map +1 -1
  37. package/dist/core/skills-catalog-cache.d.ts +25 -0
  38. package/dist/core/skills-catalog-cache.d.ts.map +1 -0
  39. package/dist/core/skills-catalog-cache.js +123 -0
  40. package/dist/core/skills-catalog-cache.js.map +1 -0
  41. package/dist/core/skills.d.ts +6 -0
  42. package/dist/core/skills.d.ts.map +1 -1
  43. package/dist/core/skills.js +25 -4
  44. package/dist/core/skills.js.map +1 -1
  45. package/dist/core/slash-commands.d.ts.map +1 -1
  46. package/dist/core/slash-commands.js +4 -0
  47. package/dist/core/slash-commands.js.map +1 -1
  48. package/dist/core/system-prompt.d.ts.map +1 -1
  49. package/dist/core/system-prompt.js +1 -1
  50. package/dist/core/system-prompt.js.map +1 -1
  51. package/dist/core/tools/bash.d.ts +3 -0
  52. package/dist/core/tools/bash.d.ts.map +1 -1
  53. package/dist/core/tools/bash.js +3 -2
  54. package/dist/core/tools/bash.js.map +1 -1
  55. package/dist/core/tools/diagnostics.d.ts +29 -0
  56. package/dist/core/tools/diagnostics.d.ts.map +1 -0
  57. package/dist/core/tools/diagnostics.js +325 -0
  58. package/dist/core/tools/diagnostics.js.map +1 -0
  59. package/dist/core/tools/index.d.ts +2 -1
  60. package/dist/core/tools/index.d.ts.map +1 -1
  61. package/dist/core/tools/index.js +18 -1
  62. package/dist/core/tools/index.js.map +1 -1
  63. package/dist/core/verified-bash-adapter.d.ts +18 -1
  64. package/dist/core/verified-bash-adapter.d.ts.map +1 -1
  65. package/dist/core/verified-bash-adapter.js +38 -1
  66. package/dist/core/verified-bash-adapter.js.map +1 -1
  67. package/dist/core/verified-bash-runtime.d.ts +13 -0
  68. package/dist/core/verified-bash-runtime.d.ts.map +1 -0
  69. package/dist/core/verified-bash-runtime.js +81 -0
  70. package/dist/core/verified-bash-runtime.js.map +1 -0
  71. package/dist/index.d.ts +4 -2
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +4 -2
  74. package/dist/index.js.map +1 -1
  75. package/dist/modes/interactive/interactive-mode.d.ts +2 -0
  76. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  77. package/dist/modes/interactive/interactive-mode.js +55 -0
  78. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  79. package/dist/types/evidence.d.ts +1 -1
  80. package/dist/types/evidence.d.ts.map +1 -1
  81. package/dist/types/evidence.js.map +1 -1
  82. package/dist/utils/frontmatter.d.ts.map +1 -1
  83. package/dist/utils/frontmatter.js +31 -5
  84. package/dist/utils/frontmatter.js.map +1 -1
  85. package/docs/environment-variables.md +4 -0
  86. package/docs/sdk.md +10 -4
  87. package/docs/settings.md +11 -0
  88. package/docs/usage.md +1 -0
  89. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  90. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  91. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  92. package/examples/extensions/gondolin/package-lock.json +2 -2
  93. package/examples/extensions/gondolin/package.json +1 -1
  94. package/examples/extensions/sandbox/package-lock.json +2 -2
  95. package/examples/extensions/sandbox/package.json +1 -1
  96. package/examples/extensions/with-deps/package-lock.json +2 -2
  97. package/examples/extensions/with-deps/package.json +1 -1
  98. package/npm-shrinkwrap.json +15 -15
  99. package/package.json +5 -5
@@ -16,6 +16,7 @@ import { parseSkillBlock } from "../../core/agent-session.js";
16
16
  import { SessionImportFileNotFoundError } from "../../core/agent-session-runtime.js";
17
17
  import { parseBangInvocation } from "../../core/bang-skill-invocation.js";
18
18
  import { FooterDataProvider } from "../../core/footer-data-provider.js";
19
+ import { githubStarNudgeBody, githubStarNudgeTitle, OMK_GITHUB_STAR_URL, shouldShowGithubStarNudge, } from "../../core/github-star-nudge.js";
19
20
  import { configureHttpDispatcher, formatHttpIdleTimeoutMs } from "../../core/http-dispatcher.js";
20
21
  import { KeybindingsManager } from "../../core/keybindings.js";
21
22
  import { createCompactionSummaryMessage } from "../../core/messages.js";
@@ -31,6 +32,7 @@ import { getChangelogPath, getNewEntries, parseChangelog } from "../../utils/cha
31
32
  import { copyToClipboard } from "../../utils/clipboard.js";
32
33
  import { extensionForImageMimeType, readClipboardImage } from "../../utils/clipboard-image.js";
33
34
  import { parseGitUrl } from "../../utils/git.js";
35
+ import { openBrowser } from "../../utils/open-browser.js";
34
36
  import { getCwdRelativePath } from "../../utils/paths.js";
35
37
  import { killTrackedDetachedChildren } from "../../utils/shell.js";
36
38
  import { ensureTool } from "../../utils/tools-manager.js";
@@ -505,6 +507,28 @@ export class InteractiveMode {
505
507
  this.editor.setAutocompleteProvider?.(provider);
506
508
  }
507
509
  }
510
+ showGithubStarNudgeIfNeeded() {
511
+ if (!shouldShowGithubStarNudge({ githubStarred: this.settingsManager.getGithubStarred() })) {
512
+ return;
513
+ }
514
+ const starUrl = OMK_GITHUB_STAR_URL;
515
+ const starLink = getCapabilities().hyperlinks
516
+ ? hyperlink(theme.fg("accent", "open repo & star"), starUrl)
517
+ : theme.fg("accent", starUrl);
518
+ const actionLine = theme.fg("muted", "Star it, then run ") +
519
+ theme.bold(theme.fg("accent", "/star")) +
520
+ theme.fg("muted", " so this stops. Link: ") +
521
+ starLink;
522
+ if (this.chatContainer.children.length > 0) {
523
+ this.chatContainer.addChild(new Spacer(1));
524
+ }
525
+ this.chatContainer.addChild(new DynamicBorder((text) => theme.fg("accent", text)));
526
+ this.chatContainer.addChild(new Text(`${theme.bold(theme.fg("accent", githubStarNudgeTitle()))}\n${githubStarNudgeBody()}`, 1, 0));
527
+ this.chatContainer.addChild(new Spacer(1));
528
+ this.chatContainer.addChild(new Text(actionLine, 1, 0));
529
+ this.chatContainer.addChild(new DynamicBorder((text) => theme.fg("accent", text)));
530
+ this.ui.requestRender();
531
+ }
508
532
  showStartupNoticesIfNeeded() {
509
533
  if (this.startupNoticesShown) {
510
534
  return;
@@ -1421,6 +1445,7 @@ export class InteractiveMode {
1421
1445
  this.setupExtensionShortcuts(extensionRunner);
1422
1446
  this.showLoadedResources({ force: false, showDiagnosticsWhenQuiet: true });
1423
1447
  this.showStartupNoticesIfNeeded();
1448
+ this.showGithubStarNudgeIfNeeded();
1424
1449
  }
1425
1450
  applyRuntimeSettings() {
1426
1451
  configureHttpDispatcher(this.settingsManager.getHttpIdleTimeoutMs());
@@ -2267,6 +2292,10 @@ export class InteractiveMode {
2267
2292
  this.editor.setText("");
2268
2293
  return;
2269
2294
  }
2295
+ if (text === "/star" || text.startsWith("/star ")) {
2296
+ this.handleStarCommand(text);
2297
+ return true;
2298
+ }
2270
2299
  if (text === "/changelog") {
2271
2300
  this.handleChangelogCommand();
2272
2301
  this.editor.setText("");
@@ -4758,6 +4787,32 @@ export class InteractiveMode {
4758
4787
  this.chatContainer.addChild(new Text(info, 1, 0));
4759
4788
  this.ui.requestRender();
4760
4789
  }
4790
+ handleStarCommand(text) {
4791
+ const arg = text === "/star" ? "" : text.slice("/star".length).trim().toLowerCase();
4792
+ const reset = arg === "reset" || arg === "again" || arg === "clear";
4793
+ if (reset) {
4794
+ this.settingsManager.setGithubStarred(false);
4795
+ this.chatContainer.addChild(new Spacer(1));
4796
+ this.chatContainer.addChild(new Text(theme.fg("warning", "Star nudge reset. It will show again on the next interactive launch until you /star."), 1, 0));
4797
+ this.ui.requestRender();
4798
+ return;
4799
+ }
4800
+ openBrowser(OMK_GITHUB_STAR_URL);
4801
+ this.settingsManager.setGithubStarred(true);
4802
+ const starLink = getCapabilities().hyperlinks
4803
+ ? hyperlink(theme.fg("accent", OMK_GITHUB_STAR_URL), OMK_GITHUB_STAR_URL)
4804
+ : theme.fg("accent", OMK_GITHUB_STAR_URL);
4805
+ this.chatContainer.addChild(new Spacer(1));
4806
+ this.chatContainer.addChild(new DynamicBorder((text) => theme.fg("accent", text)));
4807
+ this.chatContainer.addChild(new Text([
4808
+ theme.bold(theme.fg("accent", "Thanks — star nudge off")),
4809
+ theme.fg("muted", "Opened the repo (if a browser is available). Hit the star if you have not yet."),
4810
+ `${theme.fg("muted", "Repo: ")}${starLink}`,
4811
+ theme.fg("dim", "Forgot already? /star reset brings the nag back."),
4812
+ ].join("\n"), 1, 0));
4813
+ this.chatContainer.addChild(new DynamicBorder((text) => theme.fg("accent", text)));
4814
+ this.ui.requestRender();
4815
+ }
4761
4816
  handleChangelogCommand() {
4762
4817
  const changelogPath = getChangelogPath();
4763
4818
  const allEntries = parseChangelog(changelogPath);