@pentoshi/clai 3.0.0 → 3.6.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 (176) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/classic-renderer.js +9 -1
  3. package/dist/agent/classic-renderer.js.map +1 -1
  4. package/dist/agent/context-manager.js +8 -2
  5. package/dist/agent/context-manager.js.map +1 -1
  6. package/dist/agent/events.d.ts +5 -0
  7. package/dist/agent/loop-guard.d.ts +2 -0
  8. package/dist/agent/loop-guard.js +39 -2
  9. package/dist/agent/loop-guard.js.map +1 -1
  10. package/dist/agent/plan-tool.d.ts +22 -0
  11. package/dist/agent/plan-tool.js +434 -49
  12. package/dist/agent/plan-tool.js.map +1 -1
  13. package/dist/agent/project-root.d.ts +33 -0
  14. package/dist/agent/project-root.js +158 -0
  15. package/dist/agent/project-root.js.map +1 -0
  16. package/dist/agent/runner.js +1204 -253
  17. package/dist/agent/runner.js.map +1 -1
  18. package/dist/agent/task-evidence.d.ts +103 -0
  19. package/dist/agent/task-evidence.js +413 -0
  20. package/dist/agent/task-evidence.js.map +1 -0
  21. package/dist/agent/tool-call-parser.d.ts +21 -0
  22. package/dist/agent/tool-call-parser.js +101 -28
  23. package/dist/agent/tool-call-parser.js.map +1 -1
  24. package/dist/agent/tool-history.d.ts +27 -0
  25. package/dist/agent/tool-history.js +150 -0
  26. package/dist/agent/tool-history.js.map +1 -0
  27. package/dist/agent/workspace-orient.d.ts +64 -0
  28. package/dist/agent/workspace-orient.js +418 -0
  29. package/dist/agent/workspace-orient.js.map +1 -0
  30. package/dist/app/adapters/agent-event-adapter.js +5 -0
  31. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  32. package/dist/app/controllers/session-controller.js +4 -0
  33. package/dist/app/controllers/session-controller.js.map +1 -1
  34. package/dist/app/events/app-event.d.ts +4 -0
  35. package/dist/app/events/app-event.js.map +1 -1
  36. package/dist/commands/doctor.js +14 -1
  37. package/dist/commands/doctor.js.map +1 -1
  38. package/dist/commands/update.js +1 -1
  39. package/dist/index.js +40 -8
  40. package/dist/index.js.map +1 -1
  41. package/dist/llm/adapters/anthropic-tools.d.ts +99 -0
  42. package/dist/llm/adapters/anthropic-tools.js +225 -0
  43. package/dist/llm/adapters/anthropic-tools.js.map +1 -0
  44. package/dist/llm/adapters/gemini-tools.d.ts +54 -0
  45. package/dist/llm/adapters/gemini-tools.js +139 -0
  46. package/dist/llm/adapters/gemini-tools.js.map +1 -0
  47. package/dist/llm/adapters/ollama-tools.d.ts +22 -0
  48. package/dist/llm/adapters/ollama-tools.js +62 -0
  49. package/dist/llm/adapters/ollama-tools.js.map +1 -0
  50. package/dist/llm/adapters/openai-tools.d.ts +39 -0
  51. package/dist/llm/adapters/openai-tools.js +71 -0
  52. package/dist/llm/adapters/openai-tools.js.map +1 -0
  53. package/dist/llm/agentrouter.js +23 -4
  54. package/dist/llm/agentrouter.js.map +1 -1
  55. package/dist/llm/anthropic.js +93 -92
  56. package/dist/llm/anthropic.js.map +1 -1
  57. package/dist/llm/aws-mantle.js +93 -56
  58. package/dist/llm/aws-mantle.js.map +1 -1
  59. package/dist/llm/bynara.js +23 -4
  60. package/dist/llm/bynara.js.map +1 -1
  61. package/dist/llm/capabilities.d.ts +7 -0
  62. package/dist/llm/capabilities.js +74 -0
  63. package/dist/llm/capabilities.js.map +1 -1
  64. package/dist/llm/gemini.js +63 -48
  65. package/dist/llm/gemini.js.map +1 -1
  66. package/dist/llm/groq.js +23 -4
  67. package/dist/llm/groq.js.map +1 -1
  68. package/dist/llm/http.d.ts +22 -17
  69. package/dist/llm/http.js +99 -26
  70. package/dist/llm/http.js.map +1 -1
  71. package/dist/llm/kimchi.js +23 -4
  72. package/dist/llm/kimchi.js.map +1 -1
  73. package/dist/llm/nvidia.js +23 -4
  74. package/dist/llm/nvidia.js.map +1 -1
  75. package/dist/llm/ollama.js +49 -31
  76. package/dist/llm/ollama.js.map +1 -1
  77. package/dist/llm/openai.js +23 -4
  78. package/dist/llm/openai.js.map +1 -1
  79. package/dist/llm/openrouter.js +23 -4
  80. package/dist/llm/openrouter.js.map +1 -1
  81. package/dist/llm/qwen-cloud.js +23 -4
  82. package/dist/llm/qwen-cloud.js.map +1 -1
  83. package/dist/llm/router.js +48 -6
  84. package/dist/llm/router.js.map +1 -1
  85. package/dist/llm/tool-protocol.d.ts +73 -0
  86. package/dist/llm/tool-protocol.js +282 -0
  87. package/dist/llm/tool-protocol.js.map +1 -0
  88. package/dist/modes/ask.js +74 -20
  89. package/dist/modes/ask.js.map +1 -1
  90. package/dist/prompts/index.d.ts +13 -5
  91. package/dist/prompts/index.js +122 -23
  92. package/dist/prompts/index.js.map +1 -1
  93. package/dist/repl.js +7 -0
  94. package/dist/repl.js.map +1 -1
  95. package/dist/store/config.d.ts +7 -0
  96. package/dist/store/config.js +1 -0
  97. package/dist/store/config.js.map +1 -1
  98. package/dist/store/plan.d.ts +2 -0
  99. package/dist/store/plan.js.map +1 -1
  100. package/dist/tools/capabilities.d.ts +2 -0
  101. package/dist/tools/capabilities.js +101 -6
  102. package/dist/tools/capabilities.js.map +1 -1
  103. package/dist/tools/command-intent.d.ts +1 -0
  104. package/dist/tools/command-intent.js +31 -0
  105. package/dist/tools/command-intent.js.map +1 -1
  106. package/dist/tools/definitions.d.ts +20 -0
  107. package/dist/tools/definitions.js +509 -0
  108. package/dist/tools/definitions.js.map +1 -0
  109. package/dist/tools/fs.d.ts +6 -0
  110. package/dist/tools/fs.js +68 -9
  111. package/dist/tools/fs.js.map +1 -1
  112. package/dist/tools/net-ping-sweep.js +69 -16
  113. package/dist/tools/net-ping-sweep.js.map +1 -1
  114. package/dist/tools/nmap-runner.d.ts +8 -7
  115. package/dist/tools/nmap-runner.js +126 -65
  116. package/dist/tools/nmap-runner.js.map +1 -1
  117. package/dist/tools/registry.js +122 -33
  118. package/dist/tools/registry.js.map +1 -1
  119. package/dist/tools/validate.d.ts +11 -0
  120. package/dist/tools/validate.js +53 -0
  121. package/dist/tools/validate.js.map +1 -1
  122. package/dist/tools/web/search.js +48 -4
  123. package/dist/tools/web/search.js.map +1 -1
  124. package/dist/tui/runtime.d.ts +19 -0
  125. package/dist/tui/runtime.js +92 -0
  126. package/dist/tui/runtime.js.map +1 -0
  127. package/dist/tui/state.js +2 -0
  128. package/dist/tui/state.js.map +1 -1
  129. package/dist/tui-v2/app/App.d.ts +3 -3
  130. package/dist/tui-v2/app/App.js +22 -10
  131. package/dist/tui-v2/app/App.js.map +1 -1
  132. package/dist/tui-v2/app/plan-lifecycle.d.ts +6 -0
  133. package/dist/tui-v2/app/plan-lifecycle.js +43 -7
  134. package/dist/tui-v2/app/plan-lifecycle.js.map +1 -1
  135. package/dist/tui-v2/components/modal/confirm-modal.d.ts +5 -6
  136. package/dist/tui-v2/components/modal/confirm-modal.js +60 -21
  137. package/dist/tui-v2/components/modal/confirm-modal.js.map +1 -1
  138. package/dist/tui-v2/components/modal/secret-modal.d.ts +3 -9
  139. package/dist/tui-v2/components/modal/secret-modal.js +17 -17
  140. package/dist/tui-v2/components/modal/secret-modal.js.map +1 -1
  141. package/dist/tui-v2/components/overlay/overlay-host.d.ts +12 -3
  142. package/dist/tui-v2/components/overlay/overlay-host.js +19 -4
  143. package/dist/tui-v2/components/overlay/overlay-host.js.map +1 -1
  144. package/dist/tui-v2/components/plan/plan-view.d.ts +1 -1
  145. package/dist/tui-v2/components/plan/plan-view.js +8 -4
  146. package/dist/tui-v2/components/plan/plan-view.js.map +1 -1
  147. package/dist/tui-v2/components/status/status-line.js +10 -1
  148. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  149. package/dist/tui-v2/components/transcript/assistant-message.js +6 -0
  150. package/dist/tui-v2/components/transcript/assistant-message.js.map +1 -1
  151. package/dist/tui-v2/components/transcript/compacted-row.d.ts +5 -5
  152. package/dist/tui-v2/components/transcript/compacted-row.js +15 -40
  153. package/dist/tui-v2/components/transcript/compacted-row.js.map +1 -1
  154. package/dist/tui-v2/components/transcript/tool-card.js +43 -13
  155. package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
  156. package/dist/tui-v2/components/transcript/transcript-row.js +8 -1
  157. package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
  158. package/dist/tui-v2/rendering/batch-sections.d.ts +12 -0
  159. package/dist/tui-v2/rendering/batch-sections.js +68 -0
  160. package/dist/tui-v2/rendering/batch-sections.js.map +1 -1
  161. package/dist/tui-v2/rendering/strip-tool-surfaces.d.ts +10 -0
  162. package/dist/tui-v2/rendering/strip-tool-surfaces.js +32 -0
  163. package/dist/tui-v2/rendering/strip-tool-surfaces.js.map +1 -0
  164. package/dist/tui-v2/rendering/tool-presenter.d.ts +6 -1
  165. package/dist/tui-v2/rendering/tool-presenter.js +68 -2
  166. package/dist/tui-v2/rendering/tool-presenter.js.map +1 -1
  167. package/dist/tui-v2/state/transcript-hydrate.js +6 -2
  168. package/dist/tui-v2/state/transcript-hydrate.js.map +1 -1
  169. package/dist/tui-v2/state/transcript-reducer.js +74 -16
  170. package/dist/tui-v2/state/transcript-reducer.js.map +1 -1
  171. package/dist/tui-v2/state/transcript-types.d.ts +1 -1
  172. package/dist/types.d.ts +58 -0
  173. package/dist/ui/ansi-box.d.ts +2 -0
  174. package/dist/ui/ansi-box.js +8 -1
  175. package/dist/ui/ansi-box.js.map +1 -1
  176. package/package.json +13 -4
@@ -1,41 +1,11 @@
1
1
  import { defaultModels, } from "./provider.js";
2
2
  import { readJson, readStreamLines } from "./http.js";
3
+ import { anthropicToolBodyFields, createAnthropicToolStreamState, finalizeAnthropicToolStream, handleAnthropicStreamEvent, parseAnthropicToolUseBlocks, toAnthropicToolMessages, } from "./adapters/anthropic-tools.js";
3
4
  const baseUrl = "https://api.anthropic.com/v1";
4
5
  const anthropicVersion = "2023-06-01";
5
- /**
6
- * Convert clai messages to Anthropic's format, expanding any image
7
- * attachments on user turns into base64 image content blocks (the same
8
- * shape Claude Code uses). Non-image turns keep a plain string content.
9
- */
10
- function toAnthropicMessages(messages) {
11
- return messages
12
- .filter((message) => message.role !== "system")
13
- .map((message) => {
14
- const role = message.role === "assistant" ? "assistant" : "user";
15
- if (role === "user" && message.images && message.images.length > 0) {
16
- const blocks = [];
17
- if (message.content)
18
- blocks.push({ type: "text", text: message.content });
19
- for (const img of message.images) {
20
- blocks.push({
21
- type: "image",
22
- source: {
23
- type: "base64",
24
- media_type: img.mediaType,
25
- data: img.dataBase64,
26
- },
27
- });
28
- }
29
- return { role, content: blocks };
30
- }
31
- return { role, content: message.content };
32
- });
33
- }
34
6
  function anthropicThinkingBudget(reasoning) {
35
7
  if (!reasoning?.enabled)
36
8
  return undefined;
37
- // Map to a sensible token budget. Anthropic requires budget < max_tokens
38
- // and >= 1024.
39
9
  switch (reasoning.effort) {
40
10
  case "low":
41
11
  return 1_024;
@@ -45,6 +15,32 @@ function anthropicThinkingBudget(reasoning) {
45
15
  return 4_096;
46
16
  }
47
17
  }
18
+ function buildAnthropicBody(request, stream) {
19
+ const model = request.model ?? defaultModels.anthropic;
20
+ const system = request.messages.find((message) => message.role === "system")?.content;
21
+ const messages = toAnthropicToolMessages(request.messages);
22
+ const thinkingBudget = anthropicThinkingBudget(request.thinking);
23
+ return JSON.stringify({
24
+ model,
25
+ system,
26
+ messages,
27
+ max_tokens: request.maxTokens ?? 1_024,
28
+ temperature: request.temperature ?? 0.2,
29
+ ...(stream ? { stream: true } : {}),
30
+ ...(thinkingBudget !== undefined
31
+ ? {
32
+ thinking: {
33
+ type: "enabled",
34
+ budget_tokens: thinkingBudget,
35
+ },
36
+ }
37
+ : {}),
38
+ ...anthropicToolBodyFields({
39
+ tools: request.tools,
40
+ toolChoice: request.toolChoice,
41
+ }),
42
+ });
43
+ }
48
44
  export const anthropicProvider = {
49
45
  id: "anthropic",
50
46
  displayName: "Anthropic",
@@ -66,8 +62,6 @@ export const anthropicProvider = {
66
62
  if (!auth.apiKey)
67
63
  throw new Error("Anthropic API key is required");
68
64
  const model = request.model ?? defaultModels.anthropic;
69
- const system = request.messages.find((message) => message.role === "system")?.content;
70
- const messages = toAnthropicMessages(request.messages);
71
65
  const response = await fetch(`${baseUrl}/messages`, {
72
66
  method: "POST",
73
67
  signal: request.signal ?? null,
@@ -76,45 +70,34 @@ export const anthropicProvider = {
76
70
  "x-api-key": auth.apiKey,
77
71
  "anthropic-version": anthropicVersion,
78
72
  },
79
- body: JSON.stringify({
80
- model,
81
- system,
82
- messages,
83
- max_tokens: request.maxTokens ?? 1_024,
84
- temperature: request.temperature ?? 0.2,
85
- ...(anthropicThinkingBudget(request.thinking) !== undefined
86
- ? {
87
- thinking: {
88
- type: "enabled",
89
- budget_tokens: anthropicThinkingBudget(request.thinking),
90
- },
91
- }
92
- : {}),
93
- }),
73
+ body: buildAnthropicBody(request, false),
94
74
  });
95
75
  const data = await readJson(response);
96
- const thinkingText = data.content
97
- ?.filter((part) => part.type === "thinking")
98
- .map((part) => part.thinking ?? "")
99
- .join("")
100
- .trim();
101
- const text = data.content
102
- ?.filter((part) => part.type === "text")
103
- .map((part) => part.text ?? "")
104
- .join("")
105
- .trim();
106
- if (!text) {
76
+ const parsed = parseAnthropicToolUseBlocks(data.content);
77
+ if (!parsed.text && parsed.toolCalls.length === 0) {
107
78
  throw new Error("Anthropic returned no completion text");
108
79
  }
109
- const final = thinkingText ? `<think>${thinkingText}</think>${text}` : text;
110
- return { text: final, provider: "anthropic", model };
80
+ const final = parsed.thinkingText
81
+ ? `<think>${parsed.thinkingText}</think>${parsed.text}`
82
+ : parsed.text;
83
+ return {
84
+ text: final,
85
+ provider: "anthropic",
86
+ model,
87
+ ...(parsed.toolCalls.length ? { toolCalls: parsed.toolCalls } : {}),
88
+ ...(data.stop_reason
89
+ ? {
90
+ finishReason: data.stop_reason === "tool_use" ? "tool_calls" : data.stop_reason,
91
+ }
92
+ : parsed.toolCalls.length
93
+ ? { finishReason: "tool_calls" }
94
+ : {}),
95
+ };
111
96
  },
112
97
  async stream(request, auth, onToken) {
113
98
  if (!auth.apiKey)
114
99
  throw new Error("Anthropic API key is required");
115
100
  const model = request.model ?? defaultModels.anthropic;
116
- const system = request.messages.find((message) => message.role === "system")?.content;
117
- const messages = toAnthropicMessages(request.messages);
118
101
  const response = await fetch(`${baseUrl}/messages`, {
119
102
  method: "POST",
120
103
  signal: request.signal ?? null,
@@ -123,22 +106,7 @@ export const anthropicProvider = {
123
106
  "x-api-key": auth.apiKey,
124
107
  "anthropic-version": anthropicVersion,
125
108
  },
126
- body: JSON.stringify({
127
- model,
128
- system,
129
- messages,
130
- max_tokens: request.maxTokens ?? 1_024,
131
- temperature: request.temperature ?? 0.2,
132
- stream: true,
133
- ...(anthropicThinkingBudget(request.thinking) !== undefined
134
- ? {
135
- thinking: {
136
- type: "enabled",
137
- budget_tokens: anthropicThinkingBudget(request.thinking),
138
- },
139
- }
140
- : {}),
141
- }),
109
+ body: buildAnthropicBody(request, true),
142
110
  });
143
111
  if (!response.ok) {
144
112
  await readJson(response);
@@ -148,6 +116,8 @@ export const anthropicProvider = {
148
116
  }
149
117
  let full = "";
150
118
  let inThinking = false;
119
+ const streamState = createAnthropicToolStreamState();
120
+ let stopReason;
151
121
  const enterThinking = () => {
152
122
  if (inThinking)
153
123
  return;
@@ -169,24 +139,37 @@ export const anthropicProvider = {
169
139
  if (!trimmed.startsWith("data:"))
170
140
  continue;
171
141
  const payload = trimmed.slice(5).trim();
172
- if (payload === "[DONE]") {
173
- exitThinking();
174
- return { text: full, provider: "anthropic", model };
175
- }
142
+ if (payload === "[DONE]")
143
+ break;
176
144
  try {
177
145
  const parsed = JSON.parse(payload);
178
- if (parsed.type === "content_block_delta") {
179
- const deltaType = parsed.delta?.type;
180
- if (deltaType === "thinking_delta" && parsed.delta?.thinking) {
146
+ if (parsed.type === "message_delta" && parsed.delta?.stop_reason) {
147
+ stopReason = parsed.delta.stop_reason;
148
+ }
149
+ if (parsed.type === "content_block_start" ||
150
+ parsed.type === "content_block_delta") {
151
+ const deltas = handleAnthropicStreamEvent(streamState, parsed);
152
+ if (deltas.thinkingDelta) {
181
153
  enterThinking();
182
- full += parsed.delta.thinking;
183
- onToken(parsed.delta.thinking);
154
+ full += deltas.thinkingDelta;
155
+ onToken(deltas.thinkingDelta);
184
156
  }
185
- else if (deltaType === "text_delta" && parsed.delta?.text) {
157
+ if (deltas.textDelta) {
186
158
  if (inThinking)
187
159
  exitThinking();
188
- full += parsed.delta.text;
189
- onToken(parsed.delta.text);
160
+ full += deltas.textDelta;
161
+ onToken(deltas.textDelta);
162
+ }
163
+ if (deltas.toolCallDelta && request.onToolCallDelta) {
164
+ const d = deltas.toolCallDelta;
165
+ request.onToolCallDelta({
166
+ index: d.index,
167
+ ...(d.id !== undefined ? { id: d.id } : {}),
168
+ ...(d.name !== undefined ? { name: d.name } : {}),
169
+ ...(d.argumentsBytes !== undefined
170
+ ? { argumentsBytes: d.argumentsBytes }
171
+ : {}),
172
+ });
190
173
  }
191
174
  }
192
175
  }
@@ -195,7 +178,25 @@ export const anthropicProvider = {
195
178
  }
196
179
  }
197
180
  exitThinking();
198
- return { text: full, provider: "anthropic", model };
181
+ const finalized = finalizeAnthropicToolStream(streamState);
182
+ if (!full.trim() && finalized.toolCalls.length === 0) {
183
+ throw new Error("Anthropic returned no completion text");
184
+ }
185
+ return {
186
+ text: full,
187
+ provider: "anthropic",
188
+ model,
189
+ ...(finalized.toolCalls.length
190
+ ? { toolCalls: finalized.toolCalls }
191
+ : {}),
192
+ ...(stopReason
193
+ ? {
194
+ finishReason: stopReason === "tool_use" ? "tool_calls" : stopReason,
195
+ }
196
+ : finalized.toolCalls.length
197
+ ? { finishReason: "tool_calls" }
198
+ : {}),
199
+ };
199
200
  },
200
201
  };
201
202
  //# sourceMappingURL=anthropic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { defaultModels, } from "./provider.js";
2
2
  import { openAiCompatibleComplete, openAiCompatibleStream, readJson, readStreamLines, } from "./http.js";
3
+ import { anthropicToolBodyFields, createAnthropicToolStreamState, finalizeAnthropicToolStream, handleAnthropicStreamEvent, parseAnthropicToolUseBlocks, toAnthropicToolMessages, } from "./adapters/anthropic-tools.js";
3
4
  const baseUrl = "https://bedrock-mantle.ap-south-1.api.aws/anthropic/v1";
4
5
  const openAiBaseUrl = "https://bedrock-mantle.ap-south-1.api.aws/v1";
5
6
  const modelsBaseUrl = "https://bedrock-mantle.ap-south-1.api.aws";
@@ -7,30 +8,6 @@ const anthropicVersion = "2023-06-01";
7
8
  function getWorkspaceId() {
8
9
  return process.env.ANTHROPIC_WORKSPACE_ID ?? "default";
9
10
  }
10
- function toAnthropicMessages(messages) {
11
- return messages
12
- .filter((message) => message.role !== "system")
13
- .map((message) => {
14
- const role = message.role === "assistant" ? "assistant" : "user";
15
- if (role === "user" && message.images && message.images.length > 0) {
16
- const blocks = [];
17
- if (message.content)
18
- blocks.push({ type: "text", text: message.content });
19
- for (const img of message.images) {
20
- blocks.push({
21
- type: "image",
22
- source: {
23
- type: "base64",
24
- media_type: img.mediaType,
25
- data: img.dataBase64,
26
- },
27
- });
28
- }
29
- return { role, content: blocks };
30
- }
31
- return { role, content: message.content };
32
- });
33
- }
34
11
  function anthropicThinkingBudget(reasoning) {
35
12
  if (!reasoning?.enabled)
36
13
  return undefined;
@@ -84,7 +61,7 @@ export const mantleProvider = {
84
61
  throw new Error("Mantle API key is required");
85
62
  const model = request.model ?? defaultModels["aws-mantle"];
86
63
  if (!isAnthropicMantleModel(model)) {
87
- const text = await openAiCompatibleComplete({
64
+ const payload = await openAiCompatibleComplete({
88
65
  provider: "AWS Mantle",
89
66
  baseUrl: openAiBaseUrl,
90
67
  apiKey: auth.apiKey,
@@ -95,11 +72,20 @@ export const mantleProvider = {
95
72
  signal: request.signal,
96
73
  reasoning: request.thinking,
97
74
  reasoningStyle: "nvidia",
75
+ tools: request.tools,
76
+ toolChoice: request.toolChoice,
77
+ parallelToolCalls: request.parallelToolCalls,
98
78
  });
99
- return { text, provider: "aws-mantle", model };
79
+ return {
80
+ text: payload.text,
81
+ provider: "aws-mantle",
82
+ model,
83
+ ...(payload.toolCalls?.length ? { toolCalls: payload.toolCalls } : {}),
84
+ ...(payload.finishReason ? { finishReason: payload.finishReason } : {}),
85
+ };
100
86
  }
101
87
  const system = request.messages.find((message) => message.role === "system")?.content;
102
- const messages = toAnthropicMessages(request.messages);
88
+ const messages = toAnthropicToolMessages(request.messages);
103
89
  const response = await fetch(`${baseUrl}/messages`, {
104
90
  method: "POST",
105
91
  signal: request.signal ?? null,
@@ -115,6 +101,10 @@ export const mantleProvider = {
115
101
  messages,
116
102
  max_tokens: request.maxTokens ?? 1_024,
117
103
  temperature: request.temperature ?? 0.2,
104
+ ...anthropicToolBodyFields({
105
+ tools: request.tools,
106
+ toolChoice: request.toolChoice,
107
+ }),
118
108
  ...(anthropicThinkingBudget(request.thinking) !== undefined
119
109
  ? {
120
110
  thinking: {
@@ -126,28 +116,33 @@ export const mantleProvider = {
126
116
  }),
127
117
  });
128
118
  const data = await readJson(response);
129
- const thinkingText = data.content
130
- ?.filter((part) => part.type === "thinking")
131
- .map((part) => part.thinking ?? "")
132
- .join("")
133
- .trim();
134
- const text = data.content
135
- ?.filter((part) => part.type === "text")
136
- .map((part) => part.text ?? "")
137
- .join("")
138
- .trim();
139
- if (!text) {
119
+ const parsed = parseAnthropicToolUseBlocks(data.content);
120
+ if (!parsed.text && parsed.toolCalls.length === 0) {
140
121
  throw new Error("Mantle returned no completion text");
141
122
  }
142
- const final = thinkingText ? `<thinking>${thinkingText}</thinking>${text}` : text;
143
- return { text: final, provider: "aws-mantle", model };
123
+ const final = parsed.thinkingText
124
+ ? `<thinking>${parsed.thinkingText}</thinking>${parsed.text}`
125
+ : parsed.text;
126
+ return {
127
+ text: final,
128
+ provider: "aws-mantle",
129
+ model,
130
+ ...(parsed.toolCalls.length ? { toolCalls: parsed.toolCalls } : {}),
131
+ ...(data.stop_reason
132
+ ? {
133
+ finishReason: data.stop_reason === "tool_use" ? "tool_calls" : data.stop_reason,
134
+ }
135
+ : parsed.toolCalls.length
136
+ ? { finishReason: "tool_calls" }
137
+ : {}),
138
+ };
144
139
  },
145
140
  async stream(request, auth, onToken) {
146
141
  if (!auth.apiKey)
147
142
  throw new Error("Mantle API key is required");
148
143
  const model = request.model ?? defaultModels["aws-mantle"];
149
144
  if (!isAnthropicMantleModel(model)) {
150
- const text = await openAiCompatibleStream({
145
+ const payload = await openAiCompatibleStream({
151
146
  provider: "AWS Mantle",
152
147
  baseUrl: openAiBaseUrl,
153
148
  apiKey: auth.apiKey,
@@ -157,13 +152,23 @@ export const mantleProvider = {
157
152
  temperature: request.temperature,
158
153
  signal: request.signal,
159
154
  onToken,
155
+ onToolCallDelta: request.onToolCallDelta,
160
156
  reasoning: request.thinking,
161
157
  reasoningStyle: "nvidia",
158
+ tools: request.tools,
159
+ toolChoice: request.toolChoice,
160
+ parallelToolCalls: request.parallelToolCalls,
162
161
  });
163
- return { text, provider: "aws-mantle", model };
162
+ return {
163
+ text: payload.text,
164
+ provider: "aws-mantle",
165
+ model,
166
+ ...(payload.toolCalls?.length ? { toolCalls: payload.toolCalls } : {}),
167
+ ...(payload.finishReason ? { finishReason: payload.finishReason } : {}),
168
+ };
164
169
  }
165
170
  const system = request.messages.find((message) => message.role === "system")?.content;
166
- const messages = toAnthropicMessages(request.messages);
171
+ const messages = toAnthropicToolMessages(request.messages);
167
172
  const response = await fetch(`${baseUrl}/messages`, {
168
173
  method: "POST",
169
174
  signal: request.signal ?? null,
@@ -179,6 +184,10 @@ export const mantleProvider = {
179
184
  messages,
180
185
  max_tokens: request.maxTokens ?? 1_024,
181
186
  temperature: request.temperature ?? 0.2,
187
+ ...anthropicToolBodyFields({
188
+ tools: request.tools,
189
+ toolChoice: request.toolChoice,
190
+ }),
182
191
  stream: true,
183
192
  ...(anthropicThinkingBudget(request.thinking) !== undefined
184
193
  ? {
@@ -198,6 +207,8 @@ export const mantleProvider = {
198
207
  }
199
208
  let full = "";
200
209
  let inThinking = false;
210
+ const streamState = createAnthropicToolStreamState();
211
+ let stopReason;
201
212
  const enterThinking = () => {
202
213
  if (inThinking)
203
214
  return;
@@ -219,24 +230,37 @@ export const mantleProvider = {
219
230
  if (!trimmed.startsWith("data:"))
220
231
  continue;
221
232
  const payload = trimmed.slice(5).trim();
222
- if (payload === "[DONE]") {
223
- exitThinking();
224
- return { text: full, provider: "aws-mantle", model };
225
- }
233
+ if (payload === "[DONE]")
234
+ break;
226
235
  try {
227
236
  const parsed = JSON.parse(payload);
228
- if (parsed.type === "content_block_delta") {
229
- const deltaType = parsed.delta?.type;
230
- if (deltaType === "thinking_delta" && parsed.delta?.thinking) {
237
+ if (parsed.type === "message_delta" && parsed.delta?.stop_reason) {
238
+ stopReason = parsed.delta.stop_reason;
239
+ }
240
+ if (parsed.type === "content_block_start" ||
241
+ parsed.type === "content_block_delta") {
242
+ const deltas = handleAnthropicStreamEvent(streamState, parsed);
243
+ if (deltas.thinkingDelta) {
231
244
  enterThinking();
232
- full += parsed.delta.thinking;
233
- onToken(parsed.delta.thinking);
245
+ full += deltas.thinkingDelta;
246
+ onToken(deltas.thinkingDelta);
234
247
  }
235
- else if (deltaType === "text_delta" && parsed.delta?.text) {
248
+ if (deltas.textDelta) {
236
249
  if (inThinking)
237
250
  exitThinking();
238
- full += parsed.delta.text;
239
- onToken(parsed.delta.text);
251
+ full += deltas.textDelta;
252
+ onToken(deltas.textDelta);
253
+ }
254
+ if (deltas.toolCallDelta && request.onToolCallDelta) {
255
+ const d = deltas.toolCallDelta;
256
+ request.onToolCallDelta({
257
+ index: d.index,
258
+ ...(d.id !== undefined ? { id: d.id } : {}),
259
+ ...(d.name !== undefined ? { name: d.name } : {}),
260
+ ...(d.argumentsBytes !== undefined
261
+ ? { argumentsBytes: d.argumentsBytes }
262
+ : {}),
263
+ });
240
264
  }
241
265
  }
242
266
  }
@@ -245,7 +269,20 @@ export const mantleProvider = {
245
269
  }
246
270
  }
247
271
  exitThinking();
248
- return { text: full, provider: "aws-mantle", model };
272
+ const finalized = finalizeAnthropicToolStream(streamState);
273
+ return {
274
+ text: full,
275
+ provider: "aws-mantle",
276
+ model,
277
+ ...(finalized.toolCalls.length ? { toolCalls: finalized.toolCalls } : {}),
278
+ ...(stopReason
279
+ ? {
280
+ finishReason: stopReason === "tool_use" ? "tool_calls" : stopReason,
281
+ }
282
+ : finalized.toolCalls.length
283
+ ? { finishReason: "tool_calls" }
284
+ : {}),
285
+ };
249
286
  },
250
287
  };
251
288
  //# sourceMappingURL=aws-mantle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aws-mantle.js","sourceRoot":"","sources":["../../src/llm/aws-mantle.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,aAAa,GAGd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,QAAQ,EACR,eAAe,GAChB,MAAM,WAAW,CAAC;AAEnB,MAAM,OAAO,GAAG,wDAAwD,CAAC;AACzE,MAAM,aAAa,GAAG,8CAA8C,CAAC;AACrE,MAAM,aAAa,GAAG,2CAA2C,CAAC;AAClE,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAEtC,SAAS,cAAc;IACrB,OAAO,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,SAAS,CAAC;AACzD,CAAC;AASD,SAAS,mBAAmB,CAC1B,QAAuB;IAEvB,OAAO,QAAQ;SACZ,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;SAC9C,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QACjE,IAAI,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnE,MAAM,MAAM,GAAqB,EAAE,CAAC;YACpC,IAAI,OAAO,CAAC,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,GAAG,CAAC,SAAS;wBACzB,IAAI,EAAE,GAAG,CAAC,UAAU;qBACrB;iBACF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,uBAAuB,CAAC,SAA0C;IACzE,IAAI,CAAC,SAAS,EAAE,OAAO;QAAE,OAAO,SAAS,CAAC;IAC1C,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,KAAK,KAAK;YACR,OAAO,KAAK,CAAC;QACf,KAAK,MAAM;YACT,OAAO,KAAK,CAAC;QACf;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IAC3C,OAAO,6CAA6C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,EAAE,EAAE,YAAY;IAChB,WAAW,EAAE,YAAY;IACzB,YAAY,EAAE,aAAa,CAAC,YAAY,CAAC;IACzC,MAAM,EAAE,mBAAmB;IAC3B,WAAW,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC;IAChE,KAAK,CAAC,UAAU,CAAC,IAAkB;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,aAAa,YAAY,EAAE;YACzD,OAAO,EAAE;gBACP,WAAW,EAAE,IAAI,CAAC,MAAM;gBACxB,mBAAmB,EAAE,gBAAgB;aACtC;SACF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAGzB,QAAQ,CAAC,CAAC;QACZ,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC9E,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;aAC5D,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACzC,IAAI,EAAE,CAAC;IACZ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAkB;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,aAAa,YAAY,EAAE;YACzD,OAAO,EAAE;gBACP,WAAW,EAAE,IAAI,CAAC,MAAM;gBACxB,mBAAmB,EAAE,gBAAgB;aACtC;SACF,CAAC,CAAC;QACH,MAAM,QAAQ,CAAU,QAAQ,CAAC,CAAC;IACpC,CAAC;IACD,KAAK,CAAC,QAAQ,CACZ,OAA0B,EAC1B,IAAkB;QAElB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC;gBAC1C,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,aAAa;gBACtB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK;gBACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS,EAAE,OAAO,CAAC,QAAQ;gBAC3B,cAAc,EAAE,QAAQ;aACzB,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QACjD,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAClC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CACvC,EAAE,OAAO,CAAC;QACX,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,WAAW,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;YAC9B,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,IAAI,CAAC,MAAM;gBACxB,mBAAmB,EAAE,gBAAgB;gBACrC,wBAAwB,EAAE,cAAc,EAAE;aAC3C;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK;gBACL,MAAM;gBACN,QAAQ;gBACR,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;gBACtC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;gBACvC,GAAG,CAAC,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,SAAS;oBACzD,CAAC,CAAC;wBACE,QAAQ,EAAE;4BACR,IAAI,EAAE,SAAS;4BACf,aAAa,EAAE,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC;yBACzD;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;SACH,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAExB,QAAQ,CAAC,CAAC;QACb,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO;YAC/B,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;aAC3C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;aAClC,IAAI,CAAC,EAAE,CAAC;aACR,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO;YACvB,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;aACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;aAC9B,IAAI,CAAC,EAAE,CAAC;aACR,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,YAAY,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAClF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC;IACD,KAAK,CAAC,MAAM,CACV,OAA0B,EAC1B,IAAkB,EAClB,OAAgC;QAEhC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC;gBACxC,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,aAAa;gBACtB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK;gBACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO;gBACP,SAAS,EAAE,OAAO,CAAC,QAAQ;gBAC3B,cAAc,EAAE,QAAQ;aACzB,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QACjD,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAClC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CACvC,EAAE,OAAO,CAAC;QACX,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,WAAW,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;YAC9B,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,IAAI,CAAC,MAAM;gBACxB,mBAAmB,EAAE,gBAAgB;gBACrC,wBAAwB,EAAE,cAAc,EAAE;aAC3C;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK;gBACL,MAAM;gBACN,QAAQ;gBACR,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;gBACtC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;gBACvC,MAAM,EAAE,IAAI;gBACZ,GAAG,CAAC,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,SAAS;oBACzD,CAAC,CAAC;wBACE,QAAQ,EAAE;4BACR,IAAI,EAAE,SAAS;4BACf,aAAa,EAAE,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC;yBACzD;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;SACH,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,QAAQ,CAAU,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,MAAM,aAAa,GAAG,GAAS,EAAE;YAC/B,IAAI,UAAU;gBAAE,OAAO;YACvB,UAAU,GAAG,IAAI,CAAC;YAClB,IAAI,IAAI,YAAY,CAAC;YACrB,OAAO,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,UAAU;gBAAE,OAAO;YACxB,UAAU,GAAG,KAAK,CAAC;YACnB,IAAI,IAAI,aAAa,CAAC;YACtB,OAAO,CAAC,aAAa,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,eAAe,CAAC,QAAQ,EAAE;YACjD,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,EAAE,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzB,YAAY,EAAE,CAAC;gBACf,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;YACvD,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAGhC,CAAC;gBACF,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC;oBACrC,IAAI,SAAS,KAAK,gBAAgB,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;wBAC7D,aAAa,EAAE,CAAC;wBAChB,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;wBAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACjC,CAAC;yBAAM,IAAI,SAAS,KAAK,YAAY,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;wBAC5D,IAAI,UAAU;4BAAE,YAAY,EAAE,CAAC;wBAC/B,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;wBAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,oCAAoC;YACtC,CAAC;QACH,CAAC;QACD,YAAY,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IACvD,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"aws-mantle.js","sourceRoot":"","sources":["../../src/llm/aws-mantle.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ export const bynaraProvider = {
43
43
  if (!auth.apiKey)
44
44
  throw new Error("Bynara API key is required");
45
45
  const model = request.model ?? defaultModels.bynara;
46
- const text = await openAiCompatibleComplete({
46
+ const payload = await openAiCompatibleComplete({
47
47
  provider: "Bynara",
48
48
  baseUrl,
49
49
  apiKey: auth.apiKey,
@@ -54,14 +54,23 @@ export const bynaraProvider = {
54
54
  signal: request.signal,
55
55
  reasoning: request.thinking,
56
56
  reasoningStyle: "openai",
57
+ tools: request.tools,
58
+ toolChoice: request.toolChoice,
59
+ parallelToolCalls: request.parallelToolCalls,
57
60
  });
58
- return { text, provider: "bynara", model };
61
+ return {
62
+ text: payload.text,
63
+ provider: "bynara",
64
+ model,
65
+ ...(payload.toolCalls?.length ? { toolCalls: payload.toolCalls } : {}),
66
+ ...(payload.finishReason ? { finishReason: payload.finishReason } : {}),
67
+ };
59
68
  },
60
69
  async stream(request, auth, onToken) {
61
70
  if (!auth.apiKey)
62
71
  throw new Error("Bynara API key is required");
63
72
  const model = request.model ?? defaultModels.bynara;
64
- const text = await openAiCompatibleStream({
73
+ const payload = await openAiCompatibleStream({
65
74
  provider: "Bynara",
66
75
  baseUrl,
67
76
  apiKey: auth.apiKey,
@@ -71,10 +80,20 @@ export const bynaraProvider = {
71
80
  temperature: request.temperature,
72
81
  signal: request.signal,
73
82
  onToken,
83
+ onToolCallDelta: request.onToolCallDelta,
74
84
  reasoning: request.thinking,
75
85
  reasoningStyle: "openai",
86
+ tools: request.tools,
87
+ toolChoice: request.toolChoice,
88
+ parallelToolCalls: request.parallelToolCalls,
76
89
  });
77
- return { text, provider: "bynara", model };
90
+ return {
91
+ text: payload.text,
92
+ provider: "bynara",
93
+ model,
94
+ ...(payload.toolCalls?.length ? { toolCalls: payload.toolCalls } : {}),
95
+ ...(payload.finishReason ? { finishReason: payload.finishReason } : {}),
96
+ };
78
97
  },
79
98
  };
80
99
  //# sourceMappingURL=bynara.js.map