@open-multi-agent/core 1.4.2 → 1.5.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 (108) hide show
  1. package/README.md +100 -53
  2. package/dist/agent/agent.d.ts.map +1 -1
  3. package/dist/agent/agent.js +5 -0
  4. package/dist/agent/agent.js.map +1 -1
  5. package/dist/agent/runner.d.ts +12 -0
  6. package/dist/agent/runner.d.ts.map +1 -1
  7. package/dist/agent/runner.js +48 -12
  8. package/dist/agent/runner.js.map +1 -1
  9. package/dist/cli/oma.d.ts +10 -2
  10. package/dist/cli/oma.d.ts.map +1 -1
  11. package/dist/cli/oma.js +10 -5
  12. package/dist/cli/oma.js.map +1 -1
  13. package/dist/dashboard/render-team-run-dashboard.d.ts.map +1 -1
  14. package/dist/dashboard/render-team-run-dashboard.js +177 -84
  15. package/dist/dashboard/render-team-run-dashboard.js.map +1 -1
  16. package/dist/llm/adapter.d.ts +3 -1
  17. package/dist/llm/adapter.d.ts.map +1 -1
  18. package/dist/llm/adapter.js +10 -0
  19. package/dist/llm/adapter.js.map +1 -1
  20. package/dist/llm/ai-sdk.d.ts +2 -1
  21. package/dist/llm/ai-sdk.d.ts.map +1 -1
  22. package/dist/llm/ai-sdk.js +45 -13
  23. package/dist/llm/ai-sdk.js.map +1 -1
  24. package/dist/llm/anthropic.d.ts.map +1 -1
  25. package/dist/llm/anthropic.js +24 -13
  26. package/dist/llm/anthropic.js.map +1 -1
  27. package/dist/llm/azure-openai.js +2 -2
  28. package/dist/llm/azure-openai.js.map +1 -1
  29. package/dist/llm/bedrock.d.ts.map +1 -1
  30. package/dist/llm/bedrock.js +29 -19
  31. package/dist/llm/bedrock.js.map +1 -1
  32. package/dist/llm/copilot.js +2 -2
  33. package/dist/llm/copilot.js.map +1 -1
  34. package/dist/llm/deepseek.d.ts +9 -2
  35. package/dist/llm/deepseek.d.ts.map +1 -1
  36. package/dist/llm/deepseek.js +21 -2
  37. package/dist/llm/deepseek.js.map +1 -1
  38. package/dist/llm/doubao.d.ts +21 -0
  39. package/dist/llm/doubao.d.ts.map +1 -0
  40. package/dist/llm/doubao.js +24 -0
  41. package/dist/llm/doubao.js.map +1 -0
  42. package/dist/llm/gemini.d.ts.map +1 -1
  43. package/dist/llm/gemini.js +32 -18
  44. package/dist/llm/gemini.js.map +1 -1
  45. package/dist/llm/mimo.d.ts +24 -0
  46. package/dist/llm/mimo.d.ts.map +1 -0
  47. package/dist/llm/mimo.js +30 -0
  48. package/dist/llm/mimo.js.map +1 -0
  49. package/dist/llm/openai-common.d.ts +3 -17
  50. package/dist/llm/openai-common.d.ts.map +1 -1
  51. package/dist/llm/openai-common.js +66 -42
  52. package/dist/llm/openai-common.js.map +1 -1
  53. package/dist/llm/openai.d.ts +22 -1
  54. package/dist/llm/openai.d.ts.map +1 -1
  55. package/dist/llm/openai.js +44 -5
  56. package/dist/llm/openai.js.map +1 -1
  57. package/dist/llm/reasoning-fallback.d.ts +80 -15
  58. package/dist/llm/reasoning-fallback.d.ts.map +1 -1
  59. package/dist/llm/reasoning-fallback.js +45 -12
  60. package/dist/llm/reasoning-fallback.js.map +1 -1
  61. package/dist/orchestrator/orchestrator.d.ts.map +1 -1
  62. package/dist/orchestrator/orchestrator.js +35 -2
  63. package/dist/orchestrator/orchestrator.js.map +1 -1
  64. package/dist/tool/built-in/bash.d.ts +1 -1
  65. package/dist/tool/built-in/bash.d.ts.map +1 -1
  66. package/dist/tool/built-in/bash.js +60 -7
  67. package/dist/tool/built-in/bash.js.map +1 -1
  68. package/dist/tool/built-in/file-edit.d.ts.map +1 -1
  69. package/dist/tool/built-in/file-edit.js +13 -8
  70. package/dist/tool/built-in/file-edit.js.map +1 -1
  71. package/dist/tool/built-in/file-read.d.ts.map +1 -1
  72. package/dist/tool/built-in/file-read.js +9 -4
  73. package/dist/tool/built-in/file-read.js.map +1 -1
  74. package/dist/tool/built-in/file-write.d.ts.map +1 -1
  75. package/dist/tool/built-in/file-write.js +11 -6
  76. package/dist/tool/built-in/file-write.js.map +1 -1
  77. package/dist/tool/built-in/fs-walk.d.ts.map +1 -1
  78. package/dist/tool/built-in/fs-walk.js +6 -3
  79. package/dist/tool/built-in/fs-walk.js.map +1 -1
  80. package/dist/tool/built-in/glob.d.ts.map +1 -1
  81. package/dist/tool/built-in/glob.js +10 -4
  82. package/dist/tool/built-in/glob.js.map +1 -1
  83. package/dist/tool/built-in/grep.d.ts.map +1 -1
  84. package/dist/tool/built-in/grep.js +15 -6
  85. package/dist/tool/built-in/grep.js.map +1 -1
  86. package/dist/tool/built-in/path-safety.d.ts +30 -0
  87. package/dist/tool/built-in/path-safety.d.ts.map +1 -0
  88. package/dist/tool/built-in/path-safety.js +106 -0
  89. package/dist/tool/built-in/path-safety.js.map +1 -0
  90. package/dist/tool/mcp.d.ts.map +1 -1
  91. package/dist/tool/mcp.js +58 -33
  92. package/dist/tool/mcp.js.map +1 -1
  93. package/dist/types.d.ts +108 -5
  94. package/dist/types.d.ts.map +1 -1
  95. package/dist/utils/redaction.d.ts +4 -0
  96. package/dist/utils/redaction.d.ts.map +1 -0
  97. package/dist/utils/redaction.js +78 -0
  98. package/dist/utils/redaction.js.map +1 -0
  99. package/package.json +1 -2
  100. package/docs/DECISIONS.md +0 -49
  101. package/docs/cli.md +0 -265
  102. package/docs/context-management.md +0 -64
  103. package/docs/featured-partner.md +0 -28
  104. package/docs/observability.md +0 -56
  105. package/docs/providers/minimax.md +0 -75
  106. package/docs/providers.md +0 -80
  107. package/docs/shared-memory.md +0 -27
  108. package/docs/tool-configuration.md +0 -152
@@ -1 +1 @@
1
- {"version":3,"file":"openai-common.js","sourceRoot":"","sources":["../../src/llm/openai-common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-common.js","sourceRoot":"","sources":["../../src/llm/openai-common.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@
30
30
  * ```
31
31
  */
32
32
  import type { ContentBlock, LLMAdapter, LLMChatOptions, LLMMessage, LLMResponse, LLMStreamOptions, LLMToolDef, StreamEvent } from '../types.js';
33
+ import type { ReasoningOutboundOptions } from './reasoning-fallback.js';
33
34
  /**
34
35
  * LLM adapter backed by the OpenAI Chat Completions API.
35
36
  *
@@ -39,9 +40,29 @@ export declare class OpenAIAdapter implements LLMAdapter {
39
40
  #private;
40
41
  readonly name: string;
41
42
  readonly capabilities: {
42
- echoesReasoning: "never";
43
+ readonly echoesReasoning: 'never' | 'own-issued' | 'tool-use-only';
43
44
  };
44
45
  constructor(apiKey?: string, baseURL?: string);
46
+ /**
47
+ * Build the per-call options forwarded to {@link buildOpenAIMessageList}.
48
+ *
49
+ * Composes two orthogonal mechanisms:
50
+ * 1. **`nativeReasoningEchoProvider`** — set when this adapter's
51
+ * capability is `'tool-use-only'` (DeepSeek). Triggers native
52
+ * `reasoning_content` echo on assistant messages whose reasoning
53
+ * blocks carry matching provenance AND the conversation contains
54
+ * `tool_use`. See PR #251 / DeepSeek V4 thinking-mode spec.
55
+ * 2. **`preserveReasoningAsText` / `compressReasoningText`** — opt-in
56
+ * `<thinking>` text fallback from the user's `AgentConfig`. Applies
57
+ * to foreign-provenance reasoning AND to all reasoning on `'never'`
58
+ * adapters. See #223 Phase 2.
59
+ *
60
+ * The two paths are mutually exclusive per block: native echo claims
61
+ * own-provenance blocks first; text fallback claims everything else.
62
+ * Subclasses inherit `chat()` / `stream()` and so automatically pick up
63
+ * both behaviours; no subclass override needed.
64
+ */
65
+ protected buildMessageOptions(options: LLMChatOptions): ReasoningOutboundOptions | undefined;
45
66
  /**
46
67
  * Send a synchronous (non-streaming) chat request and return the complete
47
68
  * {@link LLMResponse}.
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/llm/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AASH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,WAAW,EAGZ,MAAM,aAAa,CAAA;AAepB;;;;GAIG;AACH,qBAAa,aAAc,YAAW,UAAU;;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAW;IAEhC,QAAQ,CAAC,YAAY;;MAKpB;gBAIW,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAW7C;;;;;;OAMG;IACG,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAuCjF;;;;;;;;;OASG;IACI,MAAM,CACX,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,EAAE,gBAAgB,GACxB,aAAa,CAAC,WAAW,CAAC;CA6K9B;AAGD,YAAY,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,WAAW,GACZ,CAAA"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/llm/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AASH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,WAAW,EAGZ,MAAM,aAAa,CAAA;AASpB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAOvE;;;;GAIG;AACH,qBAAa,aAAc,YAAW,UAAU;;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAW;IAchC,QAAQ,CAAC,YAAY,EAAE;QAAE,QAAQ,CAAC,eAAe,EAAE,OAAO,GAAG,YAAY,GAAG,eAAe,CAAA;KAAE,CAE5F;gBAIW,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAO7C;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,wBAAwB,GAAG,SAAS;IAe5F;;;;;;OAMG;IACG,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAuCjF;;;;;;;;;OASG;IACI,MAAM,CACX,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,EAAE,gBAAgB,GACxB,aAAa,CAAC,WAAW,CAAC;CA6K9B;AAGD,YAAY,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,WAAW,GACZ,CAAA"}
@@ -42,10 +42,19 @@ import { extractToolCallsFromText } from '../tool/text-tool-extractor.js';
42
42
  */
43
43
  export class OpenAIAdapter {
44
44
  name = 'openai';
45
+ // The field type is intentionally widened to the full union (rather than
46
+ // narrowed to `'never'` via `as const`) so subclasses can override with a
47
+ // different value — DeepSeek currently uses `'tool-use-only'` for native
48
+ // `reasoning_content` echo on tool-use turns (per PR #251).
49
+ //
50
+ // OpenAI itself stays `'never'`: Chat Completions does not accept
51
+ // `reasoning_content` on input under any circumstance. When the user sets
52
+ // `AgentConfig.preserveReasoningAsText` (PR #260 / #223 Phase 2), the
53
+ // outbound conversion in `toOpenAIMessages` downgrades each reasoning
54
+ // block to inline `<thinking>` text via the shared helper in
55
+ // `reasoning-fallback.ts`. Without the opt-in, reasoning blocks are
56
+ // dropped silently on outbound.
45
57
  capabilities = {
46
- // OpenAI Chat Completions does not accept `reasoning_content` on input;
47
- // any reasoning replay must go through the `<thinking>` text fallback
48
- // already shipped in #234 (see openai-common.ts replay options).
49
58
  echoesReasoning: 'never',
50
59
  };
51
60
  #client;
@@ -55,6 +64,36 @@ export class OpenAIAdapter {
55
64
  baseURL,
56
65
  });
57
66
  }
67
+ /**
68
+ * Build the per-call options forwarded to {@link buildOpenAIMessageList}.
69
+ *
70
+ * Composes two orthogonal mechanisms:
71
+ * 1. **`nativeReasoningEchoProvider`** — set when this adapter's
72
+ * capability is `'tool-use-only'` (DeepSeek). Triggers native
73
+ * `reasoning_content` echo on assistant messages whose reasoning
74
+ * blocks carry matching provenance AND the conversation contains
75
+ * `tool_use`. See PR #251 / DeepSeek V4 thinking-mode spec.
76
+ * 2. **`preserveReasoningAsText` / `compressReasoningText`** — opt-in
77
+ * `<thinking>` text fallback from the user's `AgentConfig`. Applies
78
+ * to foreign-provenance reasoning AND to all reasoning on `'never'`
79
+ * adapters. See #223 Phase 2.
80
+ *
81
+ * The two paths are mutually exclusive per block: native echo claims
82
+ * own-provenance blocks first; text fallback claims everything else.
83
+ * Subclasses inherit `chat()` / `stream()` and so automatically pick up
84
+ * both behaviours; no subclass override needed.
85
+ */
86
+ buildMessageOptions(options) {
87
+ const wantsNativeEcho = this.capabilities.echoesReasoning === 'tool-use-only';
88
+ const wantsTextFallback = options.preserveReasoningAsText === true;
89
+ if (!wantsNativeEcho && !wantsTextFallback)
90
+ return undefined;
91
+ return {
92
+ preserveReasoningAsText: options.preserveReasoningAsText,
93
+ compressReasoningText: options.compressReasoningText,
94
+ nativeReasoningEchoProvider: wantsNativeEcho ? this.name : undefined,
95
+ };
96
+ }
58
97
  // -------------------------------------------------------------------------
59
98
  // chat()
60
99
  // -------------------------------------------------------------------------
@@ -66,7 +105,7 @@ export class OpenAIAdapter {
66
105
  * handle these (e.g. rate limits, context length exceeded).
67
106
  */
68
107
  async chat(messages, options) {
69
- const openAIMessages = buildOpenAIMessageList(messages, options.systemPrompt);
108
+ const openAIMessages = buildOpenAIMessageList(messages, options.systemPrompt, this.buildMessageOptions(options));
70
109
  const completion = await this.#client.chat.completions.create({
71
110
  // Sampling params first so extraBody can override them. Structural
72
111
  // fields (model/messages/tools/stream) come after extraBody so users
@@ -108,7 +147,7 @@ export class OpenAIAdapter {
108
147
  * - Exactly one terminal event: `done` or `error`
109
148
  */
110
149
  async *stream(messages, options) {
111
- const openAIMessages = buildOpenAIMessageList(messages, options.systemPrompt);
150
+ const openAIMessages = buildOpenAIMessageList(messages, options.systemPrompt, this.buildMessageOptions(options));
112
151
  // We request usage in the final chunk so we can include it in the `done` event.
113
152
  const streamResponse = await this.#client.chat.completions.create({
114
153
  // See chat() above for the rationale behind this field ordering.
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/llm/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/llm/openai.ts"],"names":[],"mappings":"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"}
@@ -19,34 +19,99 @@
19
19
  * produced from native API extraction (and always stamped with
20
20
  * `provenance`), never from text parsing.
21
21
  *
22
- * PHASE 1 STATUS:
23
- * This helper is exported but not yet wired into any adapter outbound
24
- * path. It is introduced ahead of behaviour wiring so the IR additions
25
- * (`ReasoningBlock.provenance`, `LLMAdapter.capabilities`) can land
26
- * independently and be reviewed in isolation. Phase 2 (#223) will:
27
- * - Add `AgentConfig.preserveReasoningAcrossProviders` opt-in.
28
- * - Wire each `echoesReasoning: 'never'` and `'own-issued'` adapter's
29
- * outbound path to call this helper when appropriate.
30
- * - Fold the OpenAI-family private helper added in #234 into this one
31
- * so there is a single source of truth.
22
+ * Wiring (post #223 Phase 2): every adapter outbound path consults
23
+ * {@link ReasoningOutboundOptions} resolved from
24
+ * {@link AgentConfig.preserveReasoningAsText} +
25
+ * {@link AgentConfig.compressReasoningText}. When opt-in is off, reasoning
26
+ * blocks that can't be native-echoed are dropped silently (preserving
27
+ * pre-Phase-2 behaviour). When opt-in is on, they pass through
28
+ * {@link reasoningBlockToInlineText} and become inline `<thinking>` text.
32
29
  */
33
30
  import type { ReasoningBlock } from '../types.js';
34
31
  /**
35
32
  * Default maximum character budget per `<thinking>` block after truncation.
36
33
  * Aligned with the value used by the OpenAI-family private replay helper
37
- * shipped in #234 (`openai-common.ts:31`) so Phase 2 consolidation is
38
- * behaviour-preserving.
34
+ * shipped in #234 so the Phase 2 consolidation is behaviour-preserving.
39
35
  */
40
36
  export declare const DEFAULT_REASONING_FALLBACK_MAX_CHARS = 1200;
37
+ /**
38
+ * Sentinel value the resolver returns when the caller explicitly disables
39
+ * truncation (`compressReasoningText: false`). Exported so the special-case
40
+ * branch in {@link resolveMaxChars} stays searchable — removing the branch
41
+ * would silently re-introduce truncation for users who opted out.
42
+ *
43
+ * Equal to `Number.POSITIVE_INFINITY`; the resolver maps it to
44
+ * `Number.MAX_SAFE_INTEGER` so `text.length <= maxChars` is always true.
45
+ */
46
+ export declare const NO_TRUNCATION: number;
41
47
  export interface ReasoningFallbackOptions {
42
48
  /**
43
49
  * Hard upper bound on the inner text length (the `<thinking>` wrapper
44
- * itself is not counted). Values below 1 are clamped to 1; non-finite
45
- * values are treated as 1. When omitted, defaults to
46
- * {@link DEFAULT_REASONING_FALLBACK_MAX_CHARS}.
50
+ * itself is not counted). Special values:
51
+ * - `undefined` defaults to {@link DEFAULT_REASONING_FALLBACK_MAX_CHARS}.
52
+ * - {@link NO_TRUNCATION} (`Number.POSITIVE_INFINITY`) → no truncation;
53
+ * the entire reasoning text passes through unchanged. This is the
54
+ * sentinel returned by {@link resolveReasoningOutboundMaxChars} when
55
+ * the caller sets `compressReasoningText: false`.
56
+ * - Any other non-finite value (`NaN`, `-Infinity`) → clamped to 1
57
+ * (defensive — these values are invalid input).
58
+ * - Finite values below 1 → clamped to 1.
59
+ * - Finite values ≥ 1 → used as-is (floored).
47
60
  */
48
61
  readonly maxChars?: number;
49
62
  }
63
+ /**
64
+ * Outbound-conversion options derived from {@link AgentConfig}'s reasoning
65
+ * fields. Threaded through every adapter's outbound IR-to-native conversion
66
+ * so each can opt the user into the cross-provider `<thinking>` text
67
+ * fallback (see #223). Internal to the LLM layer — adapters pick the values
68
+ * out of {@link LLMChatOptions} themselves.
69
+ */
70
+ export interface ReasoningOutboundOptions {
71
+ /** Mirrors {@link LLMChatOptions.preserveReasoningAsText}. */
72
+ readonly preserveReasoningAsText?: boolean;
73
+ /** Mirrors {@link LLMChatOptions.compressReasoningText}. */
74
+ readonly compressReasoningText?: boolean | {
75
+ readonly minChars?: number;
76
+ };
77
+ /**
78
+ * Adapter name to use for native `reasoning_content` echo on outbound
79
+ * assistant messages inside a tool-calling conversation. Wired by adapters
80
+ * whose {@link LLMAdapter.capabilities.echoesReasoning} is `'tool-use-only'`
81
+ * (currently DeepSeek V4 thinking-mode — see PR #251 / DeepSeek API spec).
82
+ *
83
+ * When set, each assistant message is scanned for {@link ReasoningBlock}s
84
+ * whose {@link ReasoningBlock.provenance} matches this value. The collected
85
+ * reasoning is attached as a `reasoning_content` field on the outbound
86
+ * payload (a non-standard OpenAI-compat field) IF AND ONLY IF the overall
87
+ * conversation contains at least one `tool_use` block somewhere in its
88
+ * history. Non-tool conversations skip the attachment entirely.
89
+ *
90
+ * Foreign-provenance blocks fall through to the {@link preserveReasoningAsText}
91
+ * `<thinking>` text path when that flag is on, so the two mechanisms
92
+ * compose: native echo for own-provenance + tool-use; text fallback for
93
+ * everything else.
94
+ *
95
+ * Adapters that don't need this leave it unset (default `'never'` and
96
+ * `'own-issued'` capability paths).
97
+ */
98
+ readonly nativeReasoningEchoProvider?: string;
99
+ }
100
+ /**
101
+ * Resolve {@link ReasoningOutboundOptions} to the `maxChars` value accepted
102
+ * by {@link reasoningBlockToInlineText}. Encodes the
103
+ * default-on-when-preserve-on semantics documented in #223:
104
+ *
105
+ * - `preserve=false` → returns `undefined` (fallback never runs;
106
+ * callers must check `preserve` themselves)
107
+ * - `compress=undefined`/`true`→ returns `undefined` so the helper applies
108
+ * its own default head+tail budget
109
+ * - `compress=false` → returns {@link NO_TRUNCATION}; the helper
110
+ * treats this as a no-op cap (full text)
111
+ * - `compress={minChars: N}` → `N` (the threshold value also serves as
112
+ * the truncation cap)
113
+ */
114
+ export declare function resolveReasoningOutboundMaxChars(options: ReasoningOutboundOptions | undefined): number | undefined;
50
115
  /**
51
116
  * Convert a {@link ReasoningBlock} into its `<thinking>...</thinking>` text
52
117
  * representation for outbound replay through adapters that cannot natively
@@ -1 +1 @@
1
- {"version":3,"file":"reasoning-fallback.d.ts","sourceRoot":"","sources":["../../src/llm/reasoning-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,OAAO,CAAA;AAQxD,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAyBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,wBAAwB,GACjC,MAAM,CAOR"}
1
+ {"version":3,"file":"reasoning-fallback.d.ts","sourceRoot":"","sources":["../../src/llm/reasoning-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,OAAO,CAAA;AAExD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,QAA2B,CAAA;AAQrD,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,8DAA8D;IAC9D,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IAC1C,4DAA4D;IAC5D,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACzE;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,CAAA;CAC9C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,wBAAwB,GAAG,SAAS,GAC5C,MAAM,GAAG,SAAS,CAQpB;AA0BD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,wBAAwB,GACjC,MAAM,CAOR"}
@@ -19,31 +19,64 @@
19
19
  * produced from native API extraction (and always stamped with
20
20
  * `provenance`), never from text parsing.
21
21
  *
22
- * PHASE 1 STATUS:
23
- * This helper is exported but not yet wired into any adapter outbound
24
- * path. It is introduced ahead of behaviour wiring so the IR additions
25
- * (`ReasoningBlock.provenance`, `LLMAdapter.capabilities`) can land
26
- * independently and be reviewed in isolation. Phase 2 (#223) will:
27
- * - Add `AgentConfig.preserveReasoningAcrossProviders` opt-in.
28
- * - Wire each `echoesReasoning: 'never'` and `'own-issued'` adapter's
29
- * outbound path to call this helper when appropriate.
30
- * - Fold the OpenAI-family private helper added in #234 into this one
31
- * so there is a single source of truth.
22
+ * Wiring (post #223 Phase 2): every adapter outbound path consults
23
+ * {@link ReasoningOutboundOptions} resolved from
24
+ * {@link AgentConfig.preserveReasoningAsText} +
25
+ * {@link AgentConfig.compressReasoningText}. When opt-in is off, reasoning
26
+ * blocks that can't be native-echoed are dropped silently (preserving
27
+ * pre-Phase-2 behaviour). When opt-in is on, they pass through
28
+ * {@link reasoningBlockToInlineText} and become inline `<thinking>` text.
32
29
  */
33
30
  /**
34
31
  * Default maximum character budget per `<thinking>` block after truncation.
35
32
  * Aligned with the value used by the OpenAI-family private replay helper
36
- * shipped in #234 (`openai-common.ts:31`) so Phase 2 consolidation is
37
- * behaviour-preserving.
33
+ * shipped in #234 so the Phase 2 consolidation is behaviour-preserving.
38
34
  */
39
35
  export const DEFAULT_REASONING_FALLBACK_MAX_CHARS = 1200;
36
+ /**
37
+ * Sentinel value the resolver returns when the caller explicitly disables
38
+ * truncation (`compressReasoningText: false`). Exported so the special-case
39
+ * branch in {@link resolveMaxChars} stays searchable — removing the branch
40
+ * would silently re-introduce truncation for users who opted out.
41
+ *
42
+ * Equal to `Number.POSITIVE_INFINITY`; the resolver maps it to
43
+ * `Number.MAX_SAFE_INTEGER` so `text.length <= maxChars` is always true.
44
+ */
45
+ export const NO_TRUNCATION = Number.POSITIVE_INFINITY;
40
46
  /** Marker inserted between head and tail when reasoning text is truncated. */
41
47
  const TRUNCATION_MARKER = '...[truncated]...';
42
48
  /** Placeholder emitted in place of opaque encrypted (redacted) reasoning. */
43
49
  const REDACTED_PLACEHOLDER = '<thinking>[redacted]</thinking>';
50
+ /**
51
+ * Resolve {@link ReasoningOutboundOptions} to the `maxChars` value accepted
52
+ * by {@link reasoningBlockToInlineText}. Encodes the
53
+ * default-on-when-preserve-on semantics documented in #223:
54
+ *
55
+ * - `preserve=false` → returns `undefined` (fallback never runs;
56
+ * callers must check `preserve` themselves)
57
+ * - `compress=undefined`/`true`→ returns `undefined` so the helper applies
58
+ * its own default head+tail budget
59
+ * - `compress=false` → returns {@link NO_TRUNCATION}; the helper
60
+ * treats this as a no-op cap (full text)
61
+ * - `compress={minChars: N}` → `N` (the threshold value also serves as
62
+ * the truncation cap)
63
+ */
64
+ export function resolveReasoningOutboundMaxChars(options) {
65
+ if (options?.preserveReasoningAsText !== true)
66
+ return undefined;
67
+ const compress = options.compressReasoningText;
68
+ if (compress === false)
69
+ return NO_TRUNCATION;
70
+ if (compress === undefined || compress === true) {
71
+ return undefined; // helper applies its own default when maxChars omitted
72
+ }
73
+ return compress.minChars; // undefined → helper default, number → that cap
74
+ }
44
75
  function resolveMaxChars(value) {
45
76
  if (value === undefined)
46
77
  return DEFAULT_REASONING_FALLBACK_MAX_CHARS;
78
+ if (value === NO_TRUNCATION)
79
+ return Number.MAX_SAFE_INTEGER;
47
80
  if (!Number.isFinite(value))
48
81
  return 1;
49
82
  const floored = Math.floor(value);
@@ -1 +1 @@
1
- {"version":3,"file":"reasoning-fallback.js","sourceRoot":"","sources":["../../src/llm/reasoning-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAIH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,CAAA;AAExD,8EAA8E;AAC9E,MAAM,iBAAiB,GAAG,mBAAmB,CAAA;AAE7C,6EAA6E;AAC7E,MAAM,oBAAoB,GAAG,iCAAiC,CAAA;AAY9D,SAAS,eAAe,CAAC,KAAyB;IAChD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,oCAAoC,CAAA;IACpE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,CAAC,CAAA;IACzB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,IAAY,EAAE,QAAgB;IAC9C,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAA;IACxC,IAAI,iBAAiB,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;IACxE,MAAM,MAAM,GAAG,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAA;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,MAAM,GAAG,IAAI,CAAA;IAC1B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;AACtF,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAqB,EACrB,OAAkC;IAElC,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5E,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACtC,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC9C,OAAO,aAAa,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,aAAa,CAAA;AAC5D,CAAC"}
1
+ {"version":3,"file":"reasoning-fallback.js","sourceRoot":"","sources":["../../src/llm/reasoning-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH;;;;GAIG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,CAAA;AAExD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,iBAAiB,CAAA;AAErD,8EAA8E;AAC9E,MAAM,iBAAiB,GAAG,mBAAmB,CAAA;AAE7C,6EAA6E;AAC7E,MAAM,oBAAoB,GAAG,iCAAiC,CAAA;AAuD9D;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gCAAgC,CAC9C,OAA6C;IAE7C,IAAI,OAAO,EAAE,uBAAuB,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,qBAAqB,CAAA;IAC9C,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,aAAa,CAAA;IAC5C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,SAAS,CAAA,CAAE,uDAAuD;IAC3E,CAAC;IACD,OAAO,QAAQ,CAAC,QAAQ,CAAA,CAAE,gDAAgD;AAC5E,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IAChD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,oCAAoC,CAAA;IACpE,IAAI,KAAK,KAAK,aAAa;QAAE,OAAO,MAAM,CAAC,gBAAgB,CAAA;IAC3D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,CAAC,CAAA;IACzB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,IAAY,EAAE,QAAgB;IAC9C,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAA;IACxC,IAAI,iBAAiB,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;IACxE,MAAM,MAAM,GAAG,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAA;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,MAAM,GAAG,IAAI,CAAA;IAC1B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;AACtF,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAqB,EACrB,OAAkC;IAElC,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5E,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACtC,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC9C,OAAO,aAAa,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,aAAa,CAAA;AAC5D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ import { emitTrace, generateRunId } from '../utils/trace.js';
46
46
  import { ToolRegistry } from '../tool/framework.js';
47
47
  import { ToolExecutor } from '../tool/executor.js';
48
48
  import { registerBuiltInTools } from '../tool/built-in/index.js';
49
+ import { defaultWorkspaceDir } from '../tool/built-in/path-safety.js';
49
50
  import { Team } from '../team/team.js';
50
51
  import { TaskQueue } from '../task/queue.js';
51
52
  import { createTask } from '../task/task.js';
@@ -380,6 +381,7 @@ function buildTaskAgentTeamInfo(ctx, taskId, traceBase, delegationDepth, delegat
380
381
  provider: targetConfig.provider ?? ctx.config.defaultProvider,
381
382
  baseURL: targetConfig.baseURL ?? ctx.config.defaultBaseURL,
382
383
  apiKey: targetConfig.apiKey ?? ctx.config.defaultApiKey,
384
+ cwd: targetConfig.cwd === undefined ? ctx.config.defaultCwd : targetConfig.cwd,
383
385
  };
384
386
  const tempAgent = buildAgent(effective, { includeDelegateTool: true });
385
387
  const nestedTeam = buildTaskAgentTeamInfo(ctx, taskId, traceBase, delegationDepth + 1, [...delegationChain, targetAgent]);
@@ -719,6 +721,10 @@ export class OpenMultiAgent {
719
721
  defaultProvider: config.defaultProvider ?? 'anthropic',
720
722
  defaultBaseURL: config.defaultBaseURL,
721
723
  defaultApiKey: config.defaultApiKey,
724
+ // `defaultCwd === undefined` means "use the default sandbox rooted at
725
+ // <cwd>/.agent-workspace". An explicit `null` propagates through to
726
+ // disable the filesystem sandbox; a string sets a custom sandbox root.
727
+ defaultCwd: config.defaultCwd === undefined ? defaultWorkspaceDir() : config.defaultCwd,
722
728
  maxTokenBudget: config.maxTokenBudget,
723
729
  onApproval: config.onApproval,
724
730
  onPlanReady: config.onPlanReady,
@@ -769,6 +775,7 @@ export class OpenMultiAgent {
769
775
  provider: config.provider ?? this.config.defaultProvider,
770
776
  baseURL: config.baseURL ?? this.config.defaultBaseURL,
771
777
  apiKey: config.apiKey ?? this.config.defaultApiKey,
778
+ cwd: config.cwd === undefined ? this.config.defaultCwd : config.cwd,
772
779
  maxTokenBudget: effectiveBudget,
773
780
  };
774
781
  const agent = buildAgent(effective);
@@ -856,6 +863,7 @@ export class OpenMultiAgent {
856
863
  provider: bestAgent.provider ?? this.config.defaultProvider,
857
864
  baseURL: bestAgent.baseURL ?? this.config.defaultBaseURL,
858
865
  apiKey: bestAgent.apiKey ?? this.config.defaultApiKey,
866
+ cwd: bestAgent.cwd === undefined ? this.config.defaultCwd : bestAgent.cwd,
859
867
  maxTokenBudget: effectiveBudget,
860
868
  };
861
869
  const agent = buildAgent(effective);
@@ -928,6 +936,9 @@ export class OpenMultiAgent {
928
936
  toolPreset: coordinatorOverrides?.toolPreset,
929
937
  tools: coordinatorOverrides?.tools,
930
938
  disallowedTools: coordinatorOverrides?.disallowedTools,
939
+ cwd: coordinatorOverrides?.cwd === undefined
940
+ ? this.config.defaultCwd
941
+ : coordinatorOverrides.cwd,
931
942
  loopDetection: coordinatorOverrides?.loopDetection,
932
943
  timeoutMs: coordinatorOverrides?.timeoutMs,
933
944
  };
@@ -1069,6 +1080,9 @@ export class OpenMultiAgent {
1069
1080
  // ------------------------------------------------------------------
1070
1081
  // Step 5: Coordinator synthesises final result
1071
1082
  // ------------------------------------------------------------------
1083
+ if (options?.abortSignal?.aborted) {
1084
+ return this.buildTeamRunResult(agentResults, goal, taskRecords);
1085
+ }
1072
1086
  if (maxTokenBudget !== undefined
1073
1087
  && cumulativeUsage.input_tokens + cumulativeUsage.output_tokens > maxTokenBudget) {
1074
1088
  return this.buildTeamRunResult(agentResults, goal, taskRecords);
@@ -1319,6 +1333,12 @@ export class OpenMultiAgent {
1319
1333
  */
1320
1334
  loadSpecsIntoQueue(specs, agentConfigs, queue) {
1321
1335
  const agentNames = new Set(agentConfigs.map((a) => a.name));
1336
+ const normalizeTitle = (title) => title.toLowerCase().trim();
1337
+ const titleCounts = new Map();
1338
+ for (const spec of specs) {
1339
+ const key = normalizeTitle(spec.title);
1340
+ titleCounts.set(key, (titleCounts.get(key) ?? 0) + 1);
1341
+ }
1322
1342
  // First pass: create tasks (without dependencies) to get stable IDs.
1323
1343
  const titleToId = new Map();
1324
1344
  const createdTasks = [];
@@ -1334,7 +1354,10 @@ export class OpenMultiAgent {
1334
1354
  retryDelayMs: spec.retryDelayMs,
1335
1355
  retryBackoff: spec.retryBackoff,
1336
1356
  });
1337
- titleToId.set(spec.title.toLowerCase().trim(), task.id);
1357
+ const titleKey = normalizeTitle(spec.title);
1358
+ if ((titleCounts.get(titleKey) ?? 0) === 1) {
1359
+ titleToId.set(titleKey, task.id);
1360
+ }
1338
1361
  createdTasks.push(task);
1339
1362
  }
1340
1363
  // Second pass: resolve title-based dependsOn to IDs.
@@ -1346,20 +1369,29 @@ export class OpenMultiAgent {
1346
1369
  continue;
1347
1370
  }
1348
1371
  const resolvedDeps = [];
1372
+ const unresolvedDeps = [];
1349
1373
  for (const depRef of spec.dependsOn) {
1350
1374
  // Accept both raw IDs and title strings
1351
1375
  const byId = createdTasks.find((t) => t.id === depRef);
1352
- const byTitle = titleToId.get(depRef.toLowerCase().trim());
1376
+ const depTitleKey = normalizeTitle(depRef);
1377
+ const byTitle = titleToId.get(depTitleKey);
1353
1378
  const resolvedId = byId?.id ?? byTitle;
1354
1379
  if (resolvedId) {
1355
1380
  resolvedDeps.push(resolvedId);
1356
1381
  }
1382
+ else {
1383
+ const count = titleCounts.get(depTitleKey) ?? 0;
1384
+ unresolvedDeps.push(count > 1 ? `${depRef} (ambiguous duplicate title)` : depRef);
1385
+ }
1357
1386
  }
1358
1387
  const taskWithDeps = {
1359
1388
  ...task,
1360
1389
  dependsOn: resolvedDeps.length > 0 ? resolvedDeps : undefined,
1361
1390
  };
1362
1391
  queue.add(taskWithDeps);
1392
+ if (unresolvedDeps.length > 0) {
1393
+ queue.fail(task.id, `Unresolved dependency reference(s): ${unresolvedDeps.join(', ')}`);
1394
+ }
1363
1395
  }
1364
1396
  }
1365
1397
  /** Build an {@link AgentPool} from a list of agent configurations. */
@@ -1372,6 +1404,7 @@ export class OpenMultiAgent {
1372
1404
  provider: config.provider ?? this.config.defaultProvider,
1373
1405
  baseURL: config.baseURL ?? this.config.defaultBaseURL,
1374
1406
  apiKey: config.apiKey ?? this.config.defaultApiKey,
1407
+ cwd: config.cwd === undefined ? this.config.defaultCwd : config.cwd,
1375
1408
  };
1376
1409
  pool.add(buildAgent(effective, { includeDelegateTool: true }));
1377
1410
  }