antpath 0.10.14 → 0.10.15
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/dist/_shared/index.d.ts +2 -0
- package/dist/_shared/index.js +1 -0
- package/dist/_shared/operations.d.ts +48 -0
- package/dist/_shared/operations.js +149 -0
- package/dist/_shared/sse.d.ts +74 -0
- package/dist/_shared/sse.js +0 -0
- package/dist/cli.mjs +369 -6
- package/dist/cli.mjs.sha256 +1 -1
- package/dist/client.d.ts +19 -3
- package/dist/client.js +54 -6
- package/dist/client.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/_shared/index.d.ts
CHANGED
|
@@ -16,5 +16,7 @@ export * from "./runtime-types.js";
|
|
|
16
16
|
export * from "./known-events.js";
|
|
17
17
|
export * from "./http.js";
|
|
18
18
|
export * as operations from "./operations.js";
|
|
19
|
+
export type { SseStreamOptions, SseStreamOutcome } from "./operations.js";
|
|
19
20
|
export * from "./proxy-validation.js";
|
|
21
|
+
export * from "./sse.js";
|
|
20
22
|
export * from "./telemetry.js";
|
package/dist/_shared/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { HttpClient } from "./http.js";
|
|
2
2
|
import type { RunUnit } from "./run-unit.js";
|
|
3
3
|
import type { AgentsMdRecord, FileRecord, Output, Run, RunEvent, SignedOutputLink, Skill, WhoAmI } from "./runtime-types.js";
|
|
4
|
+
import { type SseFrame } from "./sse.js";
|
|
4
5
|
import type { PlatformFlatRunSubmissionInput, PlatformRunSubmissionInput } from "./submission.js";
|
|
5
6
|
/**
|
|
6
7
|
* The single source of truth for SDK<->BFF transport. The SDK class
|
|
@@ -31,6 +32,53 @@ export declare function getRun(http: HttpClient, runId: string): Promise<Run>;
|
|
|
31
32
|
*/
|
|
32
33
|
export declare function getRunUnit(http: HttpClient, runId: string): Promise<RunUnit>;
|
|
33
34
|
export declare function listRunEvents(http: HttpClient, runId: string): Promise<readonly RunEvent[]>;
|
|
35
|
+
/**
|
|
36
|
+
* Outcome of an SSE round — caller decides whether to reconnect.
|
|
37
|
+
*
|
|
38
|
+
* - `terminal` — the server emitted `event: terminal` and closed.
|
|
39
|
+
* The run reached a final state; the iterator drained any
|
|
40
|
+
* events that landed alongside the transition.
|
|
41
|
+
* - `disconnected` — the connection closed for any other reason
|
|
42
|
+
* (network error, server-side error, server-side close without
|
|
43
|
+
* a terminal frame). Callers may reconnect with the cursor.
|
|
44
|
+
* - `aborted` — the caller's AbortSignal fired.
|
|
45
|
+
*
|
|
46
|
+
* `nextCursor` is the most recent cursor observed during the round
|
|
47
|
+
* — pass it back as `cursor` to resume.
|
|
48
|
+
*/
|
|
49
|
+
export interface SseStreamOutcome {
|
|
50
|
+
readonly kind: "terminal" | "disconnected" | "aborted";
|
|
51
|
+
readonly nextCursor: string | undefined;
|
|
52
|
+
readonly terminalStatus?: string;
|
|
53
|
+
readonly error?: string;
|
|
54
|
+
}
|
|
55
|
+
export interface SseStreamOptions {
|
|
56
|
+
readonly cursor?: string;
|
|
57
|
+
readonly signal?: AbortSignal;
|
|
58
|
+
/**
|
|
59
|
+
* Sink for non-event frames (`ready`, `ping`, `terminal`, `gone`,
|
|
60
|
+
* `error`). Optional — callers that only care about run events can
|
|
61
|
+
* leave this off and just read the iterator.
|
|
62
|
+
*/
|
|
63
|
+
readonly onFrame?: (frame: SseFrame) => void;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Open the `GET /api/runs/:runId/events/stream` SSE endpoint and yield
|
|
67
|
+
* each `event: run_event` frame as a parsed `RunEvent`. The iterator
|
|
68
|
+
* completes when the server emits `event: terminal`, when the caller's
|
|
69
|
+
* AbortSignal fires, or when the underlying stream closes.
|
|
70
|
+
*
|
|
71
|
+
* The caller controls reconnection — this function deliberately does
|
|
72
|
+
* NOT auto-reconnect. The SDK wraps it with a backoff loop and falls
|
|
73
|
+
* back to polling when SSE is unavailable; the CLI tails events with
|
|
74
|
+
* the same reconnect contract.
|
|
75
|
+
*
|
|
76
|
+
* Cursor semantics: the dashboard sends each event frame with `id: <cursor>`
|
|
77
|
+
* which natively maps to `Last-Event-ID` on reconnect, AND embeds the
|
|
78
|
+
* cursor inside the JSON payload as `.cursor` so non-EventSource
|
|
79
|
+
* consumers can read it. We surface both.
|
|
80
|
+
*/
|
|
81
|
+
export declare function streamRunEventsSse(http: HttpClient, runId: string, options?: SseStreamOptions): AsyncGenerator<RunEvent, SseStreamOutcome, void>;
|
|
34
82
|
export declare function listOutputs(http: HttpClient, runId: string): Promise<readonly Output[]>;
|
|
35
83
|
export declare function createOutputLink(http: HttpClient, runId: string, outputId: string): Promise<SignedOutputLink>;
|
|
36
84
|
export declare function cancelRun(http: HttpClient, runId: string): Promise<void>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { iterateSse } from "./sse.js";
|
|
1
2
|
/**
|
|
2
3
|
* The single source of truth for SDK<->BFF transport. The SDK class
|
|
3
4
|
* AND the CLI subcommands both call these functions; neither
|
|
@@ -40,6 +41,154 @@ export async function listRunEvents(http, runId) {
|
|
|
40
41
|
const result = await http.request(`/api/runs/${encodeURIComponent(runId)}/events`);
|
|
41
42
|
return result.events;
|
|
42
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Open the `GET /api/runs/:runId/events/stream` SSE endpoint and yield
|
|
46
|
+
* each `event: run_event` frame as a parsed `RunEvent`. The iterator
|
|
47
|
+
* completes when the server emits `event: terminal`, when the caller's
|
|
48
|
+
* AbortSignal fires, or when the underlying stream closes.
|
|
49
|
+
*
|
|
50
|
+
* The caller controls reconnection — this function deliberately does
|
|
51
|
+
* NOT auto-reconnect. The SDK wraps it with a backoff loop and falls
|
|
52
|
+
* back to polling when SSE is unavailable; the CLI tails events with
|
|
53
|
+
* the same reconnect contract.
|
|
54
|
+
*
|
|
55
|
+
* Cursor semantics: the dashboard sends each event frame with `id: <cursor>`
|
|
56
|
+
* which natively maps to `Last-Event-ID` on reconnect, AND embeds the
|
|
57
|
+
* cursor inside the JSON payload as `.cursor` so non-EventSource
|
|
58
|
+
* consumers can read it. We surface both.
|
|
59
|
+
*/
|
|
60
|
+
export async function* streamRunEventsSse(http, runId, options = {}) {
|
|
61
|
+
const headers = {
|
|
62
|
+
accept: "text/event-stream"
|
|
63
|
+
};
|
|
64
|
+
if (options.cursor) {
|
|
65
|
+
// Both the header and the query-string carry the cursor — the
|
|
66
|
+
// header wins server-side, but some intermediaries strip
|
|
67
|
+
// `Last-Event-ID`, so we belt-and-braces it.
|
|
68
|
+
headers["last-event-id"] = options.cursor;
|
|
69
|
+
}
|
|
70
|
+
const query = {};
|
|
71
|
+
if (options.cursor)
|
|
72
|
+
query.cursor = options.cursor;
|
|
73
|
+
let outcome = {
|
|
74
|
+
kind: "disconnected",
|
|
75
|
+
nextCursor: options.cursor
|
|
76
|
+
};
|
|
77
|
+
let download;
|
|
78
|
+
try {
|
|
79
|
+
const init = { method: "GET", headers };
|
|
80
|
+
if (options.signal)
|
|
81
|
+
init.signal = options.signal;
|
|
82
|
+
download = await http.download(`/api/runs/${encodeURIComponent(runId)}/events/stream`, init, query);
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
return {
|
|
86
|
+
kind: options.signal?.aborted ? "aborted" : "disconnected",
|
|
87
|
+
nextCursor: options.cursor,
|
|
88
|
+
error: err instanceof Error ? err.message : String(err)
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
const body = download.response.body;
|
|
92
|
+
if (!body) {
|
|
93
|
+
return {
|
|
94
|
+
kind: "disconnected",
|
|
95
|
+
nextCursor: options.cursor,
|
|
96
|
+
error: "SSE response body was empty"
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
let cursor = options.cursor;
|
|
100
|
+
try {
|
|
101
|
+
for await (const frame of iterateSse(body, options.signal)) {
|
|
102
|
+
options.onFrame?.(frame);
|
|
103
|
+
if (frame.id)
|
|
104
|
+
cursor = frame.id;
|
|
105
|
+
switch (frame.event) {
|
|
106
|
+
case "run_event": {
|
|
107
|
+
const event = parseRunEventFrame(frame.data);
|
|
108
|
+
if (event) {
|
|
109
|
+
// The dashboard duplicates the cursor inside the data
|
|
110
|
+
// payload — prefer it if present, since it survives proxies
|
|
111
|
+
// that strip the `id:` line.
|
|
112
|
+
const payloadCursor = readStringField(event, "cursor");
|
|
113
|
+
if (payloadCursor)
|
|
114
|
+
cursor = payloadCursor;
|
|
115
|
+
yield event;
|
|
116
|
+
}
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
case "terminal": {
|
|
120
|
+
const status = readStringField(parseJsonObject(frame.data) ?? {}, "status");
|
|
121
|
+
outcome = {
|
|
122
|
+
kind: "terminal",
|
|
123
|
+
nextCursor: cursor,
|
|
124
|
+
...(status ? { terminalStatus: status } : {})
|
|
125
|
+
};
|
|
126
|
+
return outcome;
|
|
127
|
+
}
|
|
128
|
+
case "gone": {
|
|
129
|
+
outcome = {
|
|
130
|
+
kind: "disconnected",
|
|
131
|
+
nextCursor: cursor,
|
|
132
|
+
error: "run no longer exists"
|
|
133
|
+
};
|
|
134
|
+
return outcome;
|
|
135
|
+
}
|
|
136
|
+
case "error": {
|
|
137
|
+
const message = readStringField(parseJsonObject(frame.data) ?? {}, "message") ?? "SSE stream reported an error";
|
|
138
|
+
outcome = {
|
|
139
|
+
kind: "disconnected",
|
|
140
|
+
nextCursor: cursor,
|
|
141
|
+
error: message
|
|
142
|
+
};
|
|
143
|
+
return outcome;
|
|
144
|
+
}
|
|
145
|
+
// `ready` and `ping` are no-ops — they keep proxies alive and
|
|
146
|
+
// surface the initial cursor; consumers see them via `onFrame`.
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
catch (err) {
|
|
151
|
+
return {
|
|
152
|
+
kind: options.signal?.aborted ? "aborted" : "disconnected",
|
|
153
|
+
nextCursor: cursor,
|
|
154
|
+
error: err instanceof Error ? err.message : String(err)
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
// Stream ended without a terminal frame (server closed unexpectedly).
|
|
158
|
+
return {
|
|
159
|
+
kind: options.signal?.aborted ? "aborted" : "disconnected",
|
|
160
|
+
nextCursor: cursor
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
function parseRunEventFrame(data) {
|
|
164
|
+
const parsed = parseJsonObject(data);
|
|
165
|
+
if (!parsed)
|
|
166
|
+
return null;
|
|
167
|
+
// Run events always carry id + type; reject malformed frames.
|
|
168
|
+
const id = readStringField(parsed, "id");
|
|
169
|
+
const type = readStringField(parsed, "type");
|
|
170
|
+
if (!id || !type)
|
|
171
|
+
return null;
|
|
172
|
+
return parsed;
|
|
173
|
+
}
|
|
174
|
+
function parseJsonObject(data) {
|
|
175
|
+
if (data.length === 0)
|
|
176
|
+
return null;
|
|
177
|
+
try {
|
|
178
|
+
const value = JSON.parse(data);
|
|
179
|
+
if (value && typeof value === "object" && !Array.isArray(value)) {
|
|
180
|
+
return value;
|
|
181
|
+
}
|
|
182
|
+
return null;
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
function readStringField(obj, field) {
|
|
189
|
+
const value = obj[field];
|
|
190
|
+
return typeof value === "string" ? value : undefined;
|
|
191
|
+
}
|
|
43
192
|
export async function listOutputs(http, runId) {
|
|
44
193
|
const result = await http.request(`/api/runs/${encodeURIComponent(runId)}/outputs`);
|
|
45
194
|
return result.outputs;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tiny SSE (text/event-stream) parser used by the SDK / CLI to consume
|
|
3
|
+
* the dashboard's `/api/runs/:id/events/stream` endpoint without
|
|
4
|
+
* pulling in a DOM `EventSource` dependency. Node's `fetch` returns a
|
|
5
|
+
* web `ReadableStream<Uint8Array>` body; this parser turns that into
|
|
6
|
+
* an async iterable of `SseFrame`s.
|
|
7
|
+
*
|
|
8
|
+
* The wire grammar follows the WHATWG HTML spec § Server-sent events:
|
|
9
|
+
*
|
|
10
|
+
* - Lines are separated by `\n`, `\r`, or `\r\n`.
|
|
11
|
+
* - A `:` prefix marks a comment — ignored.
|
|
12
|
+
* - `field: value` (or `field:value`, with no space) — leading space
|
|
13
|
+
* after the colon is stripped.
|
|
14
|
+
* - Recognised fields: `event`, `data`, `id`, `retry`.
|
|
15
|
+
* - Multiple `data:` lines join with `\n`.
|
|
16
|
+
* - A blank line dispatches the current frame and resets the buffer.
|
|
17
|
+
* - `event:` defaults to `"message"` when absent.
|
|
18
|
+
*
|
|
19
|
+
* The parser is deliberately a free function so it can be unit-tested
|
|
20
|
+
* against synthesized chunk boundaries (one byte at a time, mid-frame,
|
|
21
|
+
* across UTF-8 multi-byte sequences) without spinning up a real
|
|
22
|
+
* connection.
|
|
23
|
+
*/
|
|
24
|
+
export interface SseFrame {
|
|
25
|
+
readonly id?: string;
|
|
26
|
+
readonly event: string;
|
|
27
|
+
readonly data: string;
|
|
28
|
+
readonly retry?: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Stateful parser: feed in chunks (in any size), pull out completed
|
|
32
|
+
* frames. Designed for `for await` consumption — see `iterateSse`.
|
|
33
|
+
*/
|
|
34
|
+
export declare class SseParser {
|
|
35
|
+
#private;
|
|
36
|
+
/**
|
|
37
|
+
* Push a chunk of raw bytes through the parser. Returns any frames
|
|
38
|
+
* that completed during this chunk. Chunks may contain zero, one,
|
|
39
|
+
* or many frame boundaries — the parser handles partial trailing
|
|
40
|
+
* data internally.
|
|
41
|
+
*/
|
|
42
|
+
pushBytes(chunk: Uint8Array): readonly SseFrame[];
|
|
43
|
+
/**
|
|
44
|
+
* Push a text chunk directly. Used by the parser tests so they can
|
|
45
|
+
* exercise byte-boundary edge cases without manufacturing a
|
|
46
|
+
* `TextDecoder` round-trip.
|
|
47
|
+
*/
|
|
48
|
+
pushText(text: string): readonly SseFrame[];
|
|
49
|
+
/**
|
|
50
|
+
* Indicate end-of-stream. Returns any final frame that the dispatcher
|
|
51
|
+
* was holding when the stream closed mid-frame (no trailing blank
|
|
52
|
+
* line). The dispatcher pattern is: blank line dispatches; if the
|
|
53
|
+
* remote closes after a partial frame, that frame is dropped per the
|
|
54
|
+
* spec.
|
|
55
|
+
*/
|
|
56
|
+
flush(): void;
|
|
57
|
+
/**
|
|
58
|
+
* Current "last event id" — the cursor the SSE spec instructs the
|
|
59
|
+
* client to replay on automatic reconnection. Callers use this to
|
|
60
|
+
* resume after a disconnect.
|
|
61
|
+
*/
|
|
62
|
+
get lastEventId(): string | undefined;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Convert a web `ReadableStream<Uint8Array>` (the body of a fetch
|
|
66
|
+
* Response) into an async iterable of SSE frames. The stream is
|
|
67
|
+
* consumed exactly once; the caller is responsible for cancelling
|
|
68
|
+
* the underlying reader on abort.
|
|
69
|
+
*
|
|
70
|
+
* The reader is raced against the abort signal so a long-blocked
|
|
71
|
+
* server (no chunks for many seconds) still releases the loop
|
|
72
|
+
* promptly when the consumer aborts.
|
|
73
|
+
*/
|
|
74
|
+
export declare function iterateSse(body: ReadableStream<Uint8Array>, signal?: AbortSignal): AsyncIterable<SseFrame>;
|
|
Binary file
|
package/dist/cli.mjs
CHANGED
|
@@ -551,11 +551,182 @@ __export(operations_exports, {
|
|
|
551
551
|
listOutputs: () => listOutputs,
|
|
552
552
|
listRunEvents: () => listRunEvents,
|
|
553
553
|
listSkills: () => listSkills,
|
|
554
|
+
streamRunEventsSse: () => streamRunEventsSse,
|
|
554
555
|
submitRun: () => submitRun,
|
|
555
556
|
submitRunFlat: () => submitRunFlat,
|
|
556
557
|
submitRunFlatMultipart: () => submitRunFlatMultipart,
|
|
557
558
|
whoami: () => whoami
|
|
558
559
|
});
|
|
560
|
+
|
|
561
|
+
// ../shared/dist/sse.js
|
|
562
|
+
var SseParser = class {
|
|
563
|
+
#buffer = "";
|
|
564
|
+
#decoder = new TextDecoder("utf-8");
|
|
565
|
+
#eventType = "";
|
|
566
|
+
#dataLines = [];
|
|
567
|
+
#lastEventId;
|
|
568
|
+
#retry;
|
|
569
|
+
/**
|
|
570
|
+
* Push a chunk of raw bytes through the parser. Returns any frames
|
|
571
|
+
* that completed during this chunk. Chunks may contain zero, one,
|
|
572
|
+
* or many frame boundaries — the parser handles partial trailing
|
|
573
|
+
* data internally.
|
|
574
|
+
*/
|
|
575
|
+
pushBytes(chunk) {
|
|
576
|
+
return this.pushText(this.#decoder.decode(chunk, { stream: true }));
|
|
577
|
+
}
|
|
578
|
+
/**
|
|
579
|
+
* Push a text chunk directly. Used by the parser tests so they can
|
|
580
|
+
* exercise byte-boundary edge cases without manufacturing a
|
|
581
|
+
* `TextDecoder` round-trip.
|
|
582
|
+
*/
|
|
583
|
+
pushText(text) {
|
|
584
|
+
this.#buffer += text;
|
|
585
|
+
const frames = [];
|
|
586
|
+
let idx;
|
|
587
|
+
while ((idx = findLineBreak(this.#buffer)) !== -1) {
|
|
588
|
+
const line = this.#buffer.slice(0, idx);
|
|
589
|
+
const skip = this.#buffer[idx] === "\r" && this.#buffer[idx + 1] === "\n" ? 2 : 1;
|
|
590
|
+
this.#buffer = this.#buffer.slice(idx + skip);
|
|
591
|
+
const frame = this.#consumeLine(line);
|
|
592
|
+
if (frame)
|
|
593
|
+
frames.push(frame);
|
|
594
|
+
}
|
|
595
|
+
return frames;
|
|
596
|
+
}
|
|
597
|
+
/**
|
|
598
|
+
* Indicate end-of-stream. Returns any final frame that the dispatcher
|
|
599
|
+
* was holding when the stream closed mid-frame (no trailing blank
|
|
600
|
+
* line). The dispatcher pattern is: blank line dispatches; if the
|
|
601
|
+
* remote closes after a partial frame, that frame is dropped per the
|
|
602
|
+
* spec.
|
|
603
|
+
*/
|
|
604
|
+
flush() {
|
|
605
|
+
}
|
|
606
|
+
#consumeLine(line) {
|
|
607
|
+
if (line.length === 0) {
|
|
608
|
+
return this.#dispatch();
|
|
609
|
+
}
|
|
610
|
+
if (line.startsWith(":")) {
|
|
611
|
+
return null;
|
|
612
|
+
}
|
|
613
|
+
const colonIdx = line.indexOf(":");
|
|
614
|
+
let field;
|
|
615
|
+
let value;
|
|
616
|
+
if (colonIdx === -1) {
|
|
617
|
+
field = line;
|
|
618
|
+
value = "";
|
|
619
|
+
} else {
|
|
620
|
+
field = line.slice(0, colonIdx);
|
|
621
|
+
value = line.slice(colonIdx + 1);
|
|
622
|
+
if (value.startsWith(" "))
|
|
623
|
+
value = value.slice(1);
|
|
624
|
+
}
|
|
625
|
+
switch (field) {
|
|
626
|
+
case "event":
|
|
627
|
+
this.#eventType = value;
|
|
628
|
+
break;
|
|
629
|
+
case "data":
|
|
630
|
+
this.#dataLines.push(value);
|
|
631
|
+
break;
|
|
632
|
+
case "id":
|
|
633
|
+
if (!value.includes("\0")) {
|
|
634
|
+
this.#lastEventId = value;
|
|
635
|
+
}
|
|
636
|
+
break;
|
|
637
|
+
case "retry": {
|
|
638
|
+
const parsed = Number.parseInt(value, 10);
|
|
639
|
+
if (Number.isFinite(parsed) && parsed >= 0)
|
|
640
|
+
this.#retry = parsed;
|
|
641
|
+
break;
|
|
642
|
+
}
|
|
643
|
+
default:
|
|
644
|
+
break;
|
|
645
|
+
}
|
|
646
|
+
return null;
|
|
647
|
+
}
|
|
648
|
+
#dispatch() {
|
|
649
|
+
if (this.#dataLines.length === 0 && this.#eventType === "") {
|
|
650
|
+
return null;
|
|
651
|
+
}
|
|
652
|
+
const data = this.#dataLines.join("\n");
|
|
653
|
+
const event = this.#eventType === "" ? "message" : this.#eventType;
|
|
654
|
+
const frame = {
|
|
655
|
+
event,
|
|
656
|
+
data,
|
|
657
|
+
...this.#lastEventId !== void 0 ? { id: this.#lastEventId } : {},
|
|
658
|
+
...this.#retry !== void 0 ? { retry: this.#retry } : {}
|
|
659
|
+
};
|
|
660
|
+
this.#eventType = "";
|
|
661
|
+
this.#dataLines = [];
|
|
662
|
+
this.#retry = void 0;
|
|
663
|
+
return frame;
|
|
664
|
+
}
|
|
665
|
+
/**
|
|
666
|
+
* Current "last event id" — the cursor the SSE spec instructs the
|
|
667
|
+
* client to replay on automatic reconnection. Callers use this to
|
|
668
|
+
* resume after a disconnect.
|
|
669
|
+
*/
|
|
670
|
+
get lastEventId() {
|
|
671
|
+
return this.#lastEventId;
|
|
672
|
+
}
|
|
673
|
+
};
|
|
674
|
+
async function* iterateSse(body, signal) {
|
|
675
|
+
const reader = body.getReader();
|
|
676
|
+
const parser = new SseParser();
|
|
677
|
+
const ABORT_SENTINEL = /* @__PURE__ */ Symbol("aborted");
|
|
678
|
+
try {
|
|
679
|
+
while (true) {
|
|
680
|
+
if (signal?.aborted)
|
|
681
|
+
return;
|
|
682
|
+
const readPromise = reader.read();
|
|
683
|
+
let result;
|
|
684
|
+
if (signal) {
|
|
685
|
+
result = await Promise.race([
|
|
686
|
+
readPromise,
|
|
687
|
+
new Promise((resolve) => {
|
|
688
|
+
const onAbort = () => resolve(ABORT_SENTINEL);
|
|
689
|
+
if (signal.aborted) {
|
|
690
|
+
resolve(ABORT_SENTINEL);
|
|
691
|
+
return;
|
|
692
|
+
}
|
|
693
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
694
|
+
})
|
|
695
|
+
]);
|
|
696
|
+
} else {
|
|
697
|
+
result = await readPromise;
|
|
698
|
+
}
|
|
699
|
+
if (result === ABORT_SENTINEL)
|
|
700
|
+
return;
|
|
701
|
+
if (result.done) {
|
|
702
|
+
parser.flush();
|
|
703
|
+
return;
|
|
704
|
+
}
|
|
705
|
+
const value = result.value;
|
|
706
|
+
if (!value)
|
|
707
|
+
continue;
|
|
708
|
+
const frames = parser.pushBytes(value);
|
|
709
|
+
for (const frame of frames) {
|
|
710
|
+
yield frame;
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
} finally {
|
|
714
|
+
try {
|
|
715
|
+
await reader.cancel();
|
|
716
|
+
} catch {
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
function findLineBreak(buffer) {
|
|
721
|
+
for (let i = 0; i < buffer.length; i++) {
|
|
722
|
+
const code = buffer.charCodeAt(i);
|
|
723
|
+
if (code === 10 || code === 13)
|
|
724
|
+
return i;
|
|
725
|
+
}
|
|
726
|
+
return -1;
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
// ../shared/dist/operations.js
|
|
559
730
|
async function submitRun(http, request) {
|
|
560
731
|
return http.request("/api/runs", {
|
|
561
732
|
method: "POST",
|
|
@@ -573,6 +744,125 @@ async function listRunEvents(http, runId) {
|
|
|
573
744
|
const result = await http.request(`/api/runs/${encodeURIComponent(runId)}/events`);
|
|
574
745
|
return result.events;
|
|
575
746
|
}
|
|
747
|
+
async function* streamRunEventsSse(http, runId, options = {}) {
|
|
748
|
+
const headers = {
|
|
749
|
+
accept: "text/event-stream"
|
|
750
|
+
};
|
|
751
|
+
if (options.cursor) {
|
|
752
|
+
headers["last-event-id"] = options.cursor;
|
|
753
|
+
}
|
|
754
|
+
const query = {};
|
|
755
|
+
if (options.cursor)
|
|
756
|
+
query.cursor = options.cursor;
|
|
757
|
+
let outcome = {
|
|
758
|
+
kind: "disconnected",
|
|
759
|
+
nextCursor: options.cursor
|
|
760
|
+
};
|
|
761
|
+
let download;
|
|
762
|
+
try {
|
|
763
|
+
const init = { method: "GET", headers };
|
|
764
|
+
if (options.signal)
|
|
765
|
+
init.signal = options.signal;
|
|
766
|
+
download = await http.download(`/api/runs/${encodeURIComponent(runId)}/events/stream`, init, query);
|
|
767
|
+
} catch (err2) {
|
|
768
|
+
return {
|
|
769
|
+
kind: options.signal?.aborted ? "aborted" : "disconnected",
|
|
770
|
+
nextCursor: options.cursor,
|
|
771
|
+
error: err2 instanceof Error ? err2.message : String(err2)
|
|
772
|
+
};
|
|
773
|
+
}
|
|
774
|
+
const body = download.response.body;
|
|
775
|
+
if (!body) {
|
|
776
|
+
return {
|
|
777
|
+
kind: "disconnected",
|
|
778
|
+
nextCursor: options.cursor,
|
|
779
|
+
error: "SSE response body was empty"
|
|
780
|
+
};
|
|
781
|
+
}
|
|
782
|
+
let cursor = options.cursor;
|
|
783
|
+
try {
|
|
784
|
+
for await (const frame of iterateSse(body, options.signal)) {
|
|
785
|
+
options.onFrame?.(frame);
|
|
786
|
+
if (frame.id)
|
|
787
|
+
cursor = frame.id;
|
|
788
|
+
switch (frame.event) {
|
|
789
|
+
case "run_event": {
|
|
790
|
+
const event = parseRunEventFrame(frame.data);
|
|
791
|
+
if (event) {
|
|
792
|
+
const payloadCursor = readStringField(event, "cursor");
|
|
793
|
+
if (payloadCursor)
|
|
794
|
+
cursor = payloadCursor;
|
|
795
|
+
yield event;
|
|
796
|
+
}
|
|
797
|
+
break;
|
|
798
|
+
}
|
|
799
|
+
case "terminal": {
|
|
800
|
+
const status = readStringField(parseJsonObject(frame.data) ?? {}, "status");
|
|
801
|
+
outcome = {
|
|
802
|
+
kind: "terminal",
|
|
803
|
+
nextCursor: cursor,
|
|
804
|
+
...status ? { terminalStatus: status } : {}
|
|
805
|
+
};
|
|
806
|
+
return outcome;
|
|
807
|
+
}
|
|
808
|
+
case "gone": {
|
|
809
|
+
outcome = {
|
|
810
|
+
kind: "disconnected",
|
|
811
|
+
nextCursor: cursor,
|
|
812
|
+
error: "run no longer exists"
|
|
813
|
+
};
|
|
814
|
+
return outcome;
|
|
815
|
+
}
|
|
816
|
+
case "error": {
|
|
817
|
+
const message = readStringField(parseJsonObject(frame.data) ?? {}, "message") ?? "SSE stream reported an error";
|
|
818
|
+
outcome = {
|
|
819
|
+
kind: "disconnected",
|
|
820
|
+
nextCursor: cursor,
|
|
821
|
+
error: message
|
|
822
|
+
};
|
|
823
|
+
return outcome;
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
}
|
|
827
|
+
} catch (err2) {
|
|
828
|
+
return {
|
|
829
|
+
kind: options.signal?.aborted ? "aborted" : "disconnected",
|
|
830
|
+
nextCursor: cursor,
|
|
831
|
+
error: err2 instanceof Error ? err2.message : String(err2)
|
|
832
|
+
};
|
|
833
|
+
}
|
|
834
|
+
return {
|
|
835
|
+
kind: options.signal?.aborted ? "aborted" : "disconnected",
|
|
836
|
+
nextCursor: cursor
|
|
837
|
+
};
|
|
838
|
+
}
|
|
839
|
+
function parseRunEventFrame(data) {
|
|
840
|
+
const parsed = parseJsonObject(data);
|
|
841
|
+
if (!parsed)
|
|
842
|
+
return null;
|
|
843
|
+
const id = readStringField(parsed, "id");
|
|
844
|
+
const type = readStringField(parsed, "type");
|
|
845
|
+
if (!id || !type)
|
|
846
|
+
return null;
|
|
847
|
+
return parsed;
|
|
848
|
+
}
|
|
849
|
+
function parseJsonObject(data) {
|
|
850
|
+
if (data.length === 0)
|
|
851
|
+
return null;
|
|
852
|
+
try {
|
|
853
|
+
const value = JSON.parse(data);
|
|
854
|
+
if (value && typeof value === "object" && !Array.isArray(value)) {
|
|
855
|
+
return value;
|
|
856
|
+
}
|
|
857
|
+
return null;
|
|
858
|
+
} catch {
|
|
859
|
+
return null;
|
|
860
|
+
}
|
|
861
|
+
}
|
|
862
|
+
function readStringField(obj, field) {
|
|
863
|
+
const value = obj[field];
|
|
864
|
+
return typeof value === "string" ? value : void 0;
|
|
865
|
+
}
|
|
576
866
|
async function listOutputs(http, runId) {
|
|
577
867
|
const result = await http.request(`/api/runs/${encodeURIComponent(runId)}/outputs`);
|
|
578
868
|
return result.outputs;
|
|
@@ -964,6 +1254,26 @@ function takeBooleanFlag(rest, flag) {
|
|
|
964
1254
|
}
|
|
965
1255
|
return { present, remaining };
|
|
966
1256
|
}
|
|
1257
|
+
function takeOptionFlag(rest, flag) {
|
|
1258
|
+
const remaining = [];
|
|
1259
|
+
let value;
|
|
1260
|
+
const prefix = `${flag}=`;
|
|
1261
|
+
for (let i = 0; i < rest.length; i++) {
|
|
1262
|
+
const arg = rest[i];
|
|
1263
|
+
if (arg === flag) {
|
|
1264
|
+
const next = rest[++i];
|
|
1265
|
+
if (next !== void 0)
|
|
1266
|
+
value = next;
|
|
1267
|
+
continue;
|
|
1268
|
+
}
|
|
1269
|
+
if (arg.startsWith(prefix)) {
|
|
1270
|
+
value = arg.slice(prefix.length);
|
|
1271
|
+
continue;
|
|
1272
|
+
}
|
|
1273
|
+
remaining.push(arg);
|
|
1274
|
+
}
|
|
1275
|
+
return { value, remaining };
|
|
1276
|
+
}
|
|
967
1277
|
|
|
968
1278
|
// dist/outputs-sync.js
|
|
969
1279
|
async function runOutputsSyncCmd(io2, dirs) {
|
|
@@ -2751,6 +3061,13 @@ var TERMINAL_STATUSES2 = /* @__PURE__ */ new Set([
|
|
|
2751
3061
|
"canceled",
|
|
2752
3062
|
"cleaned_up"
|
|
2753
3063
|
]);
|
|
3064
|
+
function parseTransport(raw) {
|
|
3065
|
+
if (raw === void 0 || raw === "")
|
|
3066
|
+
return "auto";
|
|
3067
|
+
if (raw === "auto" || raw === "sse" || raw === "polling")
|
|
3068
|
+
return raw;
|
|
3069
|
+
return null;
|
|
3070
|
+
}
|
|
2754
3071
|
async function runEventsCmd(io2, argv) {
|
|
2755
3072
|
if (await refuseInsideManagedRun(io2, "events"))
|
|
2756
3073
|
return USAGE_ERR;
|
|
@@ -2761,9 +3078,16 @@ async function runEventsCmd(io2, argv) {
|
|
|
2761
3078
|
return USAGE_ERR;
|
|
2762
3079
|
}
|
|
2763
3080
|
const followResult = takeBooleanFlag(common.rest, "--follow");
|
|
2764
|
-
const
|
|
3081
|
+
const transportResult = takeOptionFlag(followResult.remaining, "--transport");
|
|
3082
|
+
const transport = parseTransport(transportResult.value);
|
|
3083
|
+
if (transport === null) {
|
|
3084
|
+
io2.stderr(`invalid --transport value '${transportResult.value}'; expected auto|sse|polling
|
|
3085
|
+
`);
|
|
3086
|
+
return USAGE_ERR;
|
|
3087
|
+
}
|
|
3088
|
+
const positional = transportResult.remaining.filter((arg) => !arg.startsWith("--"));
|
|
2765
3089
|
if (positional.length !== 1) {
|
|
2766
|
-
io2.stderr("usage: antpath events <run-id> [--follow] [common flags]\n");
|
|
3090
|
+
io2.stderr("usage: antpath events <run-id> [--follow] [--transport=auto|sse|polling] [common flags]\n");
|
|
2767
3091
|
return USAGE_ERR;
|
|
2768
3092
|
}
|
|
2769
3093
|
const runId = positional[0];
|
|
@@ -2779,7 +3103,44 @@ async function runEventsCmd(io2, argv) {
|
|
|
2779
3103
|
return emitJsonError(io2, "events_failed", err2.message ?? "event fetch failed", { runId });
|
|
2780
3104
|
}
|
|
2781
3105
|
}
|
|
2782
|
-
|
|
3106
|
+
const seen = /* @__PURE__ */ new Set();
|
|
3107
|
+
if (transport !== "polling") {
|
|
3108
|
+
let cursor;
|
|
3109
|
+
while (true) {
|
|
3110
|
+
const sseOpts = {};
|
|
3111
|
+
if (cursor !== void 0)
|
|
3112
|
+
sseOpts.cursor = cursor;
|
|
3113
|
+
const iter = operations_exports.streamRunEventsSse(http, runId, sseOpts);
|
|
3114
|
+
let outcome;
|
|
3115
|
+
try {
|
|
3116
|
+
while (true) {
|
|
3117
|
+
outcome = await iter.next();
|
|
3118
|
+
if (outcome.done)
|
|
3119
|
+
break;
|
|
3120
|
+
const event = outcome.value;
|
|
3121
|
+
if (!seen.has(event.id)) {
|
|
3122
|
+
seen.add(event.id);
|
|
3123
|
+
io2.stdout(JSON.stringify(event) + "\n");
|
|
3124
|
+
}
|
|
3125
|
+
}
|
|
3126
|
+
} catch (err2) {
|
|
3127
|
+
io2.stderr(`(transient) SSE stream errored: ${err2.message}
|
|
3128
|
+
`);
|
|
3129
|
+
if (transport === "sse")
|
|
3130
|
+
return SUCCESS;
|
|
3131
|
+
break;
|
|
3132
|
+
}
|
|
3133
|
+
const finalOutcome = outcome.value;
|
|
3134
|
+
cursor = finalOutcome.nextCursor;
|
|
3135
|
+
if (finalOutcome.kind === "terminal" || finalOutcome.kind === "aborted")
|
|
3136
|
+
return SUCCESS;
|
|
3137
|
+
if (transport === "sse")
|
|
3138
|
+
return SUCCESS;
|
|
3139
|
+
io2.stderr(`(transient) SSE disconnect (${finalOutcome.error ?? "stream closed"}) \u2014 falling back to polling
|
|
3140
|
+
`);
|
|
3141
|
+
break;
|
|
3142
|
+
}
|
|
3143
|
+
}
|
|
2783
3144
|
while (true) {
|
|
2784
3145
|
let events;
|
|
2785
3146
|
try {
|
|
@@ -2790,10 +3151,12 @@ async function runEventsCmd(io2, argv) {
|
|
|
2790
3151
|
await sleep2(2e3);
|
|
2791
3152
|
continue;
|
|
2792
3153
|
}
|
|
2793
|
-
for (
|
|
2794
|
-
|
|
3154
|
+
for (const event of events) {
|
|
3155
|
+
if (!seen.has(event.id)) {
|
|
3156
|
+
seen.add(event.id);
|
|
3157
|
+
io2.stdout(JSON.stringify(event) + "\n");
|
|
3158
|
+
}
|
|
2795
3159
|
}
|
|
2796
|
-
emittedCount = events.length;
|
|
2797
3160
|
try {
|
|
2798
3161
|
const run = await operations_exports.getRun(http, runId);
|
|
2799
3162
|
if (TERMINAL_STATUSES2.has(run.status)) {
|
package/dist/cli.mjs.sha256
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
80d5b8acd38d2604064106537102276eed37305fe2eedce375c0c8dee0d1b141 cli.mjs
|
package/dist/client.d.ts
CHANGED
|
@@ -76,8 +76,19 @@ export interface SubmitRunOptions {
|
|
|
76
76
|
readonly signal?: AbortSignal;
|
|
77
77
|
}
|
|
78
78
|
export interface StreamEventsOptions {
|
|
79
|
+
/** Polling interval in ms — used by the `polling` transport and as
|
|
80
|
+
* the fallback when SSE disconnects. Default 1000. */
|
|
79
81
|
readonly intervalMs?: number;
|
|
80
82
|
readonly signal?: AbortSignal;
|
|
83
|
+
/**
|
|
84
|
+
* Transport selector. `"auto"` (default) opens an SSE connection;
|
|
85
|
+
* on disconnect (server-side error, network blip, missing endpoint
|
|
86
|
+
* on older deployments) it falls back to polling for the remaining
|
|
87
|
+
* lifetime of the run. `"sse"` forces SSE and surfaces disconnects
|
|
88
|
+
* as iterator completion. `"polling"` keeps the historical poll
|
|
89
|
+
* loop — useful for environments without streaming support.
|
|
90
|
+
*/
|
|
91
|
+
readonly transport?: "auto" | "sse" | "polling";
|
|
81
92
|
}
|
|
82
93
|
export interface WaitForRunOptions {
|
|
83
94
|
readonly intervalMs?: number;
|
|
@@ -324,9 +335,14 @@ export declare class AntpathClient {
|
|
|
324
335
|
getRunUnit(runId: string): Promise<RunUnit>;
|
|
325
336
|
listEvents(runId: string): Promise<readonly RunEvent[]>;
|
|
326
337
|
/**
|
|
327
|
-
*
|
|
328
|
-
*
|
|
329
|
-
*
|
|
338
|
+
* Yield run events as they arrive. The default transport is SSE
|
|
339
|
+
* (`/api/runs/:id/events/stream`); on disconnect it falls back to
|
|
340
|
+
* polling for the remaining lifetime of the run, so older
|
|
341
|
+
* deployments without the SSE endpoint and transient network blips
|
|
342
|
+
* both keep working.
|
|
343
|
+
*
|
|
344
|
+
* Stops when the run reaches a terminal state, when the signal is
|
|
345
|
+
* aborted, or when the caller breaks out of the iterator.
|
|
330
346
|
*/
|
|
331
347
|
streamEvents(runId: string, options?: StreamEventsOptions): AsyncIterable<RunEvent>;
|
|
332
348
|
/**
|
package/dist/client.js
CHANGED
|
@@ -402,19 +402,67 @@ export class AntpathClient {
|
|
|
402
402
|
return operations.listRunEvents(this.#http, runId);
|
|
403
403
|
}
|
|
404
404
|
/**
|
|
405
|
-
*
|
|
406
|
-
*
|
|
407
|
-
*
|
|
405
|
+
* Yield run events as they arrive. The default transport is SSE
|
|
406
|
+
* (`/api/runs/:id/events/stream`); on disconnect it falls back to
|
|
407
|
+
* polling for the remaining lifetime of the run, so older
|
|
408
|
+
* deployments without the SSE endpoint and transient network blips
|
|
409
|
+
* both keep working.
|
|
410
|
+
*
|
|
411
|
+
* Stops when the run reaches a terminal state, when the signal is
|
|
412
|
+
* aborted, or when the caller breaks out of the iterator.
|
|
408
413
|
*/
|
|
409
414
|
async *streamEvents(runId, options = {}) {
|
|
410
|
-
const
|
|
415
|
+
const transport = options.transport ?? "auto";
|
|
411
416
|
const signal = options.signal;
|
|
412
417
|
const seenIds = new Set();
|
|
418
|
+
let cursor;
|
|
419
|
+
if (transport !== "polling") {
|
|
420
|
+
while (!signal?.aborted) {
|
|
421
|
+
const outcome = yield* this.#streamEventsSseRound(runId, {
|
|
422
|
+
cursor: cursor,
|
|
423
|
+
signal: signal,
|
|
424
|
+
seenIds
|
|
425
|
+
});
|
|
426
|
+
cursor = outcome.nextCursor;
|
|
427
|
+
if (outcome.kind === "terminal" || outcome.kind === "aborted")
|
|
428
|
+
return;
|
|
429
|
+
if (transport === "sse")
|
|
430
|
+
return; // disconnects surface as completion
|
|
431
|
+
// "auto" — fall through to polling for the rest of the run.
|
|
432
|
+
break;
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
if (signal?.aborted)
|
|
436
|
+
return;
|
|
437
|
+
yield* this.#streamEventsPolling(runId, { ...options, seenIds });
|
|
438
|
+
}
|
|
439
|
+
async *#streamEventsSseRound(runId, opts) {
|
|
440
|
+
const streamOpts = {};
|
|
441
|
+
if (opts.cursor !== undefined)
|
|
442
|
+
streamOpts.cursor = opts.cursor;
|
|
443
|
+
if (opts.signal !== undefined)
|
|
444
|
+
streamOpts.signal = opts.signal;
|
|
445
|
+
const iter = operations.streamRunEventsSse(this.#http, runId, streamOpts);
|
|
446
|
+
while (true) {
|
|
447
|
+
const next = await iter.next();
|
|
448
|
+
if (next.done) {
|
|
449
|
+
return next.value;
|
|
450
|
+
}
|
|
451
|
+
const event = next.value;
|
|
452
|
+
if (!opts.seenIds.has(event.id)) {
|
|
453
|
+
opts.seenIds.add(event.id);
|
|
454
|
+
yield event;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
async *#streamEventsPolling(runId, options) {
|
|
459
|
+
const intervalMs = options.intervalMs ?? 1_000;
|
|
460
|
+
const signal = options.signal;
|
|
413
461
|
while (!signal?.aborted) {
|
|
414
462
|
const events = await this.listEvents(runId);
|
|
415
463
|
for (const event of events) {
|
|
416
|
-
if (!seenIds.has(event.id)) {
|
|
417
|
-
seenIds.add(event.id);
|
|
464
|
+
if (!options.seenIds.has(event.id)) {
|
|
465
|
+
options.seenIds.add(event.id);
|
|
418
466
|
yield event;
|
|
419
467
|
}
|
|
420
468
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED