ns-kiro-core 0.3.7 → 0.3.8
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.
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/response-assembler.d.ts +27 -3
- package/dist/response-assembler.js +73 -23
- package/dist/response-assembler.js.map +1 -1
- package/dist/stream.js +25 -1
- package/dist/stream.js.map +1 -1
- package/dist/tool-name-aliases.d.ts +14 -0
- package/dist/tool-name-aliases.js +59 -0
- package/dist/tool-name-aliases.js.map +1 -0
- package/dist/tool-use-parser.d.ts +17 -0
- package/dist/tool-use-parser.js +174 -0
- package/dist/tool-use-parser.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ export { CAPACITY_PATTERN, isCapacityError, isNonRetryableBodyError, isTooBigErr
|
|
|
21
21
|
export { type KiroStreamRequest, resetProfileArnCache, streamKiro } from "./stream.js";
|
|
22
22
|
export { ThinkingTagParser } from "./thinking-parser.js";
|
|
23
23
|
export { countTokens } from "./tokenizer.js";
|
|
24
|
+
export { normalizeKiroToolName } from "./tool-name-aliases.js";
|
|
25
|
+
export { parseToolUseCalls, type ToolUseCall, type ToolUseParseResult } from "./tool-use-parser.js";
|
|
24
26
|
export { buildHistory, EMPTY_CONTENT_PLACEHOLDER, type KiroHistoryEntry, type KiroImage, type KiroToolResult, type KiroToolSpec, type KiroToolUse, type KiroUserInputMessage, kiroToolNameAliases, normalizeMessages, relocateDisplacedToolResults, sanitizeSurrogates, toKiroToolName, toKiroToolUseId, } from "./transform.js";
|
|
25
27
|
export { abortableDelay, createResponseHeaderDeadline, logCapacityEvent, type ResponseHeaderDeadline, } from "./transport.js";
|
|
26
28
|
export { TRUNCATION_NOTICE, wasPreviousResponseTruncated } from "./truncation.js";
|
package/dist/index.js
CHANGED
|
@@ -29,6 +29,8 @@ export { CAPACITY_PATTERN, isCapacityError, isNonRetryableBodyError, isTooBigErr
|
|
|
29
29
|
export { resetProfileArnCache, streamKiro } from "./stream.js";
|
|
30
30
|
export { ThinkingTagParser } from "./thinking-parser.js";
|
|
31
31
|
export { countTokens } from "./tokenizer.js";
|
|
32
|
+
export { normalizeKiroToolName } from "./tool-name-aliases.js";
|
|
33
|
+
export { parseToolUseCalls } from "./tool-use-parser.js";
|
|
32
34
|
export { buildHistory, EMPTY_CONTENT_PLACEHOLDER, kiroToolNameAliases, normalizeMessages, relocateDisplacedToolResults, sanitizeSurrogates, toKiroToolName, toKiroToolUseId, } from "./transform.js";
|
|
33
35
|
export { abortableDelay, createResponseHeaderDeadline, logCapacityEvent, } from "./transport.js";
|
|
34
36
|
export { TRUNCATION_NOTICE, wasPreviousResponseTruncated } from "./truncation.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,14 @@ export interface KiroAttemptSummary {
|
|
|
23
23
|
* a discarded attempt's drops.
|
|
24
24
|
*/
|
|
25
25
|
droppedToolCalls: unknown[];
|
|
26
|
+
/**
|
|
27
|
+
* The stop reason the service reported in its `metadataEvent`, verbatim
|
|
28
|
+
* (`END_TURN`, `TOOL_USE`, `MAX_TOKENS`, `CONTENT_FILTERED`, ...). Absent when
|
|
29
|
+
* the service said nothing; the caller turns the terminal ones into errors.
|
|
30
|
+
*/
|
|
31
|
+
wireStopReason?: string;
|
|
32
|
+
/** `metadataEvent.stopDetails`, verbatim, for a refusal's diagnostic. */
|
|
33
|
+
wireStopDetails?: Record<string, unknown>;
|
|
26
34
|
}
|
|
27
35
|
export interface KiroCompletedResponse {
|
|
28
36
|
stopReason: "stop" | "toolUse" | "length";
|
|
@@ -54,11 +62,16 @@ export declare class KiroResponseAssembler {
|
|
|
54
62
|
* registered, not the alias the wire required.
|
|
55
63
|
*/
|
|
56
64
|
private readonly toolNameAliases?;
|
|
65
|
+
/**
|
|
66
|
+
* Host names of every tool the request declared. Lets a training-prior
|
|
67
|
+
* name the model invented (`read_file`) land on the declared tool it means
|
|
68
|
+
* (`read`), but only when that tool exists and the invented name does not.
|
|
69
|
+
*/
|
|
70
|
+
private readonly declaredToolNames?;
|
|
57
71
|
private readonly pending;
|
|
58
72
|
private readonly blocks;
|
|
59
73
|
private readonly usage;
|
|
60
74
|
private totalContent;
|
|
61
|
-
private lastContentData;
|
|
62
75
|
private usageEvent;
|
|
63
76
|
private meteringEvent;
|
|
64
77
|
private receivedContextUsage;
|
|
@@ -78,7 +91,14 @@ export declare class KiroResponseAssembler {
|
|
|
78
91
|
* the dropped-call diagnostic alike — reports the name the host
|
|
79
92
|
* registered, not the alias the wire required.
|
|
80
93
|
*/
|
|
81
|
-
toolNameAliases?: ReadonlyMap<string, string> | undefined
|
|
94
|
+
toolNameAliases?: ReadonlyMap<string, string> | undefined,
|
|
95
|
+
/**
|
|
96
|
+
* Host names of every tool the request declared. Lets a training-prior
|
|
97
|
+
* name the model invented (`read_file`) land on the declared tool it means
|
|
98
|
+
* (`read`), but only when that tool exists and the invented name does not.
|
|
99
|
+
*/
|
|
100
|
+
declaredToolNames?: ReadonlySet<string> | undefined);
|
|
101
|
+
/** Wire name -> the name the host registered, then alias repair. */
|
|
82
102
|
private originalToolName;
|
|
83
103
|
/** Clear per-attempt state. Only block indexes are kept. */
|
|
84
104
|
beginAttempt(): void;
|
|
@@ -104,10 +124,14 @@ export declare class KiroResponseAssembler {
|
|
|
104
124
|
private flushToolCall;
|
|
105
125
|
/**
|
|
106
126
|
* Extract text-dialect tool calls from content when no native tool calls
|
|
107
|
-
* arrived.
|
|
127
|
+
* arrived. Three dialects are recovered at this seam:
|
|
108
128
|
* 1. Kiro's own `[Called name with args: {...}]` bracket form.
|
|
109
129
|
* 2. Anthropic's `<invoke name="..."><parameter .../></invoke>` XML form,
|
|
110
130
|
* which opus-class models emit as plain text at high context.
|
|
131
|
+
* 3. A JSON descriptor wrapped in `<tool_use>`, `<tool_call>`,
|
|
132
|
+
* `<function_call>` or `<tool>` tags (upstream #163), spelled
|
|
133
|
+
* `tool_name`/`tool_input`, `name`/`input` or `name`/`arguments`,
|
|
134
|
+
* or wrapped in a `{"tool_calls": [...]}` array.
|
|
111
135
|
* Without this, the turn ends `stop` with zero tool calls — the agent loop
|
|
112
136
|
* sees a finished answer and an unattended session stalls with no error
|
|
113
137
|
* recorded anywhere.
|
|
@@ -7,6 +7,8 @@ import { debugEnabled, debugLog, formatSafeError, redactSensitiveText } from "./
|
|
|
7
7
|
import { parseInvokeToolCalls } from "./invoke-tool-parser.js";
|
|
8
8
|
import { ThinkingTagParser } from "./thinking-parser.js";
|
|
9
9
|
import { countTokens } from "./tokenizer.js";
|
|
10
|
+
import { normalizeKiroToolName } from "./tool-name-aliases.js";
|
|
11
|
+
import { parseToolUseCalls } from "./tool-use-parser.js";
|
|
10
12
|
/** Text that is an artifact of history padding rather than an answer. */
|
|
11
13
|
const ECHO_NOISE_PATTERN = /^\s*(continue|\.+)\s*$/i;
|
|
12
14
|
/**
|
|
@@ -21,6 +23,7 @@ export class KiroResponseAssembler {
|
|
|
21
23
|
model;
|
|
22
24
|
thinkingEnabled;
|
|
23
25
|
toolNameAliases;
|
|
26
|
+
declaredToolNames;
|
|
24
27
|
pending = [];
|
|
25
28
|
blocks = new KiroBlockBuffer((event) => this.pending.push(event));
|
|
26
29
|
usage = {
|
|
@@ -30,7 +33,6 @@ export class KiroResponseAssembler {
|
|
|
30
33
|
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },
|
|
31
34
|
};
|
|
32
35
|
totalContent = "";
|
|
33
|
-
lastContentData = "";
|
|
34
36
|
usageEvent = null;
|
|
35
37
|
meteringEvent = null;
|
|
36
38
|
receivedContextUsage = false;
|
|
@@ -50,18 +52,25 @@ export class KiroResponseAssembler {
|
|
|
50
52
|
* the dropped-call diagnostic alike — reports the name the host
|
|
51
53
|
* registered, not the alias the wire required.
|
|
52
54
|
*/
|
|
53
|
-
toolNameAliases
|
|
55
|
+
toolNameAliases,
|
|
56
|
+
/**
|
|
57
|
+
* Host names of every tool the request declared. Lets a training-prior
|
|
58
|
+
* name the model invented (`read_file`) land on the declared tool it means
|
|
59
|
+
* (`read`), but only when that tool exists and the invented name does not.
|
|
60
|
+
*/
|
|
61
|
+
declaredToolNames) {
|
|
54
62
|
this.model = model;
|
|
55
63
|
this.thinkingEnabled = thinkingEnabled;
|
|
56
64
|
this.toolNameAliases = toolNameAliases;
|
|
65
|
+
this.declaredToolNames = declaredToolNames;
|
|
57
66
|
}
|
|
67
|
+
/** Wire name -> the name the host registered, then alias repair. */
|
|
58
68
|
originalToolName(name) {
|
|
59
|
-
return this.toolNameAliases?.get(name) ?? name;
|
|
69
|
+
return normalizeKiroToolName(this.toolNameAliases?.get(name) ?? name, this.declaredToolNames);
|
|
60
70
|
}
|
|
61
71
|
/** Clear per-attempt state. Only block indexes are kept. */
|
|
62
72
|
beginAttempt() {
|
|
63
73
|
this.totalContent = "";
|
|
64
|
-
this.lastContentData = "";
|
|
65
74
|
this.usageEvent = null;
|
|
66
75
|
this.meteringEvent = null;
|
|
67
76
|
this.receivedContextUsage = false;
|
|
@@ -123,12 +132,16 @@ export class KiroResponseAssembler {
|
|
|
123
132
|
break;
|
|
124
133
|
}
|
|
125
134
|
case "content": {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
// new text and must not be appended twice.
|
|
129
|
-
if (event.data === this.lastContentData)
|
|
135
|
+
// An empty frame carries nothing, and must not close a thinking block.
|
|
136
|
+
if (event.data === "")
|
|
130
137
|
break;
|
|
131
|
-
this.
|
|
138
|
+
this.endNativeThinking();
|
|
139
|
+
// Consecutive identical frames are NOT duplicates. Kiro chunks text by
|
|
140
|
+
// size, so repetitive output arrives as identical frames back to back.
|
|
141
|
+
// Observed live 2026-10-08 (claude-haiku-4.5): "ha" x60 streamed with
|
|
142
|
+
// three identical 32-char frames in a row, and "\n=" x30 as seven
|
|
143
|
+
// identical frames; the old repeat filter cut that answer down to
|
|
144
|
+
// "ha" x26 and six "=" lines. Upstream dropped the filter too (#174).
|
|
132
145
|
this.totalContent += event.data;
|
|
133
146
|
if (this.thinkingParser) {
|
|
134
147
|
this.thinkingParser.processChunk(event.data);
|
|
@@ -171,6 +184,16 @@ export class KiroResponseAssembler {
|
|
|
171
184
|
// tokenUsage and stopReason/stopDetails across frames. Merge so a
|
|
172
185
|
// later partial frame cannot erase counts already received.
|
|
173
186
|
this.usageEvent = { ...(this.usageEvent ?? {}), ...event.data };
|
|
187
|
+
// `TokenUsage.contextUsagePercentage` closes the turn just like a bare
|
|
188
|
+
// contextUsage frame does, so the `length` heuristic must count it.
|
|
189
|
+
const pct = event.data.contextUsagePercentage;
|
|
190
|
+
if (pct !== undefined) {
|
|
191
|
+
if (this.usageEvent.inputTokens === undefined) {
|
|
192
|
+
this.usage.input = Math.round((pct / 100) * this.model.contextWindow);
|
|
193
|
+
}
|
|
194
|
+
this.usage.contextPercent = pct;
|
|
195
|
+
this.receivedContextUsage = true;
|
|
196
|
+
}
|
|
174
197
|
// The parsed event keeps only the fields this package understands.
|
|
175
198
|
// Log the frame verbatim so a field Kiro adds — cache counters above
|
|
176
199
|
// all — is visible without having to guess its name first.
|
|
@@ -222,15 +245,31 @@ export class KiroResponseAssembler {
|
|
|
222
245
|
// an empty turn with a tool-use stop stalls an agent loop waiting for
|
|
223
246
|
// results that will never arrive.
|
|
224
247
|
//
|
|
225
|
-
// `
|
|
226
|
-
//
|
|
227
|
-
//
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
248
|
+
// An explicit `metadataEvent.stopReason` is authoritative (upstream #174):
|
|
249
|
+
// MAX_TOKENS is truncation even when a tool call parsed, and END_TURN is a
|
|
250
|
+
// finished turn even when no contextUsage frame arrived. The terminal
|
|
251
|
+
// reasons (CONTENT_FILTERED, MODEL_CONTEXT_WINDOW_EXCEEDED, PAUSE_TURN) are
|
|
252
|
+
// handed to the caller through `wireStopReason` to be thrown.
|
|
253
|
+
//
|
|
254
|
+
// Without one, `length` is inferred: a turn that produced no tool call and
|
|
255
|
+
// never carried a contextUsage frame is treated as cut short.
|
|
256
|
+
const wireStopReason = this.usageEvent?.rawStopReason;
|
|
257
|
+
switch (wireStopReason) {
|
|
258
|
+
case "MAX_TOKENS":
|
|
259
|
+
this.stopReason = "length";
|
|
260
|
+
break;
|
|
261
|
+
case "END_TURN":
|
|
262
|
+
case "TOOL_USE":
|
|
263
|
+
this.stopReason = this.emittedToolCalls > 0 ? "toolUse" : "stop";
|
|
264
|
+
break;
|
|
265
|
+
default:
|
|
266
|
+
this.stopReason =
|
|
267
|
+
!this.receivedContextUsage && this.emittedToolCalls === 0
|
|
268
|
+
? "length"
|
|
269
|
+
: this.emittedToolCalls > 0
|
|
270
|
+
? "toolUse"
|
|
271
|
+
: "stop";
|
|
272
|
+
}
|
|
234
273
|
return {
|
|
235
274
|
responseText,
|
|
236
275
|
hasText,
|
|
@@ -240,6 +279,8 @@ export class KiroResponseAssembler {
|
|
|
240
279
|
isEmpty: !hasText && !this.sawAnyToolCalls,
|
|
241
280
|
stopReason: this.stopReason,
|
|
242
281
|
droppedToolCalls: this.droppedToolCalls,
|
|
282
|
+
...(wireStopReason !== undefined ? { wireStopReason } : {}),
|
|
283
|
+
...(this.usageEvent?.stopDetails !== undefined ? { wireStopDetails: this.usageEvent.stopDetails } : {}),
|
|
243
284
|
};
|
|
244
285
|
}
|
|
245
286
|
/** Drop an echo the caller decided not to retry, so it is not read as a continuation signal. */
|
|
@@ -362,10 +403,14 @@ export class KiroResponseAssembler {
|
|
|
362
403
|
}
|
|
363
404
|
/**
|
|
364
405
|
* Extract text-dialect tool calls from content when no native tool calls
|
|
365
|
-
* arrived.
|
|
406
|
+
* arrived. Three dialects are recovered at this seam:
|
|
366
407
|
* 1. Kiro's own `[Called name with args: {...}]` bracket form.
|
|
367
408
|
* 2. Anthropic's `<invoke name="..."><parameter .../></invoke>` XML form,
|
|
368
409
|
* which opus-class models emit as plain text at high context.
|
|
410
|
+
* 3. A JSON descriptor wrapped in `<tool_use>`, `<tool_call>`,
|
|
411
|
+
* `<function_call>` or `<tool>` tags (upstream #163), spelled
|
|
412
|
+
* `tool_name`/`tool_input`, `name`/`input` or `name`/`arguments`,
|
|
413
|
+
* or wrapped in a `{"tool_calls": [...]}` array.
|
|
369
414
|
* Without this, the turn ends `stop` with zero tool calls — the agent loop
|
|
370
415
|
* sees a finished answer and an unattended session stalls with no error
|
|
371
416
|
* recorded anywhere.
|
|
@@ -392,6 +437,11 @@ export class KiroResponseAssembler {
|
|
|
392
437
|
text = invokeResult.cleanedText;
|
|
393
438
|
recovered.push(...invokeResult.toolCalls);
|
|
394
439
|
}
|
|
440
|
+
const toolUseResult = parseToolUseCalls(text);
|
|
441
|
+
if (toolUseResult.toolCalls.length > 0) {
|
|
442
|
+
text = toolUseResult.cleanedText;
|
|
443
|
+
recovered.push(...toolUseResult.toolCalls);
|
|
444
|
+
}
|
|
395
445
|
if (recovered.length === 0)
|
|
396
446
|
return;
|
|
397
447
|
this.blocks.setText(this.textBlockIndex, text);
|
|
@@ -405,10 +455,10 @@ export class KiroResponseAssembler {
|
|
|
405
455
|
this.emittedToolCalls++;
|
|
406
456
|
}
|
|
407
457
|
else {
|
|
408
|
-
// Unreachable as written, and kept deliberately.
|
|
409
|
-
// over an in-memory object — bracket-tool-parser's
|
|
410
|
-
// successful `JSON.parse`
|
|
411
|
-
// raw parameter strings — so `JSON.stringify` of either always
|
|
458
|
+
// Unreachable as written, and kept deliberately. Every dialect hands
|
|
459
|
+
// over an in-memory object — bracket-tool-parser's and
|
|
460
|
+
// tool-use-parser's are themselves successful `JSON.parse` results,
|
|
461
|
+
// invoke-tool-parser's is a record of raw parameter strings — so `JSON.stringify` of either always
|
|
412
462
|
// round-trips and `emitToolCall`'s only `false` return, a
|
|
413
463
|
// `JSON.parse` throw, cannot fire here. It stays so that a future
|
|
414
464
|
// parser change passing raw text through cannot silently reintroduce
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-assembler.js","sourceRoot":"","sources":["../src/response-assembler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"response-assembler.js","sourceRoot":"","sources":["../src/response-assembler.ts"],"names":[],"mappings":"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"}
|
package/dist/stream.js
CHANGED
|
@@ -134,6 +134,24 @@ export function resetProfileArnCache(resolved = false) {
|
|
|
134
134
|
resetKiroProfileArnCache();
|
|
135
135
|
skipProfileResolutionForTests = resolved;
|
|
136
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* Turn a terminal `metadataEvent.stopReason` into the error it stands for.
|
|
139
|
+
*
|
|
140
|
+
* `MODEL_CONTEXT_WINDOW_EXCEEDED` is phrased with `context_length_exceeded`
|
|
141
|
+
* so a host's overflow detector (OMP's compaction, dsh's CONTEXT_OVERFLOW)
|
|
142
|
+
* recognizes it, the same wording the 413 path uses. The refusal detail is
|
|
143
|
+
* wire-controlled, so it is redacted and clamped before it is quoted.
|
|
144
|
+
*/
|
|
145
|
+
function throwOnTerminalWireStop(wireStopReason, stopDetails) {
|
|
146
|
+
switch (wireStopReason) {
|
|
147
|
+
case "MODEL_CONTEXT_WINDOW_EXCEEDED":
|
|
148
|
+
throw new Error("Kiro API error: context_length_exceeded (MODEL_CONTEXT_WINDOW_EXCEEDED)");
|
|
149
|
+
case "CONTENT_FILTERED":
|
|
150
|
+
throw new Error(`Kiro content filtered: ${clampForDiagnostic(redactSensitiveText(JSON.stringify(stopDetails ?? {})))}`);
|
|
151
|
+
case "PAUSE_TURN":
|
|
152
|
+
throw new Error("Kiro paused the turn (PAUSE_TURN); automatic continuation is not supported");
|
|
153
|
+
}
|
|
154
|
+
}
|
|
137
155
|
/**
|
|
138
156
|
* Stream one Kiro response as neutral events.
|
|
139
157
|
*
|
|
@@ -236,7 +254,7 @@ export async function* streamKiro(request) {
|
|
|
236
254
|
const budget = effort === "xhigh" || effort === "max" ? 50000 : effort === "high" ? 30000 : effort === "medium" ? 20000 : 10000;
|
|
237
255
|
systemPrompt = `<thinking_mode>enabled</thinking_mode><max_thinking_length>${budget}</max_thinking_length>${systemPrompt ? `\n${systemPrompt}` : ""}`;
|
|
238
256
|
}
|
|
239
|
-
const assembler = new KiroResponseAssembler(model, thinkingEnabled, kiroToolNameAliases(request.tools));
|
|
257
|
+
const assembler = new KiroResponseAssembler(model, thinkingEnabled, kiroToolNameAliases(request.tools), new Set((request.tools ?? []).map((tool) => String(tool.name))));
|
|
240
258
|
const usageTracking = request.usageTracking ?? KIRO_USAGE_TRACKING_DISABLED;
|
|
241
259
|
let retryCount = 0;
|
|
242
260
|
const maxRetries = 3;
|
|
@@ -487,6 +505,12 @@ export async function* streamKiro(request) {
|
|
|
487
505
|
throw new Error(`Kiro API error: ${outcome.firstTokenTimedOut ? "first token" : "idle"} timeout after max retries`);
|
|
488
506
|
}
|
|
489
507
|
const summary = assembler.endTurn();
|
|
508
|
+
// A terminal stop reason the service reported outright ends the call
|
|
509
|
+
// without a retry: resending the same request cannot un-refuse it or make
|
|
510
|
+
// the context fit. Thrown before the attempt's trailing events are handed
|
|
511
|
+
// over, so a refused turn's tool calls never reach the host as a
|
|
512
|
+
// completed turn (upstream #174).
|
|
513
|
+
throwOnTerminalWireStop(summary.wireStopReason, summary.wireStopDetails);
|
|
490
514
|
yield* assembler.takeEvents();
|
|
491
515
|
// Detect degenerate responses: the API returned 200 but produced no usable
|
|
492
516
|
// content at all — no text and no tool calls. This happens when the stream
|
package/dist/stream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve a model-emitted tool name against the tools the host declared.
|
|
3
|
+
*
|
|
4
|
+
* Diverges from upstream on purpose: upstream rewrites unconditionally onto
|
|
5
|
+
* pi's built-in names, which is right for pi but not for a host-neutral core —
|
|
6
|
+
* a host that registers its own `read_file` (an MCP server, the DeepSeek
|
|
7
|
+
* Harness) would have its real tool misrouted, and a host with no `read` tool
|
|
8
|
+
* gains nothing from the rewrite. So a name is rewritten only when
|
|
9
|
+
* 1. the host declared tools at all,
|
|
10
|
+
* 2. the emitted name is NOT one of them, and
|
|
11
|
+
* 3. the alias target IS one of them.
|
|
12
|
+
* Anything else passes through unchanged. Alias keys match case-insensitively.
|
|
13
|
+
*/
|
|
14
|
+
export declare function normalizeKiroToolName(name: string, declared: ReadonlySet<string> | undefined): string;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// ABOUTME: Maps tool names a model invented from its training prior onto tools the host declared.
|
|
2
|
+
// ABOUTME: Only rewrites when the emitted name is undeclared and its alias target is declared.
|
|
3
|
+
/**
|
|
4
|
+
* Tool names Claude-class models substitute for the ones the request declared
|
|
5
|
+
* (`read_file` for `read`, `str_replace_editor` for `edit`, …). Ported from
|
|
6
|
+
* upstream pi-provider-kiro (#163), where the model routinely ignores the
|
|
7
|
+
* advertised `toolSpecification` names and the host then rejects the call with
|
|
8
|
+
* "Tool <name> not found", so the file operation silently does nothing.
|
|
9
|
+
*
|
|
10
|
+
* Scope is deliberately narrow: only unambiguous file-operation aliases. Names
|
|
11
|
+
* a session might legitimately register as a distinct tool — `shell`,
|
|
12
|
+
* `search`, `glob`, `terminal` — are intentionally absent.
|
|
13
|
+
*/
|
|
14
|
+
const TOOL_NAME_ALIASES = {
|
|
15
|
+
// read
|
|
16
|
+
read_file: "read",
|
|
17
|
+
readfile: "read",
|
|
18
|
+
fs_read: "read",
|
|
19
|
+
view_file: "read",
|
|
20
|
+
// write
|
|
21
|
+
write_file: "write",
|
|
22
|
+
writefile: "write",
|
|
23
|
+
fs_write: "write",
|
|
24
|
+
create_file: "write",
|
|
25
|
+
// edit
|
|
26
|
+
edit_file: "edit",
|
|
27
|
+
editfile: "edit",
|
|
28
|
+
str_replace: "edit",
|
|
29
|
+
str_replace_editor: "edit",
|
|
30
|
+
str_replace_based_edit_tool: "edit",
|
|
31
|
+
apply_patch: "edit",
|
|
32
|
+
// ls
|
|
33
|
+
list_directory: "ls",
|
|
34
|
+
list_dir: "ls",
|
|
35
|
+
list_files: "ls",
|
|
36
|
+
// find
|
|
37
|
+
find_files: "find",
|
|
38
|
+
file_search: "find",
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Resolve a model-emitted tool name against the tools the host declared.
|
|
42
|
+
*
|
|
43
|
+
* Diverges from upstream on purpose: upstream rewrites unconditionally onto
|
|
44
|
+
* pi's built-in names, which is right for pi but not for a host-neutral core —
|
|
45
|
+
* a host that registers its own `read_file` (an MCP server, the DeepSeek
|
|
46
|
+
* Harness) would have its real tool misrouted, and a host with no `read` tool
|
|
47
|
+
* gains nothing from the rewrite. So a name is rewritten only when
|
|
48
|
+
* 1. the host declared tools at all,
|
|
49
|
+
* 2. the emitted name is NOT one of them, and
|
|
50
|
+
* 3. the alias target IS one of them.
|
|
51
|
+
* Anything else passes through unchanged. Alias keys match case-insensitively.
|
|
52
|
+
*/
|
|
53
|
+
export function normalizeKiroToolName(name, declared) {
|
|
54
|
+
if (!declared || declared.size === 0 || declared.has(name))
|
|
55
|
+
return name;
|
|
56
|
+
const alias = TOOL_NAME_ALIASES[name.toLowerCase()];
|
|
57
|
+
return alias !== undefined && declared.has(alias) ? alias : name;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=tool-name-aliases.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-name-aliases.js","sourceRoot":"","sources":["../src/tool-name-aliases.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,+FAA+F;AAE/F;;;;;;;;;;GAUG;AACH,MAAM,iBAAiB,GAAqC;IAC1D,OAAO;IACP,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,QAAQ;IACR,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,OAAO;IACjB,WAAW,EAAE,OAAO;IACpB,OAAO;IACP,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,MAAM;IACnB,kBAAkB,EAAE,MAAM;IAC1B,2BAA2B,EAAE,MAAM;IACnC,WAAW,EAAE,MAAM;IACnB,KAAK;IACL,cAAc,EAAE,IAAI;IACpB,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,OAAO;IACP,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,MAAM;CACpB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,QAAyC;IAC3F,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxE,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACpD,OAAO,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface ToolUseCall {
|
|
2
|
+
toolUseId: string;
|
|
3
|
+
name: string;
|
|
4
|
+
arguments: Record<string, unknown>;
|
|
5
|
+
}
|
|
6
|
+
export interface ToolUseParseResult {
|
|
7
|
+
toolCalls: ToolUseCall[];
|
|
8
|
+
cleanedText: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Recovers tool calls that a model emitted as `<tool_use>{JSON}</tool_use>`
|
|
12
|
+
* text instead of as structured tool-use frames. Mirrors
|
|
13
|
+
* {@link parseBracketToolCalls} and {@link parseInvokeToolCalls}: returns the
|
|
14
|
+
* recovered calls plus the text with each consumed `<tool_use>` span spliced
|
|
15
|
+
* out. A block that cannot be parsed in full is left in the text untouched.
|
|
16
|
+
*/
|
|
17
|
+
export declare function parseToolUseCalls(text: string): ToolUseParseResult;
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
// ABOUTME: Extracts <tool_use>/<tool_call>/<function_call>/<tool> JSON-dialect tool calls from content text.
|
|
2
|
+
// ABOUTME: Parses opus-class output that wraps a JSON tool descriptor in <tool_use> tags.
|
|
3
|
+
import { findJsonEnd } from "./bracket-tool-parser.js";
|
|
4
|
+
// Known wrapper tags models emit around a JSON tool descriptor. Order does not
|
|
5
|
+
// matter; the parser scans for whichever opens earliest at each position.
|
|
6
|
+
const TAG_NAMES = ["tool_use", "tool_call", "function_call", "tool"];
|
|
7
|
+
const FENCE = "```";
|
|
8
|
+
/** Finds the earliest wrapper-tag block at or after `from`, or null. */
|
|
9
|
+
function nextTagBlock(text, from) {
|
|
10
|
+
let best = null;
|
|
11
|
+
for (const name of TAG_NAMES) {
|
|
12
|
+
const open = `<${name}>`;
|
|
13
|
+
const close = `</${name}>`;
|
|
14
|
+
const openStart = text.indexOf(open, from);
|
|
15
|
+
if (openStart < 0)
|
|
16
|
+
continue;
|
|
17
|
+
if (best && openStart >= best.openStart)
|
|
18
|
+
continue;
|
|
19
|
+
const bodyStart = openStart + open.length;
|
|
20
|
+
const closeIdx = text.indexOf(close, bodyStart);
|
|
21
|
+
if (closeIdx < 0)
|
|
22
|
+
continue;
|
|
23
|
+
best = { openStart, bodyStart, closeIdx, closeEnd: closeIdx + close.length };
|
|
24
|
+
}
|
|
25
|
+
return best;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Byte ranges covered by an *opened* fenced code block. Mirrors the guard in
|
|
29
|
+
* {@link parseInvokeToolCalls}: a `<tool_use>` block quoted inside a fenced
|
|
30
|
+
* code sample — for instance model output that documents this very dialect —
|
|
31
|
+
* must not be harvested and executed as a real (misrouted) tool call.
|
|
32
|
+
*/
|
|
33
|
+
function fencedRanges(text) {
|
|
34
|
+
const ranges = [];
|
|
35
|
+
let searchFrom = 0;
|
|
36
|
+
while (true) {
|
|
37
|
+
const open = text.indexOf(FENCE, searchFrom);
|
|
38
|
+
if (open < 0)
|
|
39
|
+
break;
|
|
40
|
+
const close = text.indexOf(FENCE, open + FENCE.length);
|
|
41
|
+
if (close < 0) {
|
|
42
|
+
ranges.push({ start: open, end: text.length });
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
ranges.push({ start: open, end: close + FENCE.length });
|
|
46
|
+
searchFrom = close + FENCE.length;
|
|
47
|
+
}
|
|
48
|
+
return ranges;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Normalizes the several field spellings opus-class models use inside the
|
|
52
|
+
* `<tool_use>` JSON descriptor into a `{ name, arguments }` pair, or returns
|
|
53
|
+
* null if neither a name nor an argument object can be identified.
|
|
54
|
+
*
|
|
55
|
+
* Observed variants:
|
|
56
|
+
* { "tool_name": "...", "tool_input": { ... } }
|
|
57
|
+
* { "name": "...", "input": { ... } }
|
|
58
|
+
* { "name": "...", "arguments": { ... } }
|
|
59
|
+
*/
|
|
60
|
+
function normalizeOne(value) {
|
|
61
|
+
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
62
|
+
return null;
|
|
63
|
+
const record = value;
|
|
64
|
+
const rawName = record.tool_name ?? record.name;
|
|
65
|
+
if (typeof rawName !== "string" || rawName.length === 0)
|
|
66
|
+
return null;
|
|
67
|
+
const rawArgs = record.tool_input ?? record.input ?? record.arguments;
|
|
68
|
+
// An absent argument object is legitimate (a zero-arg tool). A present but
|
|
69
|
+
// non-object argument value is malformed and rejects the descriptor rather
|
|
70
|
+
// than fabricating an empty argument set.
|
|
71
|
+
if (rawArgs === undefined) {
|
|
72
|
+
return { name: rawName, arguments: {} };
|
|
73
|
+
}
|
|
74
|
+
if (typeof rawArgs !== "object" || rawArgs === null || Array.isArray(rawArgs))
|
|
75
|
+
return null;
|
|
76
|
+
return { name: rawName, arguments: rawArgs };
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Extracts every tool descriptor from a parsed `<tool_use>` JSON payload.
|
|
80
|
+
*
|
|
81
|
+
* Handles both a bare single descriptor and the array-wrapped forms some
|
|
82
|
+
* models emit, where the payload is `{ "tool_calls": [ {…}, {…} ] }` or
|
|
83
|
+
* `{ "calls": [ … ] }`. Returns an empty array when nothing well-formed is
|
|
84
|
+
* present, which the caller treats as "leave this block untouched".
|
|
85
|
+
*/
|
|
86
|
+
function extractDescriptors(value) {
|
|
87
|
+
if (typeof value === "object" && value !== null && !Array.isArray(value)) {
|
|
88
|
+
const record = value;
|
|
89
|
+
const wrapped = record.tool_calls ?? record.calls;
|
|
90
|
+
if (Array.isArray(wrapped)) {
|
|
91
|
+
const out = [];
|
|
92
|
+
for (const entry of wrapped) {
|
|
93
|
+
const one = normalizeOne(entry);
|
|
94
|
+
if (one === null)
|
|
95
|
+
return []; // A malformed entry rejects the whole block.
|
|
96
|
+
out.push(one);
|
|
97
|
+
}
|
|
98
|
+
return out;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
const single = normalizeOne(value);
|
|
102
|
+
return single ? [single] : [];
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Recovers tool calls that a model emitted as `<tool_use>{JSON}</tool_use>`
|
|
106
|
+
* text instead of as structured tool-use frames. Mirrors
|
|
107
|
+
* {@link parseBracketToolCalls} and {@link parseInvokeToolCalls}: returns the
|
|
108
|
+
* recovered calls plus the text with each consumed `<tool_use>` span spliced
|
|
109
|
+
* out. A block that cannot be parsed in full is left in the text untouched.
|
|
110
|
+
*/
|
|
111
|
+
export function parseToolUseCalls(text) {
|
|
112
|
+
const toolCalls = [];
|
|
113
|
+
const removals = [];
|
|
114
|
+
const fences = fencedRanges(text);
|
|
115
|
+
let cursor = 0;
|
|
116
|
+
while (cursor < text.length) {
|
|
117
|
+
const hit = nextTagBlock(text, cursor);
|
|
118
|
+
if (hit === null)
|
|
119
|
+
break;
|
|
120
|
+
const { openStart, bodyStart, closeIdx, closeEnd } = hit;
|
|
121
|
+
const containingFence = fences.find((range) => openStart >= range.start && openStart < range.end);
|
|
122
|
+
if (containingFence) {
|
|
123
|
+
cursor = containingFence.end;
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
// Locate the JSON object inside the block by balanced braces, so a `}`
|
|
127
|
+
// inside a string value does not prematurely end extraction.
|
|
128
|
+
const braceStart = text.indexOf("{", bodyStart);
|
|
129
|
+
if (braceStart < 0 || braceStart > closeIdx) {
|
|
130
|
+
cursor = closeEnd;
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
const braceEnd = findJsonEnd(text, braceStart);
|
|
134
|
+
if (braceEnd < 0 || braceEnd > closeIdx) {
|
|
135
|
+
cursor = closeEnd;
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
// The block body must be nothing but whitespace around the JSON object.
|
|
139
|
+
const beforeJson = text.substring(bodyStart, braceStart).trim();
|
|
140
|
+
const afterJson = text.substring(braceEnd + 1, closeIdx).trim();
|
|
141
|
+
if (beforeJson.length > 0 || afterJson.length > 0) {
|
|
142
|
+
cursor = closeEnd;
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
let descriptors = [];
|
|
146
|
+
try {
|
|
147
|
+
descriptors = extractDescriptors(JSON.parse(text.substring(braceStart, braceEnd + 1)));
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
descriptors = [];
|
|
151
|
+
}
|
|
152
|
+
if (descriptors.length === 0) {
|
|
153
|
+
cursor = closeEnd;
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
156
|
+
for (const descriptor of descriptors) {
|
|
157
|
+
toolCalls.push({
|
|
158
|
+
toolUseId: crypto.randomUUID(),
|
|
159
|
+
name: descriptor.name,
|
|
160
|
+
arguments: descriptor.arguments,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
removals.push({ start: openStart, end: closeEnd });
|
|
164
|
+
cursor = closeEnd;
|
|
165
|
+
}
|
|
166
|
+
// Splice out consumed spans in reverse order so earlier indices stay valid.
|
|
167
|
+
let cleanedText = text;
|
|
168
|
+
for (let i = removals.length - 1; i >= 0; i--) {
|
|
169
|
+
const { start, end } = removals[i];
|
|
170
|
+
cleanedText = cleanedText.substring(0, start) + cleanedText.substring(end);
|
|
171
|
+
}
|
|
172
|
+
return { toolCalls, cleanedText };
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=tool-use-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-use-parser.js","sourceRoot":"","sources":["../src/tool-use-parser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED