@yolk-sdk/agent 0.1.0-canary.26 → 0.1.0-canary.28

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 CHANGED
@@ -16,26 +16,26 @@ Canary APIs are unstable. Keep all `@yolk-sdk/*` packages on the same version.
16
16
 
17
17
  ## Subpaths
18
18
 
19
- | Subpath | Purpose |
20
- | ------------------------------ | -------------------------------------------------------------- |
21
- | `@yolk-sdk/agent/protocol` | Wire messages, events, content, usage, tool schemas |
22
- | `@yolk-sdk/agent/loop` | Stateless LLM/tool loop |
23
- | `@yolk-sdk/agent/loop/testing` | Faux provider and tool executor test helpers |
24
- | `@yolk-sdk/agent/runtime` | Transcript or append-backed runtime orchestration |
25
- | `@yolk-sdk/agent/client` | HTTP/NDJSON transport, HITL resume, retry/error state helpers |
26
- | `@yolk-sdk/agent/compaction` | Pure host-owned context budget, planning, and transformer utils |
27
- | `@yolk-sdk/agent/tools` | Tool module registry, `makeTool`, task/question tool contracts |
28
- | `@yolk-sdk/agent/react` | Headless React chat hook, reducer, selectors, and render model |
29
- | `@yolk-sdk/agent/oauth` | Provider-neutral OAuth token and broker contracts |
30
- | `@yolk-sdk/agent/providers/openai` | OpenAI/Codex OAuth and broker helpers |
31
- | `@yolk-sdk/agent/providers/openai/codex` | OpenAI Codex request and auth helpers |
32
- | `@yolk-sdk/agent/providers/openai/codex-provider` | Codex LLM provider factory |
33
- | `@yolk-sdk/agent/providers/openai/provider` | OpenAI-compatible LLM provider factory |
34
- | `@yolk-sdk/agent/providers/anthropic` | Anthropic/Claude OAuth and broker helpers |
35
- | `@yolk-sdk/agent/providers/anthropic/claude` | Claude request and auth helpers |
36
- | `@yolk-sdk/agent/providers/anthropic/claude-provider` | Claude LLM provider factory |
37
- | `@yolk-sdk/agent/skillset` | Portable skill and slash-command parsing/catalogs |
38
- | `@yolk-sdk/agent/voice` | Provider-neutral voice tool-call bridge |
19
+ | Subpath | Purpose |
20
+ | ----------------------------------------------------- | --------------------------------------------------------------- |
21
+ | `@yolk-sdk/agent/protocol` | Wire messages, events, content, usage, tool schemas |
22
+ | `@yolk-sdk/agent/loop` | Stateless LLM/tool loop |
23
+ | `@yolk-sdk/agent/loop/testing` | Faux provider and tool executor test helpers |
24
+ | `@yolk-sdk/agent/runtime` | Transcript or append-backed runtime orchestration |
25
+ | `@yolk-sdk/agent/client` | HTTP/NDJSON transport, HITL resume, retry/error state helpers |
26
+ | `@yolk-sdk/agent/compaction` | Pure host-owned context budget, planning, and transformer utils |
27
+ | `@yolk-sdk/agent/tools` | Tool module registry, `makeTool`, task/question tool contracts |
28
+ | `@yolk-sdk/agent/react` | Headless React chat hook, reducer, selectors, and render model |
29
+ | `@yolk-sdk/agent/oauth` | Provider-neutral OAuth token and broker contracts |
30
+ | `@yolk-sdk/agent/providers/openai` | OpenAI/Codex OAuth and broker helpers |
31
+ | `@yolk-sdk/agent/providers/openai/codex` | OpenAI Codex request and auth helpers |
32
+ | `@yolk-sdk/agent/providers/openai/codex-provider` | Codex LLM provider factory |
33
+ | `@yolk-sdk/agent/providers/openai/provider` | OpenAI-compatible LLM provider factory |
34
+ | `@yolk-sdk/agent/providers/anthropic` | Anthropic/Claude OAuth and broker helpers |
35
+ | `@yolk-sdk/agent/providers/anthropic/claude` | Claude request and auth helpers |
36
+ | `@yolk-sdk/agent/providers/anthropic/claude-provider` | Claude LLM provider factory |
37
+ | `@yolk-sdk/agent/skillset` | Portable skill and slash-command parsing/catalogs |
38
+ | `@yolk-sdk/agent/voice` | Provider-neutral voice tool-call bridge |
39
39
 
40
40
  ## Imports
41
41
 
@@ -52,7 +52,11 @@ import {
52
52
  } from '@yolk-sdk/agent/protocol'
53
53
  import { run } from '@yolk-sdk/agent/loop'
54
54
  import { runRuntime } from '@yolk-sdk/agent/runtime'
55
- import { initialAgentClientState, toolRunsFromHitlRequests } from '@yolk-sdk/agent/client'
55
+ import {
56
+ initialAgentClientState,
57
+ streamAgentEventsUntilTerminal,
58
+ toolRunsFromHitlRequests
59
+ } from '@yolk-sdk/agent/client'
56
60
  import {
57
61
  makeContextBudget,
58
62
  makePreviewSummaryMessage,
@@ -115,6 +119,13 @@ policy and emits protocol-visible retry/error state:
115
119
  Raw provider response bodies stay out of protocol/UI. Hosts own durable persistence and display of
116
120
  typed retry/error state.
117
121
 
122
+ ## Usage accounting
123
+
124
+ Provider `LLMUsage` events are additive deltas. Adapters normalize vendor counters before emitting;
125
+ for example, Anthropic stream snapshots become deltas and cached input tokens count toward input
126
+ totals. The loop aggregates usage and emits protocol `UsageUpdate` / terminal usage for hosts to
127
+ persist or display.
128
+
118
129
  ## Context compaction
119
130
 
120
131
  `@yolk-sdk/agent/compaction` provides pure scaffolding only. It does not call a model, persist
@@ -259,6 +270,31 @@ HITL is protocol-level, not UI-level:
259
270
  HTTP client helpers treat `AgentEnd`, `AgentError`, and `AgentAwaitingInput` as logical stream
260
271
  end for consumers. After a terminal event the response body drains to EOF; cancellation before a
261
272
  terminal event still aborts the active body reader.
273
+ Durable Workflow clients can use `streamAgentEventsUntilTerminal`,
274
+ `streamAgentRunEventsUntilTerminal`, and `streamAgentRunHitlResponseEventsUntilTerminal` to follow
275
+ continuation chunks by `x-workflow-run-id` and `x-workflow-stream-tail-index` headers. These helpers
276
+ fail with `AgentTransportError` if no terminal event is reached before the continuation limit.
277
+ For HITL resume responses, `x-workflow-stream-tail-index` means the stream tail before the returned
278
+ body. The returned body starts at `tail + 1`; the next continuation starts after all returned
279
+ events. `continuationLimit: 0` disables follow-up chunks, so any non-terminal response fails
280
+ immediately.
281
+
282
+ ```ts
283
+ import { streamAgentEventsUntilTerminal } from '@yolk-sdk/agent/client'
284
+ import { UserMessage } from '@yolk-sdk/agent/protocol'
285
+
286
+ for await (const event of streamAgentEventsUntilTerminal({
287
+ endpoint: '/api/agent/workflow',
288
+ sessionId: 'session_1',
289
+ messages: [UserMessage.make({ content: 'Hello' })],
290
+ runEndpoint: runId => `/api/agent/workflow/${encodeURIComponent(runId)}`
291
+ })) {
292
+ // Apply AgentEvent to app state.
293
+ }
294
+ ```
295
+
296
+ The SDK client does not own durable route auth, run ownership, Workflow hook-token routing, or HITL
297
+ request matching. Hosts expose the run endpoints and validate access/response identity server-side.
262
298
 
263
299
  ## Task subagents
264
300
 
@@ -1,4 +1,4 @@
1
1
  import { documentPartFromTextFile, textFromBlob } from "./attachments.mjs";
2
2
  import { AgentClientState, AgentRunStatus, AgentToolRun, AgentTranscript, ApplyAgentEventOptions, appendAgentMessage, applyAgentEvent, completedToolRuns, initialAgentClientState, isActiveToolRun, markAgentAborted, markAgentError, reduceAgentEvents, submitAgentUserMessage, toolRunsFromHitlRequests } from "./state.mjs";
3
- import { AgentHttpResponseInfo, AgentTransportError, CancelAgentRunRequest, StreamAgentEventsRequest, StreamAgentRunEventsRequest, StreamCloudflareAgentEventsRequest, SubmitQuestionResponseRequest, SubmitToolApprovalResponseRequest, cancelAgentRun, collectAgentEvents, collectAgentEventsEffect, streamAgentEventStream, streamAgentEvents, streamAgentRunEventStream, streamAgentRunEvents, streamCloudflareAgentEventStream, streamCloudflareAgentEvents, streamQuestionResponseEventStream, streamToolApprovalResponseEventStream, submitQuestionResponse, submitToolApprovalResponse } from "./transport.mjs";
4
- export { type AgentClientState, type AgentHttpResponseInfo, type AgentRunStatus, type AgentToolRun, type AgentTranscript, AgentTransportError, type ApplyAgentEventOptions, type CancelAgentRunRequest, type StreamAgentEventsRequest, type StreamAgentRunEventsRequest, type StreamCloudflareAgentEventsRequest, type SubmitQuestionResponseRequest, type SubmitToolApprovalResponseRequest, appendAgentMessage, applyAgentEvent, cancelAgentRun, collectAgentEvents, collectAgentEventsEffect, completedToolRuns, documentPartFromTextFile, initialAgentClientState, isActiveToolRun, markAgentAborted, markAgentError, reduceAgentEvents, streamAgentEventStream, streamAgentEvents, streamAgentRunEventStream, streamAgentRunEvents, streamCloudflareAgentEventStream, streamCloudflareAgentEvents, streamQuestionResponseEventStream, streamToolApprovalResponseEventStream, submitAgentUserMessage, submitQuestionResponse, submitToolApprovalResponse, textFromBlob, toolRunsFromHitlRequests };
3
+ import { AgentHttpResponseInfo, AgentRunContinuationOptions, AgentTransportError, CancelAgentRunRequest, StreamAgentEventHandler, StreamAgentEventsRequest, StreamAgentEventsUntilTerminalRequest, StreamAgentRunEventsRequest, StreamAgentRunEventsUntilTerminalRequest, StreamAgentRunHitlResponseEventsRequest, StreamAgentRunHitlResponseEventsUntilTerminalRequest, StreamCloudflareAgentEventsRequest, SubmitQuestionResponseRequest, SubmitToolApprovalResponseRequest, agentRunEndpointWithStartIndex, agentRunIdFromHeaders, agentRunStreamStartIndexFromHeaders, agentRunStreamTailIndexFromHeaders, cancelAgentRun, collectAgentEvents, collectAgentEventsEffect, streamAgentEventStream, streamAgentEvents, streamAgentEventsUntilTerminal, streamAgentRunEventStream, streamAgentRunEvents, streamAgentRunEventsUntilTerminal, streamAgentRunHitlResponseEventStream, streamAgentRunHitlResponseEvents, streamAgentRunHitlResponseEventsUntilTerminal, streamCloudflareAgentEventStream, streamCloudflareAgentEvents, streamQuestionResponseEventStream, streamToolApprovalResponseEventStream, submitQuestionResponse, submitToolApprovalResponse } from "./transport.mjs";
4
+ export { type AgentClientState, type AgentHttpResponseInfo, type AgentRunContinuationOptions, type AgentRunStatus, type AgentToolRun, type AgentTranscript, AgentTransportError, type ApplyAgentEventOptions, type CancelAgentRunRequest, type StreamAgentEventHandler, type StreamAgentEventsRequest, type StreamAgentEventsUntilTerminalRequest, type StreamAgentRunEventsRequest, type StreamAgentRunEventsUntilTerminalRequest, type StreamAgentRunHitlResponseEventsRequest, type StreamAgentRunHitlResponseEventsUntilTerminalRequest, type StreamCloudflareAgentEventsRequest, type SubmitQuestionResponseRequest, type SubmitToolApprovalResponseRequest, agentRunEndpointWithStartIndex, agentRunIdFromHeaders, agentRunStreamStartIndexFromHeaders, agentRunStreamTailIndexFromHeaders, appendAgentMessage, applyAgentEvent, cancelAgentRun, collectAgentEvents, collectAgentEventsEffect, completedToolRuns, documentPartFromTextFile, initialAgentClientState, isActiveToolRun, markAgentAborted, markAgentError, reduceAgentEvents, streamAgentEventStream, streamAgentEvents, streamAgentEventsUntilTerminal, streamAgentRunEventStream, streamAgentRunEvents, streamAgentRunEventsUntilTerminal, streamAgentRunHitlResponseEventStream, streamAgentRunHitlResponseEvents, streamAgentRunHitlResponseEventsUntilTerminal, streamCloudflareAgentEventStream, streamCloudflareAgentEvents, streamQuestionResponseEventStream, streamToolApprovalResponseEventStream, submitAgentUserMessage, submitQuestionResponse, submitToolApprovalResponse, textFromBlob, toolRunsFromHitlRequests };
@@ -1,4 +1,4 @@
1
1
  import { documentPartFromTextFile, textFromBlob } from "./attachments.mjs";
2
2
  import { appendAgentMessage, applyAgentEvent, completedToolRuns, initialAgentClientState, isActiveToolRun, markAgentAborted, markAgentError, reduceAgentEvents, submitAgentUserMessage, toolRunsFromHitlRequests } from "./state.mjs";
3
- import { AgentTransportError, cancelAgentRun, collectAgentEvents, collectAgentEventsEffect, streamAgentEventStream, streamAgentEvents, streamAgentRunEventStream, streamAgentRunEvents, streamCloudflareAgentEventStream, streamCloudflareAgentEvents, streamQuestionResponseEventStream, streamToolApprovalResponseEventStream, submitQuestionResponse, submitToolApprovalResponse } from "./transport.mjs";
4
- export { AgentTransportError, appendAgentMessage, applyAgentEvent, cancelAgentRun, collectAgentEvents, collectAgentEventsEffect, completedToolRuns, documentPartFromTextFile, initialAgentClientState, isActiveToolRun, markAgentAborted, markAgentError, reduceAgentEvents, streamAgentEventStream, streamAgentEvents, streamAgentRunEventStream, streamAgentRunEvents, streamCloudflareAgentEventStream, streamCloudflareAgentEvents, streamQuestionResponseEventStream, streamToolApprovalResponseEventStream, submitAgentUserMessage, submitQuestionResponse, submitToolApprovalResponse, textFromBlob, toolRunsFromHitlRequests };
3
+ import { AgentTransportError, agentRunEndpointWithStartIndex, agentRunIdFromHeaders, agentRunStreamStartIndexFromHeaders, agentRunStreamTailIndexFromHeaders, cancelAgentRun, collectAgentEvents, collectAgentEventsEffect, streamAgentEventStream, streamAgentEvents, streamAgentEventsUntilTerminal, streamAgentRunEventStream, streamAgentRunEvents, streamAgentRunEventsUntilTerminal, streamAgentRunHitlResponseEventStream, streamAgentRunHitlResponseEvents, streamAgentRunHitlResponseEventsUntilTerminal, streamCloudflareAgentEventStream, streamCloudflareAgentEvents, streamQuestionResponseEventStream, streamToolApprovalResponseEventStream, submitQuestionResponse, submitToolApprovalResponse } from "./transport.mjs";
4
+ export { AgentTransportError, agentRunEndpointWithStartIndex, agentRunIdFromHeaders, agentRunStreamStartIndexFromHeaders, agentRunStreamTailIndexFromHeaders, appendAgentMessage, applyAgentEvent, cancelAgentRun, collectAgentEvents, collectAgentEventsEffect, completedToolRuns, documentPartFromTextFile, initialAgentClientState, isActiveToolRun, markAgentAborted, markAgentError, reduceAgentEvents, streamAgentEventStream, streamAgentEvents, streamAgentEventsUntilTerminal, streamAgentRunEventStream, streamAgentRunEvents, streamAgentRunEventsUntilTerminal, streamAgentRunHitlResponseEventStream, streamAgentRunHitlResponseEvents, streamAgentRunHitlResponseEventsUntilTerminal, streamCloudflareAgentEventStream, streamCloudflareAgentEvents, streamQuestionResponseEventStream, streamToolApprovalResponseEventStream, submitAgentUserMessage, submitQuestionResponse, submitToolApprovalResponse, textFromBlob, toolRunsFromHitlRequests };
@@ -23,10 +23,29 @@ type StreamAgentEventsRequest = {
23
23
  };
24
24
  type StreamAgentRunEventsRequest = {
25
25
  readonly endpoint: string;
26
+ readonly startIndex?: number;
26
27
  readonly signal?: AbortSignal;
27
28
  readonly httpClientLayer?: Layer.Layer<HttpClient.HttpClient>;
28
29
  readonly onResponse?: (response: AgentHttpResponseInfo) => void;
29
30
  };
31
+ type StreamAgentRunHitlResponseEventsRequest = {
32
+ readonly endpoint: string;
33
+ readonly hitlResponses: ReadonlyArray<HitlResponse>;
34
+ readonly signal?: AbortSignal;
35
+ readonly httpClientLayer?: Layer.Layer<HttpClient.HttpClient>;
36
+ readonly onResponse?: (response: AgentHttpResponseInfo) => void;
37
+ };
38
+ type StreamAgentEventHandler = (event: AgentEvent, count: number) => void;
39
+ type AgentRunContinuationOptions = {
40
+ readonly continuationLimit?: number;
41
+ readonly onEvent?: StreamAgentEventHandler;
42
+ };
43
+ type StreamAgentEventsUntilTerminalRequest = StreamAgentEventsRequest & AgentRunContinuationOptions & {
44
+ readonly runEndpoint?: (runId: string) => string;
45
+ readonly onRunId?: (runId: string) => void;
46
+ };
47
+ type StreamAgentRunEventsUntilTerminalRequest = StreamAgentRunEventsRequest & AgentRunContinuationOptions;
48
+ type StreamAgentRunHitlResponseEventsUntilTerminalRequest = StreamAgentRunHitlResponseEventsRequest & AgentRunContinuationOptions;
30
49
  type CancelAgentRunRequest = {
31
50
  readonly endpoint: string;
32
51
  readonly httpClientLayer?: Layer.Layer<HttpClient.HttpClient>;
@@ -49,19 +68,28 @@ type StreamCloudflareAgentEventsRequest = {
49
68
  readonly reasoningEffort?: AgentReasoningEffort;
50
69
  readonly signal?: AbortSignal;
51
70
  };
71
+ declare const agentRunIdFromHeaders: (headers: Readonly<Record<string, string | undefined>>) => string | undefined;
72
+ declare const agentRunStreamTailIndexFromHeaders: (headers: Readonly<Record<string, string | undefined>>) => number | undefined;
73
+ declare const agentRunStreamStartIndexFromHeaders: (headers: Readonly<Record<string, string | undefined>>) => number | undefined;
74
+ declare const agentRunEndpointWithStartIndex: (endpoint: string, startIndex?: number) => string;
52
75
  declare const streamAgentEventStream: (request: StreamAgentEventsRequest) => Stream.Stream<import("@yolk-sdk/agent/protocol").AgentStart | import("@yolk-sdk/agent/protocol").AgentError | import("@yolk-sdk/agent/protocol").AgentEnd | import("@yolk-sdk/agent/protocol").AgentAwaitingInput | import("@yolk-sdk/agent/protocol").UsageUpdate | import("@yolk-sdk/agent/protocol").AgentRetry | import("@yolk-sdk/agent/protocol").CompactionStart | import("@yolk-sdk/agent/protocol").CompactionEnd | import("@yolk-sdk/agent/protocol").TurnStart | import("@yolk-sdk/agent/protocol").TurnEnd | import("@yolk-sdk/agent/protocol").LLMStreamStart | import("@yolk-sdk/agent/protocol").LLMTextDelta | import("@yolk-sdk/agent/protocol").LLMReasoningDelta | import("@yolk-sdk/agent/protocol").ToolInputStart | import("@yolk-sdk/agent/protocol").ToolInputDelta | import("@yolk-sdk/agent/protocol").ToolInputEnd | import("@yolk-sdk/agent/protocol").LLMStreamEnd | import("@yolk-sdk/agent/protocol").AssistantMessageEvent | import("@yolk-sdk/agent/protocol").ToolApprovalRequested | import("@yolk-sdk/agent/protocol").ToolApprovalGranted | import("@yolk-sdk/agent/protocol").ToolApprovalDenied | import("@yolk-sdk/agent/protocol").QuestionRequested | import("@yolk-sdk/agent/protocol").QuestionAnswered | import("@yolk-sdk/agent/protocol").QuestionCancelled | import("@yolk-sdk/agent/protocol").ToolExecutionStarted | import("@yolk-sdk/agent/protocol").ToolExecutionCompleted | import("@yolk-sdk/agent/protocol").ToolExecutionError | import("@yolk-sdk/agent/protocol").ProviderToolResult | import("@yolk-sdk/agent/protocol").SubagentStarted | import("@yolk-sdk/agent/protocol").SubagentCompleted, AgentTransportError, never>;
53
76
  declare const streamAgentRunEventStream: (request: StreamAgentRunEventsRequest) => Stream.Stream<import("@yolk-sdk/agent/protocol").AgentStart | import("@yolk-sdk/agent/protocol").AgentError | import("@yolk-sdk/agent/protocol").AgentEnd | import("@yolk-sdk/agent/protocol").AgentAwaitingInput | import("@yolk-sdk/agent/protocol").UsageUpdate | import("@yolk-sdk/agent/protocol").AgentRetry | import("@yolk-sdk/agent/protocol").CompactionStart | import("@yolk-sdk/agent/protocol").CompactionEnd | import("@yolk-sdk/agent/protocol").TurnStart | import("@yolk-sdk/agent/protocol").TurnEnd | import("@yolk-sdk/agent/protocol").LLMStreamStart | import("@yolk-sdk/agent/protocol").LLMTextDelta | import("@yolk-sdk/agent/protocol").LLMReasoningDelta | import("@yolk-sdk/agent/protocol").ToolInputStart | import("@yolk-sdk/agent/protocol").ToolInputDelta | import("@yolk-sdk/agent/protocol").ToolInputEnd | import("@yolk-sdk/agent/protocol").LLMStreamEnd | import("@yolk-sdk/agent/protocol").AssistantMessageEvent | import("@yolk-sdk/agent/protocol").ToolApprovalRequested | import("@yolk-sdk/agent/protocol").ToolApprovalGranted | import("@yolk-sdk/agent/protocol").ToolApprovalDenied | import("@yolk-sdk/agent/protocol").QuestionRequested | import("@yolk-sdk/agent/protocol").QuestionAnswered | import("@yolk-sdk/agent/protocol").QuestionCancelled | import("@yolk-sdk/agent/protocol").ToolExecutionStarted | import("@yolk-sdk/agent/protocol").ToolExecutionCompleted | import("@yolk-sdk/agent/protocol").ToolExecutionError | import("@yolk-sdk/agent/protocol").ProviderToolResult | import("@yolk-sdk/agent/protocol").SubagentStarted | import("@yolk-sdk/agent/protocol").SubagentCompleted, AgentTransportError, never>;
77
+ declare const streamAgentRunHitlResponseEventStream: (request: StreamAgentRunHitlResponseEventsRequest) => Stream.Stream<import("@yolk-sdk/agent/protocol").AgentStart | import("@yolk-sdk/agent/protocol").AgentError | import("@yolk-sdk/agent/protocol").AgentEnd | import("@yolk-sdk/agent/protocol").AgentAwaitingInput | import("@yolk-sdk/agent/protocol").UsageUpdate | import("@yolk-sdk/agent/protocol").AgentRetry | import("@yolk-sdk/agent/protocol").CompactionStart | import("@yolk-sdk/agent/protocol").CompactionEnd | import("@yolk-sdk/agent/protocol").TurnStart | import("@yolk-sdk/agent/protocol").TurnEnd | import("@yolk-sdk/agent/protocol").LLMStreamStart | import("@yolk-sdk/agent/protocol").LLMTextDelta | import("@yolk-sdk/agent/protocol").LLMReasoningDelta | import("@yolk-sdk/agent/protocol").ToolInputStart | import("@yolk-sdk/agent/protocol").ToolInputDelta | import("@yolk-sdk/agent/protocol").ToolInputEnd | import("@yolk-sdk/agent/protocol").LLMStreamEnd | import("@yolk-sdk/agent/protocol").AssistantMessageEvent | import("@yolk-sdk/agent/protocol").ToolApprovalRequested | import("@yolk-sdk/agent/protocol").ToolApprovalGranted | import("@yolk-sdk/agent/protocol").ToolApprovalDenied | import("@yolk-sdk/agent/protocol").QuestionRequested | import("@yolk-sdk/agent/protocol").QuestionAnswered | import("@yolk-sdk/agent/protocol").QuestionCancelled | import("@yolk-sdk/agent/protocol").ToolExecutionStarted | import("@yolk-sdk/agent/protocol").ToolExecutionCompleted | import("@yolk-sdk/agent/protocol").ToolExecutionError | import("@yolk-sdk/agent/protocol").ProviderToolResult | import("@yolk-sdk/agent/protocol").SubagentStarted | import("@yolk-sdk/agent/protocol").SubagentCompleted, AgentTransportError, never>;
54
78
  declare const streamToolApprovalResponseEventStream: (request: SubmitToolApprovalResponseRequest) => Stream.Stream<import("@yolk-sdk/agent/protocol").AgentStart | import("@yolk-sdk/agent/protocol").AgentError | import("@yolk-sdk/agent/protocol").AgentEnd | import("@yolk-sdk/agent/protocol").AgentAwaitingInput | import("@yolk-sdk/agent/protocol").UsageUpdate | import("@yolk-sdk/agent/protocol").AgentRetry | import("@yolk-sdk/agent/protocol").CompactionStart | import("@yolk-sdk/agent/protocol").CompactionEnd | import("@yolk-sdk/agent/protocol").TurnStart | import("@yolk-sdk/agent/protocol").TurnEnd | import("@yolk-sdk/agent/protocol").LLMStreamStart | import("@yolk-sdk/agent/protocol").LLMTextDelta | import("@yolk-sdk/agent/protocol").LLMReasoningDelta | import("@yolk-sdk/agent/protocol").ToolInputStart | import("@yolk-sdk/agent/protocol").ToolInputDelta | import("@yolk-sdk/agent/protocol").ToolInputEnd | import("@yolk-sdk/agent/protocol").LLMStreamEnd | import("@yolk-sdk/agent/protocol").AssistantMessageEvent | import("@yolk-sdk/agent/protocol").ToolApprovalRequested | import("@yolk-sdk/agent/protocol").ToolApprovalGranted | import("@yolk-sdk/agent/protocol").ToolApprovalDenied | import("@yolk-sdk/agent/protocol").QuestionRequested | import("@yolk-sdk/agent/protocol").QuestionAnswered | import("@yolk-sdk/agent/protocol").QuestionCancelled | import("@yolk-sdk/agent/protocol").ToolExecutionStarted | import("@yolk-sdk/agent/protocol").ToolExecutionCompleted | import("@yolk-sdk/agent/protocol").ToolExecutionError | import("@yolk-sdk/agent/protocol").ProviderToolResult | import("@yolk-sdk/agent/protocol").SubagentStarted | import("@yolk-sdk/agent/protocol").SubagentCompleted, AgentTransportError, never>;
55
79
  declare const streamQuestionResponseEventStream: (request: SubmitQuestionResponseRequest) => Stream.Stream<import("@yolk-sdk/agent/protocol").AgentStart | import("@yolk-sdk/agent/protocol").AgentError | import("@yolk-sdk/agent/protocol").AgentEnd | import("@yolk-sdk/agent/protocol").AgentAwaitingInput | import("@yolk-sdk/agent/protocol").UsageUpdate | import("@yolk-sdk/agent/protocol").AgentRetry | import("@yolk-sdk/agent/protocol").CompactionStart | import("@yolk-sdk/agent/protocol").CompactionEnd | import("@yolk-sdk/agent/protocol").TurnStart | import("@yolk-sdk/agent/protocol").TurnEnd | import("@yolk-sdk/agent/protocol").LLMStreamStart | import("@yolk-sdk/agent/protocol").LLMTextDelta | import("@yolk-sdk/agent/protocol").LLMReasoningDelta | import("@yolk-sdk/agent/protocol").ToolInputStart | import("@yolk-sdk/agent/protocol").ToolInputDelta | import("@yolk-sdk/agent/protocol").ToolInputEnd | import("@yolk-sdk/agent/protocol").LLMStreamEnd | import("@yolk-sdk/agent/protocol").AssistantMessageEvent | import("@yolk-sdk/agent/protocol").ToolApprovalRequested | import("@yolk-sdk/agent/protocol").ToolApprovalGranted | import("@yolk-sdk/agent/protocol").ToolApprovalDenied | import("@yolk-sdk/agent/protocol").QuestionRequested | import("@yolk-sdk/agent/protocol").QuestionAnswered | import("@yolk-sdk/agent/protocol").QuestionCancelled | import("@yolk-sdk/agent/protocol").ToolExecutionStarted | import("@yolk-sdk/agent/protocol").ToolExecutionCompleted | import("@yolk-sdk/agent/protocol").ToolExecutionError | import("@yolk-sdk/agent/protocol").ProviderToolResult | import("@yolk-sdk/agent/protocol").SubagentStarted | import("@yolk-sdk/agent/protocol").SubagentCompleted, AgentTransportError, never>;
80
+ declare function streamAgentEventsUntilTerminal(request: StreamAgentEventsUntilTerminalRequest): AsyncGenerator<AgentEvent, void, void>;
81
+ declare function streamAgentRunEventsUntilTerminal(request: StreamAgentRunEventsUntilTerminalRequest): AsyncGenerator<AgentEvent, void, void>;
82
+ declare function streamAgentRunHitlResponseEventsUntilTerminal(request: StreamAgentRunHitlResponseEventsUntilTerminalRequest): AsyncGenerator<AgentEvent, void, void>;
56
83
  declare const streamCloudflareAgentEventStream: (request: StreamCloudflareAgentEventsRequest) => Stream.Stream<import("@yolk-sdk/agent/protocol").AgentStart | import("@yolk-sdk/agent/protocol").AgentError | import("@yolk-sdk/agent/protocol").AgentEnd | import("@yolk-sdk/agent/protocol").AgentAwaitingInput | import("@yolk-sdk/agent/protocol").UsageUpdate | import("@yolk-sdk/agent/protocol").AgentRetry | import("@yolk-sdk/agent/protocol").CompactionStart | import("@yolk-sdk/agent/protocol").CompactionEnd | import("@yolk-sdk/agent/protocol").TurnStart | import("@yolk-sdk/agent/protocol").TurnEnd | import("@yolk-sdk/agent/protocol").LLMStreamStart | import("@yolk-sdk/agent/protocol").LLMTextDelta | import("@yolk-sdk/agent/protocol").LLMReasoningDelta | import("@yolk-sdk/agent/protocol").ToolInputStart | import("@yolk-sdk/agent/protocol").ToolInputDelta | import("@yolk-sdk/agent/protocol").ToolInputEnd | import("@yolk-sdk/agent/protocol").LLMStreamEnd | import("@yolk-sdk/agent/protocol").AssistantMessageEvent | import("@yolk-sdk/agent/protocol").ToolApprovalRequested | import("@yolk-sdk/agent/protocol").ToolApprovalGranted | import("@yolk-sdk/agent/protocol").ToolApprovalDenied | import("@yolk-sdk/agent/protocol").QuestionRequested | import("@yolk-sdk/agent/protocol").QuestionAnswered | import("@yolk-sdk/agent/protocol").QuestionCancelled | import("@yolk-sdk/agent/protocol").ToolExecutionStarted | import("@yolk-sdk/agent/protocol").ToolExecutionCompleted | import("@yolk-sdk/agent/protocol").ToolExecutionError | import("@yolk-sdk/agent/protocol").ProviderToolResult | import("@yolk-sdk/agent/protocol").SubagentStarted | import("@yolk-sdk/agent/protocol").SubagentCompleted, AgentTransportError, never>;
57
84
  declare function streamCloudflareAgentEvents(request: StreamCloudflareAgentEventsRequest): AsyncGenerator<AgentEvent, void, void>;
58
85
  declare function streamAgentEvents(request: StreamAgentEventsRequest): AsyncGenerator<AgentEvent, void, void>;
59
86
  declare function streamAgentRunEvents(request: StreamAgentRunEventsRequest): AsyncGenerator<AgentEvent, void, void>;
87
+ declare function streamAgentRunHitlResponseEvents(request: StreamAgentRunHitlResponseEventsRequest): AsyncGenerator<AgentEvent, void, void>;
60
88
  declare function submitToolApprovalResponse(request: SubmitToolApprovalResponseRequest): AsyncGenerator<AgentEvent, void, void>;
61
89
  declare function submitQuestionResponse(request: SubmitQuestionResponseRequest): AsyncGenerator<AgentEvent, void, void>;
62
90
  declare const cancelAgentRun: (request: CancelAgentRunRequest) => Promise<undefined>;
63
91
  declare const collectAgentEventsEffect: (request: StreamAgentEventsRequest) => Effect.Effect<(import("@yolk-sdk/agent/protocol").AgentStart | import("@yolk-sdk/agent/protocol").AgentError | import("@yolk-sdk/agent/protocol").AgentEnd | import("@yolk-sdk/agent/protocol").AgentAwaitingInput | import("@yolk-sdk/agent/protocol").UsageUpdate | import("@yolk-sdk/agent/protocol").AgentRetry | import("@yolk-sdk/agent/protocol").CompactionStart | import("@yolk-sdk/agent/protocol").CompactionEnd | import("@yolk-sdk/agent/protocol").TurnStart | import("@yolk-sdk/agent/protocol").TurnEnd | import("@yolk-sdk/agent/protocol").LLMStreamStart | import("@yolk-sdk/agent/protocol").LLMTextDelta | import("@yolk-sdk/agent/protocol").LLMReasoningDelta | import("@yolk-sdk/agent/protocol").ToolInputStart | import("@yolk-sdk/agent/protocol").ToolInputDelta | import("@yolk-sdk/agent/protocol").ToolInputEnd | import("@yolk-sdk/agent/protocol").LLMStreamEnd | import("@yolk-sdk/agent/protocol").AssistantMessageEvent | import("@yolk-sdk/agent/protocol").ToolApprovalRequested | import("@yolk-sdk/agent/protocol").ToolApprovalGranted | import("@yolk-sdk/agent/protocol").ToolApprovalDenied | import("@yolk-sdk/agent/protocol").QuestionRequested | import("@yolk-sdk/agent/protocol").QuestionAnswered | import("@yolk-sdk/agent/protocol").QuestionCancelled | import("@yolk-sdk/agent/protocol").ToolExecutionStarted | import("@yolk-sdk/agent/protocol").ToolExecutionCompleted | import("@yolk-sdk/agent/protocol").ToolExecutionError | import("@yolk-sdk/agent/protocol").ProviderToolResult | import("@yolk-sdk/agent/protocol").SubagentStarted | import("@yolk-sdk/agent/protocol").SubagentCompleted)[], AgentTransportError, never>;
64
92
  declare const collectAgentEvents: (request: StreamAgentEventsRequest) => Promise<(import("@yolk-sdk/agent/protocol").AgentStart | import("@yolk-sdk/agent/protocol").AgentError | import("@yolk-sdk/agent/protocol").AgentEnd | import("@yolk-sdk/agent/protocol").AgentAwaitingInput | import("@yolk-sdk/agent/protocol").UsageUpdate | import("@yolk-sdk/agent/protocol").AgentRetry | import("@yolk-sdk/agent/protocol").CompactionStart | import("@yolk-sdk/agent/protocol").CompactionEnd | import("@yolk-sdk/agent/protocol").TurnStart | import("@yolk-sdk/agent/protocol").TurnEnd | import("@yolk-sdk/agent/protocol").LLMStreamStart | import("@yolk-sdk/agent/protocol").LLMTextDelta | import("@yolk-sdk/agent/protocol").LLMReasoningDelta | import("@yolk-sdk/agent/protocol").ToolInputStart | import("@yolk-sdk/agent/protocol").ToolInputDelta | import("@yolk-sdk/agent/protocol").ToolInputEnd | import("@yolk-sdk/agent/protocol").LLMStreamEnd | import("@yolk-sdk/agent/protocol").AssistantMessageEvent | import("@yolk-sdk/agent/protocol").ToolApprovalRequested | import("@yolk-sdk/agent/protocol").ToolApprovalGranted | import("@yolk-sdk/agent/protocol").ToolApprovalDenied | import("@yolk-sdk/agent/protocol").QuestionRequested | import("@yolk-sdk/agent/protocol").QuestionAnswered | import("@yolk-sdk/agent/protocol").QuestionCancelled | import("@yolk-sdk/agent/protocol").ToolExecutionStarted | import("@yolk-sdk/agent/protocol").ToolExecutionCompleted | import("@yolk-sdk/agent/protocol").ToolExecutionError | import("@yolk-sdk/agent/protocol").ProviderToolResult | import("@yolk-sdk/agent/protocol").SubagentStarted | import("@yolk-sdk/agent/protocol").SubagentCompleted)[]>;
65
93
  //#endregion
66
- export { AgentHttpResponseInfo, AgentTransportError, CancelAgentRunRequest, StreamAgentEventsRequest, StreamAgentRunEventsRequest, StreamCloudflareAgentEventsRequest, SubmitQuestionResponseRequest, SubmitToolApprovalResponseRequest, cancelAgentRun, collectAgentEvents, collectAgentEventsEffect, streamAgentEventStream, streamAgentEvents, streamAgentRunEventStream, streamAgentRunEvents, streamCloudflareAgentEventStream, streamCloudflareAgentEvents, streamQuestionResponseEventStream, streamToolApprovalResponseEventStream, submitQuestionResponse, submitToolApprovalResponse };
94
+ export { AgentHttpResponseInfo, AgentRunContinuationOptions, AgentTransportError, CancelAgentRunRequest, StreamAgentEventHandler, StreamAgentEventsRequest, StreamAgentEventsUntilTerminalRequest, StreamAgentRunEventsRequest, StreamAgentRunEventsUntilTerminalRequest, StreamAgentRunHitlResponseEventsRequest, StreamAgentRunHitlResponseEventsUntilTerminalRequest, StreamCloudflareAgentEventsRequest, SubmitQuestionResponseRequest, SubmitToolApprovalResponseRequest, agentRunEndpointWithStartIndex, agentRunIdFromHeaders, agentRunStreamStartIndexFromHeaders, agentRunStreamTailIndexFromHeaders, cancelAgentRun, collectAgentEvents, collectAgentEventsEffect, streamAgentEventStream, streamAgentEvents, streamAgentEventsUntilTerminal, streamAgentRunEventStream, streamAgentRunEvents, streamAgentRunEventsUntilTerminal, streamAgentRunHitlResponseEventStream, streamAgentRunHitlResponseEvents, streamAgentRunHitlResponseEventsUntilTerminal, streamCloudflareAgentEventStream, streamCloudflareAgentEvents, streamQuestionResponseEventStream, streamToolApprovalResponseEventStream, submitQuestionResponse, submitToolApprovalResponse };
67
95
  //# sourceMappingURL=transport.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.mts","names":[],"sources":["../../src/client/transport.ts"],"mappings":"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"}
1
+ {"version":3,"file":"transport.d.mts","names":[],"sources":["../../src/client/transport.ts"],"mappings":"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"}
@@ -8,6 +8,94 @@ var AgentTransportError = class extends Schema.TaggedErrorClass()("AgentTranspor
8
8
  cause: Schema.Unknown
9
9
  }) {};
10
10
  const defaultEndpoint = "/api/agent";
11
+ const defaultRunContinuationLimit = 120;
12
+ const relativeEndpointBase = "http://yolk.local";
13
+ const headerValue = (headers, name) => {
14
+ const direct = headers[name];
15
+ if (direct !== void 0) return direct;
16
+ const normalizedName = name.toLowerCase();
17
+ for (const [key, value] of Object.entries(headers)) if (key.toLowerCase() === normalizedName) return value;
18
+ };
19
+ const nonEmptyHeaderValue = (headers, name) => {
20
+ const value = headerValue(headers, name)?.trim();
21
+ return value === void 0 || value.length === 0 ? void 0 : value;
22
+ };
23
+ const safeIntegerPattern = /^-?(0|[1-9]\d*)$/;
24
+ const parseSafeInteger = (raw) => {
25
+ const value = raw.trim();
26
+ if (!safeIntegerPattern.test(value)) return;
27
+ const parsed = Number.parseInt(value, 10);
28
+ return Number.isSafeInteger(parsed) ? parsed : void 0;
29
+ };
30
+ const agentRunIdFromHeaders = (headers) => nonEmptyHeaderValue(headers, "x-workflow-run-id");
31
+ const agentRunStreamTailIndexFromHeaders = (headers) => {
32
+ const raw = nonEmptyHeaderValue(headers, "x-workflow-stream-tail-index");
33
+ if (raw === void 0) return void 0;
34
+ const parsed = parseSafeInteger(raw);
35
+ return parsed !== void 0 && parsed >= -1 ? parsed : void 0;
36
+ };
37
+ const agentRunStreamStartIndexFromHeaders = (headers) => {
38
+ const tailIndex = agentRunStreamTailIndexFromHeaders(headers);
39
+ return tailIndex === void 0 ? void 0 : tailIndex + 1;
40
+ };
41
+ const agentRunEndpointWithStartIndex = (endpoint, startIndex) => {
42
+ if (startIndex === void 0) return endpoint;
43
+ validateAgentRunStartIndex(startIndex);
44
+ const parsed = parseEndpointOrThrow(endpoint);
45
+ parsed.url.searchParams.set("startIndex", String(startIndex));
46
+ return serializeEndpoint(parsed);
47
+ };
48
+ const absoluteUrlPattern = /^[A-Za-z][A-Za-z\d+.-]*:/;
49
+ const parseEndpoint = (endpoint) => {
50
+ try {
51
+ return {
52
+ url: new URL(endpoint, relativeEndpointBase),
53
+ absolute: absoluteUrlPattern.test(endpoint),
54
+ leadingSlash: endpoint.startsWith("/")
55
+ };
56
+ } catch {
57
+ return;
58
+ }
59
+ };
60
+ const parseEndpointOrThrow = (endpoint) => {
61
+ const parsed = parseEndpoint(endpoint);
62
+ if (parsed !== void 0) return parsed;
63
+ throw new AgentTransportError({
64
+ message: "Invalid agent run endpoint",
65
+ cause: endpoint
66
+ });
67
+ };
68
+ const serializeEndpoint = (endpoint) => {
69
+ if (endpoint.absolute) return endpoint.url.toString();
70
+ const serialized = `${endpoint.url.pathname}${endpoint.url.search}${endpoint.url.hash}`;
71
+ return endpoint.leadingSlash ? serialized : serialized.slice(1);
72
+ };
73
+ const appendEncodedPathSegment = (endpoint, segment) => {
74
+ const parsed = parseEndpointOrThrow(endpoint);
75
+ const basePath = parsed.url.pathname.endsWith("/") ? parsed.url.pathname.slice(0, -1) : parsed.url.pathname;
76
+ parsed.url.pathname = `${basePath}/${encodeURIComponent(segment)}`;
77
+ return serializeEndpoint(parsed);
78
+ };
79
+ const defaultAgentRunEndpoint = (endpoint, runId) => appendEncodedPathSegment(endpoint ?? defaultEndpoint, runId);
80
+ const agentRunContinuationLimit = (limit) => {
81
+ if (limit === void 0) return defaultRunContinuationLimit;
82
+ if (!Number.isSafeInteger(limit) || limit < 0) throw new AgentTransportError({
83
+ message: "Invalid agent run continuation limit",
84
+ cause: limit
85
+ });
86
+ return limit;
87
+ };
88
+ const validateAgentRunContinuationLimit = (limit) => {
89
+ agentRunContinuationLimit(limit);
90
+ };
91
+ const validateAgentRunStartIndex = (startIndex) => {
92
+ if (startIndex === void 0 || Number.isSafeInteger(startIndex) && startIndex >= 0) return;
93
+ throw new AgentTransportError({
94
+ message: "Invalid agent run stream start index",
95
+ cause: startIndex
96
+ });
97
+ };
98
+ const nextAgentRunStartIndex = (startIndex, count) => (startIndex ?? 0) + count;
11
99
  const unknownToMessage = (error) => error instanceof Error ? error.message : String(error);
12
100
  const toTransportError = (message, cause) => new AgentTransportError({
13
101
  message,
@@ -83,6 +171,10 @@ const makeHttpRequest = (request) => encodeJsonString({
83
171
  accept: "application/x-ndjson",
84
172
  "content-type": "application/json"
85
173
  }), HttpClientRequest.bodyText(body, "application/json"))));
174
+ const makeHttpRunHitlResponseRequest = (request) => encodeJsonString({ hitlResponses: request.hitlResponses }, "Could not serialize agent run HITL response").pipe(Effect.map((body) => HttpClientRequest.post(request.endpoint).pipe(HttpClientRequest.setHeaders({
175
+ accept: "application/x-ndjson",
176
+ "content-type": "application/json"
177
+ }), HttpClientRequest.bodyText(body, "application/json"))));
86
178
  const requestAgentResponse = (request) => Effect.gen(function* () {
87
179
  const client = yield* HttpClient.HttpClient;
88
180
  const httpRequest = yield* makeHttpRequest(request);
@@ -101,7 +193,8 @@ const requestAgentResponse = (request) => Effect.gen(function* () {
101
193
  }));
102
194
  });
103
195
  const requestAgentRunResponse = (request) => Effect.gen(function* () {
104
- const response = yield* (yield* HttpClient.HttpClient).execute(HttpClientRequest.get(request.endpoint).pipe(HttpClientRequest.setHeaders({ accept: "application/x-ndjson" }))).pipe(Effect.mapError(toHttpClientTransportError("Agent run request failed")));
196
+ validateAgentRunStartIndex(request.startIndex);
197
+ const response = yield* (yield* HttpClient.HttpClient).execute(HttpClientRequest.get(agentRunEndpointWithStartIndex(request.endpoint, request.startIndex)).pipe(HttpClientRequest.setHeaders({ accept: "application/x-ndjson" }))).pipe(Effect.mapError(toHttpClientTransportError("Agent run request failed")));
105
198
  if (response.status >= 200 && response.status < 300) {
106
199
  yield* Effect.sync(() => request.onResponse?.({
107
200
  status: response.status,
@@ -115,6 +208,23 @@ const requestAgentRunResponse = (request) => Effect.gen(function* () {
115
208
  cause: response.status
116
209
  }));
117
210
  });
211
+ const requestAgentRunHitlResponse = (request) => Effect.gen(function* () {
212
+ const client = yield* HttpClient.HttpClient;
213
+ const httpRequest = yield* makeHttpRunHitlResponseRequest(request);
214
+ const response = yield* client.execute(httpRequest).pipe(Effect.mapError(toHttpClientTransportError("Agent run HITL request failed")));
215
+ if (response.status >= 200 && response.status < 300) {
216
+ yield* Effect.sync(() => request.onResponse?.({
217
+ status: response.status,
218
+ headers: response.headers
219
+ }));
220
+ return response;
221
+ }
222
+ const message = yield* responseErrorMessage(response);
223
+ return yield* Effect.fail(new AgentTransportError({
224
+ message: `Agent run HITL request failed (${response.status}): ${message}`,
225
+ cause: response.status
226
+ }));
227
+ });
118
228
  const cancelAgentRunEffect = (request) => Effect.gen(function* () {
119
229
  const response = yield* (yield* HttpClient.HttpClient).execute(HttpClientRequest.delete(request.endpoint)).pipe(Effect.mapError(toHttpClientTransportError("Agent run cancel failed")));
120
230
  if (response.status >= 200 && response.status < 300) return;
@@ -188,6 +298,7 @@ const abortSignalEffect = (signal) => Effect.callback((resume) => {
188
298
  const applyAbortSignal = (stream, signal) => signal === void 0 ? stream : stream.pipe(Stream.interruptWhen(abortSignalEffect(signal)));
189
299
  const streamAgentEventStream = (request) => applyAbortSignal(Stream.fromEffect(requestAgentResponse(request)).pipe(Stream.flatMap(responseToEventStream)), request.signal).pipe(Stream.provide(request.httpClientLayer ?? FetchHttpClient.layer));
190
300
  const streamAgentRunEventStream = (request) => applyAbortSignal(Stream.fromEffect(requestAgentRunResponse(request)).pipe(Stream.flatMap(responseToEventStream)), request.signal).pipe(Stream.provide(request.httpClientLayer ?? FetchHttpClient.layer));
301
+ const streamAgentRunHitlResponseEventStream = (request) => applyAbortSignal(Stream.fromEffect(requestAgentRunHitlResponse(request)).pipe(Stream.flatMap(responseToEventStream)), request.signal).pipe(Stream.provide(request.httpClientLayer ?? FetchHttpClient.layer));
191
302
  const streamToolApprovalResponseEventStream = (request) => streamAgentEventStream({
192
303
  ...request,
193
304
  hitlResponses: [request.response]
@@ -196,6 +307,145 @@ const streamQuestionResponseEventStream = (request) => streamAgentEventStream({
196
307
  ...request,
197
308
  hitlResponses: [request.response]
198
309
  });
310
+ const missingAgentRunContinuationEndpointError = () => new AgentTransportError({
311
+ message: "Agent run continuation failed: missing x-workflow-run-id",
312
+ cause: "missing_run_id"
313
+ });
314
+ const exhaustedAgentRunContinuationLimitError = (limit) => new AgentTransportError({
315
+ message: "Agent run continuation limit reached before a terminal event",
316
+ cause: { limit }
317
+ });
318
+ const noProgressAgentRunContinuationError = (endpoint, startIndex) => new AgentTransportError({
319
+ message: "Agent run continuation made no progress before a terminal event",
320
+ cause: {
321
+ endpoint,
322
+ startIndex
323
+ }
324
+ });
325
+ const missingAgentRunTailIndexError = () => new AgentTransportError({
326
+ message: "Agent run HITL response missing x-workflow-stream-tail-index",
327
+ cause: "missing_tail_index"
328
+ });
329
+ const streamAgentEventChunk = async function* (input) {
330
+ let count = 0;
331
+ let terminal = false;
332
+ for await (const event of input.events) {
333
+ count += 1;
334
+ terminal = terminal || isTerminalAgentEvent(event);
335
+ input.onEvent?.(event, input.countOffset + count);
336
+ yield event;
337
+ }
338
+ return {
339
+ count,
340
+ terminal
341
+ };
342
+ };
343
+ const streamAgentRunContinuations = async function* (input) {
344
+ let totalCount = input.countOffset;
345
+ let terminal = input.terminal;
346
+ let startIndex = input.startIndex;
347
+ const limit = agentRunContinuationLimit(input.continuationLimit);
348
+ if (terminal) return;
349
+ if (input.endpoint === void 0) throw missingAgentRunContinuationEndpointError();
350
+ for (let continuation = 0; continuation < limit; continuation += 1) {
351
+ const endpoint = input.endpoint;
352
+ const chunk = yield* streamAgentEventChunk({
353
+ events: streamAgentRunEvents({
354
+ endpoint,
355
+ startIndex,
356
+ signal: input.signal,
357
+ httpClientLayer: input.httpClientLayer,
358
+ onResponse: input.onResponse
359
+ }),
360
+ countOffset: totalCount,
361
+ onEvent: input.onEvent
362
+ });
363
+ if (chunk.count === 0 && !chunk.terminal) throw noProgressAgentRunContinuationError(endpoint, startIndex);
364
+ terminal = chunk.terminal;
365
+ startIndex = nextAgentRunStartIndex(startIndex, chunk.count);
366
+ totalCount += chunk.count;
367
+ if (terminal) return;
368
+ }
369
+ throw exhaustedAgentRunContinuationLimitError(limit);
370
+ };
371
+ async function* streamAgentEventsUntilTerminal(request) {
372
+ validateAgentRunContinuationLimit(request.continuationLimit);
373
+ let runEndpoint;
374
+ let startIndex;
375
+ const firstChunk = yield* streamAgentEventChunk({
376
+ events: streamAgentEvents({
377
+ ...request,
378
+ onResponse: (response) => {
379
+ startIndex = agentRunStreamStartIndexFromHeaders(response.headers);
380
+ const runId = agentRunIdFromHeaders(response.headers);
381
+ if (runId !== void 0) {
382
+ runEndpoint = request.runEndpoint?.(runId) ?? defaultAgentRunEndpoint(request.endpoint, runId);
383
+ request.onRunId?.(runId);
384
+ }
385
+ request.onResponse?.(response);
386
+ }
387
+ }),
388
+ countOffset: 0,
389
+ onEvent: request.onEvent
390
+ });
391
+ yield* streamAgentRunContinuations({
392
+ endpoint: runEndpoint,
393
+ startIndex: nextAgentRunStartIndex(startIndex, firstChunk.count),
394
+ countOffset: firstChunk.count,
395
+ terminal: firstChunk.terminal,
396
+ continuationLimit: request.continuationLimit,
397
+ signal: request.signal,
398
+ httpClientLayer: request.httpClientLayer,
399
+ onResponse: request.onResponse,
400
+ onEvent: request.onEvent
401
+ });
402
+ }
403
+ async function* streamAgentRunEventsUntilTerminal(request) {
404
+ validateAgentRunContinuationLimit(request.continuationLimit);
405
+ const firstChunk = yield* streamAgentEventChunk({
406
+ events: streamAgentRunEvents(request),
407
+ countOffset: 0,
408
+ onEvent: request.onEvent
409
+ });
410
+ yield* streamAgentRunContinuations({
411
+ endpoint: request.endpoint,
412
+ startIndex: nextAgentRunStartIndex(request.startIndex, firstChunk.count),
413
+ countOffset: firstChunk.count,
414
+ terminal: firstChunk.terminal,
415
+ continuationLimit: request.continuationLimit,
416
+ signal: request.signal,
417
+ httpClientLayer: request.httpClientLayer,
418
+ onResponse: request.onResponse,
419
+ onEvent: request.onEvent
420
+ });
421
+ }
422
+ async function* streamAgentRunHitlResponseEventsUntilTerminal(request) {
423
+ validateAgentRunContinuationLimit(request.continuationLimit);
424
+ let startIndex;
425
+ const firstChunk = yield* streamAgentEventChunk({
426
+ events: streamAgentRunHitlResponseEvents({
427
+ ...request,
428
+ onResponse: (response) => {
429
+ startIndex = agentRunStreamStartIndexFromHeaders(response.headers);
430
+ request.onResponse?.(response);
431
+ }
432
+ }),
433
+ countOffset: 0,
434
+ onEvent: request.onEvent
435
+ });
436
+ if (!firstChunk.terminal && startIndex === void 0) throw missingAgentRunTailIndexError();
437
+ yield* streamAgentRunContinuations({
438
+ endpoint: request.endpoint,
439
+ startIndex: nextAgentRunStartIndex(startIndex, firstChunk.count),
440
+ countOffset: firstChunk.count,
441
+ terminal: firstChunk.terminal,
442
+ continuationLimit: request.continuationLimit,
443
+ signal: request.signal,
444
+ httpClientLayer: request.httpClientLayer,
445
+ onResponse: request.onResponse,
446
+ onEvent: request.onEvent
447
+ });
448
+ }
199
449
  const isAgentEvent = (message) => message._tag !== "SessionSnapshot";
200
450
  const streamCloudflareAgentEventStream = (request) => applyAbortSignal(Stream.callback((queue) => Effect.gen(function* () {
201
451
  const socket = new WebSocket(request.webSocketUrl);
@@ -251,6 +501,9 @@ async function* streamAgentEvents(request) {
251
501
  async function* streamAgentRunEvents(request) {
252
502
  for await (const event of Stream.toAsyncIterable(streamAgentRunEventStream(request))) yield event;
253
503
  }
504
+ async function* streamAgentRunHitlResponseEvents(request) {
505
+ for await (const event of Stream.toAsyncIterable(streamAgentRunHitlResponseEventStream(request))) yield event;
506
+ }
254
507
  async function* submitToolApprovalResponse(request) {
255
508
  for await (const event of Stream.toAsyncIterable(streamToolApprovalResponseEventStream(request))) yield event;
256
509
  }
@@ -261,6 +514,6 @@ const cancelAgentRun = (request) => Effect.runPromise(cancelAgentRunEffect(reque
261
514
  const collectAgentEventsEffect = (request) => streamAgentEventStream(request).pipe(Stream.runCollect);
262
515
  const collectAgentEvents = async (request) => Array.from(await Effect.runPromise(collectAgentEventsEffect(request)));
263
516
  //#endregion
264
- export { AgentTransportError, cancelAgentRun, collectAgentEvents, collectAgentEventsEffect, streamAgentEventStream, streamAgentEvents, streamAgentRunEventStream, streamAgentRunEvents, streamCloudflareAgentEventStream, streamCloudflareAgentEvents, streamQuestionResponseEventStream, streamToolApprovalResponseEventStream, submitQuestionResponse, submitToolApprovalResponse };
517
+ export { AgentTransportError, agentRunEndpointWithStartIndex, agentRunIdFromHeaders, agentRunStreamStartIndexFromHeaders, agentRunStreamTailIndexFromHeaders, cancelAgentRun, collectAgentEvents, collectAgentEventsEffect, streamAgentEventStream, streamAgentEvents, streamAgentEventsUntilTerminal, streamAgentRunEventStream, streamAgentRunEvents, streamAgentRunEventsUntilTerminal, streamAgentRunHitlResponseEventStream, streamAgentRunHitlResponseEvents, streamAgentRunHitlResponseEventsUntilTerminal, streamCloudflareAgentEventStream, streamCloudflareAgentEvents, streamQuestionResponseEventStream, streamToolApprovalResponseEventStream, submitQuestionResponse, submitToolApprovalResponse };
265
518
 
266
519
  //# sourceMappingURL=transport.mjs.map