@yolk-sdk/agent 0.1.0-canary.78 → 0.1.0-canary.80
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 +17 -4
- package/dist/compaction/retry.d.mts +30 -30
- package/dist/compaction/retry.d.mts.map +1 -1
- package/dist/compaction/window.d.mts +39 -39
- package/dist/compaction/window.d.mts.map +1 -1
- package/dist/providers/anthropic-provider-internal.d.mts.map +1 -1
- package/dist/providers/anthropic-provider-internal.mjs +19 -9
- package/dist/providers/anthropic-provider-internal.mjs.map +1 -1
- package/dist/providers/openai/provider.d.mts +11 -2
- package/dist/providers/openai/provider.d.mts.map +1 -1
- package/dist/providers/openai/provider.mjs +267 -22
- package/dist/providers/openai/provider.mjs.map +1 -1
- package/dist/providers/openai-responses-provider-internal.d.mts +11 -0
- package/dist/providers/openai-responses-provider-internal.d.mts.map +1 -1
- package/dist/providers/openai-responses-provider-internal.mjs +90 -23
- package/dist/providers/openai-responses-provider-internal.mjs.map +1 -1
- package/dist/providers/opencode/go-provider.d.mts.map +1 -1
- package/dist/providers/opencode/go-provider.mjs +2 -0
- package/dist/providers/opencode/go-provider.mjs.map +1 -1
- package/dist/react/chat-actions.d.mts +35 -35
- package/dist/react/chat-actions.d.mts.map +1 -1
- package/dist/react/chat-items.d.mts +36 -36
- package/dist/react/chat-items.d.mts.map +1 -1
- package/dist/react/chat-messages.d.mts +33 -33
- package/dist/react/chat-messages.d.mts.map +1 -1
- package/dist/skillset/merge.d.mts +3 -3
- package/dist/skillset/name.d.mts +2 -2
- package/dist/skillset/name.d.mts.map +1 -1
- package/dist/tools/registry.d.mts.map +1 -1
- package/dist/tools/registry.mjs +42 -11
- package/dist/tools/registry.mjs.map +1 -1
- package/package.json +1 -1
- package/src/providers/anthropic-provider-internal.ts +27 -10
- package/src/providers/openai/provider.ts +569 -63
- package/src/providers/openai-responses-provider-internal.ts +206 -40
- package/src/providers/opencode/go-provider.ts +2 -0
- package/src/tools/registry.ts +67 -2
package/README.md
CHANGED
|
@@ -221,8 +221,9 @@ const GoLayer = makeOpenCodeGoProviderLayer({
|
|
|
221
221
|
}).pipe(Layer.provide(FetchHttpClient.layer))
|
|
222
222
|
```
|
|
223
223
|
|
|
224
|
-
The default base URL is `https://opencode.ai/zen/go/v1`. Chat
|
|
225
|
-
Messages uses SSE and `x-api-key`; Responses uses SSE and Bearer
|
|
224
|
+
The default base URL is `https://opencode.ai/zen/go/v1`. Chat streams SSE (the Go adapter sets
|
|
225
|
+
`streaming: true`) with Bearer auth; Messages uses SSE and `x-api-key`; Responses uses SSE and Bearer
|
|
226
|
+
auth. All normalize to `LLMEvent`s.
|
|
226
227
|
Messages retains native tool names and system instructions, without Claude OAuth fingerprinting.
|
|
227
228
|
Responses sends `max_output_tokens`, unlike Codex. Go requires a nonempty key and positive safe-integer
|
|
228
229
|
limit at layer construction. `extraHeaders` cannot override required protocol headers, regardless of
|
|
@@ -295,7 +296,8 @@ and `ToolCall.params` as `Schema.Json`. Non-JSON values fail as non-retryable `L
|
|
|
295
296
|
`ToolCall.params` stays opaque. Provider admission also catches post-construction forgeries.
|
|
296
297
|
After lone-surrogate rewrite, the request
|
|
297
298
|
body is decoded as JSON again and fails rather than skipping serialization. HTTP error bodies that
|
|
298
|
-
are not JSON still classify from status.
|
|
299
|
+
are not JSON still classify from status. Tool-result blocks omit `is_error` when the result carries
|
|
300
|
+
no flag, so follow-up request bodies stay valid; an explicit boolean `isError` is still serialized.
|
|
299
301
|
|
|
300
302
|
### Tool parameter documents
|
|
301
303
|
|
|
@@ -307,7 +309,10 @@ plain/null-prototype objects, own `__proto__`/`constructor` keys and DAG aliases
|
|
|
307
309
|
rejected unread; exotic prototypes, hidden/symbol keys, undefined, nonfinite values and cycles fail.
|
|
308
310
|
No Proxy side-effect immunity or immutability is promised. Tool call parameters/results and HITL
|
|
309
311
|
remain opaque. Background wrapping preserves boolean `true`/`false` as the arguments schema;
|
|
310
|
-
reference/resource restrictions still apply at activation.
|
|
312
|
+
reference/resource restrictions still apply at activation. `makeTool` may add root `type: "object"`
|
|
313
|
+
to typeless `anyOf`/`oneOf` unions whose members are all object schemas, as required by strict
|
|
314
|
+
OpenAI-compatible upstreams; primitives, unknown, and already-typed roots are unchanged, and call
|
|
315
|
+
validation still uses the original Effect Schema.
|
|
311
316
|
|
|
312
317
|
### OpenAI Chat Completions, Responses, and extraBody
|
|
313
318
|
|
|
@@ -326,6 +331,12 @@ non-object JSON events are ignored (not failed), while malformed non-JSON event
|
|
|
326
331
|
`invalid_response`. First `response.completed` remains terminal. HTTP error bodies stay raw text for
|
|
327
332
|
`classifyProviderFailure`.
|
|
328
333
|
|
|
334
|
+
Chat Completions transport defaults to one JSON body. Set `OpenAiProviderConfig.streaming: true` to
|
|
335
|
+
request incremental `chat.completion.chunk` SSE deltas with `stream_options.include_usage`, folded
|
|
336
|
+
into text/reasoning/tool-call events plus terminal and usage events. Unterminated streams fail
|
|
337
|
+
`invalid_response` and never emit `Done`. Hosts must only enable streaming against endpoints that
|
|
338
|
+
serve chat SSE; OpenCode Go `chat-completions` always sets it.
|
|
339
|
+
|
|
329
340
|
`OpenAiProviderConfig.extraBody` takes `OpenAiRequestExtras` (JSON-object input). Lowering
|
|
330
341
|
projects enumerable own string fields into an independent portable-data snapshot. Canonical
|
|
331
342
|
`model`, `messages`, `stream`, `tools`, `parallel_tool_calls`, `max_completion_tokens`, and
|
|
@@ -362,6 +373,8 @@ policy and emits protocol-visible retry/error state:
|
|
|
362
373
|
|
|
363
374
|
- `ProviderErrorInfo` carries safe provider id, failure kind, HTTP status, provider code, and
|
|
364
375
|
optional `retryAfterMs`.
|
|
376
|
+
- Chat Completions and Responses HTTP failures copy the envelope string `code` (falling back to
|
|
377
|
+
`type`) into `provider.providerCode`; free-text upstream bodies stay out of `LLMError`.
|
|
365
378
|
- `AgentRetry.provider` exposes current retry metadata and chosen `delayMs`.
|
|
366
379
|
- `AgentError.provider` preserves final terminal metadata.
|
|
367
380
|
- `AgentErrorCode` includes `rate_limit`, `overloaded`, `context_overflow`, and generic
|
|
@@ -12,58 +12,58 @@ type ContextOverflowRetryCompactionResult = Data.TaggedEnum<{
|
|
|
12
12
|
};
|
|
13
13
|
}>;
|
|
14
14
|
declare const ContextOverflowRetryCompactionResult: {
|
|
15
|
-
readonly Skipped: Data.TaggedEnum.ConstructorFrom<{
|
|
16
|
-
readonly _tag: "Skipped";
|
|
17
|
-
readonly messages: ReadonlyArray<AgentMessage>;
|
|
18
|
-
}, "_tag">;
|
|
19
15
|
readonly Compacted: Data.TaggedEnum.ConstructorFrom<{
|
|
20
16
|
readonly _tag: "Compacted";
|
|
21
17
|
readonly messages: ReadonlyArray<AgentMessage>;
|
|
22
18
|
}, "_tag">;
|
|
23
|
-
readonly
|
|
19
|
+
readonly Skipped: Data.TaggedEnum.ConstructorFrom<{
|
|
24
20
|
readonly _tag: "Skipped";
|
|
25
21
|
readonly messages: ReadonlyArray<AgentMessage>;
|
|
22
|
+
}, "_tag">;
|
|
23
|
+
readonly $is: <Tag extends "Compacted" | "Skipped">(tag: Tag) => (u: unknown) => u is Extract<{
|
|
24
|
+
readonly _tag: "Compacted";
|
|
25
|
+
readonly messages: ReadonlyArray<AgentMessage>;
|
|
26
26
|
}, {
|
|
27
27
|
readonly _tag: Tag;
|
|
28
28
|
}> | Extract<{
|
|
29
|
-
readonly _tag: "
|
|
29
|
+
readonly _tag: "Skipped";
|
|
30
30
|
readonly messages: ReadonlyArray<AgentMessage>;
|
|
31
31
|
}, {
|
|
32
32
|
readonly _tag: Tag;
|
|
33
33
|
}>;
|
|
34
34
|
readonly $match: {
|
|
35
35
|
<Cases extends {
|
|
36
|
-
readonly Skipped: (args: {
|
|
37
|
-
readonly _tag: "Skipped";
|
|
38
|
-
readonly messages: ReadonlyArray<AgentMessage>;
|
|
39
|
-
}) => any;
|
|
40
36
|
readonly Compacted: (args: {
|
|
41
37
|
readonly _tag: "Compacted";
|
|
42
38
|
readonly messages: ReadonlyArray<AgentMessage>;
|
|
43
39
|
}) => any;
|
|
40
|
+
readonly Skipped: (args: {
|
|
41
|
+
readonly _tag: "Skipped";
|
|
42
|
+
readonly messages: ReadonlyArray<AgentMessage>;
|
|
43
|
+
}) => any;
|
|
44
44
|
}>(cases: Cases): (value: {
|
|
45
|
-
readonly _tag: "
|
|
45
|
+
readonly _tag: "Compacted";
|
|
46
46
|
readonly messages: ReadonlyArray<AgentMessage>;
|
|
47
47
|
} | {
|
|
48
|
-
readonly _tag: "
|
|
48
|
+
readonly _tag: "Skipped";
|
|
49
49
|
readonly messages: ReadonlyArray<AgentMessage>;
|
|
50
|
-
}) => import("effect/Unify").Unify<ReturnType<Cases["
|
|
50
|
+
}) => import("effect/Unify").Unify<ReturnType<Cases["Compacted" | "Skipped"]>>;
|
|
51
51
|
<Cases extends {
|
|
52
|
-
readonly Skipped: (args: {
|
|
53
|
-
readonly _tag: "Skipped";
|
|
54
|
-
readonly messages: ReadonlyArray<AgentMessage>;
|
|
55
|
-
}) => any;
|
|
56
52
|
readonly Compacted: (args: {
|
|
57
53
|
readonly _tag: "Compacted";
|
|
58
54
|
readonly messages: ReadonlyArray<AgentMessage>;
|
|
59
55
|
}) => any;
|
|
56
|
+
readonly Skipped: (args: {
|
|
57
|
+
readonly _tag: "Skipped";
|
|
58
|
+
readonly messages: ReadonlyArray<AgentMessage>;
|
|
59
|
+
}) => any;
|
|
60
60
|
}>(value: {
|
|
61
|
-
readonly _tag: "
|
|
61
|
+
readonly _tag: "Compacted";
|
|
62
62
|
readonly messages: ReadonlyArray<AgentMessage>;
|
|
63
63
|
} | {
|
|
64
|
-
readonly _tag: "
|
|
64
|
+
readonly _tag: "Skipped";
|
|
65
65
|
readonly messages: ReadonlyArray<AgentMessage>;
|
|
66
|
-
}, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["
|
|
66
|
+
}, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Compacted" | "Skipped"]>>;
|
|
67
67
|
};
|
|
68
68
|
};
|
|
69
69
|
type OverflowCompactionDecision = {
|
|
@@ -73,14 +73,14 @@ type OverflowCompactionDecision = {
|
|
|
73
73
|
readonly _tag: 'Skipped';
|
|
74
74
|
};
|
|
75
75
|
declare const OverflowCompactionDecision: {
|
|
76
|
-
readonly Skipped: Data.TaggedEnum.ConstructorFrom<{
|
|
77
|
-
readonly _tag: "Skipped";
|
|
78
|
-
}, "_tag">;
|
|
79
76
|
readonly Compacted: Data.TaggedEnum.ConstructorFrom<{
|
|
80
77
|
readonly _tag: "Compacted";
|
|
81
78
|
readonly messages: ReadonlyArray<AgentMessage>;
|
|
82
79
|
}, "_tag">;
|
|
83
|
-
readonly
|
|
80
|
+
readonly Skipped: Data.TaggedEnum.ConstructorFrom<{
|
|
81
|
+
readonly _tag: "Skipped";
|
|
82
|
+
}, "_tag">;
|
|
83
|
+
readonly $is: <Tag extends "Compacted" | "Skipped">(tag: Tag) => (u: unknown) => u is Extract<{
|
|
84
84
|
readonly _tag: "Compacted";
|
|
85
85
|
readonly messages: ReadonlyArray<AgentMessage>;
|
|
86
86
|
}, {
|
|
@@ -92,23 +92,23 @@ declare const OverflowCompactionDecision: {
|
|
|
92
92
|
}>;
|
|
93
93
|
readonly $match: {
|
|
94
94
|
<Cases extends {
|
|
95
|
-
readonly Skipped: (args: {
|
|
96
|
-
readonly _tag: "Skipped";
|
|
97
|
-
}) => any;
|
|
98
95
|
readonly Compacted: (args: {
|
|
99
96
|
readonly _tag: "Compacted";
|
|
100
97
|
readonly messages: ReadonlyArray<AgentMessage>;
|
|
101
98
|
}) => any;
|
|
102
|
-
}>(cases: Cases): (value: OverflowCompactionDecision) => import("effect/Unify").Unify<ReturnType<Cases["Skipped" | "Compacted"]>>;
|
|
103
|
-
<Cases extends {
|
|
104
99
|
readonly Skipped: (args: {
|
|
105
100
|
readonly _tag: "Skipped";
|
|
106
101
|
}) => any;
|
|
102
|
+
}>(cases: Cases): (value: OverflowCompactionDecision) => import("effect/Unify").Unify<ReturnType<Cases["Compacted" | "Skipped"]>>;
|
|
103
|
+
<Cases extends {
|
|
107
104
|
readonly Compacted: (args: {
|
|
108
105
|
readonly _tag: "Compacted";
|
|
109
106
|
readonly messages: ReadonlyArray<AgentMessage>;
|
|
110
107
|
}) => any;
|
|
111
|
-
|
|
108
|
+
readonly Skipped: (args: {
|
|
109
|
+
readonly _tag: "Skipped";
|
|
110
|
+
}) => any;
|
|
111
|
+
}>(value: OverflowCompactionDecision, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Compacted" | "Skipped"]>>;
|
|
112
112
|
};
|
|
113
113
|
};
|
|
114
114
|
type ContextOverflowRetryCompactor = (messages: ReadonlyArray<AgentMessage>) => Effect.Effect<ContextOverflowRetryCompactionResult, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.d.mts","names":[],"sources":["../../src/compaction/retry.ts"],"mappings":";;;;;KASY,oCAAA,GAAuC,IAAA,CAAK,UAAA;EACtD,SAAA;IAAA,SACW,QAAA,EAAU,aAAA,CAAc,YAAA;EAAA;EAEnC,OAAA;IAAA,SACW,QAAA,EAAU,aAAA,CAAc,YAAA;EAAA;AAAA;AAAA,cAIxB,oCAAA;EAAA;;
|
|
1
|
+
{"version":3,"file":"retry.d.mts","names":[],"sources":["../../src/compaction/retry.ts"],"mappings":";;;;;KASY,oCAAA,GAAuC,IAAA,CAAK,UAAA;EACtD,SAAA;IAAA,SACW,QAAA,EAAU,aAAA,CAAc,YAAA;EAAA;EAEnC,OAAA;IAAA,SACW,QAAA,EAAU,aAAA,CAAc,YAAA;EAAA;AAAA;AAAA,cAIxB,oCAAA;EAAA;;uBAPU,aAAA,CAAc,YAAA;EAAA;EAAA;;uBAGd,aAAA,CAAc,YAAA;EAAA;EAAA;;uBAHd,aAAA,CAAc,YAAA;EAAA;IAAA;;;uBAGd,aAAA,CAAc,YAAA;EAAA;IAAA;;;;;;2BAHd,aAAA,CAAc,YAAA;MAAA;MAAA;;2BAGd,aAAA,CAAc,YAAA;MAAA;IAAA;;yBAHd,aAAA,CAAc,YAAA;IAAA;MAAA;yBAGd,aAAA,CAAc,YAAA;IAAA;;;;2BAHd,aAAA,CAAc,YAAA;MAAA;MAAA;;2BAGd,aAAA,CAAc,YAAA;MAAA;IAAA;;yBAHd,aAAA,CAAc,YAAA;IAAA;MAAA;yBAGd,aAAA,CAAc,YAAA;IAAA;;;KAOzB,0BAAA;EAAA,SAEG,IAAA;EAAA,SACA,QAAA,EAAU,aAAa,CAAC,YAAA;AAAA;EAAA,SAGxB,IAAA;AAAA;AAAA,cAGF,0BAAA;EAAA;;uBANY,aAAA,CAAc,YAAA;EAAA;EAAA;;;;;uBAAd,aAAA,CAAc,YAAA;EAAA;IAAA;;;;;;;;;;2BAAd,aAAA,CAAc,YAAA;MAAA;MAAA;;;;;;;2BAAd,aAAA,CAAc,YAAA;MAAA;MAAA;;;;;;KAQ3B,6BAAA,IACV,QAAA,EAAU,aAAA,CAAc,YAAA,MACrB,MAAA,CAAO,MAAA,CAAO,oCAAA;AAAA,KAEP,iCAAA;EAAA,SACD,QAAA;IAAA,SACE,MAAA,GAAS,OAAA,EAAS,UAAA,KAAe,MAAA,CAAO,MAAA,CAAO,QAAA,EAAU,gBAAA;EAAA;EAAA,SAE3D,WAAA,GAAc,GAAA,CAAI,GAAA,CAAI,aAAA,CAAc,YAAA;EAAA,SACpC,OAAA,EAAS,6BAAA;AAAA;AAAA,KAGf,uBAAA,GAA0B,oCAAA,GAAuC,0BAA0B;;cAGnF,6BAAA;AAAA,cAEA,gCAAA,GAAoC,OAAe;AAAA,cAGnD,gCAAA,GAAoC,OAAe;AAAA,cAGnD,wBAAA,GAA4B,KAAA;EAAA,SAC9B,OAAA;EAAA,SACA,aAAA;AAAA;AAAA,cAkBE,uBAAA,SAAiC,KAAA;EAAA,SACnC,OAAA,GACP,QAAA,EAAU,aAAA,CAAc,YAAA,MACrB,MAAA,CAAO,MAAA,CAAO,uBAAA,EAAyB,CAAA,EAAG,CAAA;EAAA,SACtC,QAAA,EAAU,aAAA,CAAc,YAAA;EAAA,SACxB,OAAA;EAAA,SACA,aAAA;AAAA,MACP,MAAA,CAAO,MAAA,CAAO,0BAAA,EAA4B,CAAA,EAAG,CAAA;AAAA,cAuEpC,gCAAA,GAAoC,KAAA,EAAO,iCAAA,KAAiC,MAAA,CAAA,MAAA;EAAA"}
|
|
@@ -57,13 +57,6 @@ type CompletedCompactionResult = Extract<CompactionResult, {
|
|
|
57
57
|
readonly _tag: 'Compacted';
|
|
58
58
|
}>;
|
|
59
59
|
declare const CompactionResult: {
|
|
60
|
-
readonly Skipped: Data.TaggedEnum.ConstructorFrom<{
|
|
61
|
-
readonly _tag: "Skipped";
|
|
62
|
-
readonly reason: CompactionSkipReason;
|
|
63
|
-
readonly messages: ReadonlyArray<AgentMessage>;
|
|
64
|
-
readonly events: ReadonlyArray<AgentEvent>;
|
|
65
|
-
readonly beforeTokens: number;
|
|
66
|
-
}, "_tag">;
|
|
67
60
|
readonly Compacted: Data.TaggedEnum.ConstructorFrom<{
|
|
68
61
|
readonly _tag: "Compacted";
|
|
69
62
|
readonly strategy: string;
|
|
@@ -75,15 +68,14 @@ declare const CompactionResult: {
|
|
|
75
68
|
readonly recentMessages: ReadonlyArray<AgentMessage>;
|
|
76
69
|
readonly summaryMessage: AgentMessage;
|
|
77
70
|
}, "_tag">;
|
|
78
|
-
readonly
|
|
71
|
+
readonly Skipped: Data.TaggedEnum.ConstructorFrom<{
|
|
79
72
|
readonly _tag: "Skipped";
|
|
80
73
|
readonly reason: CompactionSkipReason;
|
|
81
74
|
readonly messages: ReadonlyArray<AgentMessage>;
|
|
82
75
|
readonly events: ReadonlyArray<AgentEvent>;
|
|
83
76
|
readonly beforeTokens: number;
|
|
84
|
-
},
|
|
85
|
-
|
|
86
|
-
}> | Extract<{
|
|
77
|
+
}, "_tag">;
|
|
78
|
+
readonly $is: <Tag extends "Compacted" | "Skipped">(tag: Tag) => (u: unknown) => u is Extract<{
|
|
87
79
|
readonly _tag: "Compacted";
|
|
88
80
|
readonly strategy: string;
|
|
89
81
|
readonly messages: ReadonlyArray<AgentMessage>;
|
|
@@ -95,16 +87,17 @@ declare const CompactionResult: {
|
|
|
95
87
|
readonly summaryMessage: AgentMessage;
|
|
96
88
|
}, {
|
|
97
89
|
readonly _tag: Tag;
|
|
90
|
+
}> | Extract<{
|
|
91
|
+
readonly _tag: "Skipped";
|
|
92
|
+
readonly reason: CompactionSkipReason;
|
|
93
|
+
readonly messages: ReadonlyArray<AgentMessage>;
|
|
94
|
+
readonly events: ReadonlyArray<AgentEvent>;
|
|
95
|
+
readonly beforeTokens: number;
|
|
96
|
+
}, {
|
|
97
|
+
readonly _tag: Tag;
|
|
98
98
|
}>;
|
|
99
99
|
readonly $match: {
|
|
100
100
|
<Cases extends {
|
|
101
|
-
readonly Skipped: (args: {
|
|
102
|
-
readonly _tag: "Skipped";
|
|
103
|
-
readonly reason: CompactionSkipReason;
|
|
104
|
-
readonly messages: ReadonlyArray<AgentMessage>;
|
|
105
|
-
readonly events: ReadonlyArray<AgentEvent>;
|
|
106
|
-
readonly beforeTokens: number;
|
|
107
|
-
}) => any;
|
|
108
101
|
readonly Compacted: (args: {
|
|
109
102
|
readonly _tag: "Compacted";
|
|
110
103
|
readonly strategy: string;
|
|
@@ -116,13 +109,14 @@ declare const CompactionResult: {
|
|
|
116
109
|
readonly recentMessages: ReadonlyArray<AgentMessage>;
|
|
117
110
|
readonly summaryMessage: AgentMessage;
|
|
118
111
|
}) => any;
|
|
112
|
+
readonly Skipped: (args: {
|
|
113
|
+
readonly _tag: "Skipped";
|
|
114
|
+
readonly reason: CompactionSkipReason;
|
|
115
|
+
readonly messages: ReadonlyArray<AgentMessage>;
|
|
116
|
+
readonly events: ReadonlyArray<AgentEvent>;
|
|
117
|
+
readonly beforeTokens: number;
|
|
118
|
+
}) => any;
|
|
119
119
|
}>(cases: Cases): (value: {
|
|
120
|
-
readonly _tag: "Skipped";
|
|
121
|
-
readonly reason: CompactionSkipReason;
|
|
122
|
-
readonly messages: ReadonlyArray<AgentMessage>;
|
|
123
|
-
readonly events: ReadonlyArray<AgentEvent>;
|
|
124
|
-
readonly beforeTokens: number;
|
|
125
|
-
} | {
|
|
126
120
|
readonly _tag: "Compacted";
|
|
127
121
|
readonly strategy: string;
|
|
128
122
|
readonly messages: ReadonlyArray<AgentMessage>;
|
|
@@ -132,15 +126,14 @@ declare const CompactionResult: {
|
|
|
132
126
|
readonly compactedMessages: ReadonlyArray<AgentMessage>;
|
|
133
127
|
readonly recentMessages: ReadonlyArray<AgentMessage>;
|
|
134
128
|
readonly summaryMessage: AgentMessage;
|
|
135
|
-
}
|
|
129
|
+
} | {
|
|
130
|
+
readonly _tag: "Skipped";
|
|
131
|
+
readonly reason: CompactionSkipReason;
|
|
132
|
+
readonly messages: ReadonlyArray<AgentMessage>;
|
|
133
|
+
readonly events: ReadonlyArray<AgentEvent>;
|
|
134
|
+
readonly beforeTokens: number;
|
|
135
|
+
}) => import("effect/Unify").Unify<ReturnType<Cases["Compacted" | "Skipped"]>>;
|
|
136
136
|
<Cases extends {
|
|
137
|
-
readonly Skipped: (args: {
|
|
138
|
-
readonly _tag: "Skipped";
|
|
139
|
-
readonly reason: CompactionSkipReason;
|
|
140
|
-
readonly messages: ReadonlyArray<AgentMessage>;
|
|
141
|
-
readonly events: ReadonlyArray<AgentEvent>;
|
|
142
|
-
readonly beforeTokens: number;
|
|
143
|
-
}) => any;
|
|
144
137
|
readonly Compacted: (args: {
|
|
145
138
|
readonly _tag: "Compacted";
|
|
146
139
|
readonly strategy: string;
|
|
@@ -152,13 +145,14 @@ declare const CompactionResult: {
|
|
|
152
145
|
readonly recentMessages: ReadonlyArray<AgentMessage>;
|
|
153
146
|
readonly summaryMessage: AgentMessage;
|
|
154
147
|
}) => any;
|
|
148
|
+
readonly Skipped: (args: {
|
|
149
|
+
readonly _tag: "Skipped";
|
|
150
|
+
readonly reason: CompactionSkipReason;
|
|
151
|
+
readonly messages: ReadonlyArray<AgentMessage>;
|
|
152
|
+
readonly events: ReadonlyArray<AgentEvent>;
|
|
153
|
+
readonly beforeTokens: number;
|
|
154
|
+
}) => any;
|
|
155
155
|
}>(value: {
|
|
156
|
-
readonly _tag: "Skipped";
|
|
157
|
-
readonly reason: CompactionSkipReason;
|
|
158
|
-
readonly messages: ReadonlyArray<AgentMessage>;
|
|
159
|
-
readonly events: ReadonlyArray<AgentEvent>;
|
|
160
|
-
readonly beforeTokens: number;
|
|
161
|
-
} | {
|
|
162
156
|
readonly _tag: "Compacted";
|
|
163
157
|
readonly strategy: string;
|
|
164
158
|
readonly messages: ReadonlyArray<AgentMessage>;
|
|
@@ -168,7 +162,13 @@ declare const CompactionResult: {
|
|
|
168
162
|
readonly compactedMessages: ReadonlyArray<AgentMessage>;
|
|
169
163
|
readonly recentMessages: ReadonlyArray<AgentMessage>;
|
|
170
164
|
readonly summaryMessage: AgentMessage;
|
|
171
|
-
}
|
|
165
|
+
} | {
|
|
166
|
+
readonly _tag: "Skipped";
|
|
167
|
+
readonly reason: CompactionSkipReason;
|
|
168
|
+
readonly messages: ReadonlyArray<AgentMessage>;
|
|
169
|
+
readonly events: ReadonlyArray<AgentEvent>;
|
|
170
|
+
readonly beforeTokens: number;
|
|
171
|
+
}, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Compacted" | "Skipped"]>>;
|
|
172
172
|
};
|
|
173
173
|
};
|
|
174
174
|
type ApplyCompactionPlanOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window.d.mts","names":[],"sources":["../../src/compaction/window.ts"],"mappings":";;;;;cASa,iCAAA;AAAA,cAEA,gCAAA;AAAA,KAED,oBAAA;AAAA,KAMA,2BAAA;EAAA,SACD,eAAA;EAAA,SACA,gBAAA;EAAA,SACA,WAAA;EAAA,SACA,cAAA,GAAiB,wBAAwB;AAAA;AAAA,KAGxC,oBAAA,GAAuB,IAAA,CAAK,UAAA;EACtC,IAAA;IAAA,SACW,MAAA,EAAQ,oBAAA;IAAA,SACR,QAAA,EAAU,aAAA,CAAc,YAAA;IAAA,SACxB,YAAA;EAAA;EAEX,OAAA;IAAA,SACW,QAAA,EAAU,aAAA,CAAc,YAAA;IAAA,SACxB,iBAAA,EAAmB,aAAA,CAAc,YAAA;IAAA,SACjC,cAAA,EAAgB,aAAA,CAAc,YAAA;IAAA,SAC9B,cAAA;IAAA,SACA,YAAA;EAAA;AAAA;AAAA,KAID,qBAAA,GAAwB,OAAO,CAAC,oBAAA;EAAA,SAAiC,IAAA;AAAA;AAAA,KAEjE,qBAAA,GAAwB,OAAO,CAAC,oBAAA;EAAA,SAAiC,IAAA;AAAA;AAAA,KAIjE,gBAAA,GAAmB,IAAA,CAAK,UAAA;EAClC,OAAA;IAAA,SACW,MAAA,EAAQ,oBAAA;IAAA,SACR,QAAA,EAAU,aAAA,CAAc,YAAA;IAAA,SACxB,MAAA,EAAQ,aAAA,CAAc,UAAA;IAAA,SACtB,YAAA;EAAA;EAEX,SAAA;IAAA,SACW,QAAA;IAAA,SACA,QAAA,EAAU,aAAA,CAAc,YAAA;IAAA,SACxB,MAAA,EAAQ,aAAA,CAAc,UAAA;IAAA,SACtB,YAAA;IAAA,SACA,WAAA;IAAA,SACA,iBAAA,EAAmB,aAAA,CAAc,YAAA;IAAA,SACjC,cAAA,EAAgB,aAAA,CAAc,YAAA;IAAA,SAC9B,cAAA,EAAgB,YAAA;EAAA;AAAA;AAAA,KAIjB,uBAAA,GAA0B,OAAO,CAAC,gBAAA;EAAA,SAA6B,IAAA;AAAA;AAAA,KAE/D,yBAAA,GAA4B,OAAO,CAAC,gBAAA;EAAA,SAA6B,IAAA;AAAA;AAAA,cAEhE,gBAAA;EAAA
|
|
1
|
+
{"version":3,"file":"window.d.mts","names":[],"sources":["../../src/compaction/window.ts"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-provider-internal.d.mts","names":[],"sources":["../../src/providers/anthropic-provider-internal.ts"],"mappings":";;;;;;;KAoDY,6BAAA;EAAA,SACD,KAAA,EAAO,gBAAA;EAAA,SACP,WAAA;EAAA,SACA,SAAA;EAAA,SACA,YAAA,GAAe,QAAA,CAAS,MAAA;AAAA;AAAA,KAG9B,kBAAA;EAAA,SACM,IAAA;EAAA,SACA,IAAI;AAAA;AAAA,KAGV,oBAAA,GAAuB,kBAAkB;AAAA,KAEzC,mBAAA;EAAA,SACM,IAAA;EAAA,SACA,MAAA;IAAA,SAEM,IAAA;IAAA,SACA,UAAA;IAAA,SACA,IAAA;EAAA;IAAA,SAGA,IAAA;IAAA,SACA,GAAA;EAAA;AAAA;AAAA,KAIZ,sBAAA;EAAA,SACM,IAAA;EAAA,SACA,MAAA;IAAA,SAEM,IAAA;IAAA,SACA,UAAA;IAAA,SACA,IAAA;EAAA;IAAA,SAGA,IAAA;IAAA,SACA,GAAA;EAAA;EAAA,SAEN,KAAA;AAAA;AAAA,KAGN,qBAAA;EAAA,SACM,IAAA;EAAA,SACA,EAAA;EAAA,SACA,IAAA;EAAA,SACA,KAAA,EAAO,QAAA,CAAO,IAAI;AAAA;AAAA,KAGxB,+BAAA,GACD,kBAAA,GACA,mBAAA,GACA,sBAAA;AAAA,KAEC,wBAAA;EAAA,SACM,IAAA;EAAA,SACA,WAAA;EAAA,SACA,OAAA,WAAkB,aAAa,CAAC,+BAAA;EAAA,SAChC,QAAA;AAAA;AAAA,KAGN,kBAAA,GACD,kBAAA,GACA,mBAAA,GACA,sBAAA,GACA,wBAAA;AAAA,KAEC,uBAAA,GAA0B,kBAAA,GAAqB,qBAAqB;AAAA,KAEpE,gBAAA;EAAA,SACU,IAAA;EAAA,SAAuB,OAAA,WAAkB,aAAA,CAAc,kBAAA;AAAA;EAAA,SACvD,IAAA;EAAA,SAA4B,OAAA,EAAS,aAAA,CAAc,uBAAA;AAAA;AAAA,KAS7D,aAAA;EAAA,SACM,IAAA;EAAA,SACA,WAAA;EAAA,SACA,YAAA,EAAc,QAAA,CAAO,IAAI;AAAA;AAAA,KAG/B,oBAAA;EAAA,SACM,KAAA;EAAA,SACA,MAAA,EAAQ,aAAA,CAAc,oBAAA;EAAA,SACtB,QAAA,EAAU,aAAA,CAAc,gBAAA;EAAA,SACxB,UAAA;EAAA,SACA,aAAA;IAAA,SACE,MAAA;EAAA;EAAA,SAEF,MAAA;EAAA,SACA,KAAA,GAAQ,aAAA,CAAc,aAAA;AAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"anthropic-provider-internal.d.mts","names":[],"sources":["../../src/providers/anthropic-provider-internal.ts"],"mappings":";;;;;;;KAoDY,6BAAA;EAAA,SACD,KAAA,EAAO,gBAAA;EAAA,SACP,WAAA;EAAA,SACA,SAAA;EAAA,SACA,YAAA,GAAe,QAAA,CAAS,MAAA;AAAA;AAAA,KAG9B,kBAAA;EAAA,SACM,IAAA;EAAA,SACA,IAAI;AAAA;AAAA,KAGV,oBAAA,GAAuB,kBAAkB;AAAA,KAEzC,mBAAA;EAAA,SACM,IAAA;EAAA,SACA,MAAA;IAAA,SAEM,IAAA;IAAA,SACA,UAAA;IAAA,SACA,IAAA;EAAA;IAAA,SAGA,IAAA;IAAA,SACA,GAAA;EAAA;AAAA;AAAA,KAIZ,sBAAA;EAAA,SACM,IAAA;EAAA,SACA,MAAA;IAAA,SAEM,IAAA;IAAA,SACA,UAAA;IAAA,SACA,IAAA;EAAA;IAAA,SAGA,IAAA;IAAA,SACA,GAAA;EAAA;EAAA,SAEN,KAAA;AAAA;AAAA,KAGN,qBAAA;EAAA,SACM,IAAA;EAAA,SACA,EAAA;EAAA,SACA,IAAA;EAAA,SACA,KAAA,EAAO,QAAA,CAAO,IAAI;AAAA;AAAA,KAGxB,+BAAA,GACD,kBAAA,GACA,mBAAA,GACA,sBAAA;AAAA,KAEC,wBAAA;EAAA,SACM,IAAA;EAAA,SACA,WAAA;EAAA,SACA,OAAA,WAAkB,aAAa,CAAC,+BAAA;EAAA,SAChC,QAAA;AAAA;AAAA,KAGN,kBAAA,GACD,kBAAA,GACA,mBAAA,GACA,sBAAA,GACA,wBAAA;AAAA,KAEC,uBAAA,GAA0B,kBAAA,GAAqB,qBAAqB;AAAA,KAEpE,gBAAA;EAAA,SACU,IAAA;EAAA,SAAuB,OAAA,WAAkB,aAAA,CAAc,kBAAA;AAAA;EAAA,SACvD,IAAA;EAAA,SAA4B,OAAA,EAAS,aAAA,CAAc,uBAAA;AAAA;AAAA,KAS7D,aAAA;EAAA,SACM,IAAA;EAAA,SACA,WAAA;EAAA,SACA,YAAA,EAAc,QAAA,CAAO,IAAI;AAAA;AAAA,KAG/B,oBAAA;EAAA,SACM,KAAA;EAAA,SACA,MAAA,EAAQ,aAAA,CAAc,oBAAA;EAAA,SACtB,QAAA,EAAU,aAAA,CAAc,gBAAA;EAAA,SACxB,UAAA;EAAA,SACA,aAAA;IAAA,SACE,MAAA;EAAA;EAAA,SAEF,MAAA;EAAA,SACA,KAAA,GAAQ,aAAA,CAAc,aAAA;AAAA;AAAA,cAoiCpB,sBAAA,GACX,OAAA,EAAS,UAAA,EACT,MAAA;EAAA,SACW,SAAA;EAAA,SACA,MAAA;EAAA,SACA,mBAAA;AAAA,MAEV,MAAA,CAAO,MAAA,CAAO,oBAAA,EAAsB,QAAA;AAAA,cAuuB1B,uBAAA,GACX,QAAA,EAAU,kBAAA,CAAmB,kBAAA,EAC7B,cAAA,IAAiB,IAAA,qBACjB,kBAAA,eACC,MAAA,CAAO,MAAA,CAAO,QAAA,EAAU,QAAA;AAAA,cA8Hd,gCAAA,GAAoC,MAAA,EAAQ,6BAAA,KAA6B,KAAA,CAAA,KAAA,CAAA,WAAA,SAAA,UAAA,CAAA,UAAA"}
|
|
@@ -505,15 +505,25 @@ const toAnthropicMessage = (message, claudeCompatibility) => Match.value(message
|
|
|
505
505
|
text
|
|
506
506
|
}], ...toolBlocks]
|
|
507
507
|
};
|
|
508
|
-
}))))), Match.tag("ToolResult", (current) => contentToAnthropicContent(prependMessageContextToContent(current.content, messageContextText(current))).pipe(Effect.map((content) =>
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
}
|
|
508
|
+
}))))), Match.tag("ToolResult", (current) => contentToAnthropicContent(prependMessageContextToContent(current.content, messageContextText(current))).pipe(Effect.map((content) => {
|
|
509
|
+
if (current.isError === void 0) return {
|
|
510
|
+
role: "user",
|
|
511
|
+
content: [{
|
|
512
|
+
type: "tool_result",
|
|
513
|
+
tool_use_id: current.toolCallId,
|
|
514
|
+
content
|
|
515
|
+
}]
|
|
516
|
+
};
|
|
517
|
+
return {
|
|
518
|
+
role: "user",
|
|
519
|
+
content: [{
|
|
520
|
+
type: "tool_result",
|
|
521
|
+
tool_use_id: current.toolCallId,
|
|
522
|
+
content,
|
|
523
|
+
is_error: current.isError
|
|
524
|
+
}]
|
|
525
|
+
};
|
|
526
|
+
}))), Match.exhaustive);
|
|
517
527
|
const toAnthropicTool = (tool, claudeCompatibility) => Schema$1.decodeUnknownEffect(Schema$1.Json)(tool.parameters).pipe(Effect.mapError(schemaErrorToLlmError("provider_error", "Invalid Anthropic Claude tool parameters JSON")), Effect.map((parameters) => ({
|
|
518
528
|
name: claudeCompatibility ? prefixClaudeToolName(tool.name) : tool.name,
|
|
519
529
|
description: tool.description,
|