@rarebit-one/harness-kernel 0.18.0 → 0.19.1
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/README.md +256 -16
- package/dist/agent.d.ts +29 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +145 -31
- package/dist/agent.js.map +1 -1
- package/dist/connectors/auth.d.ts +32 -0
- package/dist/connectors/auth.d.ts.map +1 -0
- package/dist/connectors/auth.js +85 -0
- package/dist/connectors/auth.js.map +1 -0
- package/dist/connectors/mcpClient.d.ts +14 -4
- package/dist/connectors/mcpClient.d.ts.map +1 -1
- package/dist/connectors/mcpClient.js +32 -11
- package/dist/connectors/mcpClient.js.map +1 -1
- package/dist/engines/acp.d.ts.map +1 -1
- package/dist/engines/acp.js +2 -1
- package/dist/engines/acp.js.map +1 -1
- package/dist/engines/capability.d.ts +1 -1
- package/dist/engines/capability.js +1 -1
- package/dist/engines/claudeCode.d.ts.map +1 -1
- package/dist/engines/claudeCode.js +2 -1
- package/dist/engines/claudeCode.js.map +1 -1
- package/dist/engines/claudeCodeDriver.d.ts.map +1 -1
- package/dist/engines/claudeCodeDriver.js +4 -3
- package/dist/engines/claudeCodeDriver.js.map +1 -1
- package/dist/engines/codex.d.ts +6 -5
- package/dist/engines/codex.d.ts.map +1 -1
- package/dist/engines/codex.js +6 -5
- package/dist/engines/codex.js.map +1 -1
- package/dist/engines/codexDriver.d.ts +1 -1
- package/dist/engines/codexDriver.js +1 -1
- package/dist/engines/connectorMcp.d.ts +13 -0
- package/dist/engines/connectorMcp.d.ts.map +1 -1
- package/dist/engines/connectorMcp.js +23 -0
- package/dist/engines/connectorMcp.js.map +1 -1
- package/dist/engines/gateway.d.ts +5 -2
- package/dist/engines/gateway.d.ts.map +1 -1
- package/dist/engines/gateway.js +7 -2
- package/dist/engines/gateway.js.map +1 -1
- package/dist/engines/native.d.ts.map +1 -1
- package/dist/engines/native.js +10 -3
- package/dist/engines/native.js.map +1 -1
- package/dist/engines/types.d.ts +10 -1
- package/dist/engines/types.d.ts.map +1 -1
- package/dist/events.d.ts +22 -8
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js.map +1 -1
- package/dist/index.d.ts +10 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/loop.d.ts +28 -1
- package/dist/loop.d.ts.map +1 -1
- package/dist/loop.js +1 -0
- package/dist/loop.js.map +1 -1
- package/dist/models/chat.d.ts +12 -6
- package/dist/models/chat.d.ts.map +1 -1
- package/dist/models/chat.js +11 -6
- package/dist/models/chat.js.map +1 -1
- package/dist/models/retry.d.ts +259 -0
- package/dist/models/retry.d.ts.map +1 -0
- package/dist/models/retry.js +409 -0
- package/dist/models/retry.js.map +1 -0
- package/dist/models/types.d.ts +7 -0
- package/dist/models/types.d.ts.map +1 -1
- package/dist/models/types.js.map +1 -1
- package/dist/private.d.ts.map +1 -1
- package/dist/private.js +12 -2
- package/dist/private.js.map +1 -1
- package/dist/processGroup.d.ts +10 -2
- package/dist/processGroup.d.ts.map +1 -1
- package/dist/processGroup.js +29 -2
- package/dist/processGroup.js.map +1 -1
- package/dist/secrets.d.ts +17 -7
- package/dist/secrets.d.ts.map +1 -1
- package/dist/secrets.js +38 -24
- package/dist/secrets.js.map +1 -1
- package/dist/tools/concurrency.d.ts +48 -0
- package/dist/tools/concurrency.d.ts.map +1 -0
- package/dist/tools/concurrency.js +64 -0
- package/dist/tools/concurrency.js.map +1 -0
- package/dist/tools/metadata.d.ts +18 -3
- package/dist/tools/metadata.d.ts.map +1 -1
- package/dist/tools/metadata.js +7 -0
- package/dist/tools/metadata.js.map +1 -1
- package/dist/tools/registry.d.ts +6 -4
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +5 -3
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/terminal.d.ts +8 -6
- package/dist/tools/terminal.d.ts.map +1 -1
- package/dist/tools/terminal.js +8 -6
- package/dist/tools/terminal.js.map +1 -1
- package/dist/tools/validate.d.ts +49 -0
- package/dist/tools/validate.d.ts.map +1 -0
- package/dist/tools/validate.js +346 -0
- package/dist/tools/validate.js.map +1 -0
- package/dist/transcript.d.ts +53 -0
- package/dist/transcript.d.ts.map +1 -0
- package/dist/transcript.js +104 -0
- package/dist/transcript.js.map +1 -0
- package/dist/types.d.ts +44 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/agent.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { runEventEmitter, } from "./events.js";
|
|
2
2
|
import { nativeLoop, runWithEvents, } from "./loop.js";
|
|
3
3
|
import { asChatModel, chatRequest } from "./models/chat.js";
|
|
4
|
+
import { servedBy } from "./models/retry.js";
|
|
4
5
|
import { deadlineSignal, isAbortError } from "./signals.js";
|
|
5
6
|
import { executeTool } from "./tools/registry.js";
|
|
6
7
|
import { toToolSpecs, toolDispatch } from "./tools/metadata.js";
|
|
8
|
+
import { assertToolConcurrency, runInSegments } from "./tools/concurrency.js";
|
|
9
|
+
import { invalidInputRefusal } from "./tools/validate.js";
|
|
7
10
|
const DEFAULT_MAX_STEPS = 12;
|
|
8
11
|
const FALLBACK_MAX_DURATION_MS = 10 * 60 * 1000;
|
|
9
12
|
/** Resolve the wall-clock run budget from env, falling back to 10 minutes. */
|
|
@@ -21,9 +24,17 @@ const FALLBACK_MAX_TOOL_RESULT_BYTES = 64 * 1024;
|
|
|
21
24
|
* kernel ships. `runAgent`, `runConversation` and `NativeEngine` all come here.
|
|
22
25
|
*/
|
|
23
26
|
export function resolveLoopLimits(limits) {
|
|
27
|
+
const maxCostUsd = limits?.maxCostUsd;
|
|
28
|
+
// No default: a cost budget exists only when the caller set one. A NaN or a
|
|
29
|
+
// negative would make the comparison never (or always) fire, so it is
|
|
30
|
+
// refused rather than run as a limit that silently is not one.
|
|
31
|
+
if (maxCostUsd !== undefined && !(maxCostUsd >= 0)) {
|
|
32
|
+
throw new RangeError(`maxCostUsd must be a non-negative number, got ${maxCostUsd}`);
|
|
33
|
+
}
|
|
24
34
|
return {
|
|
25
35
|
maxSteps: limits?.maxSteps ?? DEFAULT_MAX_STEPS,
|
|
26
36
|
maxDurationMs: limits?.maxDurationMs ?? defaultMaxDurationMs(),
|
|
37
|
+
...(maxCostUsd !== undefined ? { maxCostUsd } : {}),
|
|
27
38
|
...(limits?.budgetVisible ? { budgetVisible: true } : {}),
|
|
28
39
|
};
|
|
29
40
|
}
|
|
@@ -45,6 +56,14 @@ export function remainingLimits(limits, consumed) {
|
|
|
45
56
|
return {
|
|
46
57
|
maxSteps: Math.max(RESUME_MIN_STEPS, limits.maxSteps - consumed.steps),
|
|
47
58
|
maxDurationMs: Math.max(RESUME_MIN_DURATION_MS, limits.maxDurationMs - consumed.durationMs),
|
|
59
|
+
// No floor is needed: the loop checks cost after a turn, so a resumed run's
|
|
60
|
+
// first step runs even on a zero budget. Only reported cost was counted, so
|
|
61
|
+
// only reported cost is subtracted.
|
|
62
|
+
...(limits.maxCostUsd !== undefined
|
|
63
|
+
? {
|
|
64
|
+
maxCostUsd: Math.max(0, limits.maxCostUsd - (consumed.usage?.reportedCost?.amount ?? 0)),
|
|
65
|
+
}
|
|
66
|
+
: {}),
|
|
48
67
|
...(limits.budgetVisible ? { budgetVisible: true } : {}),
|
|
49
68
|
};
|
|
50
69
|
}
|
|
@@ -242,14 +261,25 @@ function answeredExternalCalls(messages, byName) {
|
|
|
242
261
|
function notAnswered(callId, why) {
|
|
243
262
|
return { toolCallId: callId, content: `not run: ${why}`, isError: true };
|
|
244
263
|
}
|
|
245
|
-
/**
|
|
246
|
-
|
|
264
|
+
/**
|
|
265
|
+
* The one ephemeral line the model sees when `budgetVisible` is on. The cost
|
|
266
|
+
* clause appears only under a cost limit, so a run without one sees exactly
|
|
267
|
+
* the line it always did.
|
|
268
|
+
*/
|
|
269
|
+
function budgetLine(stepsLeft, maxSteps, msLeft, costLeft) {
|
|
247
270
|
const seconds = Math.max(0, Math.round(msLeft / 1000));
|
|
271
|
+
const left = costLeft === undefined
|
|
272
|
+
? `${stepsLeft} of ${maxSteps} step(s) and ${seconds}s`
|
|
273
|
+
: `${stepsLeft} of ${maxSteps} step(s), ${seconds}s and $${costLeft.toFixed(4)} of cost`;
|
|
248
274
|
return {
|
|
249
275
|
role: "user",
|
|
250
|
-
text: `[budget] ${
|
|
276
|
+
text: `[budget] ${left} remain. Plan to finish within them.`,
|
|
251
277
|
};
|
|
252
278
|
}
|
|
279
|
+
/** The cost a call reported, when it reported one. */
|
|
280
|
+
function reportedAmount(usage) {
|
|
281
|
+
return usage && !("units" in usage) ? usage.reportedCost?.amount : undefined;
|
|
282
|
+
}
|
|
253
283
|
/** The finer reason a custom loop's bare outcome implies, when it reported none. */
|
|
254
284
|
function stopReasonFor(outcome) {
|
|
255
285
|
return outcome === "completed" ? "end_turn" : outcome;
|
|
@@ -297,10 +327,12 @@ export async function runAgent(options) {
|
|
|
297
327
|
});
|
|
298
328
|
// `stopReason: "length"` is the plain case; a budget summary cut at the cap
|
|
299
329
|
// ends `steps_exhausted` with `finishReason: "length"`, and its text is just
|
|
300
|
-
// as partial. A canceled
|
|
301
|
-
// cancellation contract is that it resolves with its note, never
|
|
302
|
-
// even when the last turn to land before the stop happened to be cut.
|
|
303
|
-
const stopped = result.outcome === "canceled" ||
|
|
330
|
+
// as partial. A canceled, timed-out or cost-stopped run is not judged here:
|
|
331
|
+
// the cancellation contract is that it resolves with its note, never
|
|
332
|
+
// rejects, even when the last turn to land before the stop happened to be cut.
|
|
333
|
+
const stopped = result.outcome === "canceled" ||
|
|
334
|
+
result.outcome === "timed_out" ||
|
|
335
|
+
result.outcome === "cost_exhausted";
|
|
304
336
|
if (!stopped && (result.stopReason === "length" || result.finishReason === "length")) {
|
|
305
337
|
throw new TruncatedAnswerError(result);
|
|
306
338
|
}
|
|
@@ -358,6 +390,8 @@ export async function runConversation(options) {
|
|
|
358
390
|
tools: options.tools,
|
|
359
391
|
limits: resolveLoopLimits(options),
|
|
360
392
|
...(options.providerOptions ? { providerOptions: options.providerOptions } : {}),
|
|
393
|
+
...(options.toolConcurrency ? { toolConcurrency: options.toolConcurrency } : {}),
|
|
394
|
+
...(options.validateToolInput ? { validateToolInput: true } : {}),
|
|
361
395
|
}, {
|
|
362
396
|
log,
|
|
363
397
|
events: runEventEmitter(sink, log),
|
|
@@ -396,23 +430,38 @@ export async function runConversation(options) {
|
|
|
396
430
|
*/
|
|
397
431
|
export async function runNativeLoop(req, loopCtx) {
|
|
398
432
|
const { model, system, tools, providerOptions } = req;
|
|
399
|
-
const { maxSteps, maxDurationMs } = req.limits;
|
|
433
|
+
const { maxSteps, maxDurationMs, maxCostUsd } = req.limits;
|
|
400
434
|
const log = loopCtx.log;
|
|
401
435
|
// Checked before the first model call: a bad seed is a configuration error,
|
|
402
436
|
// and the cheapest failure is the one that spends no tokens.
|
|
403
437
|
assertSeed(req.messages);
|
|
438
|
+
assertToolConcurrency(req.toolConcurrency);
|
|
404
439
|
// One signal for the whole run: the caller's cancel merged with the run's own
|
|
405
440
|
// deadline. It reaches every model call (through `InvokeContext.signal`, down
|
|
406
441
|
// to the provider's HTTP request) and every tool (through `ToolContext`), so
|
|
407
442
|
// neither a cancel nor the deadline has to wait for an in-flight step to end.
|
|
408
443
|
const deadline = deadlineSignal(maxDurationMs);
|
|
409
444
|
const signal = loopCtx.signal ? AbortSignal.any([loopCtx.signal, deadline]) : deadline;
|
|
410
|
-
const ctx = {
|
|
445
|
+
const ctx = {
|
|
446
|
+
log,
|
|
447
|
+
signal,
|
|
448
|
+
budget: { maxDurationMs, deadlineAt: Date.now() + maxDurationMs },
|
|
449
|
+
};
|
|
411
450
|
// The emitter is the caller's: `seq` is per RUN, not per loop, so a loop that
|
|
412
451
|
// made its own would restart the numbering mid-stream.
|
|
413
452
|
const events = loopCtx.events;
|
|
414
453
|
const byName = new Map(tools.map((t) => [t.spec.name, t]));
|
|
415
454
|
const specs = toToolSpecs(tools);
|
|
455
|
+
// The run's opt-in, applied per call. A call to a tool this run lacks is
|
|
456
|
+
// never safe: it runs alone, and is refused there as unknown.
|
|
457
|
+
const concurrency = req.toolConcurrency;
|
|
458
|
+
const segments = concurrency && {
|
|
459
|
+
maxConcurrent: concurrency.maxConcurrent,
|
|
460
|
+
safe: (call) => {
|
|
461
|
+
const tool = byName.get(call.name);
|
|
462
|
+
return tool !== undefined && concurrency.concurrencySafe(tool);
|
|
463
|
+
},
|
|
464
|
+
};
|
|
416
465
|
/** Close a parked call this run will not hand to the caller after all. */
|
|
417
466
|
const closePending = (call, why) => {
|
|
418
467
|
// Closed here, so no longer parked: the mark comes off the transcript's
|
|
@@ -438,7 +487,12 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
438
487
|
// transcript must not fill up with the loop's own bookkeeping, and the
|
|
439
488
|
// trailing position keeps the cached prefix (system, tools, history) intact.
|
|
440
489
|
const request = (toolSpecs, stepsLeft) => chatRequest(system, req.limits.budgetVisible && stepsLeft !== undefined
|
|
441
|
-
? [
|
|
490
|
+
? [
|
|
491
|
+
...messages,
|
|
492
|
+
budgetLine(stepsLeft, maxSteps, deadlineAt - Date.now(), maxCostUsd !== undefined
|
|
493
|
+
? Math.max(0, maxCostUsd - (usage?.reportedCost?.amount ?? 0))
|
|
494
|
+
: undefined),
|
|
495
|
+
]
|
|
442
496
|
: messages, toolSpecs, undefined, providerOptions);
|
|
443
497
|
const provider = model.id;
|
|
444
498
|
let finalText = "";
|
|
@@ -450,9 +504,13 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
450
504
|
let usage;
|
|
451
505
|
let servedModel;
|
|
452
506
|
let servedUpstream;
|
|
507
|
+
// The invocation that answered the last call, when a retry wrapper served it
|
|
508
|
+
// from somewhere other than the model this run was given.
|
|
509
|
+
let servedProvider;
|
|
453
510
|
let terminal;
|
|
454
511
|
let lastFinish;
|
|
455
512
|
let cutOff = false;
|
|
513
|
+
let unpricedNoted = false;
|
|
456
514
|
const responseIds = [];
|
|
457
515
|
let pending = [];
|
|
458
516
|
/** Everything a result carries besides the three the caller decides per path. */
|
|
@@ -462,7 +520,7 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
462
520
|
outcome,
|
|
463
521
|
stopReason,
|
|
464
522
|
messages,
|
|
465
|
-
provider,
|
|
523
|
+
provider: servedProvider ?? provider,
|
|
466
524
|
responseIds,
|
|
467
525
|
consumed: {
|
|
468
526
|
steps: stepsTaken,
|
|
@@ -558,6 +616,7 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
558
616
|
// clears an earlier value rather than letting it stand in an audit.
|
|
559
617
|
servedModel = turn.model;
|
|
560
618
|
servedUpstream = turn.upstream;
|
|
619
|
+
servedProvider = servedBy(turnResult.meta);
|
|
561
620
|
if (turn.responseId)
|
|
562
621
|
responseIds.push(turn.responseId);
|
|
563
622
|
lastFinish = turn.finishReason;
|
|
@@ -583,6 +642,29 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
583
642
|
}
|
|
584
643
|
return stopped();
|
|
585
644
|
}
|
|
645
|
+
// The cost budget, checked once the turn's cost is known. Only what the
|
|
646
|
+
// calls reported counts: an unpriced turn is unknown, not free, and not
|
|
647
|
+
// a number either, so it is noted once and the limit runs on what was
|
|
648
|
+
// reported. A turn that answered in prose finishes the run as usual
|
|
649
|
+
// (nothing more would be spent); a turn that asked for tools is stopped
|
|
650
|
+
// before any of them start, like a stop that lands after the turn, and
|
|
651
|
+
// without the summary call the step budget gets — that call would spend
|
|
652
|
+
// past a limit that is already reached.
|
|
653
|
+
if (maxCostUsd !== undefined) {
|
|
654
|
+
if (reportedAmount(turnResult.usage) === undefined && !unpricedNoted) {
|
|
655
|
+
unpricedNoted = true;
|
|
656
|
+
log(`step ${step} reported no cost; the ${maxCostUsd} USD cost budget counts reported cost only`);
|
|
657
|
+
}
|
|
658
|
+
const spent = usage?.reportedCost?.amount;
|
|
659
|
+
if (calls.length > 0 && spent !== undefined && spent >= maxCostUsd) {
|
|
660
|
+
messages.push({ role: "tool", results: calls.map((c) => notRun(c.id)) });
|
|
661
|
+
log(`reached cost budget (${maxCostUsd} USD, ${spent} reported) after step ${step}`);
|
|
662
|
+
events.emit({ type: "run.budget_exhausted", kind: "cost", step });
|
|
663
|
+
const accumulated = lastAssistantText || "(no output before the run was stopped)";
|
|
664
|
+
const text = `${accumulated}\n\n[run stopped: cost budget of ${maxCostUsd} USD reached]`;
|
|
665
|
+
return result(text, "cost_exhausted", "cost_exhausted");
|
|
666
|
+
}
|
|
667
|
+
}
|
|
586
668
|
if (calls.length === 0) {
|
|
587
669
|
finalText = turn.text;
|
|
588
670
|
// A prose answer the output cap cut short. The run still completes,
|
|
@@ -591,22 +673,21 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
591
673
|
cutOff = turn.finishReason === "length";
|
|
592
674
|
break;
|
|
593
675
|
}
|
|
594
|
-
|
|
595
|
-
|
|
676
|
+
// Everything one call goes through, from the stop check to its closing
|
|
677
|
+
// event, in one place: the serial and the parallel path both run each
|
|
678
|
+
// call through here, so no check can apply to one and not the other.
|
|
679
|
+
// No result means the call was parked; a terminal call that succeeded
|
|
680
|
+
// also hands back its answer.
|
|
681
|
+
const dispatchCall = async (call) => {
|
|
596
682
|
// Never START a tool once the run is stopping: a side effect begun
|
|
597
683
|
// after a cancel is the one thing a cancel must prevent. The call is
|
|
598
684
|
// answered as not run rather than skipped, so the turn still closes.
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
685
|
+
// Checked when the call starts, so a call queued behind a parallel
|
|
686
|
+
// batch is caught too.
|
|
687
|
+
if (signal.aborted)
|
|
688
|
+
return { result: notRun(call.id) };
|
|
603
689
|
const tool = byName.get(call.name);
|
|
604
690
|
if (!tool) {
|
|
605
|
-
results.push({
|
|
606
|
-
toolCallId: call.id,
|
|
607
|
-
content: `unknown tool: ${call.name}`,
|
|
608
|
-
isError: true,
|
|
609
|
-
});
|
|
610
691
|
log(`tool ${call.name} (unknown)`);
|
|
611
692
|
events.emit({
|
|
612
693
|
type: "tool.failed",
|
|
@@ -616,7 +697,9 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
616
697
|
reason: "unknown_tool",
|
|
617
698
|
error: `unknown tool: ${call.name}`,
|
|
618
699
|
});
|
|
619
|
-
|
|
700
|
+
return {
|
|
701
|
+
result: { toolCallId: call.id, content: `unknown tool: ${call.name}`, isError: true },
|
|
702
|
+
};
|
|
620
703
|
}
|
|
621
704
|
// A call the output cap cut off is never run and never an answer. A
|
|
622
705
|
// terminal call on a `length` turn is refused even when its arguments
|
|
@@ -636,7 +719,6 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
636
719
|
"the call was not run. Call again, more briefly."
|
|
637
720
|
: undefined;
|
|
638
721
|
if (refusal !== undefined) {
|
|
639
|
-
results.push({ toolCallId: call.id, content: refusal, isError: true });
|
|
640
722
|
log(`tool ${call.name} refused: truncated`);
|
|
641
723
|
events.emit({
|
|
642
724
|
type: "tool.failed",
|
|
@@ -646,7 +728,24 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
646
728
|
reason: "truncated",
|
|
647
729
|
error: refusal,
|
|
648
730
|
});
|
|
649
|
-
|
|
731
|
+
return { result: { toolCallId: call.id, content: refusal, isError: true } };
|
|
732
|
+
}
|
|
733
|
+
// A whole call that does not fit its tool's schema, on a run that asked
|
|
734
|
+
// for the check. Refused like a cut-off call, before it can run or park:
|
|
735
|
+
// the model is told what to fix and answers again within its budgets,
|
|
736
|
+
// and no retry is the loop's. A terminal call refused here is no answer.
|
|
737
|
+
const invalid = req.validateToolInput ? invalidInputRefusal(tool, call.input) : undefined;
|
|
738
|
+
if (invalid !== undefined) {
|
|
739
|
+
log(`tool ${call.name} refused: invalid input`);
|
|
740
|
+
events.emit({
|
|
741
|
+
type: "tool.failed",
|
|
742
|
+
step,
|
|
743
|
+
callId: call.id,
|
|
744
|
+
name: call.name,
|
|
745
|
+
reason: "invalid_input",
|
|
746
|
+
error: invalid,
|
|
747
|
+
});
|
|
748
|
+
return { result: { toolCallId: call.id, content: invalid, isError: true } };
|
|
650
749
|
}
|
|
651
750
|
// An external tool is the caller's to run. The call is parked, not
|
|
652
751
|
// executed, and the run ends `suspended` once this step's server-side
|
|
@@ -666,7 +765,7 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
666
765
|
name: call.name,
|
|
667
766
|
input: detach(call.input),
|
|
668
767
|
});
|
|
669
|
-
|
|
768
|
+
return {};
|
|
670
769
|
}
|
|
671
770
|
// Emitted BEFORE execution: a process that dies mid-tool still leaves
|
|
672
771
|
// evidence that the effect may have started, which is the one case a
|
|
@@ -689,11 +788,11 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
689
788
|
callId: call.id,
|
|
690
789
|
...(loopCtx.runId !== undefined ? { runId: loopCtx.runId } : {}),
|
|
691
790
|
});
|
|
692
|
-
|
|
791
|
+
const result = {
|
|
693
792
|
toolCallId: call.id,
|
|
694
793
|
content: truncate(output.content),
|
|
695
794
|
...(output.structured !== undefined ? { structured: output.structured } : {}),
|
|
696
|
-
}
|
|
795
|
+
};
|
|
697
796
|
log(`tool ${call.name} ok (${output.content.length} bytes)`);
|
|
698
797
|
// Reversibility is copied from the tool's own metadata at call time —
|
|
699
798
|
// the tool set can differ per run, so a consumer reading the stream
|
|
@@ -710,13 +809,16 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
710
809
|
// ran like any other (a throw above is an ordinary tool error the
|
|
711
810
|
// model gets to correct), and the rest of this turn's calls still
|
|
712
811
|
// get their results so the transcript stays whole.
|
|
713
|
-
if (
|
|
714
|
-
|
|
812
|
+
if (toolDispatch(tool) === "terminal") {
|
|
813
|
+
return {
|
|
814
|
+
result,
|
|
815
|
+
terminal: { callId: call.id, name: call.name, input: call.input, output },
|
|
816
|
+
};
|
|
715
817
|
}
|
|
818
|
+
return { result };
|
|
716
819
|
}
|
|
717
820
|
catch (err) {
|
|
718
821
|
const message = err instanceof Error ? err.message : String(err);
|
|
719
|
-
results.push({ toolCallId: call.id, content: message, isError: true });
|
|
720
822
|
log(`tool ${call.name} error: ${message}`);
|
|
721
823
|
// Recorded even when the run is stopping: `tool.called` is already in
|
|
722
824
|
// the stream, and a call with no closing event looks like a crash.
|
|
@@ -730,7 +832,18 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
730
832
|
reason: isAbortError(err, signal) ? "aborted" : "threw",
|
|
731
833
|
error: message,
|
|
732
834
|
});
|
|
835
|
+
return { result: { toolCallId: call.id, content: message, isError: true } };
|
|
733
836
|
}
|
|
837
|
+
};
|
|
838
|
+
// In series unless the run opted in; either way the results come back
|
|
839
|
+
// in the model's order, and so does the choice of answer: the first
|
|
840
|
+
// terminal call the model issued that succeeded, not the first to finish.
|
|
841
|
+
const results = [];
|
|
842
|
+
for (const outcome of await runInSegments(calls, dispatchCall, segments)) {
|
|
843
|
+
if (outcome.result)
|
|
844
|
+
results.push(outcome.result);
|
|
845
|
+
if (!terminal && outcome.terminal)
|
|
846
|
+
terminal = outcome.terminal;
|
|
734
847
|
}
|
|
735
848
|
if (pending.length > 0) {
|
|
736
849
|
// A parked call outlives this run only when the run is actually
|
|
@@ -816,6 +929,7 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
816
929
|
usage = addUsage(usage, summaryResult.usage);
|
|
817
930
|
servedModel = summary.model;
|
|
818
931
|
servedUpstream = summary.upstream;
|
|
932
|
+
servedProvider = servedBy(summaryResult.meta);
|
|
819
933
|
if (summary.responseId)
|
|
820
934
|
responseIds.push(summary.responseId);
|
|
821
935
|
lastFinish = summary.finishReason;
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { FetchLike } from "@modelcontextprotocol/sdk/shared/transport.js";
|
|
2
|
+
import type { ConnectorAuthHeaders } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* A connector's auth headers function threw or returned something unusable.
|
|
5
|
+
* The message names the connector and never the function's error, which can
|
|
6
|
+
* quote the credential it failed to produce; that error is the `cause`, for
|
|
7
|
+
* the caller's own code and never sent to the model.
|
|
8
|
+
*/
|
|
9
|
+
export declare class ConnectorAuthError extends Error {
|
|
10
|
+
constructor(connector: string, detail: string, cause?: unknown);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Hand every secret part of a header value to `onSecret`: the whole value, and
|
|
14
|
+
* the credential after an auth scheme (`Bearer abc` also yields `abc`), so a
|
|
15
|
+
* server or tool echoing the bare token is masked too.
|
|
16
|
+
*/
|
|
17
|
+
export declare function reportCredential(value: string, onSecret: (value: string) => void): void;
|
|
18
|
+
/**
|
|
19
|
+
* A fetch that sets `resolve`'s headers on every request, so a credential that
|
|
20
|
+
* rotates during a run is picked up by the next request. A 401 asks `resolve`
|
|
21
|
+
* again with `refresh: true` and sends the request once more; a second 401 is
|
|
22
|
+
* returned as it is, for the transport to fail on. A request whose body cannot
|
|
23
|
+
* be sent twice (a stream) is not retried.
|
|
24
|
+
*
|
|
25
|
+
* Redirects are not followed here: unless the transport asks otherwise, the
|
|
26
|
+
* request goes out with `redirect: "manual"`, so a 3xx comes back to the
|
|
27
|
+
* transport, which follows only a same-origin one. A credential header that is
|
|
28
|
+
* not `Authorization` (which fetch strips on a cross-origin hop) would
|
|
29
|
+
* otherwise be forwarded to whatever origin the server names.
|
|
30
|
+
*/
|
|
31
|
+
export declare function authHeadersFetch(connector: string, resolve: ConnectorAuthHeaders, onSecret: (value: string) => void, base?: FetchLike): FetchLike;
|
|
32
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/connectors/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAC9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvD;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAI/D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAIvF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACjC,IAAI,GAAE,SAAiB,GACtB,SAAS,CAiDX"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A connector's auth headers function threw or returned something unusable.
|
|
3
|
+
* The message names the connector and never the function's error, which can
|
|
4
|
+
* quote the credential it failed to produce; that error is the `cause`, for
|
|
5
|
+
* the caller's own code and never sent to the model.
|
|
6
|
+
*/
|
|
7
|
+
export class ConnectorAuthError extends Error {
|
|
8
|
+
constructor(connector, detail, cause) {
|
|
9
|
+
super(`connector ${connector}: auth headers ${detail}`, cause ? { cause } : undefined);
|
|
10
|
+
this.name = "ConnectorAuthError";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Hand every secret part of a header value to `onSecret`: the whole value, and
|
|
15
|
+
* the credential after an auth scheme (`Bearer abc` also yields `abc`), so a
|
|
16
|
+
* server or tool echoing the bare token is masked too.
|
|
17
|
+
*/
|
|
18
|
+
export function reportCredential(value, onSecret) {
|
|
19
|
+
onSecret(value);
|
|
20
|
+
const scheme = /^[A-Za-z][\w.+-]*\s+(\S.*)$/.exec(value);
|
|
21
|
+
if (scheme?.[1])
|
|
22
|
+
onSecret(scheme[1]);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* A fetch that sets `resolve`'s headers on every request, so a credential that
|
|
26
|
+
* rotates during a run is picked up by the next request. A 401 asks `resolve`
|
|
27
|
+
* again with `refresh: true` and sends the request once more; a second 401 is
|
|
28
|
+
* returned as it is, for the transport to fail on. A request whose body cannot
|
|
29
|
+
* be sent twice (a stream) is not retried.
|
|
30
|
+
*
|
|
31
|
+
* Redirects are not followed here: unless the transport asks otherwise, the
|
|
32
|
+
* request goes out with `redirect: "manual"`, so a 3xx comes back to the
|
|
33
|
+
* transport, which follows only a same-origin one. A credential header that is
|
|
34
|
+
* not `Authorization` (which fetch strips on a cross-origin hop) would
|
|
35
|
+
* otherwise be forwarded to whatever origin the server names.
|
|
36
|
+
*/
|
|
37
|
+
export function authHeadersFetch(connector, resolve, onSecret, base = fetch) {
|
|
38
|
+
const headersFor = async (refresh, signal) => {
|
|
39
|
+
let resolved;
|
|
40
|
+
try {
|
|
41
|
+
resolved = await resolve({ connector, refresh, ...(signal ? { signal } : {}) });
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
throw new ConnectorAuthError(connector, "function failed", err);
|
|
45
|
+
}
|
|
46
|
+
if (!resolved || typeof resolved !== "object" || Array.isArray(resolved)) {
|
|
47
|
+
throw new ConnectorAuthError(connector, "function returned no headers object");
|
|
48
|
+
}
|
|
49
|
+
// Nothing is reported until every value checks out, so a bad return names
|
|
50
|
+
// only the header, never a value. `Headers` rejects a value holding a line
|
|
51
|
+
// break or NUL with a TypeError that quotes it, so that error is replaced
|
|
52
|
+
// and not kept as the cause.
|
|
53
|
+
const headers = new Headers();
|
|
54
|
+
for (const [key, value] of Object.entries(resolved)) {
|
|
55
|
+
if (typeof value !== "string") {
|
|
56
|
+
throw new ConnectorAuthError(connector, `function returned a non-string ${key} header`);
|
|
57
|
+
}
|
|
58
|
+
try {
|
|
59
|
+
headers.set(key, value);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
throw new ConnectorAuthError(connector, `function returned an invalid ${key} header`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// What is reported is what goes on the wire: `Headers` trims the value, and
|
|
66
|
+
// an echo of the trimmed credential must still be masked.
|
|
67
|
+
headers.forEach((value) => reportCredential(value, onSecret));
|
|
68
|
+
return headers;
|
|
69
|
+
};
|
|
70
|
+
const send = async (url, init, refresh) => {
|
|
71
|
+
const headers = new Headers(init?.headers);
|
|
72
|
+
(await headersFor(refresh, init?.signal)).forEach((value, key) => headers.set(key, value));
|
|
73
|
+
return base(url, { ...init, headers, redirect: init?.redirect ?? "manual" });
|
|
74
|
+
};
|
|
75
|
+
return async (url, init) => {
|
|
76
|
+
const first = await send(url, init, false);
|
|
77
|
+
const body = init?.body;
|
|
78
|
+
const replayable = body === undefined || body === null || typeof body === "string";
|
|
79
|
+
if (first.status !== 401 || !replayable)
|
|
80
|
+
return first;
|
|
81
|
+
await first.body?.cancel().catch(() => { });
|
|
82
|
+
return send(url, init, true);
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/connectors/auth.ts"],"names":[],"mappings":"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"}
|