@rarebit-one/harness-kernel 0.18.0 → 0.19.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.
- package/README.md +255 -16
- package/dist/agent.d.ts +24 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +138 -30
- 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 +4 -4
- 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 +23 -0
- 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 +252 -0
- package/dist/models/retry.d.ts.map +1 -0
- package/dist/models/retry.js +400 -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/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 +3 -3
package/dist/agent.js
CHANGED
|
@@ -4,6 +4,8 @@ import { asChatModel, chatRequest } from "./models/chat.js";
|
|
|
4
4
|
import { deadlineSignal, isAbortError } from "./signals.js";
|
|
5
5
|
import { executeTool } from "./tools/registry.js";
|
|
6
6
|
import { toToolSpecs, toolDispatch } from "./tools/metadata.js";
|
|
7
|
+
import { assertToolConcurrency, runInSegments } from "./tools/concurrency.js";
|
|
8
|
+
import { invalidInputRefusal } from "./tools/validate.js";
|
|
7
9
|
const DEFAULT_MAX_STEPS = 12;
|
|
8
10
|
const FALLBACK_MAX_DURATION_MS = 10 * 60 * 1000;
|
|
9
11
|
/** Resolve the wall-clock run budget from env, falling back to 10 minutes. */
|
|
@@ -21,9 +23,17 @@ const FALLBACK_MAX_TOOL_RESULT_BYTES = 64 * 1024;
|
|
|
21
23
|
* kernel ships. `runAgent`, `runConversation` and `NativeEngine` all come here.
|
|
22
24
|
*/
|
|
23
25
|
export function resolveLoopLimits(limits) {
|
|
26
|
+
const maxCostUsd = limits?.maxCostUsd;
|
|
27
|
+
// No default: a cost budget exists only when the caller set one. A NaN or a
|
|
28
|
+
// negative would make the comparison never (or always) fire, so it is
|
|
29
|
+
// refused rather than run as a limit that silently is not one.
|
|
30
|
+
if (maxCostUsd !== undefined && !(maxCostUsd >= 0)) {
|
|
31
|
+
throw new RangeError(`maxCostUsd must be a non-negative number, got ${maxCostUsd}`);
|
|
32
|
+
}
|
|
24
33
|
return {
|
|
25
34
|
maxSteps: limits?.maxSteps ?? DEFAULT_MAX_STEPS,
|
|
26
35
|
maxDurationMs: limits?.maxDurationMs ?? defaultMaxDurationMs(),
|
|
36
|
+
...(maxCostUsd !== undefined ? { maxCostUsd } : {}),
|
|
27
37
|
...(limits?.budgetVisible ? { budgetVisible: true } : {}),
|
|
28
38
|
};
|
|
29
39
|
}
|
|
@@ -45,6 +55,14 @@ export function remainingLimits(limits, consumed) {
|
|
|
45
55
|
return {
|
|
46
56
|
maxSteps: Math.max(RESUME_MIN_STEPS, limits.maxSteps - consumed.steps),
|
|
47
57
|
maxDurationMs: Math.max(RESUME_MIN_DURATION_MS, limits.maxDurationMs - consumed.durationMs),
|
|
58
|
+
// No floor is needed: the loop checks cost after a turn, so a resumed run's
|
|
59
|
+
// first step runs even on a zero budget. Only reported cost was counted, so
|
|
60
|
+
// only reported cost is subtracted.
|
|
61
|
+
...(limits.maxCostUsd !== undefined
|
|
62
|
+
? {
|
|
63
|
+
maxCostUsd: Math.max(0, limits.maxCostUsd - (consumed.usage?.reportedCost?.amount ?? 0)),
|
|
64
|
+
}
|
|
65
|
+
: {}),
|
|
48
66
|
...(limits.budgetVisible ? { budgetVisible: true } : {}),
|
|
49
67
|
};
|
|
50
68
|
}
|
|
@@ -242,14 +260,25 @@ function answeredExternalCalls(messages, byName) {
|
|
|
242
260
|
function notAnswered(callId, why) {
|
|
243
261
|
return { toolCallId: callId, content: `not run: ${why}`, isError: true };
|
|
244
262
|
}
|
|
245
|
-
/**
|
|
246
|
-
|
|
263
|
+
/**
|
|
264
|
+
* The one ephemeral line the model sees when `budgetVisible` is on. The cost
|
|
265
|
+
* clause appears only under a cost limit, so a run without one sees exactly
|
|
266
|
+
* the line it always did.
|
|
267
|
+
*/
|
|
268
|
+
function budgetLine(stepsLeft, maxSteps, msLeft, costLeft) {
|
|
247
269
|
const seconds = Math.max(0, Math.round(msLeft / 1000));
|
|
270
|
+
const left = costLeft === undefined
|
|
271
|
+
? `${stepsLeft} of ${maxSteps} step(s) and ${seconds}s`
|
|
272
|
+
: `${stepsLeft} of ${maxSteps} step(s), ${seconds}s and $${costLeft.toFixed(4)} of cost`;
|
|
248
273
|
return {
|
|
249
274
|
role: "user",
|
|
250
|
-
text: `[budget] ${
|
|
275
|
+
text: `[budget] ${left} remain. Plan to finish within them.`,
|
|
251
276
|
};
|
|
252
277
|
}
|
|
278
|
+
/** The cost a call reported, when it reported one. */
|
|
279
|
+
function reportedAmount(usage) {
|
|
280
|
+
return usage && !("units" in usage) ? usage.reportedCost?.amount : undefined;
|
|
281
|
+
}
|
|
253
282
|
/** The finer reason a custom loop's bare outcome implies, when it reported none. */
|
|
254
283
|
function stopReasonFor(outcome) {
|
|
255
284
|
return outcome === "completed" ? "end_turn" : outcome;
|
|
@@ -297,10 +326,12 @@ export async function runAgent(options) {
|
|
|
297
326
|
});
|
|
298
327
|
// `stopReason: "length"` is the plain case; a budget summary cut at the cap
|
|
299
328
|
// 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" ||
|
|
329
|
+
// as partial. A canceled, timed-out or cost-stopped run is not judged here:
|
|
330
|
+
// the cancellation contract is that it resolves with its note, never
|
|
331
|
+
// rejects, even when the last turn to land before the stop happened to be cut.
|
|
332
|
+
const stopped = result.outcome === "canceled" ||
|
|
333
|
+
result.outcome === "timed_out" ||
|
|
334
|
+
result.outcome === "cost_exhausted";
|
|
304
335
|
if (!stopped && (result.stopReason === "length" || result.finishReason === "length")) {
|
|
305
336
|
throw new TruncatedAnswerError(result);
|
|
306
337
|
}
|
|
@@ -358,6 +389,8 @@ export async function runConversation(options) {
|
|
|
358
389
|
tools: options.tools,
|
|
359
390
|
limits: resolveLoopLimits(options),
|
|
360
391
|
...(options.providerOptions ? { providerOptions: options.providerOptions } : {}),
|
|
392
|
+
...(options.toolConcurrency ? { toolConcurrency: options.toolConcurrency } : {}),
|
|
393
|
+
...(options.validateToolInput ? { validateToolInput: true } : {}),
|
|
361
394
|
}, {
|
|
362
395
|
log,
|
|
363
396
|
events: runEventEmitter(sink, log),
|
|
@@ -396,23 +429,38 @@ export async function runConversation(options) {
|
|
|
396
429
|
*/
|
|
397
430
|
export async function runNativeLoop(req, loopCtx) {
|
|
398
431
|
const { model, system, tools, providerOptions } = req;
|
|
399
|
-
const { maxSteps, maxDurationMs } = req.limits;
|
|
432
|
+
const { maxSteps, maxDurationMs, maxCostUsd } = req.limits;
|
|
400
433
|
const log = loopCtx.log;
|
|
401
434
|
// Checked before the first model call: a bad seed is a configuration error,
|
|
402
435
|
// and the cheapest failure is the one that spends no tokens.
|
|
403
436
|
assertSeed(req.messages);
|
|
437
|
+
assertToolConcurrency(req.toolConcurrency);
|
|
404
438
|
// One signal for the whole run: the caller's cancel merged with the run's own
|
|
405
439
|
// deadline. It reaches every model call (through `InvokeContext.signal`, down
|
|
406
440
|
// to the provider's HTTP request) and every tool (through `ToolContext`), so
|
|
407
441
|
// neither a cancel nor the deadline has to wait for an in-flight step to end.
|
|
408
442
|
const deadline = deadlineSignal(maxDurationMs);
|
|
409
443
|
const signal = loopCtx.signal ? AbortSignal.any([loopCtx.signal, deadline]) : deadline;
|
|
410
|
-
const ctx = {
|
|
444
|
+
const ctx = {
|
|
445
|
+
log,
|
|
446
|
+
signal,
|
|
447
|
+
budget: { maxDurationMs, deadlineAt: Date.now() + maxDurationMs },
|
|
448
|
+
};
|
|
411
449
|
// The emitter is the caller's: `seq` is per RUN, not per loop, so a loop that
|
|
412
450
|
// made its own would restart the numbering mid-stream.
|
|
413
451
|
const events = loopCtx.events;
|
|
414
452
|
const byName = new Map(tools.map((t) => [t.spec.name, t]));
|
|
415
453
|
const specs = toToolSpecs(tools);
|
|
454
|
+
// The run's opt-in, applied per call. A call to a tool this run lacks is
|
|
455
|
+
// never safe: it runs alone, and is refused there as unknown.
|
|
456
|
+
const concurrency = req.toolConcurrency;
|
|
457
|
+
const segments = concurrency && {
|
|
458
|
+
maxConcurrent: concurrency.maxConcurrent,
|
|
459
|
+
safe: (call) => {
|
|
460
|
+
const tool = byName.get(call.name);
|
|
461
|
+
return tool !== undefined && concurrency.concurrencySafe(tool);
|
|
462
|
+
},
|
|
463
|
+
};
|
|
416
464
|
/** Close a parked call this run will not hand to the caller after all. */
|
|
417
465
|
const closePending = (call, why) => {
|
|
418
466
|
// Closed here, so no longer parked: the mark comes off the transcript's
|
|
@@ -438,7 +486,12 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
438
486
|
// transcript must not fill up with the loop's own bookkeeping, and the
|
|
439
487
|
// trailing position keeps the cached prefix (system, tools, history) intact.
|
|
440
488
|
const request = (toolSpecs, stepsLeft) => chatRequest(system, req.limits.budgetVisible && stepsLeft !== undefined
|
|
441
|
-
? [
|
|
489
|
+
? [
|
|
490
|
+
...messages,
|
|
491
|
+
budgetLine(stepsLeft, maxSteps, deadlineAt - Date.now(), maxCostUsd !== undefined
|
|
492
|
+
? Math.max(0, maxCostUsd - (usage?.reportedCost?.amount ?? 0))
|
|
493
|
+
: undefined),
|
|
494
|
+
]
|
|
442
495
|
: messages, toolSpecs, undefined, providerOptions);
|
|
443
496
|
const provider = model.id;
|
|
444
497
|
let finalText = "";
|
|
@@ -453,6 +506,7 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
453
506
|
let terminal;
|
|
454
507
|
let lastFinish;
|
|
455
508
|
let cutOff = false;
|
|
509
|
+
let unpricedNoted = false;
|
|
456
510
|
const responseIds = [];
|
|
457
511
|
let pending = [];
|
|
458
512
|
/** Everything a result carries besides the three the caller decides per path. */
|
|
@@ -583,6 +637,29 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
583
637
|
}
|
|
584
638
|
return stopped();
|
|
585
639
|
}
|
|
640
|
+
// The cost budget, checked once the turn's cost is known. Only what the
|
|
641
|
+
// calls reported counts: an unpriced turn is unknown, not free, and not
|
|
642
|
+
// a number either, so it is noted once and the limit runs on what was
|
|
643
|
+
// reported. A turn that answered in prose finishes the run as usual
|
|
644
|
+
// (nothing more would be spent); a turn that asked for tools is stopped
|
|
645
|
+
// before any of them start, like a stop that lands after the turn, and
|
|
646
|
+
// without the summary call the step budget gets — that call would spend
|
|
647
|
+
// past a limit that is already reached.
|
|
648
|
+
if (maxCostUsd !== undefined) {
|
|
649
|
+
if (reportedAmount(turnResult.usage) === undefined && !unpricedNoted) {
|
|
650
|
+
unpricedNoted = true;
|
|
651
|
+
log(`step ${step} reported no cost; the ${maxCostUsd} USD cost budget counts reported cost only`);
|
|
652
|
+
}
|
|
653
|
+
const spent = usage?.reportedCost?.amount;
|
|
654
|
+
if (calls.length > 0 && spent !== undefined && spent >= maxCostUsd) {
|
|
655
|
+
messages.push({ role: "tool", results: calls.map((c) => notRun(c.id)) });
|
|
656
|
+
log(`reached cost budget (${maxCostUsd} USD, ${spent} reported) after step ${step}`);
|
|
657
|
+
events.emit({ type: "run.budget_exhausted", kind: "cost", step });
|
|
658
|
+
const accumulated = lastAssistantText || "(no output before the run was stopped)";
|
|
659
|
+
const text = `${accumulated}\n\n[run stopped: cost budget of ${maxCostUsd} USD reached]`;
|
|
660
|
+
return result(text, "cost_exhausted", "cost_exhausted");
|
|
661
|
+
}
|
|
662
|
+
}
|
|
586
663
|
if (calls.length === 0) {
|
|
587
664
|
finalText = turn.text;
|
|
588
665
|
// A prose answer the output cap cut short. The run still completes,
|
|
@@ -591,22 +668,21 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
591
668
|
cutOff = turn.finishReason === "length";
|
|
592
669
|
break;
|
|
593
670
|
}
|
|
594
|
-
|
|
595
|
-
|
|
671
|
+
// Everything one call goes through, from the stop check to its closing
|
|
672
|
+
// event, in one place: the serial and the parallel path both run each
|
|
673
|
+
// call through here, so no check can apply to one and not the other.
|
|
674
|
+
// No result means the call was parked; a terminal call that succeeded
|
|
675
|
+
// also hands back its answer.
|
|
676
|
+
const dispatchCall = async (call) => {
|
|
596
677
|
// Never START a tool once the run is stopping: a side effect begun
|
|
597
678
|
// after a cancel is the one thing a cancel must prevent. The call is
|
|
598
679
|
// answered as not run rather than skipped, so the turn still closes.
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
680
|
+
// Checked when the call starts, so a call queued behind a parallel
|
|
681
|
+
// batch is caught too.
|
|
682
|
+
if (signal.aborted)
|
|
683
|
+
return { result: notRun(call.id) };
|
|
603
684
|
const tool = byName.get(call.name);
|
|
604
685
|
if (!tool) {
|
|
605
|
-
results.push({
|
|
606
|
-
toolCallId: call.id,
|
|
607
|
-
content: `unknown tool: ${call.name}`,
|
|
608
|
-
isError: true,
|
|
609
|
-
});
|
|
610
686
|
log(`tool ${call.name} (unknown)`);
|
|
611
687
|
events.emit({
|
|
612
688
|
type: "tool.failed",
|
|
@@ -616,7 +692,9 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
616
692
|
reason: "unknown_tool",
|
|
617
693
|
error: `unknown tool: ${call.name}`,
|
|
618
694
|
});
|
|
619
|
-
|
|
695
|
+
return {
|
|
696
|
+
result: { toolCallId: call.id, content: `unknown tool: ${call.name}`, isError: true },
|
|
697
|
+
};
|
|
620
698
|
}
|
|
621
699
|
// A call the output cap cut off is never run and never an answer. A
|
|
622
700
|
// terminal call on a `length` turn is refused even when its arguments
|
|
@@ -636,7 +714,6 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
636
714
|
"the call was not run. Call again, more briefly."
|
|
637
715
|
: undefined;
|
|
638
716
|
if (refusal !== undefined) {
|
|
639
|
-
results.push({ toolCallId: call.id, content: refusal, isError: true });
|
|
640
717
|
log(`tool ${call.name} refused: truncated`);
|
|
641
718
|
events.emit({
|
|
642
719
|
type: "tool.failed",
|
|
@@ -646,7 +723,24 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
646
723
|
reason: "truncated",
|
|
647
724
|
error: refusal,
|
|
648
725
|
});
|
|
649
|
-
|
|
726
|
+
return { result: { toolCallId: call.id, content: refusal, isError: true } };
|
|
727
|
+
}
|
|
728
|
+
// A whole call that does not fit its tool's schema, on a run that asked
|
|
729
|
+
// for the check. Refused like a cut-off call, before it can run or park:
|
|
730
|
+
// the model is told what to fix and answers again within its budgets,
|
|
731
|
+
// and no retry is the loop's. A terminal call refused here is no answer.
|
|
732
|
+
const invalid = req.validateToolInput ? invalidInputRefusal(tool, call.input) : undefined;
|
|
733
|
+
if (invalid !== undefined) {
|
|
734
|
+
log(`tool ${call.name} refused: invalid input`);
|
|
735
|
+
events.emit({
|
|
736
|
+
type: "tool.failed",
|
|
737
|
+
step,
|
|
738
|
+
callId: call.id,
|
|
739
|
+
name: call.name,
|
|
740
|
+
reason: "invalid_input",
|
|
741
|
+
error: invalid,
|
|
742
|
+
});
|
|
743
|
+
return { result: { toolCallId: call.id, content: invalid, isError: true } };
|
|
650
744
|
}
|
|
651
745
|
// An external tool is the caller's to run. The call is parked, not
|
|
652
746
|
// executed, and the run ends `suspended` once this step's server-side
|
|
@@ -666,7 +760,7 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
666
760
|
name: call.name,
|
|
667
761
|
input: detach(call.input),
|
|
668
762
|
});
|
|
669
|
-
|
|
763
|
+
return {};
|
|
670
764
|
}
|
|
671
765
|
// Emitted BEFORE execution: a process that dies mid-tool still leaves
|
|
672
766
|
// evidence that the effect may have started, which is the one case a
|
|
@@ -689,11 +783,11 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
689
783
|
callId: call.id,
|
|
690
784
|
...(loopCtx.runId !== undefined ? { runId: loopCtx.runId } : {}),
|
|
691
785
|
});
|
|
692
|
-
|
|
786
|
+
const result = {
|
|
693
787
|
toolCallId: call.id,
|
|
694
788
|
content: truncate(output.content),
|
|
695
789
|
...(output.structured !== undefined ? { structured: output.structured } : {}),
|
|
696
|
-
}
|
|
790
|
+
};
|
|
697
791
|
log(`tool ${call.name} ok (${output.content.length} bytes)`);
|
|
698
792
|
// Reversibility is copied from the tool's own metadata at call time —
|
|
699
793
|
// the tool set can differ per run, so a consumer reading the stream
|
|
@@ -710,13 +804,16 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
710
804
|
// ran like any other (a throw above is an ordinary tool error the
|
|
711
805
|
// model gets to correct), and the rest of this turn's calls still
|
|
712
806
|
// get their results so the transcript stays whole.
|
|
713
|
-
if (
|
|
714
|
-
|
|
807
|
+
if (toolDispatch(tool) === "terminal") {
|
|
808
|
+
return {
|
|
809
|
+
result,
|
|
810
|
+
terminal: { callId: call.id, name: call.name, input: call.input, output },
|
|
811
|
+
};
|
|
715
812
|
}
|
|
813
|
+
return { result };
|
|
716
814
|
}
|
|
717
815
|
catch (err) {
|
|
718
816
|
const message = err instanceof Error ? err.message : String(err);
|
|
719
|
-
results.push({ toolCallId: call.id, content: message, isError: true });
|
|
720
817
|
log(`tool ${call.name} error: ${message}`);
|
|
721
818
|
// Recorded even when the run is stopping: `tool.called` is already in
|
|
722
819
|
// the stream, and a call with no closing event looks like a crash.
|
|
@@ -730,7 +827,18 @@ export async function runNativeLoop(req, loopCtx) {
|
|
|
730
827
|
reason: isAbortError(err, signal) ? "aborted" : "threw",
|
|
731
828
|
error: message,
|
|
732
829
|
});
|
|
830
|
+
return { result: { toolCallId: call.id, content: message, isError: true } };
|
|
733
831
|
}
|
|
832
|
+
};
|
|
833
|
+
// In series unless the run opted in; either way the results come back
|
|
834
|
+
// in the model's order, and so does the choice of answer: the first
|
|
835
|
+
// terminal call the model issued that succeeded, not the first to finish.
|
|
836
|
+
const results = [];
|
|
837
|
+
for (const outcome of await runInSegments(calls, dispatchCall, segments)) {
|
|
838
|
+
if (outcome.result)
|
|
839
|
+
results.push(outcome.result);
|
|
840
|
+
if (!terminal && outcome.terminal)
|
|
841
|
+
terminal = outcome.terminal;
|
|
734
842
|
}
|
|
735
843
|
if (pending.length > 0) {
|
|
736
844
|
// A parked call outlives this run only when the run is actually
|
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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"}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import type { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
|
|
2
2
|
import type { ConnectorConfig } from "../types.js";
|
|
3
3
|
/**
|
|
4
|
-
* The client identity announced to
|
|
5
|
-
*
|
|
4
|
+
* The default client identity announced to an MCP server, suffixed with the
|
|
5
|
+
* connector's own name; `ConnectorConfig.clientInfo` replaces it. Servers use
|
|
6
|
+
* it for logging and telemetry.
|
|
6
7
|
*/
|
|
7
8
|
export declare const MCP_CLIENT_NAME = "harness-kernel";
|
|
9
|
+
/** Options for {@link connectMcp}. */
|
|
10
|
+
export interface ConnectMcpOptions {
|
|
11
|
+
/**
|
|
12
|
+
* Called with each credential the connection sends (a static token, or every
|
|
13
|
+
* value an `auth.headers` function returns, as it returns it), so the caller
|
|
14
|
+
* can mask it in what the run's tools hand back.
|
|
15
|
+
*/
|
|
16
|
+
onSecret?: (value: string) => void;
|
|
17
|
+
}
|
|
8
18
|
/** Per-call options for {@link McpConnection.callTool}. */
|
|
9
19
|
export interface McpCallOptions {
|
|
10
20
|
/** Aborts the request; the SDK notifies the server that the call was cancelled. */
|
|
@@ -17,11 +27,11 @@ export interface McpConnection {
|
|
|
17
27
|
close(): Promise<void>;
|
|
18
28
|
}
|
|
19
29
|
/** Connect to an MCP connector using the transport implied by its config. */
|
|
20
|
-
export declare function connectMcp(config: ConnectorConfig): Promise<McpConnection>;
|
|
30
|
+
export declare function connectMcp(config: ConnectorConfig, opts?: ConnectMcpOptions): Promise<McpConnection>;
|
|
21
31
|
/**
|
|
22
32
|
* Connect over an arbitrary transport. Exposed so tests (and future callers) can
|
|
23
33
|
* supply an in-memory transport pair without spawning a process or hitting the
|
|
24
34
|
* network.
|
|
25
35
|
*/
|
|
26
|
-
export declare function connectWithTransport(name: string, transport: Transport): Promise<McpConnection>;
|
|
36
|
+
export declare function connectWithTransport(name: string, transport: Transport, clientInfo?: ConnectorConfig["clientInfo"]): Promise<McpConnection>;
|
|
27
37
|
//# sourceMappingURL=mcpClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpClient.d.ts","sourceRoot":"","sources":["../../src/connectors/mcpClient.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"mcpClient.d.ts","sourceRoot":"","sources":["../../src/connectors/mcpClient.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,+CAA+C,CAAA;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAGlD;;;;GAIG;AACH,eAAO,MAAM,eAAe,mBAAmB,CAAA;AAE/C,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC;AAED,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,mFAAmF;IACnF,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/F,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAyDD,6EAA6E;AAC7E,wBAAsB,UAAU,CAC9B,MAAM,EAAE,eAAe,EACvB,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAMxB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,GACzC,OAAO,CAAC,aAAa,CAAC,CAiBxB"}
|