open-multi-agent-kit 0.96.1 → 0.97.0

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 (267) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/README.md +14 -2
  3. package/dist/cli/args.d.ts.map +1 -1
  4. package/dist/cli/args.js +1 -0
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/commands/resource-doctor-cli.d.ts +22 -0
  7. package/dist/commands/resource-doctor-cli.d.ts.map +1 -0
  8. package/dist/commands/resource-doctor-cli.js +98 -0
  9. package/dist/commands/resource-doctor-cli.js.map +1 -0
  10. package/dist/core/agent-session.d.ts +46 -2
  11. package/dist/core/agent-session.d.ts.map +1 -1
  12. package/dist/core/agent-session.js +373 -12
  13. package/dist/core/agent-session.js.map +1 -1
  14. package/dist/core/attachment-store.d.ts +39 -0
  15. package/dist/core/attachment-store.d.ts.map +1 -0
  16. package/dist/core/attachment-store.js +81 -0
  17. package/dist/core/attachment-store.js.map +1 -0
  18. package/dist/core/command-safety.d.ts +8 -0
  19. package/dist/core/command-safety.d.ts.map +1 -1
  20. package/dist/core/command-safety.js +140 -14
  21. package/dist/core/command-safety.js.map +1 -1
  22. package/dist/core/compaction/compaction.d.ts +6 -1
  23. package/dist/core/compaction/compaction.d.ts.map +1 -1
  24. package/dist/core/compaction/compaction.js +35 -1
  25. package/dist/core/compaction/compaction.js.map +1 -1
  26. package/dist/core/completion-sound.d.ts +109 -0
  27. package/dist/core/completion-sound.d.ts.map +1 -0
  28. package/dist/core/completion-sound.js +165 -0
  29. package/dist/core/completion-sound.js.map +1 -0
  30. package/dist/core/context-budget-governor-v2.d.ts +1 -1
  31. package/dist/core/context-budget-governor-v2.d.ts.map +1 -1
  32. package/dist/core/context-budget-governor-v2.js +1 -1
  33. package/dist/core/context-budget-governor-v2.js.map +1 -1
  34. package/dist/core/context-budget-system-prompt-items.d.ts.map +1 -1
  35. package/dist/core/context-budget-system-prompt-items.js +2 -2
  36. package/dist/core/context-budget-system-prompt-items.js.map +1 -1
  37. package/dist/core/context-budget-v2-cache-keys.d.ts +3 -0
  38. package/dist/core/context-budget-v2-cache-keys.d.ts.map +1 -1
  39. package/dist/core/context-budget-v2-cache-keys.js +2 -0
  40. package/dist/core/context-budget-v2-cache-keys.js.map +1 -1
  41. package/dist/core/context-budget-v2-plan-cache-keys.d.ts.map +1 -1
  42. package/dist/core/context-budget-v2-plan-cache-keys.js +3 -0
  43. package/dist/core/context-budget-v2-plan-cache-keys.js.map +1 -1
  44. package/dist/core/context-budget-v2-planner.d.ts.map +1 -1
  45. package/dist/core/context-budget-v2-planner.js +2 -1
  46. package/dist/core/context-budget-v2-planner.js.map +1 -1
  47. package/dist/core/context-budget-v2-scoring.d.ts +17 -0
  48. package/dist/core/context-budget-v2-scoring.d.ts.map +1 -1
  49. package/dist/core/context-budget-v2-scoring.js +25 -8
  50. package/dist/core/context-budget-v2-scoring.js.map +1 -1
  51. package/dist/core/context-budget-v2-selection.d.ts +2 -2
  52. package/dist/core/context-budget-v2-selection.d.ts.map +1 -1
  53. package/dist/core/context-budget-v2-selection.js +18 -1
  54. package/dist/core/context-budget-v2-selection.js.map +1 -1
  55. package/dist/core/context-budget-v2-types.d.ts +17 -0
  56. package/dist/core/context-budget-v2-types.d.ts.map +1 -1
  57. package/dist/core/context-budget-v2-types.js +15 -0
  58. package/dist/core/context-budget-v2-types.js.map +1 -1
  59. package/dist/core/extensions/builtin/command-safety-gate.d.ts +3 -1
  60. package/dist/core/extensions/builtin/command-safety-gate.d.ts.map +1 -1
  61. package/dist/core/extensions/builtin/command-safety-gate.js +7 -0
  62. package/dist/core/extensions/builtin/command-safety-gate.js.map +1 -1
  63. package/dist/core/extensions/types.d.ts +12 -1
  64. package/dist/core/extensions/types.d.ts.map +1 -1
  65. package/dist/core/extensions/types.js.map +1 -1
  66. package/dist/core/host-resource-probe.d.ts +63 -0
  67. package/dist/core/host-resource-probe.d.ts.map +1 -0
  68. package/dist/core/host-resource-probe.js +126 -0
  69. package/dist/core/host-resource-probe.js.map +1 -0
  70. package/dist/core/host-resource-snapshot.d.ts +54 -0
  71. package/dist/core/host-resource-snapshot.d.ts.map +1 -0
  72. package/dist/core/host-resource-snapshot.js +139 -0
  73. package/dist/core/host-resource-snapshot.js.map +1 -0
  74. package/dist/core/model-registry.d.ts +8 -3
  75. package/dist/core/model-registry.d.ts.map +1 -1
  76. package/dist/core/model-registry.js +71 -1
  77. package/dist/core/model-registry.js.map +1 -1
  78. package/dist/core/package-doctor-source-scan.d.ts +9 -0
  79. package/dist/core/package-doctor-source-scan.d.ts.map +1 -1
  80. package/dist/core/package-doctor-source-scan.js +77 -4
  81. package/dist/core/package-doctor-source-scan.js.map +1 -1
  82. package/dist/core/prompt-attachment.d.ts +51 -0
  83. package/dist/core/prompt-attachment.d.ts.map +1 -0
  84. package/dist/core/prompt-attachment.js +186 -0
  85. package/dist/core/prompt-attachment.js.map +1 -0
  86. package/dist/core/prompt-settlement.d.ts +81 -0
  87. package/dist/core/prompt-settlement.d.ts.map +1 -0
  88. package/dist/core/prompt-settlement.js +84 -0
  89. package/dist/core/prompt-settlement.js.map +1 -0
  90. package/dist/core/provider-resilience.d.ts +28 -0
  91. package/dist/core/provider-resilience.d.ts.map +1 -1
  92. package/dist/core/provider-resilience.js +51 -1
  93. package/dist/core/provider-resilience.js.map +1 -1
  94. package/dist/core/provider-retry.d.ts +7 -0
  95. package/dist/core/provider-retry.d.ts.map +1 -1
  96. package/dist/core/provider-retry.js +24 -0
  97. package/dist/core/provider-retry.js.map +1 -1
  98. package/dist/core/provider-usage.d.ts +15 -2
  99. package/dist/core/provider-usage.d.ts.map +1 -1
  100. package/dist/core/provider-usage.js +176 -2
  101. package/dist/core/provider-usage.js.map +1 -1
  102. package/dist/core/reasoning-router-promotion.d.ts +84 -0
  103. package/dist/core/reasoning-router-promotion.d.ts.map +1 -0
  104. package/dist/core/reasoning-router-promotion.js +92 -0
  105. package/dist/core/reasoning-router-promotion.js.map +1 -0
  106. package/dist/core/reasoning-router-resolver.d.ts.map +1 -1
  107. package/dist/core/reasoning-router-resolver.js +1 -1
  108. package/dist/core/reasoning-router-resolver.js.map +1 -1
  109. package/dist/core/resource-admission-config.d.ts +55 -0
  110. package/dist/core/resource-admission-config.d.ts.map +1 -0
  111. package/dist/core/resource-admission-config.js +97 -0
  112. package/dist/core/resource-admission-config.js.map +1 -0
  113. package/dist/core/resource-admission.d.ts +81 -0
  114. package/dist/core/resource-admission.d.ts.map +1 -0
  115. package/dist/core/resource-admission.js +128 -0
  116. package/dist/core/resource-admission.js.map +1 -0
  117. package/dist/core/resource-governor-format.d.ts +50 -0
  118. package/dist/core/resource-governor-format.d.ts.map +1 -0
  119. package/dist/core/resource-governor-format.js +113 -0
  120. package/dist/core/resource-governor-format.js.map +1 -0
  121. package/dist/core/resource-governor-settings.d.ts +56 -0
  122. package/dist/core/resource-governor-settings.d.ts.map +1 -0
  123. package/dist/core/resource-governor-settings.js +89 -0
  124. package/dist/core/resource-governor-settings.js.map +1 -0
  125. package/dist/core/resource-observation-journal.d.ts +74 -0
  126. package/dist/core/resource-observation-journal.d.ts.map +1 -0
  127. package/dist/core/resource-observation-journal.js +198 -0
  128. package/dist/core/resource-observation-journal.js.map +1 -0
  129. package/dist/core/resource-safety-gate.d.ts +54 -0
  130. package/dist/core/resource-safety-gate.d.ts.map +1 -0
  131. package/dist/core/resource-safety-gate.js +51 -0
  132. package/dist/core/resource-safety-gate.js.map +1 -0
  133. package/dist/core/run-journal.d.ts.map +1 -1
  134. package/dist/core/run-journal.js +13 -1
  135. package/dist/core/run-journal.js.map +1 -1
  136. package/dist/core/run-resource-lease.d.ts +73 -0
  137. package/dist/core/run-resource-lease.d.ts.map +1 -0
  138. package/dist/core/run-resource-lease.js +78 -0
  139. package/dist/core/run-resource-lease.js.map +1 -0
  140. package/dist/core/session-bash-service.d.ts +12 -0
  141. package/dist/core/session-bash-service.d.ts.map +1 -1
  142. package/dist/core/session-bash-service.js +18 -3
  143. package/dist/core/session-bash-service.js.map +1 -1
  144. package/dist/core/session-system-prompt.d.ts +2 -0
  145. package/dist/core/session-system-prompt.d.ts.map +1 -1
  146. package/dist/core/session-system-prompt.js +2 -0
  147. package/dist/core/session-system-prompt.js.map +1 -1
  148. package/dist/core/session-termination.d.ts +8 -3
  149. package/dist/core/session-termination.d.ts.map +1 -1
  150. package/dist/core/session-termination.js +40 -3
  151. package/dist/core/session-termination.js.map +1 -1
  152. package/dist/core/settings-manager.d.ts +12 -0
  153. package/dist/core/settings-manager.d.ts.map +1 -1
  154. package/dist/core/settings-manager.js +36 -0
  155. package/dist/core/settings-manager.js.map +1 -1
  156. package/dist/core/slash-commands.d.ts.map +1 -1
  157. package/dist/core/slash-commands.js +1 -0
  158. package/dist/core/slash-commands.js.map +1 -1
  159. package/dist/core/subagent-lane-launcher.d.ts +64 -0
  160. package/dist/core/subagent-lane-launcher.d.ts.map +1 -0
  161. package/dist/core/subagent-lane-launcher.js +107 -0
  162. package/dist/core/subagent-lane-launcher.js.map +1 -0
  163. package/dist/core/system-cpu-sampler.d.ts +45 -0
  164. package/dist/core/system-cpu-sampler.d.ts.map +1 -0
  165. package/dist/core/system-cpu-sampler.js +95 -0
  166. package/dist/core/system-cpu-sampler.js.map +1 -0
  167. package/dist/core/system-prompt.d.ts.map +1 -1
  168. package/dist/core/system-prompt.js +5 -8
  169. package/dist/core/system-prompt.js.map +1 -1
  170. package/dist/core/tools/bash.d.ts.map +1 -1
  171. package/dist/core/tools/bash.js +3 -7
  172. package/dist/core/tools/bash.js.map +1 -1
  173. package/dist/core/tools/grep.d.ts.map +1 -1
  174. package/dist/core/tools/grep.js +13 -48
  175. package/dist/core/tools/grep.js.map +1 -1
  176. package/dist/core/tools/read.d.ts.map +1 -1
  177. package/dist/core/tools/read.js +1 -34
  178. package/dist/core/tools/read.js.map +1 -1
  179. package/dist/core/workload-classifier.d.ts +32 -0
  180. package/dist/core/workload-classifier.d.ts.map +1 -0
  181. package/dist/core/workload-classifier.js +66 -0
  182. package/dist/core/workload-classifier.js.map +1 -0
  183. package/dist/core/workload-family-matcher.d.ts +3 -0
  184. package/dist/core/workload-family-matcher.d.ts.map +1 -0
  185. package/dist/core/workload-family-matcher.js +126 -0
  186. package/dist/core/workload-family-matcher.js.map +1 -0
  187. package/dist/core/workload-permit-pool.d.ts +78 -0
  188. package/dist/core/workload-permit-pool.d.ts.map +1 -0
  189. package/dist/core/workload-permit-pool.js +138 -0
  190. package/dist/core/workload-permit-pool.js.map +1 -0
  191. package/dist/core/workload-shard-executor.d.ts +68 -0
  192. package/dist/core/workload-shard-executor.d.ts.map +1 -0
  193. package/dist/core/workload-shard-executor.js +156 -0
  194. package/dist/core/workload-shard-executor.js.map +1 -0
  195. package/dist/core/workload-shard-plan.d.ts +81 -0
  196. package/dist/core/workload-shard-plan.d.ts.map +1 -0
  197. package/dist/core/workload-shard-plan.js +183 -0
  198. package/dist/core/workload-shard-plan.js.map +1 -0
  199. package/dist/core/workload-shard-runner.d.ts +11 -0
  200. package/dist/core/workload-shard-runner.d.ts.map +1 -0
  201. package/dist/core/workload-shard-runner.js +98 -0
  202. package/dist/core/workload-shard-runner.js.map +1 -0
  203. package/dist/core/workload-shard-store.d.ts +44 -0
  204. package/dist/core/workload-shard-store.d.ts.map +1 -0
  205. package/dist/core/workload-shard-store.js +189 -0
  206. package/dist/core/workload-shard-store.js.map +1 -0
  207. package/dist/core/workload-sharders.d.ts +47 -0
  208. package/dist/core/workload-sharders.d.ts.map +1 -0
  209. package/dist/core/workload-sharders.js +162 -0
  210. package/dist/core/workload-sharders.js.map +1 -0
  211. package/dist/core/workload-shell-scan.d.ts +12 -0
  212. package/dist/core/workload-shell-scan.d.ts.map +1 -0
  213. package/dist/core/workload-shell-scan.js +79 -0
  214. package/dist/core/workload-shell-scan.js.map +1 -0
  215. package/dist/index.d.ts +1 -1
  216. package/dist/index.d.ts.map +1 -1
  217. package/dist/index.js +1 -1
  218. package/dist/index.js.map +1 -1
  219. package/dist/main.d.ts.map +1 -1
  220. package/dist/main.js +6 -0
  221. package/dist/main.js.map +1 -1
  222. package/dist/modes/interactive/components/attachment-strip.d.ts +21 -0
  223. package/dist/modes/interactive/components/attachment-strip.d.ts.map +1 -0
  224. package/dist/modes/interactive/components/attachment-strip.js +136 -0
  225. package/dist/modes/interactive/components/attachment-strip.js.map +1 -0
  226. package/dist/modes/interactive/components/footer.d.ts +6 -0
  227. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  228. package/dist/modes/interactive/components/footer.js +26 -1
  229. package/dist/modes/interactive/components/footer.js.map +1 -1
  230. package/dist/modes/interactive/components/status-sidebar.d.ts.map +1 -1
  231. package/dist/modes/interactive/components/status-sidebar.js +12 -1
  232. package/dist/modes/interactive/components/status-sidebar.js.map +1 -1
  233. package/dist/modes/interactive/interactive-mode.d.ts +27 -4
  234. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  235. package/dist/modes/interactive/interactive-mode.js +255 -53
  236. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  237. package/docs/compaction.md +1 -1
  238. package/docs/extensions.md +12 -3
  239. package/docs/index.md +4 -1
  240. package/docs/metrics.md +74 -2
  241. package/docs/provider-resilience.md +11 -0
  242. package/docs/providers.md +1 -1
  243. package/docs/sdk.md +4 -0
  244. package/docs/settings.md +64 -2
  245. package/docs/skills.md +16 -0
  246. package/docs/usage.md +1 -1
  247. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  248. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  249. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  250. package/examples/extensions/gondolin/package-lock.json +2 -2
  251. package/examples/extensions/gondolin/package.json +1 -1
  252. package/examples/extensions/sandbox/package-lock.json +2 -2
  253. package/examples/extensions/sandbox/package.json +1 -1
  254. package/examples/extensions/subagent/agent-capability-router.test.ts +7 -0
  255. package/examples/extensions/subagent/domain-profiles.ts +0 -1
  256. package/examples/extensions/with-deps/package-lock.json +2 -2
  257. package/examples/extensions/with-deps/package.json +1 -1
  258. package/npm-shrinkwrap.json +18 -18
  259. package/package.json +8 -10
  260. package/dist/core/tools/omp-pure-seams.d.ts +0 -41
  261. package/dist/core/tools/omp-pure-seams.d.ts.map +0 -1
  262. package/dist/core/tools/omp-pure-seams.js +0 -142
  263. package/dist/core/tools/omp-pure-seams.js.map +0 -1
  264. package/dist/core/tools/omp-seam-runtime.d.ts +0 -100
  265. package/dist/core/tools/omp-seam-runtime.d.ts.map +0 -1
  266. package/dist/core/tools/omp-seam-runtime.js +0 -40
  267. package/dist/core/tools/omp-seam-runtime.js.map +0 -1
@@ -19,11 +19,14 @@ import type { BashResult } from "./bash-executor.ts";
19
19
  import { type CompactionResult } from "./compaction/index.ts";
20
20
  import { type ContextCacheInvalidationSnapshot } from "./context-budget-v2-cache-invalidation.ts";
21
21
  import { type ContextUsage, type ExtensionCommandContextActions, type ExtensionErrorListener, type ExtensionMode, ExtensionRunner, type ExtensionUIContext, type InputSource, type ReplacedSessionContext, type SessionStartEvent, type ShutdownHandler, type ToolDefinition, type ToolInfo } from "./extensions/index.ts";
22
+ import { type HostResourceSnapshot } from "./host-resource-snapshot.ts";
22
23
  import { type LoadoutAccessPolicy } from "./loadout-access-policy.ts";
23
24
  import { type McpServerConfig, type McpServerStatus } from "./mcp/manager.ts";
24
25
  import type { CustomMessage } from "./messages.ts";
25
26
  import type { ModelRegistry } from "./model-registry.ts";
27
+ import { type PromptSettledEvent } from "./prompt-settlement.ts";
26
28
  import { type PromptTemplate } from "./prompt-templates.ts";
29
+ import { type ResourceAdmissionDecision } from "./resource-admission.ts";
27
30
  import type { ResourceLoader } from "./resource-loader.ts";
28
31
  import type { RunJournalRecord } from "./run-journal.ts";
29
32
  import { type RunJournalQuarantineReport } from "./run-journal-store.ts";
@@ -31,6 +34,7 @@ import type { BranchSummaryEntry, SessionManager } from "./session-manager.ts";
31
34
  import { type SessionProcessSignal, type SessionTermination } from "./session-termination.ts";
32
35
  import type { SettingsManager } from "./settings-manager.ts";
33
36
  import { type BashOperations, type BashSandboxPreflight } from "./tools/bash.ts";
37
+ import { WorkloadPermitPool, type WorkloadPermitPoolSnapshot } from "./workload-permit-pool.ts";
34
38
  /** Parsed skill block from a user message */
35
39
  export interface ParsedSkillBlock {
36
40
  name: string;
@@ -56,7 +60,7 @@ export type AgentSessionEvent = Exclude<AgentEvent, {
56
60
  type: "agent_end";
57
61
  messages: AgentMessage[];
58
62
  willRetry: boolean;
59
- } | {
63
+ } | PromptSettledEvent | {
60
64
  type: "queue_update";
61
65
  steering: readonly string[];
62
66
  followUp: readonly string[];
@@ -334,6 +338,12 @@ export declare class AgentSession {
334
338
  private readonly _runJournalStore;
335
339
  private _ownedSessionOwnerLease;
336
340
  private _activeRunId;
341
+ private _resourceLeaseController;
342
+ private _resourceObservations;
343
+ private readonly _resourceObservationJournals;
344
+ private _latestResourcePromptRunId;
345
+ private _lastResourceAdmission;
346
+ private _workloadPermitPool;
337
347
  private _pendingRuntimeTerminationCause;
338
348
  private _activeRunToolTermination;
339
349
  private _lastTermination;
@@ -548,8 +558,34 @@ export declare class AgentSession {
548
558
  * Prefers the model's own maxTokens when available, otherwise uses a ratio.
549
559
  */
550
560
  private _recordPromptCachePlan;
561
+ private _getDefaultActiveSkills;
551
562
  private _rebuildSystemPrompt;
552
563
  private _runAgentPrompt;
564
+ /**
565
+ * Emit `prompt_settled` when the §16.4 conditions hold. Called exactly
566
+ * once per promptRunId (from `_runAgentPrompt`'s finally), so the same
567
+ * run can never emit twice; late-queued messages block emission
568
+ * conservatively — the continuation run settles under its own id.
569
+ * Settlement is a UX signal only and must never affect the run (§16.1).
570
+ */
571
+ private _emitPromptSettledIfReady;
572
+ private _beginResourceGovernedRun;
573
+ private _openResourceObservations;
574
+ /** §20.2: record the TUI-side completion sound result in its originating run journal. */
575
+ recordCompletionSoundResult(promptRunId: string, result: import("./completion-sound.ts").CompletionSoundResult): void;
576
+ /** §19.4 read-only SDK surface: the most recent resource admission decision, if any. */
577
+ getCurrentResourceAdmission(): ResourceAdmissionDecision | null;
578
+ /** §19.4 read-only SDK surface: capture a fresh host resource snapshot. */
579
+ getHostResourceSnapshot(): Promise<HostResourceSnapshot>;
580
+ /** §19.4 read-only SDK surface: shared workload permit pool state, if any. */
581
+ getWorkloadPermitSnapshot(): WorkloadPermitPoolSnapshot | null;
582
+ /**
583
+ * §14.1 shared-budget seam: child subagents must reuse this instance
584
+ * instead of creating a private pool (host oversubscription). The live
585
+ * child launcher wiring lands in M6.
586
+ */
587
+ get workloadPermitPool(): WorkloadPermitPool;
588
+ private _acquireBashResourcePermit;
553
589
  private _handlePostAgentRun;
554
590
  /**
555
591
  * Send a prompt to the agent.
@@ -767,6 +803,13 @@ export declare class AgentSession {
767
803
  private _runThresholdCompaction;
768
804
  private _recordCompactionCommitForHysteresis;
769
805
  private _resolveCompactionModel;
806
+ /**
807
+ * Authenticated failover candidates for compaction summarization, in
808
+ * resilience-chain order, excluding the primary compaction model itself.
809
+ * Used when the primary model's quota is exhausted (same-model retry is
810
+ * useless until reset; another provider can still save the compaction).
811
+ */
812
+ private _compactionFailoverModels;
770
813
  /**
771
814
  * Manually compact the session context.
772
815
  * Aborts current agent operation first.
@@ -786,7 +829,7 @@ export declare class AgentSession {
786
829
  /**
787
830
  * Effective context window for the upcoming turn.
788
831
  * Image-bearing turns with a text-only session model are auto-routed to the
789
- * vision model (gpt-5.6-luna, 400K) — that window is the real limit. Text-only
832
+ * vision model (gpt-5.6-luna, 1M) — that window is the real limit. Text-only
790
833
  * turns keep the session model's (typically much larger) window.
791
834
  */
792
835
  private _effectiveTurnContextWindow;
@@ -849,6 +892,7 @@ export declare class AgentSession {
849
892
  */
850
893
  private _summarizationRetryCallbacks;
851
894
  private _ejectStickySafetyModelIfNeeded;
895
+ private _maybeRotateModelRoutes;
852
896
  private _maybeFailoverFromSafetyStop;
853
897
  private _prepareRetry;
854
898
  /**