@yolk-sdk/agent 0.1.0-canary.102 → 0.1.0-canary.103
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 +61 -43
- package/dist/client/state.d.mts +48 -48
- package/dist/client/state.d.mts.map +1 -1
- package/dist/loop/run.d.mts +5 -2
- package/dist/loop/run.d.mts.map +1 -1
- package/dist/loop/run.mjs +10 -2
- package/dist/loop/run.mjs.map +1 -1
- package/dist/protocol/index.d.mts +2 -2
- package/dist/protocol/index.d.mts.map +1 -1
- package/dist/protocol/index.mjs +2 -2
- package/dist/protocol/tool.d.mts +26 -6
- package/dist/protocol/tool.d.mts.map +1 -1
- package/dist/protocol/tool.mjs +23 -11
- package/dist/protocol/tool.mjs.map +1 -1
- package/dist/react/chat-actions.d.mts +26 -26
- package/dist/react/chat-actions.d.mts.map +1 -1
- package/dist/react/chat-items.d.mts +63 -63
- package/dist/react/chat-items.d.mts.map +1 -1
- package/dist/react/chat-messages.d.mts +66 -66
- package/dist/react/chat-messages.d.mts.map +1 -1
- package/dist/skillset/merge.d.mts +2 -2
- package/dist/tools/index.d.mts +4 -2
- package/dist/tools/index.mjs +3 -1
- package/dist/tools/interaction.mjs +3 -3
- package/dist/tools/interaction.mjs.map +1 -1
- package/dist/tools/ledger.d.mts +7 -2
- package/dist/tools/ledger.d.mts.map +1 -1
- package/dist/tools/ledger.mjs +8 -3
- package/dist/tools/ledger.mjs.map +1 -1
- package/dist/tools/plan-review.d.mts +75 -0
- package/dist/tools/plan-review.d.mts.map +1 -0
- package/dist/tools/plan-review.mjs +150 -0
- package/dist/tools/plan-review.mjs.map +1 -0
- package/dist/tools/plan-runtime.d.mts +59 -0
- package/dist/tools/plan-runtime.d.mts.map +1 -0
- package/dist/tools/plan-runtime.mjs +629 -0
- package/dist/tools/plan-runtime.mjs.map +1 -0
- package/dist/tools/plan.d.mts +406 -0
- package/dist/tools/plan.d.mts.map +1 -0
- package/dist/tools/plan.mjs +228 -0
- package/dist/tools/plan.mjs.map +1 -0
- package/dist/tools/registry.d.mts +64 -9
- package/dist/tools/registry.d.mts.map +1 -1
- package/dist/tools/registry.mjs +218 -65
- package/dist/tools/registry.mjs.map +1 -1
- package/package.json +2 -2
- package/src/loop/run.ts +26 -6
- package/src/protocol/index.ts +2 -0
- package/src/protocol/tool.ts +60 -24
- package/src/tools/README.md +20 -1
- package/src/tools/index.ts +57 -0
- package/src/tools/ledger.ts +13 -2
- package/src/tools/plan-review.ts +272 -0
- package/src/tools/plan-runtime.ts +1212 -0
- package/src/tools/plan.ts +537 -0
- package/src/tools/registry.ts +494 -67
package/README.md
CHANGED
|
@@ -20,47 +20,47 @@ Published package metadata requires Node.js 22+.
|
|
|
20
20
|
|
|
21
21
|
## Subpaths
|
|
22
22
|
|
|
23
|
-
| Subpath | Purpose
|
|
24
|
-
| -------------------------------------------------------- |
|
|
25
|
-
| `@yolk-sdk/agent/protocol` | Wire messages, events, content, usage, tool schemas
|
|
26
|
-
| `@yolk-sdk/agent/loop` | Stateless LLM/tool loop
|
|
27
|
-
| `@yolk-sdk/agent/loop/testing` | Faux provider and tool executor test helpers
|
|
28
|
-
| `@yolk-sdk/agent/runtime` | Transcript or append-backed runtime orchestration
|
|
29
|
-
| `@yolk-sdk/agent/client` | HTTP/NDJSON transport, HITL resume, retry/error state helpers
|
|
30
|
-
| `@yolk-sdk/agent/compaction` | Host-owned compaction budgets, checkpoints, formatting, retry
|
|
31
|
-
| `@yolk-sdk/agent/classification` | Classifier model contract: typed questions, answers, usage, errors
|
|
32
|
-
| `@yolk-sdk/agent/tools` | Tool registry, typed inputs, interactions, subagents/questions, durable tool ledger
|
|
33
|
-
| `@yolk-sdk/agent/react` | Headless React chat hook, reducer, selectors, and render model
|
|
34
|
-
| `@yolk-sdk/agent/oauth` | Provider-neutral OAuth token and broker contracts
|
|
35
|
-
| `@yolk-sdk/agent/providers/openai` | OpenAI/Codex OAuth and broker helpers
|
|
36
|
-
| `@yolk-sdk/agent/providers/openai/codex` | OpenAI Codex request and auth helpers
|
|
37
|
-
| `@yolk-sdk/agent/providers/openai/codex-usage` | Codex subscription-allowance snapshots
|
|
38
|
-
| `@yolk-sdk/agent/providers/openai/codex-provider` | Codex LLM provider factory
|
|
39
|
-
| `@yolk-sdk/agent/providers/openai/provider` | OpenAI-compatible LLM provider factory
|
|
40
|
-
| `@yolk-sdk/agent/providers/openai/conformance` | Synthetic OpenAI chat, Codex Responses, and Codex usage fixtures and conformance cases
|
|
41
|
-
| `@yolk-sdk/agent/providers/openai/realtime` | OpenAI Realtime session config and event codecs
|
|
42
|
-
| `@yolk-sdk/agent/providers/openai/speech` | OpenAI text-to-speech and transcription adapters
|
|
43
|
-
| `@yolk-sdk/agent/providers/vercel/ai-gateway-provider` | Vercel AI Gateway Chat Completions provider factory
|
|
44
|
-
| `@yolk-sdk/agent/providers/vercel/ai-gateway-classifier` | Vercel AI Gateway classifier (`POST /v1/evaluate`) layer
|
|
45
|
-
| `@yolk-sdk/agent/providers/vercel/conformance` | Verified Gateway chat fixtures, synthetic classifier fixtures, and conformance cases
|
|
46
|
-
| `@yolk-sdk/agent/providers/opencode/go-provider` | OpenCode Go Chat Completions, Messages, and Responses provider
|
|
47
|
-
| `@yolk-sdk/agent/providers/opencode/usage` | OpenCode Go subscription-allowance snapshots
|
|
48
|
-
| `@yolk-sdk/agent/providers/opencode/conformance` | Synthetic OpenCode Go (per protocol, commentary replay, usage) fixtures and conformance cases
|
|
49
|
-
| `@yolk-sdk/agent/providers/anthropic` | Anthropic/Claude OAuth and broker helpers
|
|
50
|
-
| `@yolk-sdk/agent/providers/anthropic/claude` | Claude request and auth helpers
|
|
51
|
-
| `@yolk-sdk/agent/providers/anthropic/usage` | Claude subscription-allowance snapshots
|
|
52
|
-
| `@yolk-sdk/agent/providers/anthropic/claude-provider` | Claude LLM provider factory
|
|
53
|
-
| `@yolk-sdk/agent/providers/anthropic/conformance` | Synthetic Anthropic Messages and Claude usage fixtures and conformance cases
|
|
54
|
-
| `@yolk-sdk/agent/providers/xai` | Grok subscription OAuth and token broker helpers
|
|
55
|
-
| `@yolk-sdk/agent/providers/xai/grok` | Grok subscription request and auth helpers
|
|
56
|
-
| `@yolk-sdk/agent/providers/xai/grok-provider` | Grok subscription LLM provider factory
|
|
57
|
-
| `@yolk-sdk/agent/providers/xai/usage` | Grok subscription-allowance snapshots
|
|
58
|
-
| `@yolk-sdk/agent/providers/xai/conformance` | Synthetic Grok Responses and Grok usage fixtures and conformance cases
|
|
59
|
-
| `@yolk-sdk/agent/providers/subscription-usage` | Shared allowance snapshot and safe error schemas
|
|
60
|
-
| `@yolk-sdk/agent/skillset` | Portable skill and slash-command parsing/catalogs
|
|
61
|
-
| `@yolk-sdk/agent/voice` | Voice protocol, controller, tool handler, projection, speech
|
|
62
|
-
| `@yolk-sdk/agent/voice/browser` | Browser WebRTC voice transport
|
|
63
|
-
| `@yolk-sdk/agent/voice/react` | Headless browser voice React hook
|
|
23
|
+
| Subpath | Purpose |
|
|
24
|
+
| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
|
|
25
|
+
| `@yolk-sdk/agent/protocol` | Wire messages, events, content, usage, tool schemas |
|
|
26
|
+
| `@yolk-sdk/agent/loop` | Stateless LLM/tool loop |
|
|
27
|
+
| `@yolk-sdk/agent/loop/testing` | Faux provider and tool executor test helpers |
|
|
28
|
+
| `@yolk-sdk/agent/runtime` | Transcript or append-backed runtime orchestration |
|
|
29
|
+
| `@yolk-sdk/agent/client` | HTTP/NDJSON transport, HITL resume, retry/error state helpers |
|
|
30
|
+
| `@yolk-sdk/agent/compaction` | Host-owned compaction budgets, checkpoints, formatting, retry |
|
|
31
|
+
| `@yolk-sdk/agent/classification` | Classifier model contract: typed questions, answers, usage, errors |
|
|
32
|
+
| `@yolk-sdk/agent/tools` | Tool registry, typed inputs, interactions, subagents/questions, durable tool ledger, staged tool plans |
|
|
33
|
+
| `@yolk-sdk/agent/react` | Headless React chat hook, reducer, selectors, and render model |
|
|
34
|
+
| `@yolk-sdk/agent/oauth` | Provider-neutral OAuth token and broker contracts |
|
|
35
|
+
| `@yolk-sdk/agent/providers/openai` | OpenAI/Codex OAuth and broker helpers |
|
|
36
|
+
| `@yolk-sdk/agent/providers/openai/codex` | OpenAI Codex request and auth helpers |
|
|
37
|
+
| `@yolk-sdk/agent/providers/openai/codex-usage` | Codex subscription-allowance snapshots |
|
|
38
|
+
| `@yolk-sdk/agent/providers/openai/codex-provider` | Codex LLM provider factory |
|
|
39
|
+
| `@yolk-sdk/agent/providers/openai/provider` | OpenAI-compatible LLM provider factory |
|
|
40
|
+
| `@yolk-sdk/agent/providers/openai/conformance` | Synthetic OpenAI chat, Codex Responses, and Codex usage fixtures and conformance cases |
|
|
41
|
+
| `@yolk-sdk/agent/providers/openai/realtime` | OpenAI Realtime session config and event codecs |
|
|
42
|
+
| `@yolk-sdk/agent/providers/openai/speech` | OpenAI text-to-speech and transcription adapters |
|
|
43
|
+
| `@yolk-sdk/agent/providers/vercel/ai-gateway-provider` | Vercel AI Gateway Chat Completions provider factory |
|
|
44
|
+
| `@yolk-sdk/agent/providers/vercel/ai-gateway-classifier` | Vercel AI Gateway classifier (`POST /v1/evaluate`) layer |
|
|
45
|
+
| `@yolk-sdk/agent/providers/vercel/conformance` | Verified Gateway chat fixtures, synthetic classifier fixtures, and conformance cases |
|
|
46
|
+
| `@yolk-sdk/agent/providers/opencode/go-provider` | OpenCode Go Chat Completions, Messages, and Responses provider |
|
|
47
|
+
| `@yolk-sdk/agent/providers/opencode/usage` | OpenCode Go subscription-allowance snapshots |
|
|
48
|
+
| `@yolk-sdk/agent/providers/opencode/conformance` | Synthetic OpenCode Go (per protocol, commentary replay, usage) fixtures and conformance cases |
|
|
49
|
+
| `@yolk-sdk/agent/providers/anthropic` | Anthropic/Claude OAuth and broker helpers |
|
|
50
|
+
| `@yolk-sdk/agent/providers/anthropic/claude` | Claude request and auth helpers |
|
|
51
|
+
| `@yolk-sdk/agent/providers/anthropic/usage` | Claude subscription-allowance snapshots |
|
|
52
|
+
| `@yolk-sdk/agent/providers/anthropic/claude-provider` | Claude LLM provider factory |
|
|
53
|
+
| `@yolk-sdk/agent/providers/anthropic/conformance` | Synthetic Anthropic Messages and Claude usage fixtures and conformance cases |
|
|
54
|
+
| `@yolk-sdk/agent/providers/xai` | Grok subscription OAuth and token broker helpers |
|
|
55
|
+
| `@yolk-sdk/agent/providers/xai/grok` | Grok subscription request and auth helpers |
|
|
56
|
+
| `@yolk-sdk/agent/providers/xai/grok-provider` | Grok subscription LLM provider factory |
|
|
57
|
+
| `@yolk-sdk/agent/providers/xai/usage` | Grok subscription-allowance snapshots |
|
|
58
|
+
| `@yolk-sdk/agent/providers/xai/conformance` | Synthetic Grok Responses and Grok usage fixtures and conformance cases |
|
|
59
|
+
| `@yolk-sdk/agent/providers/subscription-usage` | Shared allowance snapshot and safe error schemas |
|
|
60
|
+
| `@yolk-sdk/agent/skillset` | Portable skill and slash-command parsing/catalogs |
|
|
61
|
+
| `@yolk-sdk/agent/voice` | Voice protocol, controller, tool handler, projection, speech |
|
|
62
|
+
| `@yolk-sdk/agent/voice/browser` | Browser WebRTC voice transport |
|
|
63
|
+
| `@yolk-sdk/agent/voice/react` | Headless browser voice React hook |
|
|
64
64
|
|
|
65
65
|
## Imports
|
|
66
66
|
|
|
@@ -866,6 +866,10 @@ not this marker. These child observations are separate from generic background t
|
|
|
866
866
|
`prepareToolBatch` from `@yolk-sdk/agent/loop` exposes the same HITL preflight used by the loop.
|
|
867
867
|
Durable orchestration must check `pendingRequests` before dispatching **any** tool, even calls
|
|
868
868
|
listed in `callsToExecute`. Preserve synthetic results and original call ordering when committing.
|
|
869
|
+
It fails with `ToolError` `unavailable` only when host storage read by an interaction call
|
|
870
|
+
validator (for example a plan review's plan store) is unavailable; nothing runs, so fail the step
|
|
871
|
+
and retry it. Admission (`validateInteractionSubmission`) answers `InteractionAdmissionError`
|
|
872
|
+
`unavailable` for the same outage.
|
|
869
873
|
|
|
870
874
|
Keep host-owned subagent execution wiring outside this package; pass only the package subagent contract across the boundary.
|
|
871
875
|
|
|
@@ -922,8 +926,8 @@ This package declares them; it does not run scripts.
|
|
|
922
926
|
- `callableBy: 'all' | 'model' | 'codemode'` (default `all`) decides who may call a tool. For
|
|
923
927
|
`codemode` only, `discovery: 'listed' | 'search'` (default `listed`) decides how scripts find it.
|
|
924
928
|
Codemode-only tools never reach providers. Approval, input, interaction, activated background,
|
|
925
|
-
`question`, `subagent`, and nested-access tools never run from code mode
|
|
926
|
-
`callableBy: 'codemode'` on them.
|
|
929
|
+
`question`, `subagent`, and nested-access tools never run from code mode (stageable approval tools
|
|
930
|
+
are only staged; see Staged tool plans); `resolveTools` rejects `callableBy: 'codemode'` on them.
|
|
927
931
|
- `nestedToolAccess: true` gives a registration's `execute` a `nested` executor over the other
|
|
928
932
|
code-mode-callable tools of the same resolution and host context. Nested calls run through the
|
|
929
933
|
resolved execute path and fail closed with model-visible error results. Assign nested call ids as
|
|
@@ -955,6 +959,20 @@ keep their operations interruptible (the ledger's timeouts cannot cut uninterrup
|
|
|
955
959
|
logs and metrics. Without the option behavior is unchanged. See
|
|
956
960
|
[the tools README](https://github.com/magoz/yolk-sdk/blob/main/packages/agent/src/tools/README.md#durable-tool-ledger).
|
|
957
961
|
|
|
962
|
+
## Staged tool plans
|
|
963
|
+
|
|
964
|
+
A code mode script can stage calls of approval-gated tools marked `staging`
|
|
965
|
+
(`makeTool({ approval, staging })`) instead of running them; a person reviews the saved plan once
|
|
966
|
+
through `makePlanReviewTool` (`review_plan({ planId, planDigest })`, response `{ selectedKeys }`),
|
|
967
|
+
and Yolk applies exactly the selected recorded calls, in staged order and at most once, through the
|
|
968
|
+
normal execute path and ledger. Enable it with
|
|
969
|
+
`resolveTools(modules, context, { interactionHost, plans: { store, planId? } })` and one review tool.
|
|
970
|
+
Applied calls bypass `beforeNestedCall` and `ToolExecutor` decorators: wire your per-call authorizer
|
|
971
|
+
as `makePlanReviewTool({ beforeCall })`. With a ledger, a redelivered review waits for an in-flight
|
|
972
|
+
apply and returns its real outcome. `previewStoredToolPlan` pages previews for review screens;
|
|
973
|
+
`ToolPlanOutcome` and `ToolPlanPreviewPage` are Effect Schemas. See
|
|
974
|
+
[ADR 0005](https://github.com/magoz/yolk-sdk/blob/main/docs/adr/0005-staged-tool-plans.md).
|
|
975
|
+
|
|
958
976
|
## Tool failures
|
|
959
977
|
|
|
960
978
|
Use `modelVisibleToolError(...)` for expected tool-domain failures the model can recover
|
package/dist/client/state.d.mts
CHANGED
|
@@ -80,21 +80,6 @@ type AgentToolRun = {
|
|
|
80
80
|
readonly result: ToolResult;
|
|
81
81
|
};
|
|
82
82
|
declare const AgentToolRun: {
|
|
83
|
-
readonly InputStreaming: Data.TaggedEnum.ConstructorFrom<{
|
|
84
|
-
readonly _tag: "InputStreaming";
|
|
85
|
-
readonly id: string;
|
|
86
|
-
readonly name?: string;
|
|
87
|
-
readonly input: string;
|
|
88
|
-
}, "_tag">;
|
|
89
|
-
readonly InputReady: Data.TaggedEnum.ConstructorFrom<{
|
|
90
|
-
readonly _tag: "InputReady";
|
|
91
|
-
readonly call: ToolCall;
|
|
92
|
-
}, "_tag">;
|
|
93
|
-
readonly ApprovalRequested: Data.TaggedEnum.ConstructorFrom<{
|
|
94
|
-
readonly _tag: "ApprovalRequested";
|
|
95
|
-
readonly call: ToolCall;
|
|
96
|
-
readonly request?: ToolApprovalRequest;
|
|
97
|
-
}, "_tag">;
|
|
98
83
|
readonly Denied: Data.TaggedEnum.ConstructorFrom<{
|
|
99
84
|
readonly _tag: "Denied";
|
|
100
85
|
readonly toolCallId: string;
|
|
@@ -142,6 +127,21 @@ declare const AgentToolRun: {
|
|
|
142
127
|
readonly response: InteractionResponse;
|
|
143
128
|
readonly request?: InteractionRequest;
|
|
144
129
|
}, "_tag">;
|
|
130
|
+
readonly InputStreaming: Data.TaggedEnum.ConstructorFrom<{
|
|
131
|
+
readonly _tag: "InputStreaming";
|
|
132
|
+
readonly id: string;
|
|
133
|
+
readonly name?: string;
|
|
134
|
+
readonly input: string;
|
|
135
|
+
}, "_tag">;
|
|
136
|
+
readonly InputReady: Data.TaggedEnum.ConstructorFrom<{
|
|
137
|
+
readonly _tag: "InputReady";
|
|
138
|
+
readonly call: ToolCall;
|
|
139
|
+
}, "_tag">;
|
|
140
|
+
readonly ApprovalRequested: Data.TaggedEnum.ConstructorFrom<{
|
|
141
|
+
readonly _tag: "ApprovalRequested";
|
|
142
|
+
readonly call: ToolCall;
|
|
143
|
+
readonly request?: ToolApprovalRequest;
|
|
144
|
+
}, "_tag">;
|
|
145
145
|
readonly Executing: Data.TaggedEnum.ConstructorFrom<{
|
|
146
146
|
readonly _tag: "Executing";
|
|
147
147
|
readonly call: ToolCall;
|
|
@@ -173,7 +173,7 @@ declare const AgentToolRun: {
|
|
|
173
173
|
readonly call: ToolCall;
|
|
174
174
|
readonly result: ToolResult;
|
|
175
175
|
}, "_tag">;
|
|
176
|
-
readonly $is: <Tag extends "
|
|
176
|
+
readonly $is: <Tag extends "Denied" | "QuestionRequested" | "QuestionAnswered" | "QuestionCancelled" | "InputRequested" | "InputSubmitted" | "InputCancelled" | "InteractionRequested" | "InteractionSubmitted" | "InteractionCancelled" | "InputStreaming" | "InputReady" | "ApprovalRequested" | "Executing" | "Completed" | "Accepted" | "Errored" | "ProviderCompleted">(tag: Tag) => (u: unknown) => u is Extract<{
|
|
177
177
|
readonly _tag: "InputStreaming";
|
|
178
178
|
readonly id: string;
|
|
179
179
|
readonly name?: string;
|
|
@@ -287,21 +287,6 @@ declare const AgentToolRun: {
|
|
|
287
287
|
}>;
|
|
288
288
|
readonly $match: {
|
|
289
289
|
<Cases extends {
|
|
290
|
-
readonly InputStreaming: (args: {
|
|
291
|
-
readonly _tag: "InputStreaming";
|
|
292
|
-
readonly id: string;
|
|
293
|
-
readonly name?: string;
|
|
294
|
-
readonly input: string;
|
|
295
|
-
}) => any;
|
|
296
|
-
readonly InputReady: (args: {
|
|
297
|
-
readonly _tag: "InputReady";
|
|
298
|
-
readonly call: ToolCall;
|
|
299
|
-
}) => any;
|
|
300
|
-
readonly ApprovalRequested: (args: {
|
|
301
|
-
readonly _tag: "ApprovalRequested";
|
|
302
|
-
readonly call: ToolCall;
|
|
303
|
-
readonly request?: ToolApprovalRequest;
|
|
304
|
-
}) => any;
|
|
305
290
|
readonly Denied: (args: {
|
|
306
291
|
readonly _tag: "Denied";
|
|
307
292
|
readonly toolCallId: string;
|
|
@@ -349,6 +334,21 @@ declare const AgentToolRun: {
|
|
|
349
334
|
readonly response: InteractionResponse;
|
|
350
335
|
readonly request?: InteractionRequest;
|
|
351
336
|
}) => any;
|
|
337
|
+
readonly InputStreaming: (args: {
|
|
338
|
+
readonly _tag: "InputStreaming";
|
|
339
|
+
readonly id: string;
|
|
340
|
+
readonly name?: string;
|
|
341
|
+
readonly input: string;
|
|
342
|
+
}) => any;
|
|
343
|
+
readonly InputReady: (args: {
|
|
344
|
+
readonly _tag: "InputReady";
|
|
345
|
+
readonly call: ToolCall;
|
|
346
|
+
}) => any;
|
|
347
|
+
readonly ApprovalRequested: (args: {
|
|
348
|
+
readonly _tag: "ApprovalRequested";
|
|
349
|
+
readonly call: ToolCall;
|
|
350
|
+
readonly request?: ToolApprovalRequest;
|
|
351
|
+
}) => any;
|
|
352
352
|
readonly Executing: (args: {
|
|
353
353
|
readonly _tag: "Executing";
|
|
354
354
|
readonly call: ToolCall;
|
|
@@ -380,23 +380,8 @@ declare const AgentToolRun: {
|
|
|
380
380
|
readonly call: ToolCall;
|
|
381
381
|
readonly result: ToolResult;
|
|
382
382
|
}) => any;
|
|
383
|
-
}>(cases: Cases): (value: AgentToolRun) => import("effect/Unify").Unify<ReturnType<Cases["
|
|
383
|
+
}>(cases: Cases): (value: AgentToolRun) => import("effect/Unify").Unify<ReturnType<Cases["Denied" | "QuestionRequested" | "QuestionAnswered" | "QuestionCancelled" | "InputRequested" | "InputSubmitted" | "InputCancelled" | "InteractionRequested" | "InteractionSubmitted" | "InteractionCancelled" | "InputStreaming" | "InputReady" | "ApprovalRequested" | "Executing" | "Completed" | "Accepted" | "Errored" | "ProviderCompleted"]>>;
|
|
384
384
|
<Cases extends {
|
|
385
|
-
readonly InputStreaming: (args: {
|
|
386
|
-
readonly _tag: "InputStreaming";
|
|
387
|
-
readonly id: string;
|
|
388
|
-
readonly name?: string;
|
|
389
|
-
readonly input: string;
|
|
390
|
-
}) => any;
|
|
391
|
-
readonly InputReady: (args: {
|
|
392
|
-
readonly _tag: "InputReady";
|
|
393
|
-
readonly call: ToolCall;
|
|
394
|
-
}) => any;
|
|
395
|
-
readonly ApprovalRequested: (args: {
|
|
396
|
-
readonly _tag: "ApprovalRequested";
|
|
397
|
-
readonly call: ToolCall;
|
|
398
|
-
readonly request?: ToolApprovalRequest;
|
|
399
|
-
}) => any;
|
|
400
385
|
readonly Denied: (args: {
|
|
401
386
|
readonly _tag: "Denied";
|
|
402
387
|
readonly toolCallId: string;
|
|
@@ -444,6 +429,21 @@ declare const AgentToolRun: {
|
|
|
444
429
|
readonly response: InteractionResponse;
|
|
445
430
|
readonly request?: InteractionRequest;
|
|
446
431
|
}) => any;
|
|
432
|
+
readonly InputStreaming: (args: {
|
|
433
|
+
readonly _tag: "InputStreaming";
|
|
434
|
+
readonly id: string;
|
|
435
|
+
readonly name?: string;
|
|
436
|
+
readonly input: string;
|
|
437
|
+
}) => any;
|
|
438
|
+
readonly InputReady: (args: {
|
|
439
|
+
readonly _tag: "InputReady";
|
|
440
|
+
readonly call: ToolCall;
|
|
441
|
+
}) => any;
|
|
442
|
+
readonly ApprovalRequested: (args: {
|
|
443
|
+
readonly _tag: "ApprovalRequested";
|
|
444
|
+
readonly call: ToolCall;
|
|
445
|
+
readonly request?: ToolApprovalRequest;
|
|
446
|
+
}) => any;
|
|
447
447
|
readonly Executing: (args: {
|
|
448
448
|
readonly _tag: "Executing";
|
|
449
449
|
readonly call: ToolCall;
|
|
@@ -475,7 +475,7 @@ declare const AgentToolRun: {
|
|
|
475
475
|
readonly call: ToolCall;
|
|
476
476
|
readonly result: ToolResult;
|
|
477
477
|
}) => any;
|
|
478
|
-
}>(value: AgentToolRun, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["
|
|
478
|
+
}>(value: AgentToolRun, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Denied" | "QuestionRequested" | "QuestionAnswered" | "QuestionCancelled" | "InputRequested" | "InputSubmitted" | "InputCancelled" | "InteractionRequested" | "InteractionSubmitted" | "InteractionCancelled" | "InputStreaming" | "InputReady" | "ApprovalRequested" | "Executing" | "Completed" | "Accepted" | "Errored" | "ProviderCompleted"]>>;
|
|
479
479
|
};
|
|
480
480
|
};
|
|
481
481
|
type AgentClientState = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.mts","names":[],"sources":["../../src/client/state.ts"],"mappings":";;;;KAoBY,cAAA;AAAA,KAEA,YAAA;EAAA,SAEG,IAAA;EAAA,SACA,EAAA;EAAA,SACA,IAAA;EAAA,SACA,KAAA;AAAA;EAAA,SAEA,IAAA;EAAA,SAA6B,IAAA,EAAM,QAAA;AAAA;EAAA,SAEnC,IAAA;EAAA,SACA,IAAA,EAAM,QAAA;EAAA,SACN,OAAA,GAAU,mBAAA;AAAA;EAAA,SAEV,IAAA;EAAA,SAAyB,UAAA;EAAA,SAA6B,MAAA;AAAA;EAAA,SACtD,IAAA;EAAA,SAAoC,OAAA,EAAS,eAAA;AAAA;EAAA,SAE7C,IAAA;EAAA,SACA,QAAA,EAAU,gBAAA;EAAA,SACV,OAAA,GAAU,eAAA;AAAA;EAAA,SAGV,IAAA;EAAA,SACA,QAAA,EAAU,gBAAA;EAAA,SACV,OAAA,GAAU,eAAA;AAAA;EAAA,SAEV,IAAA;EAAA,SAAiC,OAAA,EAAS,YAAA;AAAA;EAAA,SAE1C,IAAA;EAAA,SACA,QAAA,EAAU,aAAA;EAAA,SACV,OAAA,GAAU,YAAA;AAAA;EAAA,SAGV,IAAA;EAAA,SACA,QAAA,EAAU,aAAA;EAAA,SACV,OAAA,GAAU,YAAA;AAAA;EAAA,SAEV,IAAA;EAAA,SAAuC,OAAA,EAAS,kBAAA;AAAA;EAAA,SAEhD,IAAA;EAAA,SACA,QAAA,EAAU,mBAAA;EAAA,SACV,OAAA,GAAU,kBAAA;AAAA;EAAA,SAGV,IAAA;EAAA,SACA,QAAA,EAAU,mBAAA;EAAA,SACV,OAAA,GAAU,kBAAA;AAAA;EAAA,SAGV,IAAA;EAAA,SACA,IAAA,EAAM,QAAA;EAAA,SACN,WAAA,UApCoC;EAAA,SAsCpC,WAAA;AAAA;EAAA,SAGA,IAAA;EAAA,SACA,IAAA,EAAM,QAAA;EAAA,SACN,MAAA,EAAQ,UAAA;EAAA,SACR,WAAA;EAAA,SACA,SAAA;AAAA;EAAA,SAGA,IAAA;EAAA,SACA,IAAA,EAAM,QAAA;EAAA,SACN,MAAA,EAAQ,UAAA;EAAA,SACR,WAAA;EAAA,SACA,SAAA;AAAA;EAAA,SAGA,IAAA;EAAA,SACA,IAAA,EAAM,QAAA;EAAA,SACN,OAAA;EAAA,SACA,SAAA;AAAA;EAAA,SAEA,IAAA;EAAA,SAAoC,IAAA,EAAM,QAAA;EAAA,SAAmB,MAAA,EAAQ,UAAA;AAAA;AAAA,cAEvE,YAAA;EAAA
|
|
1
|
+
{"version":3,"file":"state.d.mts","names":[],"sources":["../../src/client/state.ts"],"mappings":"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"}
|
package/dist/loop/run.d.mts
CHANGED
|
@@ -63,7 +63,10 @@ type PreparedToolBatch = {
|
|
|
63
63
|
* this at each preflight boundary and pass the result as interactionReceipts. Reads
|
|
64
64
|
* do not accept/claim/settle. A storage error fails the batch closed. */
|
|
65
65
|
declare const loadInteractionReceipts: (calls: ReadonlyArray<ToolCall>, host: InteractionHost | undefined) => Effect.Effect<ReadonlyMap<string, InteractionReceipt>, ToolError>;
|
|
66
|
-
/** Preflight the entire batch before dispatching ANY call. Pending requests fence all execution.
|
|
66
|
+
/** Preflight the entire batch before dispatching ANY call. Pending requests fence all execution.
|
|
67
|
+
* Fails (`ToolError` `unavailable`) only when host storage an interaction call validator reads is
|
|
68
|
+
* unavailable: the batch fails closed, like `loadInteractionReceipts`, and nothing runs.
|
|
69
|
+
*/
|
|
67
70
|
declare const prepareToolBatch: (input: {
|
|
68
71
|
readonly tools: ReadonlyArray<ToolDef>;
|
|
69
72
|
readonly responses: ReadonlyArray<HitlResponse>;
|
|
@@ -71,7 +74,7 @@ declare const prepareToolBatch: (input: {
|
|
|
71
74
|
readonly inputs?: Readonly<Record<string, InputToolHandler>>;
|
|
72
75
|
readonly interactions?: Readonly<Record<string, InteractionPreflight>>;
|
|
73
76
|
readonly interactionReceipts?: ReadonlyMap<string, InteractionReceipt>;
|
|
74
|
-
}) => Effect.Effect<PreparedToolBatch>;
|
|
77
|
+
}) => Effect.Effect<PreparedToolBatch, ToolError>;
|
|
75
78
|
declare const runModelTurn: (config: ModelTurnConfig) => Stream.Stream<AgentEvent, AgentLoopError, ContextTransformer | LLMProvider | LoopConfig>;
|
|
76
79
|
declare const runToolBatch: (config: ToolBatchConfig) => Stream.Stream<AgentEvent, AgentLoopError, LoopConfig | ToolExecutor>;
|
|
77
80
|
declare const run: (config: RunConfig) => Stream.Stream<AgentEvent, AgentLoopError, ContextTransformer | LLMProvider | LoopConfig | ToolExecutor>;
|
package/dist/loop/run.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.mts","names":[],"sources":["../../src/loop/run.ts"],"mappings":";;;;;;;;;KAuFY,cAAA;AAAA,KAEA,SAAA;EAAA,SACD,QAAA,EAAU,aAAA,CAAc,YAAA;EAAA,SACxB,YAAA;EAAA,SACA,KAAA,EAAO,aAAA,CAAc,OAAA;EAAA,SACrB,aAAA,GAAgB,aAAA,CAAc,YAAA,GANf;EAAA,SAQf,MAAA,GAAS,QAAA,CAAS,MAAA,SAAe,gBAAA;EANvB;;;EAAA,SAUV,YAAA,GAAe,QAAA,CAAS,MAAA,SAAe,oBAAA;EAAA,SACvC,eAAA,GAAkB,eAAA;EAAA,SAClB,KAAA;EAAA,SACA,eAAA,GAAkB,oBAAA;EAAA,SAClB,YAAA,GAAe,sBAAA;AAAA;AAAA,KAGd,eAAA,GAAkB,SAAS;EAAA,SAC5B,IAAI;AAAA;AAAA,KAGH,eAAA;EAAA,SACD,KAAA,EAAO,aAAA,CAAc,QAAA;EAAA,SACrB,KAAA,GAAQ,aAAA,CAAc,OAAA;EAAA,SACtB,aAAA,GAAgB,aAAA,CAAc,YAAA,GAVf;EAAA,SAYf,MAAA,GAAS,QAAA,CAAS,MAAA,SAAe,gBAAA,IAZI;EAAA,SAcrC,YAAA,GAAe,QAAA,CAAS,MAAA,SAAe,oBAAA;EAAA,SACvC,eAAA,GAAkB,eAAA;EAAA,SAClB,KAAA;EAAA,SACA,eAAA,GAAkB,aAAA,CAAc,YAAA;EAAA,SAChC,IAAA;EAAA,SACA,KAAA,GAAQ,UAAA;AAAA;AAAA,KAobd,wBAAA;EAAA,SACM,KAAA;EAAA,SACA,OAAA,EAAS,YAAY;AAAA;AAAA,KAG3B,eAAA;EAAA,SACM,KAAA;EAAA,SACA,IAAA,EAAM,QAAQ;AAAA;AAAA,KAyBb,iBAAA;EAAA,SACD,cAAA,EAAgB,aAAA,CAAc,eAAA;EAAA,SAC9B,cAAA,EAAgB,aAAA,CAAc,wBAAA;EAAA,SAC9B,YAAA,EAAc,aAAA,CAAc,UAAA;EAAA,SAC5B,MAAA,EAAQ,aAAA,CAAc,UAAA;EAAA,SACtB,eAAA,EAAiB,aAAA,CAAc,WAAA;EAAA,SAC/B,aAAA,EAAe,aAAA,CAAc,UAAA;EA9eX;;;;EAAA,SAmflB,mBAAA,EAAqB,WAAA,SAAoB,cAAA;AAAA;;;;cAiXvC,uBAAA,GACX,KAAA,EAAO,aAAA,CAAc,QAAA,GACrB,IAAA,EAAM,eAAA,iBACL,MAAA,CAAO,MAAA,CAAO,WAAA,SAAoB,kBAAA,GAAqB,SAAA;AA/1B1D
|
|
1
|
+
{"version":3,"file":"run.d.mts","names":[],"sources":["../../src/loop/run.ts"],"mappings":";;;;;;;;;KAuFY,cAAA;AAAA,KAEA,SAAA;EAAA,SACD,QAAA,EAAU,aAAA,CAAc,YAAA;EAAA,SACxB,YAAA;EAAA,SACA,KAAA,EAAO,aAAA,CAAc,OAAA;EAAA,SACrB,aAAA,GAAgB,aAAA,CAAc,YAAA,GANf;EAAA,SAQf,MAAA,GAAS,QAAA,CAAS,MAAA,SAAe,gBAAA;EANvB;;;EAAA,SAUV,YAAA,GAAe,QAAA,CAAS,MAAA,SAAe,oBAAA;EAAA,SACvC,eAAA,GAAkB,eAAA;EAAA,SAClB,KAAA;EAAA,SACA,eAAA,GAAkB,oBAAA;EAAA,SAClB,YAAA,GAAe,sBAAA;AAAA;AAAA,KAGd,eAAA,GAAkB,SAAS;EAAA,SAC5B,IAAI;AAAA;AAAA,KAGH,eAAA;EAAA,SACD,KAAA,EAAO,aAAA,CAAc,QAAA;EAAA,SACrB,KAAA,GAAQ,aAAA,CAAc,OAAA;EAAA,SACtB,aAAA,GAAgB,aAAA,CAAc,YAAA,GAVf;EAAA,SAYf,MAAA,GAAS,QAAA,CAAS,MAAA,SAAe,gBAAA,IAZI;EAAA,SAcrC,YAAA,GAAe,QAAA,CAAS,MAAA,SAAe,oBAAA;EAAA,SACvC,eAAA,GAAkB,eAAA;EAAA,SAClB,KAAA;EAAA,SACA,eAAA,GAAkB,aAAA,CAAc,YAAA;EAAA,SAChC,IAAA;EAAA,SACA,KAAA,GAAQ,UAAA;AAAA;AAAA,KAobd,wBAAA;EAAA,SACM,KAAA;EAAA,SACA,OAAA,EAAS,YAAY;AAAA;AAAA,KAG3B,eAAA;EAAA,SACM,KAAA;EAAA,SACA,IAAA,EAAM,QAAQ;AAAA;AAAA,KAyBb,iBAAA;EAAA,SACD,cAAA,EAAgB,aAAA,CAAc,eAAA;EAAA,SAC9B,cAAA,EAAgB,aAAA,CAAc,wBAAA;EAAA,SAC9B,YAAA,EAAc,aAAA,CAAc,UAAA;EAAA,SAC5B,MAAA,EAAQ,aAAA,CAAc,UAAA;EAAA,SACtB,eAAA,EAAiB,aAAA,CAAc,WAAA;EAAA,SAC/B,aAAA,EAAe,aAAA,CAAc,UAAA;EA9eX;;;;EAAA,SAmflB,mBAAA,EAAqB,WAAA,SAAoB,cAAA;AAAA;;;;cAiXvC,uBAAA,GACX,KAAA,EAAO,aAAA,CAAc,QAAA,GACrB,IAAA,EAAM,eAAA,iBACL,MAAA,CAAO,MAAA,CAAO,WAAA,SAAoB,kBAAA,GAAqB,SAAA;AA/1B1D;;;;AAAA,cAmkCa,gBAAA,GAAoB,KAAA;EAAA,SACtB,KAAA,EAAO,aAAA,CAAc,OAAA;EAAA,SACrB,SAAA,EAAW,aAAA,CAAc,YAAA;EAAA,SACzB,KAAA,EAAO,aAAA,CAAc,QAAA;EAAA,SACrB,MAAA,GAAS,QAAA,CAAS,MAAA,SAAe,gBAAA;EAAA,SACjC,YAAA,GAAe,QAAA,CAAS,MAAA,SAAe,oBAAA;EAAA,SACvC,mBAAA,GAAsB,WAAA,SAAoB,kBAAA;AAAA,MACjD,MAAA,CAAO,MAAA,CAAO,iBAAA,EAAmB,SAAA;AAAA,cA+iBxB,YAAA,GACX,MAAA,EAAQ,eAAA,KACP,MAAA,CAAO,MAAA,CAAO,UAAA,EAAY,cAAA,EAAgB,kBAAA,GAAqB,WAAA,GAAc,UAAA;AAAA,cAuBnE,YAAA,GACX,MAAA,EAAQ,eAAA,KACP,MAAA,CAAO,MAAA,CAAO,UAAA,EAAY,cAAA,EAAgB,UAAA,GAAa,YAAA;AAAA,cAoD7C,GAAA,GACX,MAAA,EAAQ,SAAA,KACP,MAAA,CAAO,MAAA,CACR,UAAA,EACA,cAAA,EACA,kBAAA,GAAqB,WAAA,GAAc,UAAA,GAAa,YAAA"}
|
package/dist/loop/run.mjs
CHANGED
|
@@ -426,7 +426,12 @@ const prepareInteractionCall = (input) => Effect.gen(function* () {
|
|
|
426
426
|
const descriptor = def?.interaction;
|
|
427
427
|
if (def === void 0 || descriptor === void 0 || def.approval !== void 0 || def.background === true || def.execution !== void 0 || def.input !== void 0 || preflight === void 0) return unavailable();
|
|
428
428
|
const validCall = yield* preflight.validateCall(input.call.params).pipe(Effect.result);
|
|
429
|
-
if (Predicate.isTagged(validCall, "Failure")) return
|
|
429
|
+
if (Predicate.isTagged(validCall, "Failure") && Predicate.isTagged(validCall.failure, "InteractionHostError")) return yield* Effect.fail(new ToolError({
|
|
430
|
+
tool: input.call.name,
|
|
431
|
+
cause: "unavailable",
|
|
432
|
+
message: validCall.failure.message
|
|
433
|
+
}));
|
|
434
|
+
if (Predicate.isTagged(validCall, "Failure") && stored === void 0) return PreparedToolCall.Result({
|
|
430
435
|
index: input.index,
|
|
431
436
|
call: input.call,
|
|
432
437
|
events: [],
|
|
@@ -497,7 +502,10 @@ const prepareModelToolCall = (input) => !input.receipts.has(input.call.id) && to
|
|
|
497
502
|
isError: true
|
|
498
503
|
})
|
|
499
504
|
})) : Effect.succeed(prepareApprovalCall(input.tools, input.call, input.index, input.responses));
|
|
500
|
-
/** Preflight the entire batch before dispatching ANY call. Pending requests fence all execution.
|
|
505
|
+
/** Preflight the entire batch before dispatching ANY call. Pending requests fence all execution.
|
|
506
|
+
* Fails (`ToolError` `unavailable`) only when host storage an interaction call validator reads is
|
|
507
|
+
* unavailable: the batch fails closed, like `loadInteractionReceipts`, and nothing runs.
|
|
508
|
+
*/
|
|
501
509
|
const prepareToolBatch = (input) => Effect.gen(function* () {
|
|
502
510
|
const handlers = input.inputs ?? {};
|
|
503
511
|
const preflights = input.interactions ?? {};
|