@namzu/sdk 6.2.0 → 7.0.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/CHANGELOG.md +240 -0
- package/dist/agents/ReactiveAgent.d.ts.map +1 -1
- package/dist/agents/ReactiveAgent.js +5 -0
- package/dist/agents/ReactiveAgent.js.map +1 -1
- package/dist/agents/SupervisorAgent.d.ts.map +1 -1
- package/dist/agents/SupervisorAgent.js +4 -0
- package/dist/agents/SupervisorAgent.js.map +1 -1
- package/dist/agents/runAgent.d.ts +19 -1
- package/dist/agents/runAgent.d.ts.map +1 -1
- package/dist/agents/runAgent.js +2 -0
- package/dist/agents/runAgent.js.map +1 -1
- package/dist/connector/mcp/__tests__/positional-arrays.test.d.ts +2 -0
- package/dist/connector/mcp/__tests__/positional-arrays.test.d.ts.map +1 -0
- package/dist/connector/mcp/__tests__/positional-arrays.test.js +142 -0
- package/dist/connector/mcp/__tests__/positional-arrays.test.js.map +1 -0
- package/dist/connector/mcp/adapter.d.ts.map +1 -1
- package/dist/connector/mcp/adapter.js +123 -8
- package/dist/connector/mcp/adapter.js.map +1 -1
- package/dist/constants/agent/index.d.ts +5 -0
- package/dist/constants/agent/index.d.ts.map +1 -1
- package/dist/constants/agent/index.js +5 -0
- package/dist/constants/agent/index.js.map +1 -1
- package/dist/constants/plugin/index.d.ts +15 -0
- package/dist/constants/plugin/index.d.ts.map +1 -1
- package/dist/constants/plugin/index.js +15 -0
- package/dist/constants/plugin/index.js.map +1 -1
- package/dist/gateway/local.d.ts +11 -0
- package/dist/gateway/local.d.ts.map +1 -1
- package/dist/gateway/local.js +27 -1
- package/dist/gateway/local.js.map +1 -1
- package/dist/manager/agent/lifecycle.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.js +6 -0
- package/dist/manager/agent/lifecycle.js.map +1 -1
- package/dist/provider/thinking-support.d.ts +2 -1
- package/dist/provider/thinking-support.d.ts.map +1 -1
- package/dist/provider/thinking-support.js +14 -0
- package/dist/provider/thinking-support.js.map +1 -1
- package/dist/public-runtime.d.ts +1 -1
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +9 -1
- package/dist/public-runtime.js.map +1 -1
- package/dist/runtime/query/__tests__/context.test.js +18 -0
- package/dist/runtime/query/__tests__/context.test.js.map +1 -1
- package/dist/runtime/query/__tests__/effort-reaches-the-wire.test.d.ts +2 -0
- package/dist/runtime/query/__tests__/effort-reaches-the-wire.test.d.ts.map +1 -0
- package/dist/runtime/query/__tests__/effort-reaches-the-wire.test.js +118 -0
- package/dist/runtime/query/__tests__/effort-reaches-the-wire.test.js.map +1 -0
- package/dist/runtime/query/__tests__/tool-timeout.test.js +34 -0
- package/dist/runtime/query/__tests__/tool-timeout.test.js.map +1 -1
- package/dist/runtime/query/context.d.ts.map +1 -1
- package/dist/runtime/query/context.js +16 -1
- package/dist/runtime/query/context.js.map +1 -1
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +11 -1
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +5 -0
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/telemetry/__tests__/model-call-span.test.js +22 -4
- package/dist/telemetry/__tests__/model-call-span.test.js.map +1 -1
- package/dist/telemetry/__tests__/span-closure.test.js +12 -5
- package/dist/telemetry/__tests__/span-closure.test.js.map +1 -1
- package/dist/tools/coordinator/__tests__/wait-with-idle-bound.test.d.ts +2 -0
- package/dist/tools/coordinator/__tests__/wait-with-idle-bound.test.d.ts.map +1 -0
- package/dist/tools/coordinator/__tests__/wait-with-idle-bound.test.js +193 -0
- package/dist/tools/coordinator/__tests__/wait-with-idle-bound.test.js.map +1 -0
- package/dist/tools/coordinator/index.d.ts +19 -0
- package/dist/tools/coordinator/index.d.ts.map +1 -1
- package/dist/tools/coordinator/index.js +82 -60
- package/dist/tools/coordinator/index.js.map +1 -1
- package/dist/tools/coordinator/wait-with-idle-bound.d.ts +66 -0
- package/dist/tools/coordinator/wait-with-idle-bound.d.ts.map +1 -0
- package/dist/tools/coordinator/wait-with-idle-bound.js +78 -0
- package/dist/tools/coordinator/wait-with-idle-bound.js.map +1 -0
- package/dist/types/agent/base.d.ts +16 -0
- package/dist/types/agent/base.d.ts.map +1 -1
- package/dist/types/agent/gateway.d.ts +23 -0
- package/dist/types/agent/gateway.d.ts.map +1 -1
- package/dist/types/agent/lifecycle-event.d.ts +9 -1
- package/dist/types/agent/lifecycle-event.d.ts.map +1 -1
- package/dist/types/agent/task.d.ts +5 -0
- package/dist/types/agent/task.d.ts.map +1 -1
- package/dist/types/hitl/index.d.ts +10 -0
- package/dist/types/hitl/index.d.ts.map +1 -1
- package/dist/types/hitl/index.js.map +1 -1
- package/dist/types/probe/registry.d.ts +6 -0
- package/dist/types/probe/registry.d.ts.map +1 -1
- package/dist/types/run/config.d.ts +25 -0
- package/dist/types/run/config.d.ts.map +1 -1
- package/dist/utils/__tests__/abort-reason.test.d.ts +2 -0
- package/dist/utils/__tests__/abort-reason.test.d.ts.map +1 -0
- package/dist/utils/__tests__/abort-reason.test.js +48 -0
- package/dist/utils/__tests__/abort-reason.test.js.map +1 -0
- package/dist/utils/abort.d.ts +26 -0
- package/dist/utils/abort.d.ts.map +1 -1
- package/dist/utils/abort.js +34 -0
- package/dist/utils/abort.js.map +1 -1
- package/dist/verification/__tests__/rule-order-and-reason.test.d.ts +2 -0
- package/dist/verification/__tests__/rule-order-and-reason.test.d.ts.map +1 -0
- package/dist/verification/__tests__/rule-order-and-reason.test.js +126 -0
- package/dist/verification/__tests__/rule-order-and-reason.test.js.map +1 -0
- package/dist/verification/gate.d.ts +17 -1
- package/dist/verification/gate.d.ts.map +1 -1
- package/dist/verification/gate.js +58 -2
- package/dist/verification/gate.js.map +1 -1
- package/dist/verification/index.d.ts +1 -1
- package/dist/verification/index.d.ts.map +1 -1
- package/dist/verification/index.js +1 -1
- package/dist/verification/index.js.map +1 -1
- package/package.json +1 -1
- package/src/agents/ReactiveAgent.ts +5 -0
- package/src/agents/SupervisorAgent.ts +4 -0
- package/src/agents/runAgent.ts +22 -1
- package/src/connector/mcp/__tests__/positional-arrays.test.ts +183 -0
- package/src/connector/mcp/adapter.ts +131 -7
- package/src/constants/agent/index.ts +5 -0
- package/src/constants/plugin/index.ts +15 -0
- package/src/gateway/local.ts +26 -1
- package/src/manager/agent/lifecycle.ts +6 -0
- package/src/provider/thinking-support.ts +19 -2
- package/src/public-runtime.ts +9 -0
- package/src/runtime/query/__tests__/context.test.ts +24 -0
- package/src/runtime/query/__tests__/effort-reaches-the-wire.test.ts +135 -0
- package/src/runtime/query/__tests__/tool-timeout.test.ts +38 -0
- package/src/runtime/query/context.ts +16 -1
- package/src/runtime/query/executor.ts +11 -1
- package/src/runtime/query/iteration/index.ts +5 -0
- package/src/telemetry/__tests__/model-call-span.test.ts +22 -5
- package/src/telemetry/__tests__/span-closure.test.ts +12 -5
- package/src/tools/coordinator/__tests__/wait-with-idle-bound.test.ts +247 -0
- package/src/tools/coordinator/index.ts +83 -63
- package/src/tools/coordinator/wait-with-idle-bound.ts +142 -0
- package/src/types/agent/base.ts +17 -0
- package/src/types/agent/gateway.ts +24 -0
- package/src/types/agent/lifecycle-event.ts +7 -0
- package/src/types/agent/task.ts +5 -0
- package/src/types/hitl/index.ts +10 -0
- package/src/types/probe/registry.ts +6 -0
- package/src/types/run/config.ts +26 -0
- package/src/utils/__tests__/abort-reason.test.ts +56 -0
- package/src/utils/abort.ts +34 -0
- package/src/verification/__tests__/rule-order-and-reason.test.ts +149 -0
- package/src/verification/gate.ts +61 -3
- package/src/verification/index.ts +1 -1
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Await a task under both bounds.
|
|
3
|
+
*
|
|
4
|
+
* Note what this does NOT do: it does not cancel the worker. A wait that ran
|
|
5
|
+
* out is a statement about the waiter, not about the work — the child keeps
|
|
6
|
+
* going, its completion still reaches the inbox, and the supervisor is still
|
|
7
|
+
* told what it produced. Killing a child because a parent stopped waiting was
|
|
8
|
+
* never asked for, and losing an eight-minute worker's output because a
|
|
9
|
+
* two-minute clock expired is the exact shape of the bug this whole area has
|
|
10
|
+
* been unpicking.
|
|
11
|
+
*/
|
|
12
|
+
export async function waitForTaskWithBounds(gateway, taskId, bounds, now = Date.now) {
|
|
13
|
+
const startedAt = now();
|
|
14
|
+
let lastProgressAt = startedAt;
|
|
15
|
+
let settled = false;
|
|
16
|
+
const detach = gateway.onTaskProgress?.((id) => {
|
|
17
|
+
if (id === taskId)
|
|
18
|
+
lastProgressAt = now();
|
|
19
|
+
});
|
|
20
|
+
const idleBoundArmed = detach !== undefined && bounds.idleMs !== undefined;
|
|
21
|
+
try {
|
|
22
|
+
const completion = gateway.waitForTask(taskId).then((handle) => ({ kind: 'completed', handle }),
|
|
23
|
+
// A gateway that rejects has answered the question; let it through
|
|
24
|
+
// rather than reporting a timeout that did not happen.
|
|
25
|
+
(err) => {
|
|
26
|
+
throw err;
|
|
27
|
+
});
|
|
28
|
+
const expiry = new Promise((resolve) => {
|
|
29
|
+
// Polled rather than scheduled, because the idle deadline MOVES: a
|
|
30
|
+
// timer armed for it would have to be cleared and rearmed on every
|
|
31
|
+
// tick of progress, and the one that slipped through would be the
|
|
32
|
+
// one that mattered. A coarse tick is enough — these bounds are
|
|
33
|
+
// minutes, and being a second late to notice silence costs nothing.
|
|
34
|
+
const tick = setInterval(() => {
|
|
35
|
+
if (settled)
|
|
36
|
+
return;
|
|
37
|
+
const elapsed = now() - startedAt;
|
|
38
|
+
if (elapsed >= bounds.runMs) {
|
|
39
|
+
clearInterval(tick);
|
|
40
|
+
resolve({ kind: 'timeout', cause: 'run', elapsedMs: elapsed, idleBoundArmed });
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (idleBoundArmed && bounds.idleMs !== undefined) {
|
|
44
|
+
const quietFor = now() - lastProgressAt;
|
|
45
|
+
if (quietFor >= bounds.idleMs) {
|
|
46
|
+
clearInterval(tick);
|
|
47
|
+
resolve({ kind: 'timeout', cause: 'idle', elapsedMs: elapsed, idleBoundArmed });
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}, POLL_INTERVAL_MS);
|
|
51
|
+
tick.unref?.();
|
|
52
|
+
});
|
|
53
|
+
return await Promise.race([completion, expiry]);
|
|
54
|
+
}
|
|
55
|
+
finally {
|
|
56
|
+
settled = true;
|
|
57
|
+
detach?.();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* How often the bounds are checked.
|
|
62
|
+
*
|
|
63
|
+
* Coarse on purpose: both bounds are measured in minutes, so a second of
|
|
64
|
+
* latency in noticing is irrelevant, and a tight interval would spend a timer
|
|
65
|
+
* wakeup per second per in-flight worker for nothing.
|
|
66
|
+
*/
|
|
67
|
+
const POLL_INTERVAL_MS = 1_000;
|
|
68
|
+
/** What to tell the model, in the words that fit what actually happened. */
|
|
69
|
+
export function describeWaitTimeout(outcome) {
|
|
70
|
+
const seconds = Math.round(outcome.elapsedMs / 1000);
|
|
71
|
+
if (outcome.cause === 'idle') {
|
|
72
|
+
return `This worker went quiet: nothing has come from it for a while, after ${seconds}s. It has not been cancelled and may still finish — its result will arrive as a task notification if it does. Check agent_task_list, or start a different approach.`;
|
|
73
|
+
}
|
|
74
|
+
return outcome.idleBoundArmed
|
|
75
|
+
? `This worker has been running for ${seconds}s without finishing, though it was still doing something. It has not been cancelled — its result will arrive as a task notification if it finishes.`
|
|
76
|
+
: `This worker has been running for ${seconds}s without finishing. This gateway cannot report progress, so there is no way to tell a busy worker from a stuck one here. It has not been cancelled — its result will arrive as a task notification if it finishes.`;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=wait-with-idle-bound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait-with-idle-bound.js","sourceRoot":"","sources":["../../../src/tools/coordinator/wait-with-idle-bound.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,22 @@ export interface BaseAgentConfig {
|
|
|
20
20
|
costLimitUsd?: number;
|
|
21
21
|
permissionMode?: PermissionMode;
|
|
22
22
|
env?: Record<string, string>;
|
|
23
|
+
/**
|
|
24
|
+
* Thinking mode and response-effort level for every model call this agent
|
|
25
|
+
* makes. See {@link import('../run/config.js').AgentRunConfig} for what
|
|
26
|
+
* each one controls and why they are siblings.
|
|
27
|
+
*
|
|
28
|
+
* They are declared HERE, on the shared base, rather than on each agent
|
|
29
|
+
* config that happens to want them. Every agent builds its `AgentRunConfig`
|
|
30
|
+
* by hand-listing fields, and a field absent from a hand-listed literal is
|
|
31
|
+
* dropped in silence — which is exactly how `thinking` came to be settable
|
|
32
|
+
* only through the raw kernel entry point while every ergonomic one quietly
|
|
33
|
+
* ignored it. Putting them on the base is what makes "did you forget to
|
|
34
|
+
* forward it" a type error in the places that matter rather than a support
|
|
35
|
+
* question.
|
|
36
|
+
*/
|
|
37
|
+
thinking?: import('../provider/index.js').ThinkingConfig;
|
|
38
|
+
effort?: import('../provider/index.js').ReasoningEffort;
|
|
23
39
|
/**
|
|
24
40
|
* Deduplicate a retried invocation instead of running it twice.
|
|
25
41
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/agent/base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/agent/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,5 +42,28 @@ export interface TaskGateway {
|
|
|
42
42
|
getTask(taskId: TaskId): TaskHandle | undefined;
|
|
43
43
|
listTasks(): TaskHandle[];
|
|
44
44
|
onTaskCompleted(callback: (handle: TaskHandle) => void): () => void;
|
|
45
|
+
/**
|
|
46
|
+
* Tell me when a task does something, not just when it finishes.
|
|
47
|
+
*
|
|
48
|
+
* This is what an idle bound is measured against. A wall clock says
|
|
49
|
+
* nothing about whether a worker is working: an hour is long enough to
|
|
50
|
+
* be useless as a stall detector, and short enough to kill a child that
|
|
51
|
+
* is making steady progress at minute fifty-nine. Time-without-progress
|
|
52
|
+
* is the quantity that separates "stuck" from "slow", and only the
|
|
53
|
+
* gateway can see it.
|
|
54
|
+
*
|
|
55
|
+
* OPTIONAL, and the absence is meaningful rather than an oversight: a
|
|
56
|
+
* gateway that cannot observe its children still works, and its waits
|
|
57
|
+
* are bounded by the wall clock alone — which is exactly the behaviour
|
|
58
|
+
* before this existed. It is optional because `TaskGateway` is
|
|
59
|
+
* implemented by hosts, and a required method would break every one of
|
|
60
|
+
* them for a capability not all of them can provide.
|
|
61
|
+
*
|
|
62
|
+
* Anything the worker did counts: a tool call, an emitted token, a state
|
|
63
|
+
* change. What must NOT count is the supervisor's own activity — the
|
|
64
|
+
* point is to notice a child that has gone quiet, and a parent polling
|
|
65
|
+
* about it is not the child speaking.
|
|
66
|
+
*/
|
|
67
|
+
onTaskProgress?(callback: (taskId: TaskId) => void): () => void;
|
|
45
68
|
}
|
|
46
69
|
//# sourceMappingURL=gateway.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../src/types/agent/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE/C,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,iBAAiB,CAAA;AAEjE,MAAM,WAAW,iBAAiB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,oBAAoB,EAAE,IAAI,CAAA;IAEvD,OAAO,EAAE,MAAM,CAAA;IAEf,MAAM,EAAE,MAAM,CAAA;IAEd,gBAAgB,EAAE,MAAM,CAAA;IAExB,cAAc,CAAC,EAAE,mBAAmB,CAAA;IAEpC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,WAAW;IAC3B,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAE3D,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAEhD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAEhC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAE/C,SAAS,IAAI,UAAU,EAAE,CAAA;IAEzB,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../src/types/agent/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE/C,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,iBAAiB,CAAA;AAEjE,MAAM,WAAW,iBAAiB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,oBAAoB,EAAE,IAAI,CAAA;IAEvD,OAAO,EAAE,MAAM,CAAA;IAEf,MAAM,EAAE,MAAM,CAAA;IAEd,gBAAgB,EAAE,MAAM,CAAA;IAExB,cAAc,CAAC,EAAE,mBAAmB,CAAA;IAEpC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,WAAW;IAC3B,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAE3D,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAEhD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAEhC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAE/C,SAAS,IAAI,UAAU,EAAE,CAAA;IAEzB,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;IAEnE;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CAC/D"}
|
|
@@ -10,7 +10,15 @@ export type AgentLifecycleEvent = {
|
|
|
10
10
|
} | {
|
|
11
11
|
type: 'running';
|
|
12
12
|
taskId: TaskId;
|
|
13
|
-
}
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* **Never emitted.** Nothing constructs this variant, so a host that
|
|
16
|
+
* switches on it has written a branch that cannot run — and a host that
|
|
17
|
+
* relies on progress arriving will wait for an event that never comes.
|
|
18
|
+
*
|
|
19
|
+
* @deprecated No producer. Removed in the next major.
|
|
20
|
+
*/
|
|
21
|
+
| {
|
|
14
22
|
type: 'progress_updated';
|
|
15
23
|
taskId: TaskId;
|
|
16
24
|
progress: AgentTaskProgress;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-event.d.ts","sourceRoot":"","sources":["../../../src/types/agent/lifecycle-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAElD,MAAM,MAAM,mBAAmB,GAC5B;IACA,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CACZ,GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE
|
|
1
|
+
{"version":3,"file":"lifecycle-event.d.ts","sourceRoot":"","sources":["../../../src/types/agent/lifecycle-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAElD,MAAM,MAAM,mBAAmB,GAC5B;IACA,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CACZ,GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACrC;;;;;;GAMG;GACD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAA;CAAE,GACzE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvC,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA"}
|
|
@@ -80,6 +80,11 @@ export interface AgentTask {
|
|
|
80
80
|
context: AgentTaskContext;
|
|
81
81
|
state: AgentTaskState;
|
|
82
82
|
result?: BaseAgentResult;
|
|
83
|
+
/**
|
|
84
|
+
* **Never populated.** Nothing in the SDK writes task progress.
|
|
85
|
+
*
|
|
86
|
+
* @deprecated No producer. Removed in the next major.
|
|
87
|
+
*/
|
|
83
88
|
progress?: AgentTaskProgress;
|
|
84
89
|
/**
|
|
85
90
|
* Tokens reserved from the shared pool when this child was spawned.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/types/agent/task.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/types/agent/task.ts"],"names":[],"mappings":"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"}
|
|
@@ -190,6 +190,16 @@ export interface IterationCheckpoint {
|
|
|
190
190
|
messages: Message[];
|
|
191
191
|
tokenUsage: TokenUsage;
|
|
192
192
|
costInfo: CostInfo;
|
|
193
|
+
/**
|
|
194
|
+
* **Never set.** No checkpoint is written with a plan status.
|
|
195
|
+
*
|
|
196
|
+
* It matters more than an unused field usually would: a host restoring a
|
|
197
|
+
* checkpoint and reading this to decide whether the plan was approved
|
|
198
|
+
* gets `undefined` for every run, approved or not, and cannot tell the
|
|
199
|
+
* two apart. Ask the plan manager instead.
|
|
200
|
+
*
|
|
201
|
+
* @deprecated No producer. Removed in the next major.
|
|
202
|
+
*/
|
|
193
203
|
planStatus?: PlanStatus;
|
|
194
204
|
/**
|
|
195
205
|
* Present when the run parked at this checkpoint awaiting a human.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/hitl/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/hitl/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/hitl/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/hitl/index.ts"],"names":[],"mappings":"AA0OA,MAAM,UAAU,kBAAkB,CAAC,OAA4B;IAC9D,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,eAAe;YACnB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;QACnD,KAAK,aAAa;YACjB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAA;QACpD,KAAK,sBAAsB;YAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;QAC/C,KAAK,eAAe;YACnB,2DAA2D;YAC3D,yDAAyD;YACzD,6DAA6D;YAC7D,uCAAuC;YACvC,OAAO,OAAO,CAAC,OAAO,CAAC;gBACtB,MAAM,EAAE,iBAAiB;gBACzB,iBAAiB,EAAE,EAAE;gBACrB,QAAQ,EAAE,mEAAmE;gBAC7E,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU;aACvC,CAAC,CAAA;QACH,OAAO,CAAC,CAAC,CAAC;YACT,MAAM,WAAW,GAAU,OAAO,CAAA;YAClC,MAAM,IAAI,KAAK,CAAC,gCAAiC,WAAmC,CAAC,IAAI,EAAE,CAAC,CAAA;QAC7F,CAAC;IACF,CAAC;AACF,CAAC"}
|
|
@@ -21,6 +21,12 @@ export interface ProbeOptions<K extends ProbeEventKind = ProbeEventKind> {
|
|
|
21
21
|
readonly where?: (event: ProbeEventOf<K>) => boolean;
|
|
22
22
|
readonly priority?: number;
|
|
23
23
|
readonly name?: string;
|
|
24
|
+
/**
|
|
25
|
+
* **Not implemented.** Setting it changes nothing; no probe emits
|
|
26
|
+
* telemetry because of it.
|
|
27
|
+
*
|
|
28
|
+
* @deprecated Unimplemented. Removed in the next major.
|
|
29
|
+
*/
|
|
24
30
|
readonly otel?: boolean;
|
|
25
31
|
readonly override?: boolean;
|
|
26
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/types/probe/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAA;AAEpC,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,cAAc,IAAI,CACpD,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,GAAG,EAAE,YAAY,KACb,IAAI,CAAA;AAET,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAElG,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,iBAAiB,IAAI,CACtD,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,GAAG,EAAE,YAAY,KACb,YAAY,CAAA;AAEjB,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAA;IACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC3B"}
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/types/probe/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAA;AAEpC,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,cAAc,IAAI,CACpD,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,GAAG,EAAE,YAAY,KACb,IAAI,CAAA;AAET,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAElG,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,iBAAiB,IAAI,CACtD,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,GAAG,EAAE,YAAY,KACb,YAAY,CAAA;AAEjB,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAA;IACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC3B"}
|
|
@@ -16,6 +16,31 @@ export interface AgentRunConfig {
|
|
|
16
16
|
* driver omits them rather than sending a request it knows will 400.
|
|
17
17
|
*/
|
|
18
18
|
thinking?: import('../provider/index.js').ThinkingConfig;
|
|
19
|
+
/**
|
|
20
|
+
* How much work the model should spend on each call in the run.
|
|
21
|
+
*
|
|
22
|
+
* A SIBLING of {@link AgentRunConfig.thinking}, not a field inside it.
|
|
23
|
+
* On some models the two are independent controls that apply together —
|
|
24
|
+
* effort shapes the answer while a budget sets thinking depth — so
|
|
25
|
+
* nesting one inside the other would make that combination unsayable.
|
|
26
|
+
*
|
|
27
|
+
* The failure this closes is the one this codebase keeps finding: the
|
|
28
|
+
* field existed on the provider params, a driver already read it and
|
|
29
|
+
* wrote it to the wire, and nothing in the kernel ever set it. So a
|
|
30
|
+
* caller could not reach it at all, and the symptom — every request
|
|
31
|
+
* going out at the model's default — reads as "this model ignores
|
|
32
|
+
* effort" rather than "nobody plumbed it through".
|
|
33
|
+
*
|
|
34
|
+
* Run-level rather than per-step, deliberately. It is a property of what
|
|
35
|
+
* the run is FOR, and a value that moves between steps buys a different
|
|
36
|
+
* answer shape at the cost of the prompt-cache prefix on every step that
|
|
37
|
+
* changes it.
|
|
38
|
+
*
|
|
39
|
+
* A driver that cannot honour it REFUSES rather than dropping it, on the
|
|
40
|
+
* same reasoning as `thinking`: paying for a run you believe was
|
|
41
|
+
* high-effort and silently was not is worse than a startup error.
|
|
42
|
+
*/
|
|
43
|
+
effort?: import('../provider/index.js').ReasoningEffort;
|
|
19
44
|
tokenBudget: number;
|
|
20
45
|
costLimitUsd?: number;
|
|
21
46
|
maxIterations?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/run/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,sBAAsB,EAAE,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/run/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,sBAAsB,EAAE,cAAc,CAAA;IAExD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,EAAE,OAAO,sBAAsB,EAAE,eAAe,CAAA;IACvD,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,OAAO,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;IAED;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,cAAc,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;IAEX,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IAEpB,WAAW,CAAC,EAAE,KAAK,CAAA;IAEnB,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;;;OAKG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;CACjC;AAED,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,sBAAsB,EAAE,MAAM,CAAA;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abort-reason.test.d.ts","sourceRoot":"","sources":["../../../src/utils/__tests__/abort-reason.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { abortReasonText } from '../abort.js';
|
|
3
|
+
/**
|
|
4
|
+
* A cancellation and a deadline arrive by the same mechanism and mean opposite
|
|
5
|
+
* things to whoever reads the result. The distinction only survives if the
|
|
6
|
+
* words a caller attached travel with the abort — and only if the words the
|
|
7
|
+
* platform invents on a caller's behalf do NOT, because a fabricated
|
|
8
|
+
* explanation is worse than an honest silence.
|
|
9
|
+
*/
|
|
10
|
+
describe('a stop carries the words its caller gave it', () => {
|
|
11
|
+
it('reports a reason someone wrote', () => {
|
|
12
|
+
expect(abortReasonText(new Error('deployment window closed'))).toBe('deployment window closed');
|
|
13
|
+
});
|
|
14
|
+
it('reports a named deadline, which is the case this exists for', () => {
|
|
15
|
+
const reason = new Error('run budget of 30000ms exhausted');
|
|
16
|
+
expect(abortReasonText(reason)).toBe('run budget of 30000ms exhausted');
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
describe('a stop with nothing to say stays silent', () => {
|
|
20
|
+
it('says nothing for a bare abort()', () => {
|
|
21
|
+
// `abort()` with no argument fills `reason` with a DOMException named
|
|
22
|
+
// AbortError. Nobody wrote that word; it is the platform's way of
|
|
23
|
+
// saying the caller gave no reason, and rendering it would turn "we
|
|
24
|
+
// do not know" into what looks like an answer.
|
|
25
|
+
const controller = new AbortController();
|
|
26
|
+
controller.abort();
|
|
27
|
+
expect(controller.signal.reason).toBeInstanceOf(Error);
|
|
28
|
+
expect(controller.signal.reason.name).toBe('AbortError');
|
|
29
|
+
expect(abortReasonText(controller.signal.reason)).toBeUndefined();
|
|
30
|
+
});
|
|
31
|
+
it('says nothing for a platform timeout', () => {
|
|
32
|
+
const timeout = new Error('The operation was aborted due to timeout');
|
|
33
|
+
timeout.name = 'TimeoutError';
|
|
34
|
+
expect(abortReasonText(timeout)).toBeUndefined();
|
|
35
|
+
});
|
|
36
|
+
it('says nothing for a non-Error reason', () => {
|
|
37
|
+
// The agent manager aborts a child with the bare string 'canceled'.
|
|
38
|
+
// Rendering it produces "was cancelled: canceled" — noise wearing the
|
|
39
|
+
// shape of information.
|
|
40
|
+
expect(abortReasonText('canceled')).toBeUndefined();
|
|
41
|
+
expect(abortReasonText(undefined)).toBeUndefined();
|
|
42
|
+
expect(abortReasonText({ message: 'not an Error' })).toBeUndefined();
|
|
43
|
+
});
|
|
44
|
+
it('says nothing for an Error whose message is empty', () => {
|
|
45
|
+
expect(abortReasonText(new Error(' '))).toBeUndefined();
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=abort-reason.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abort-reason.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/abort-reason.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;GAMG;AAEH,QAAQ,CAAC,6CAA6C,EAAE,GAAG,EAAE;IAC5D,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;IAChG,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACtE,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAC3D,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACxD,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC1C,sEAAsE;QACtE,kEAAkE;QAClE,oEAAoE;QACpE,+CAA+C;QAC/C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,UAAU,CAAC,KAAK,EAAE,CAAA;QAElB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QACtD,MAAM,CAAE,UAAU,CAAC,MAAM,CAAC,MAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACnE,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;IAClE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC9C,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACrE,OAAO,CAAC,IAAI,GAAG,cAAc,CAAA;QAC7B,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC9C,oEAAoE;QACpE,sEAAsE;QACtE,wBAAwB;QACxB,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;QACnD,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;QAClD,MAAM,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;IACrE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;IAC1D,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
|
package/dist/utils/abort.d.ts
CHANGED
|
@@ -1,2 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The words a caller attached to a stop, or nothing when there were none.
|
|
3
|
+
*
|
|
4
|
+
* A cancellation and a deadline arrive by the same mechanism and mean opposite
|
|
5
|
+
* things to whoever reads the result. "Was cancelled" tells a model that
|
|
6
|
+
* something outside it decided, and nothing about what — so a tool result
|
|
7
|
+
* could not distinguish an operator pressing stop from a budget running out
|
|
8
|
+
* from a parent abandoning a child, and every one of those wants a different
|
|
9
|
+
* next move.
|
|
10
|
+
*
|
|
11
|
+
* Two kinds of reason are deliberately reported as no reason:
|
|
12
|
+
*
|
|
13
|
+
* - `AbortError` and `TimeoutError`. `abort()` with no argument fills `reason`
|
|
14
|
+
* with a DOMException named `AbortError`, so it is not a message anybody
|
|
15
|
+
* wrote; it is the platform's word for "someone stopped and said nothing".
|
|
16
|
+
* Rendering it would turn today's honest silence into a fake explanation.
|
|
17
|
+
* - Anything that is not an `Error`. The agent manager aborts a child with the
|
|
18
|
+
* bare string `'canceled'`, which would otherwise render as "was cancelled:
|
|
19
|
+
* canceled" — noise wearing the shape of information.
|
|
20
|
+
*
|
|
21
|
+
* Name-checked rather than checked by class, because a reason can cross a
|
|
22
|
+
* package boundary where `instanceof` stops holding across duplicate copies.
|
|
23
|
+
* That is the same answer this codebase already settled on for provider
|
|
24
|
+
* errors.
|
|
25
|
+
*/
|
|
26
|
+
export declare function abortReasonText(reason: unknown): string | undefined;
|
|
1
27
|
export declare function createChildAbortController(parent: AbortController): AbortController;
|
|
2
28
|
//# sourceMappingURL=abort.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abort.d.ts","sourceRoot":"","sources":["../../src/utils/abort.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"abort.d.ts","sourceRoot":"","sources":["../../src/utils/abort.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAKnE;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CA4BnF"}
|
package/dist/utils/abort.js
CHANGED
|
@@ -1,3 +1,37 @@
|
|
|
1
|
+
import { toErrorMessage } from './error.js';
|
|
2
|
+
/**
|
|
3
|
+
* The words a caller attached to a stop, or nothing when there were none.
|
|
4
|
+
*
|
|
5
|
+
* A cancellation and a deadline arrive by the same mechanism and mean opposite
|
|
6
|
+
* things to whoever reads the result. "Was cancelled" tells a model that
|
|
7
|
+
* something outside it decided, and nothing about what — so a tool result
|
|
8
|
+
* could not distinguish an operator pressing stop from a budget running out
|
|
9
|
+
* from a parent abandoning a child, and every one of those wants a different
|
|
10
|
+
* next move.
|
|
11
|
+
*
|
|
12
|
+
* Two kinds of reason are deliberately reported as no reason:
|
|
13
|
+
*
|
|
14
|
+
* - `AbortError` and `TimeoutError`. `abort()` with no argument fills `reason`
|
|
15
|
+
* with a DOMException named `AbortError`, so it is not a message anybody
|
|
16
|
+
* wrote; it is the platform's word for "someone stopped and said nothing".
|
|
17
|
+
* Rendering it would turn today's honest silence into a fake explanation.
|
|
18
|
+
* - Anything that is not an `Error`. The agent manager aborts a child with the
|
|
19
|
+
* bare string `'canceled'`, which would otherwise render as "was cancelled:
|
|
20
|
+
* canceled" — noise wearing the shape of information.
|
|
21
|
+
*
|
|
22
|
+
* Name-checked rather than checked by class, because a reason can cross a
|
|
23
|
+
* package boundary where `instanceof` stops holding across duplicate copies.
|
|
24
|
+
* That is the same answer this codebase already settled on for provider
|
|
25
|
+
* errors.
|
|
26
|
+
*/
|
|
27
|
+
export function abortReasonText(reason) {
|
|
28
|
+
if (!(reason instanceof Error))
|
|
29
|
+
return undefined;
|
|
30
|
+
if (reason.name === 'AbortError' || reason.name === 'TimeoutError')
|
|
31
|
+
return undefined;
|
|
32
|
+
const text = toErrorMessage(reason).trim();
|
|
33
|
+
return text.length > 0 ? text : undefined;
|
|
34
|
+
}
|
|
1
35
|
export function createChildAbortController(parent) {
|
|
2
36
|
const child = new AbortController();
|
|
3
37
|
if (parent.signal.aborted) {
|
package/dist/utils/abort.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abort.js","sourceRoot":"","sources":["../../src/utils/abort.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,0BAA0B,CAAC,MAAuB;IACjE,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAA;IAEnC,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC3B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,OAAO,KAAK,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAA;IAEpC,MAAM,aAAa,GAAG,GAAS,EAAE;QAChC,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,CAAA;QAC7B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAChC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC;IACF,CAAC,CAAA;IAED,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtE,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAC5B,OAAO,EACP,GAAG,EAAE;QACJ,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IAC1D,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACd,CAAA;IAED,OAAO,KAAK,CAAA;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"abort.js","sourceRoot":"","sources":["../../src/utils/abort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,eAAe,CAAC,MAAe;IAC9C,IAAI,CAAC,CAAC,MAAM,YAAY,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAChD,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc;QAAE,OAAO,SAAS,CAAA;IACpF,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1C,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAuB;IACjE,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAA;IAEnC,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC3B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,OAAO,KAAK,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAA;IAEpC,MAAM,aAAa,GAAG,GAAS,EAAE;QAChC,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,CAAA;QAC7B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAChC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC;IACF,CAAC,CAAA;IAED,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtE,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAC5B,OAAO,EACP,GAAG,EAAE;QACJ,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IAC1D,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACd,CAAA;IAED,OAAO,KAAK,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-order-and-reason.test.d.ts","sourceRoot":"","sources":["../../../src/verification/__tests__/rule-order-and-reason.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { getRootLogger } from '../../utils/logger.js';
|
|
3
|
+
import { VerificationGate, describeRule } from '../gate.js';
|
|
4
|
+
/**
|
|
5
|
+
* Two things an operator has to be able to trust about a policy gate: that a
|
|
6
|
+
* rule they wrote is consulted, and that a refusal says enough to act on.
|
|
7
|
+
*
|
|
8
|
+
* Neither held. `allowReadOnlyTools` was expanded into a rule AHEAD of the
|
|
9
|
+
* operator's own, and the gate stops at the first match — so "prompt me before
|
|
10
|
+
* every read" was not rejected, not warned about, just never reached. And a
|
|
11
|
+
* denial arrived as the rule's TYPE NAME, which tells a model that a rule
|
|
12
|
+
* matched and nothing whatever about what it said.
|
|
13
|
+
*/
|
|
14
|
+
function gate(config) {
|
|
15
|
+
return new VerificationGate({
|
|
16
|
+
enabled: true,
|
|
17
|
+
rules: [],
|
|
18
|
+
allowReadOnlyTools: false,
|
|
19
|
+
denyDangerousPatterns: false,
|
|
20
|
+
logDecisions: false,
|
|
21
|
+
...config,
|
|
22
|
+
}, getRootLogger());
|
|
23
|
+
}
|
|
24
|
+
/** Only the fields the gate reads. */
|
|
25
|
+
function toolDef(name, readOnly) {
|
|
26
|
+
return { name, isReadOnly: () => readOnly };
|
|
27
|
+
}
|
|
28
|
+
describe('an operator rule outranks the read-only convenience', () => {
|
|
29
|
+
it('lets a rule make a read-only tool prompt', () => {
|
|
30
|
+
// The case that was silently unreachable: `read` observes only, the
|
|
31
|
+
// convenience is on, and the operator has asked to be consulted anyway.
|
|
32
|
+
const result = gate({
|
|
33
|
+
allowReadOnlyTools: true,
|
|
34
|
+
rules: [{ type: 'deny_by_name', toolNames: ['read'] }],
|
|
35
|
+
}).evaluate({
|
|
36
|
+
toolName: 'read',
|
|
37
|
+
toolInput: { path: 'notes.txt' },
|
|
38
|
+
toolDef: toolDef('read', true),
|
|
39
|
+
});
|
|
40
|
+
expect(result.decision, 'the operator rule was never consulted').toBe('deny');
|
|
41
|
+
});
|
|
42
|
+
it('still allows a read-only tool nobody wrote a rule about', () => {
|
|
43
|
+
// The convenience keeps doing its job as a DEFAULT, which is what it
|
|
44
|
+
// always was in substance.
|
|
45
|
+
const result = gate({
|
|
46
|
+
allowReadOnlyTools: true,
|
|
47
|
+
rules: [{ type: 'deny_by_name', toolNames: ['write'] }],
|
|
48
|
+
}).evaluate({
|
|
49
|
+
toolName: 'grep',
|
|
50
|
+
toolInput: { pattern: 'x' },
|
|
51
|
+
toolDef: toolDef('grep', true),
|
|
52
|
+
});
|
|
53
|
+
expect(result.decision).toBe('allow');
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
describe('the safety floor still outranks everything', () => {
|
|
57
|
+
it('refuses a dangerous pattern even when a rule would allow the tool', () => {
|
|
58
|
+
// The denial goes first and stays there. An operator rule must not be
|
|
59
|
+
// able to open what it closes.
|
|
60
|
+
const result = gate({
|
|
61
|
+
denyDangerousPatterns: true,
|
|
62
|
+
rules: [{ type: 'allow_by_name', toolNames: ['bash'] }],
|
|
63
|
+
}).evaluate({
|
|
64
|
+
toolName: 'bash',
|
|
65
|
+
toolInput: { command: 'rm -rf /' },
|
|
66
|
+
toolDef: toolDef('bash', false),
|
|
67
|
+
});
|
|
68
|
+
expect(result.decision).toBe('deny');
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
describe('a refusal says what the rule said', () => {
|
|
72
|
+
it('names the pattern rather than the rule type', () => {
|
|
73
|
+
// "Matched rule: custom_pattern" tells a model a rule matched and
|
|
74
|
+
// nothing about it, so it rewords the same call and tries again. The
|
|
75
|
+
// pattern is what makes the retry visibly pointless.
|
|
76
|
+
const reason = describeRule({
|
|
77
|
+
type: 'custom_pattern',
|
|
78
|
+
pattern: 'git push*',
|
|
79
|
+
target: 'args',
|
|
80
|
+
decision: 'deny',
|
|
81
|
+
});
|
|
82
|
+
expect(reason).toContain('git push*');
|
|
83
|
+
expect(reason).toContain('denied');
|
|
84
|
+
expect(reason).not.toContain('custom_pattern');
|
|
85
|
+
});
|
|
86
|
+
it('says a by-name denial is about the tool, not the input', () => {
|
|
87
|
+
// The distinction that decides the next move: reworded arguments will
|
|
88
|
+
// not help, so the model should stop rather than iterate.
|
|
89
|
+
const reason = describeRule({ type: 'deny_by_name', toolNames: ['bash', 'write'] });
|
|
90
|
+
expect(reason).toContain('bash');
|
|
91
|
+
expect(reason).toContain('a different input will not change it');
|
|
92
|
+
});
|
|
93
|
+
it('says a dangerous-pattern refusal is not worth rewording', () => {
|
|
94
|
+
expect(describeRule({ type: 'deny_dangerous_patterns' })).toContain('will not help');
|
|
95
|
+
});
|
|
96
|
+
it('reaches the model through the gate result, not just the helper', () => {
|
|
97
|
+
const result = gate({ rules: [{ type: 'deny_by_name', toolNames: ['bash'] }] }).evaluate({
|
|
98
|
+
toolName: 'bash',
|
|
99
|
+
toolInput: { command: 'ls' },
|
|
100
|
+
toolDef: toolDef('bash', false),
|
|
101
|
+
});
|
|
102
|
+
expect(result.reason).toContain('bash');
|
|
103
|
+
expect(result.reason).not.toMatch(/^Matched rule:/);
|
|
104
|
+
});
|
|
105
|
+
it('is reachable by a caller driving the rules without the gate', async () => {
|
|
106
|
+
// `evaluateRule` is public and answers only WHETHER a rule matched. A
|
|
107
|
+
// caller holding that verdict and no describer is back to switching on
|
|
108
|
+
// the rule's type for its wording — the same defect the gate carried,
|
|
109
|
+
// one layer up. So the two travel together, and this asserts the
|
|
110
|
+
// PAIRING rather than either one alone.
|
|
111
|
+
//
|
|
112
|
+
// Asserted at this barrel rather than the package barrel on purpose.
|
|
113
|
+
// Importing `../../index.js` costs ~4s of module-graph load — measured,
|
|
114
|
+
// on an idle machine, against a default 5s test budget — so the version
|
|
115
|
+
// of this test that looked stronger was one busy CI runner away from
|
|
116
|
+
// failing for a reason that has nothing to do with verification. The
|
|
117
|
+
// package half is gated better elsewhere anyway: the public-surface
|
|
118
|
+
// baseline resolves `dist/index.d.ts` through the checker and reports a
|
|
119
|
+
// REGRESSION naming any symbol that leaves the surface.
|
|
120
|
+
const barrel = await import('../index.js');
|
|
121
|
+
expect(typeof barrel.evaluateRule).toBe('function');
|
|
122
|
+
expect(typeof barrel.describeRule).toBe('function');
|
|
123
|
+
expect(barrel.describeRule({ type: 'deny_by_name', toolNames: ['bash'] })).toContain('bash');
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
//# sourceMappingURL=rule-order-and-reason.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-order-and-reason.test.js","sourceRoot":"","sources":["../../../src/verification/__tests__/rule-order-and-reason.test.ts"],"names":[],"mappings":"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"}
|