open-multi-agent-kit 0.90.3 → 0.90.4

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 (171) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +16 -14
  3. package/dist/config.d.ts +3 -6
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +27 -19
  6. package/dist/config.js.map +1 -1
  7. package/dist/core/adaptorch-bridge.d.ts +257 -0
  8. package/dist/core/adaptorch-bridge.d.ts.map +1 -0
  9. package/dist/core/adaptorch-bridge.js +473 -0
  10. package/dist/core/adaptorch-bridge.js.map +1 -0
  11. package/dist/core/agent-session.d.ts +130 -0
  12. package/dist/core/agent-session.d.ts.map +1 -1
  13. package/dist/core/agent-session.js +286 -0
  14. package/dist/core/agent-session.js.map +1 -1
  15. package/dist/core/bang-skill-invocation.d.ts.map +1 -1
  16. package/dist/core/bang-skill-invocation.js +149 -0
  17. package/dist/core/bang-skill-invocation.js.map +1 -1
  18. package/dist/core/compaction/utils.d.ts.map +1 -1
  19. package/dist/core/compaction/utils.js +15 -2
  20. package/dist/core/compaction/utils.js.map +1 -1
  21. package/dist/core/domain-loadouts.d.ts.map +1 -1
  22. package/dist/core/domain-loadouts.js +1 -1
  23. package/dist/core/domain-loadouts.js.map +1 -1
  24. package/dist/core/reasoning-router-bias.d.ts +119 -0
  25. package/dist/core/reasoning-router-bias.d.ts.map +1 -0
  26. package/dist/core/reasoning-router-bias.js +287 -0
  27. package/dist/core/reasoning-router-bias.js.map +1 -0
  28. package/dist/core/reasoning-router-v2.d.ts +94 -0
  29. package/dist/core/reasoning-router-v2.d.ts.map +1 -0
  30. package/dist/core/reasoning-router-v2.js +288 -0
  31. package/dist/core/reasoning-router-v2.js.map +1 -0
  32. package/dist/core/reasoning-router-v3.d.ts +15 -0
  33. package/dist/core/reasoning-router-v3.d.ts.map +1 -0
  34. package/dist/core/reasoning-router-v3.js +193 -0
  35. package/dist/core/reasoning-router-v3.js.map +1 -0
  36. package/dist/core/reasoning-router-v4-weights.d.ts +124 -0
  37. package/dist/core/reasoning-router-v4-weights.d.ts.map +1 -0
  38. package/dist/core/reasoning-router-v4-weights.js +112 -0
  39. package/dist/core/reasoning-router-v4-weights.js.map +1 -0
  40. package/dist/core/reasoning-router-v4.d.ts +163 -0
  41. package/dist/core/reasoning-router-v4.d.ts.map +1 -0
  42. package/dist/core/reasoning-router-v4.js +683 -0
  43. package/dist/core/reasoning-router-v4.js.map +1 -0
  44. package/dist/core/reasoning-router-weights.d.ts +155 -0
  45. package/dist/core/reasoning-router-weights.d.ts.map +1 -0
  46. package/dist/core/reasoning-router-weights.js +204 -0
  47. package/dist/core/reasoning-router-weights.js.map +1 -0
  48. package/dist/core/reasoning-router.d.ts +44 -0
  49. package/dist/core/reasoning-router.d.ts.map +1 -0
  50. package/dist/core/reasoning-router.js +138 -0
  51. package/dist/core/reasoning-router.js.map +1 -0
  52. package/dist/core/router-feedback-collector.d.ts +101 -0
  53. package/dist/core/router-feedback-collector.d.ts.map +1 -0
  54. package/dist/core/router-feedback-collector.js +239 -0
  55. package/dist/core/router-feedback-collector.js.map +1 -0
  56. package/dist/core/settings-manager.d.ts +28 -0
  57. package/dist/core/settings-manager.d.ts.map +1 -1
  58. package/dist/core/settings-manager.js +16 -0
  59. package/dist/core/settings-manager.js.map +1 -1
  60. package/dist/core/slash-commands.d.ts.map +1 -1
  61. package/dist/core/slash-commands.js +4 -1
  62. package/dist/core/slash-commands.js.map +1 -1
  63. package/dist/modes/interactive/components/control-panel-runtime-status.d.ts +15 -0
  64. package/dist/modes/interactive/components/control-panel-runtime-status.d.ts.map +1 -1
  65. package/dist/modes/interactive/components/control-panel-runtime-status.js +95 -5
  66. package/dist/modes/interactive/components/control-panel-runtime-status.js.map +1 -1
  67. package/dist/modes/interactive/interactive-mode.d.ts +4 -0
  68. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  69. package/dist/modes/interactive/interactive-mode.js +143 -18
  70. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  71. package/docs/loadout-domains/README.md +8 -6
  72. package/docs/loadout-domains/ai-agent-ops.md +3 -2
  73. package/docs/loadout-domains/backend-api.md +3 -2
  74. package/docs/loadout-domains/data-science.md +3 -2
  75. package/docs/loadout-domains/devops-infra.md +2 -1
  76. package/docs/loadout-domains/docs-writing.md +7 -2
  77. package/docs/loadout-domains/frontend-ui.md +42 -11
  78. package/docs/loadout-domains/korean-document.md +83 -0
  79. package/docs/loadout-domains/mobile.md +1 -1
  80. package/docs/loadout-domains/qa-testing.md +4 -2
  81. package/docs/loadout-domains/security-audit.md +2 -1
  82. package/docs/loadout-domains/visual-qa.md +94 -0
  83. package/docs/skills.md +4 -1
  84. package/docs/usage.md +37 -3
  85. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  86. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  87. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  88. package/examples/extensions/gondolin/package-lock.json +2 -2
  89. package/examples/extensions/gondolin/package.json +1 -1
  90. package/examples/extensions/sandbox/package-lock.json +2 -2
  91. package/examples/extensions/sandbox/package.json +1 -1
  92. package/examples/extensions/with-deps/package-lock.json +2 -2
  93. package/examples/extensions/with-deps/package.json +1 -1
  94. package/npm-shrinkwrap.json +12 -12
  95. package/package.json +4 -4
  96. package/dist/agents/jailbreak/index.d.ts +0 -7
  97. package/dist/agents/jailbreak/index.d.ts.map +0 -1
  98. package/dist/agents/jailbreak/index.js +0 -7
  99. package/dist/agents/jailbreak/index.js.map +0 -1
  100. package/dist/agents/jailbreak/subagent-f.d.ts +0 -44
  101. package/dist/agents/jailbreak/subagent-f.d.ts.map +0 -1
  102. package/dist/agents/jailbreak/subagent-f.js +0 -60
  103. package/dist/agents/jailbreak/subagent-f.js.map +0 -1
  104. package/dist/cli/jailbreak-args.d.ts +0 -26
  105. package/dist/cli/jailbreak-args.d.ts.map +0 -1
  106. package/dist/cli/jailbreak-args.js +0 -86
  107. package/dist/cli/jailbreak-args.js.map +0 -1
  108. package/dist/commands/jailbreak.d.ts +0 -49
  109. package/dist/commands/jailbreak.d.ts.map +0 -1
  110. package/dist/commands/jailbreak.js +0 -201
  111. package/dist/commands/jailbreak.js.map +0 -1
  112. package/dist/encoding/index.d.ts +0 -6
  113. package/dist/encoding/index.d.ts.map +0 -1
  114. package/dist/encoding/index.js +0 -6
  115. package/dist/encoding/index.js.map +0 -1
  116. package/dist/encoding/l4-encoder.d.ts +0 -96
  117. package/dist/encoding/l4-encoder.d.ts.map +0 -1
  118. package/dist/encoding/l4-encoder.js +0 -474
  119. package/dist/encoding/l4-encoder.js.map +0 -1
  120. package/dist/fuzzing/index.d.ts +0 -6
  121. package/dist/fuzzing/index.d.ts.map +0 -1
  122. package/dist/fuzzing/index.js +0 -6
  123. package/dist/fuzzing/index.js.map +0 -1
  124. package/dist/fuzzing/mutation-engine.d.ts +0 -93
  125. package/dist/fuzzing/mutation-engine.d.ts.map +0 -1
  126. package/dist/fuzzing/mutation-engine.js +0 -244
  127. package/dist/fuzzing/mutation-engine.js.map +0 -1
  128. package/dist/jailbreak-extension.d.ts +0 -48
  129. package/dist/jailbreak-extension.d.ts.map +0 -1
  130. package/dist/jailbreak-extension.js +0 -47
  131. package/dist/jailbreak-extension.js.map +0 -1
  132. package/dist/modules/index.d.ts +0 -8
  133. package/dist/modules/index.d.ts.map +0 -1
  134. package/dist/modules/index.js +0 -7
  135. package/dist/modules/index.js.map +0 -1
  136. package/dist/modules/lrl-bypass.d.ts +0 -40
  137. package/dist/modules/lrl-bypass.d.ts.map +0 -1
  138. package/dist/modules/lrl-bypass.js +0 -84
  139. package/dist/modules/lrl-bypass.js.map +0 -1
  140. package/dist/modules/lrl-deps.d.ts +0 -38
  141. package/dist/modules/lrl-deps.d.ts.map +0 -1
  142. package/dist/modules/lrl-deps.js +0 -128
  143. package/dist/modules/lrl-deps.js.map +0 -1
  144. package/dist/multiturn/easl-chain.d.ts +0 -113
  145. package/dist/multiturn/easl-chain.d.ts.map +0 -1
  146. package/dist/multiturn/easl-chain.js +0 -351
  147. package/dist/multiturn/easl-chain.js.map +0 -1
  148. package/dist/multiturn/index.d.ts +0 -6
  149. package/dist/multiturn/index.d.ts.map +0 -1
  150. package/dist/multiturn/index.js +0 -6
  151. package/dist/multiturn/index.js.map +0 -1
  152. package/dist/routing/fallback-router.d.ts +0 -123
  153. package/dist/routing/fallback-router.d.ts.map +0 -1
  154. package/dist/routing/fallback-router.js +0 -355
  155. package/dist/routing/fallback-router.js.map +0 -1
  156. package/dist/routing/index.d.ts +0 -6
  157. package/dist/routing/index.d.ts.map +0 -1
  158. package/dist/routing/index.js +0 -6
  159. package/dist/routing/index.js.map +0 -1
  160. package/dist/types/jailbreak.d.ts +0 -246
  161. package/dist/types/jailbreak.d.ts.map +0 -1
  162. package/dist/types/jailbreak.js +0 -8
  163. package/dist/types/jailbreak.js.map +0 -1
  164. package/dist/utils/jailbreak/common.d.ts +0 -63
  165. package/dist/utils/jailbreak/common.d.ts.map +0 -1
  166. package/dist/utils/jailbreak/common.js +0 -130
  167. package/dist/utils/jailbreak/common.js.map +0 -1
  168. package/dist/utils/jailbreak/index.d.ts +0 -7
  169. package/dist/utils/jailbreak/index.d.ts.map +0 -1
  170. package/dist/utils/jailbreak/index.js +0 -7
  171. package/dist/utils/jailbreak/index.js.map +0 -1
@@ -37,6 +37,13 @@ export interface ParsedSkillBlock {
37
37
  * Returns null if the text doesn't contain a skill block.
38
38
  */
39
39
  export declare function parseSkillBlock(text: string): ParsedSkillBlock | null;
40
+ /**
41
+ * Thinking mode: "manual" keeps the user-selected level; "auto" resolves the
42
+ * level per turn via the reasoning router. Manual `/think <level>` always wins
43
+ * because the router only runs in auto mode.
44
+ */
45
+ export type ThinkingMode = "manual" | "auto";
46
+ export type ThinkingRouterVersion = "v1" | "v2" | "v3" | "v4";
40
47
  /** Session-specific events that extend the core AgentEvent */
41
48
  export type AgentSessionEvent = Exclude<AgentEvent, {
42
49
  type: "agent_end";
@@ -179,6 +186,36 @@ export declare class AgentSession {
179
186
  readonly sessionManager: SessionManager;
180
187
  readonly settingsManager: SettingsManager;
181
188
  private _scopedModels;
189
+ /**
190
+ * Thinking mode (default "manual"). Persists across turns within the session;
191
+ * auto-resolved levels are never written to the user's persisted settings.
192
+ */
193
+ private _thinkingMode;
194
+ /**
195
+ * Reasoning router version used by auto thinking mode. "v1" (default) keeps
196
+ * the frozen v1 classifyTask/resolveThinkingLevel; "v2" uses the Goal 004
197
+ * weighted router; "v3" uses the Goal 007 calibrated classifier; "v4" uses
198
+ * the Goal 009 confidence-bearing classifier (classifyTaskV4 +
199
+ * resolveThinkingLevelV4WithUncertainty). Default "v1" so behavior is
200
+ * unchanged until explicitly opted in.
201
+ */
202
+ private _thinkingRouterVersion;
203
+ /**
204
+ * N=8 ring buffer of recent auto-turn task classes (newest first), feeding
205
+ * the v2/v3 classifiers' multi-turn prior feature. Never persisted to settings.
206
+ */
207
+ private _taskClassHistory;
208
+ /**
209
+ * Compiled reasoning-router bias snapshot for the opt-in v4 learning path
210
+ * (Goal 010 Lane I). Loaded at most once per session and pinned thereafter:
211
+ * `_reasoningRouterBiasSnapshotLoaded` flips to `true` on the first v4
212
+ * auto-turn that has learning enabled, and `_reasoningRouterBiasSnapshot`
213
+ * then stays fixed for the rest of the session (even across later settings
214
+ * reloads, and even if the on-disk file changes or the load failed/was
215
+ * invalid, in which case it stays `null`). See `_getReasoningRouterBiasSnapshot`.
216
+ */
217
+ private _reasoningRouterBiasSnapshot;
218
+ private _reasoningRouterBiasSnapshotLoaded;
182
219
  private _unsubscribeAgent?;
183
220
  private _eventListeners;
184
221
  /** Tracks pending steering messages for UI display. Removed when delivered. */
@@ -280,6 +317,8 @@ export declare class AgentSession {
280
317
  get model(): Model<any> | undefined;
281
318
  /** Current thinking level */
282
319
  get thinkingLevel(): ThinkingLevel;
320
+ /** Current thinking mode ("manual" = user-selected level, "auto" = per-turn router) */
321
+ get thinkingMode(): ThinkingMode;
283
322
  /** Whether agent is currently streaming a response */
284
323
  get isStreaming(): boolean;
285
324
  /** Current effective system prompt (includes any per-turn extension modifications) */
@@ -454,6 +493,97 @@ export declare class AgentSession {
454
493
  * Saves to session and settings only if the level actually changes.
455
494
  */
456
495
  setThinkingLevel(level: ThinkingLevel): void;
496
+ /**
497
+ * Set the thinking mode. "auto" resolves a level per turn via the reasoning
498
+ * router; "manual" keeps the explicitly selected level. The mode persists for
499
+ * the session lifetime and is never written to user settings.
500
+ */
501
+ setThinkingMode(mode: ThinkingMode): void;
502
+ /**
503
+ * Reasoning router version selection for auto thinking mode.
504
+ * Default "v1". Switching to "v2", "v3", or "v4" activates the
505
+ * corresponding opt-in router; the multi-turn history buffer is only
506
+ * consulted there.
507
+ */
508
+ get thinkingRouterVersion(): ThinkingRouterVersion;
509
+ setThinkingRouterVersion(version: ThinkingRouterVersion): void;
510
+ /**
511
+ * In auto thinking mode, resolve and apply this turn's thinking level from the
512
+ * prompt content. Updates agent state, records the change in the session, and
513
+ * notifies observers - but never overwrites the user's persisted default
514
+ * thinking level in settings. Models without reasoning support bypass the
515
+ * router entirely (level stays "off").
516
+ */
517
+ private _applyAutoThinkingLevelForTurn;
518
+ /**
519
+ * v2 auto-mode resolver (Goal 004). Builds the caller-side features the pure
520
+ * classifier cannot reach on its own (multi-turn ring buffer, context-pressure
521
+ * bucket), then applies classifyTaskV2 + resolveThinkingLevelV2ForAuto. The
522
+ * resolved class is pushed to the N=8 history for the NEXT turn's prior.
523
+ */
524
+ private _applyAutoThinkingLevelV2;
525
+ /**
526
+ * v3 auto-mode resolver (Goal 007). Reuses the same N=8 recent-class history
527
+ * and context-pressure bucket as v2, but routes through the v3 classifier and
528
+ * resolver pair.
529
+ */
530
+ private _applyAutoThinkingLevelV3;
531
+ /**
532
+ * v4 auto-mode resolver (Goal 009 Wave 3 Lane V1; wired to the opt-in
533
+ * learning bias by Goal 010 Lane I). Reuses the same N=8 recent-class
534
+ * history and context-pressure bucket as v2/v3, routed through the
535
+ * confidence-bearing v4 classifier and its uncertainty-aware resolver. No
536
+ * `laneType` applies to the main session (always "none"/`undefined`);
537
+ * `hint` is permanently `null` -- the Adaptorch advisory bridge has no
538
+ * transport wired into the session (out of this lane's scope; see
539
+ * adaptorch-bridge.ts). `bias` stays `0` unless BOTH hold: (a) the global,
540
+ * owner-only `reasoningRouterLearning.enabled` setting is `true` (default
541
+ * off; a project-scope `.omk/settings.json` value for this key is never
542
+ * consulted -- see settings-manager.ts), and (b) a compiled
543
+ * `RouterBiasSnapshot` was found and passed strict validation at the
544
+ * configured/default path, loaded and cached ("pinned") at most once per
545
+ * session (see `_getReasoningRouterBiasSnapshot`). When learning is
546
+ * enabled, exactly one bounded "accepted" feedback record (no raw prompt/
547
+ * path/diff/session/model/provider/tool/hook content; see
548
+ * router-feedback-collector.ts's exact ten-key schema) is appended to the
549
+ * local ledger after every v4 auto-turn resolution, for a future, separate
550
+ * offline compile step to learn from -- this lane never records an
551
+ * override/fail/hook-outcome signal, only the neutral "accepted" one. The
552
+ * resolver's own confidence-band/fallback-reason escalation (see
553
+ * reasoning-router-v4.ts) still applies on top of the base+lane+bias
554
+ * target, so a low-confidence or fallback-decided verdict can still only
555
+ * match or exceed the confident-path level.
556
+ */
557
+ private _applyAutoThinkingLevelV4;
558
+ /**
559
+ * Loads and strictly validates the compiled reasoning-router bias snapshot
560
+ * for the opt-in v4 learning path (Goal 010 Lane I), at most once per
561
+ * session ("pinned"): the first call attempts the read and caches whatever
562
+ * it finds (including a `null` miss/failure); every later call in the same
563
+ * session reuses that cached result without touching disk again. Returns
564
+ * `null` when no file exists at the configured/default path, the file
565
+ * cannot be read, or its contents fail `parseRouterBiasSnapshot`'s schema
566
+ * validation -- never throws.
567
+ */
568
+ private _getReasoningRouterBiasSnapshot;
569
+ /**
570
+ * Locally derives the same three bounded, privacy-safe feedback-ledger
571
+ * features (`lenBucket`, `hadFence`, `hadDiff`) the v4 classifier computes
572
+ * internally (reasoning-router-v4.ts keeps those helpers file-private, so
573
+ * they cannot be imported here). Mirrors reasoning-router-v2.ts's
574
+ * `clampLenBucket` and reasoning-router-v4.ts's `hasCodeFence`/
575
+ * `hasDiffMarkers` byte-for-byte. Operates on the same trimmed prompt text
576
+ * the classifier scores; never returns raw prompt content or its exact
577
+ * length, only the clamped [0,7] bucket and two booleans.
578
+ */
579
+ private _deriveRouterFeedbackFeatures;
580
+ /**
581
+ * Context-pressure band 0..3 from the projected token estimate over the
582
+ * model context window (reuses estimateProjectedContextTokens). 0..<0.5,
583
+ * 1..<0.75, 2..<0.9, 3..>=0.9. Inert under DEFAULT_WEIGHTS (no pressure
584
+ * coefficient); computed for future calibrated weight presets.
585
+ */
586
+ private _computePressureBucket;
457
587
  /**
458
588
  * Cycle to next thinking level.
459
589
  * @returns New level, or undefined if model doesn't support thinking