@elpapi42/pi-fleet-sdk 0.5.0 → 0.5.1

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
@@ -50,4 +50,6 @@ await agent.send("Summarize the findings", { delivery: "followUp" })
50
50
 
51
51
  `agent.receive()` provides best-effort live activity after the subscription starts. Each client receives an independent stream. Slice 3 does not replay missed events. The stream reports `thinking.started`, `thinking.finished`, `message.started`, `message.finished`, `tool.started`, and `tool.finished`. It ends normally when the consumer stops or the client closes. It throws if the worker or Pi becomes unavailable.
52
52
 
53
+ Each event has a live `eventId`, an `activityId` that connects matching start and finish events, and a worker-assigned Unix-millisecond `timestamp`. A late subscriber can receive only one side of an activity pair. Stream order is authoritative; timestamps do not define ordering. `eventId` is not a replay cursor. `message.finished.text` contains concatenated assistant text blocks only. Each value returned by `agent.receive()` is a single-consumer stream; call `receive()` again for another independent subscription. Slice 4 will add durable sequence cursors and replay.
54
+
53
55
  Slice 3 supports Unix-like hosts with ZeroMQ `ipc://` support. It provides create, get, list, status, send, and live receive. Recovery, durable replay, retirement, compact, and destroy come in later slices.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/fleet/client.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,KAAK,KAAK,EAGV,KAAK,YAAY,EAIlB,MAAM,YAAY,CAAA;AAOnB,MAAM,MAAM,cAAc,GAAG;IAC3B,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IACnD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAoGD,wBAAsB,cAAc,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAIzF;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,cAAmB,GAAG,MAAM,CAEpE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/fleet/client.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,KAAK,KAAK,EAGV,KAAK,YAAY,EAIlB,MAAM,YAAY,CAAA;AAQnB,MAAM,MAAM,cAAc,GAAG;IAC3B,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IACnD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAqGD,wBAAsB,cAAc,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAIzF;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,cAAmB,GAAG,MAAM,CAEpE"}
@@ -5,13 +5,14 @@ import { resolve } from "node:path";
5
5
  import { capability } from "zeromq";
6
6
  import { AgentHandle, AgentNameTakenError, AgentNotFoundError, } from "./agent.js";
7
7
  import { openStore } from "../state/store.js";
8
- import { launchWorker, receiveEvents, requestSend, requestStatus, stopWorker, workerEndpoint } from "../worker/control.js";
8
+ import { launchWorker, requestSend, requestStatus, stopWorker, workerEndpoint } from "../worker/control.js";
9
+ import { receiveEvents } from "../worker/stream.js";
9
10
  import { validatePiArguments } from "../pi/runtime.js";
10
11
  const STARTUP_TIMEOUT_MS = 10_000;
11
12
  class PiFleetClientImpl {
12
13
  #store;
13
14
  #stateDir;
14
- #streamControllers = new Set();
15
+ #streams = new Set();
15
16
  #closed = false;
16
17
  constructor(store, stateDir) {
17
18
  this.#store = store;
@@ -88,17 +89,17 @@ class PiFleetClientImpl {
88
89
  const record = this.#store.getById(id);
89
90
  if (!record || record.name !== name)
90
91
  throw new AgentNotFoundError(name);
91
- const controller = new AbortController();
92
- this.#streamControllers.add(controller);
93
- return trackStream(receiveEvents(workerTarget(record), controller.signal), controller, this.#streamControllers);
92
+ const stream = receiveEvents(workerTarget(record));
93
+ this.#streams.add(stream);
94
+ return trackStream(stream, this.#streams);
94
95
  }
95
- close() {
96
+ async close() {
96
97
  if (this.#closed)
97
- return Promise.resolve();
98
+ return;
98
99
  this.#closed = true;
99
- for (const controller of this.#streamControllers)
100
- controller.abort();
101
- return this.#store.close();
100
+ await Promise.all([...this.#streams].map((stream) => stream.close()));
101
+ this.#streams.clear();
102
+ await this.#store.close();
102
103
  }
103
104
  assertOpen() {
104
105
  if (this.#closed)
@@ -132,15 +133,18 @@ async function validateCreateOptions(options) {
132
133
  validatePiArguments(piArgs);
133
134
  return { name, cwd, piArgs };
134
135
  }
135
- function trackStream(stream, controller, controllers) {
136
+ function trackStream(stream, streams) {
137
+ let claimed = false;
138
+ const release = () => streams.delete(stream);
136
139
  return {
137
140
  [Symbol.asyncIterator]() {
138
- const iterator = stream[Symbol.asyncIterator]();
139
- const release = () => controllers.delete(controller);
141
+ if (claimed)
142
+ throw new Error("An agent event stream can only be consumed once");
143
+ claimed = true;
140
144
  return {
141
145
  async next() {
142
146
  try {
143
- const result = await iterator.next();
147
+ const result = await stream.next();
144
148
  if (result.done)
145
149
  release();
146
150
  return result;
@@ -151,22 +155,22 @@ function trackStream(stream, controller, controllers) {
151
155
  }
152
156
  },
153
157
  async return() {
154
- controller.abort();
155
158
  try {
156
- return await iterator.return?.() ?? { done: true, value: undefined };
159
+ await stream.close();
160
+ return { done: true, value: undefined };
157
161
  }
158
162
  finally {
159
163
  release();
160
164
  }
161
165
  },
162
166
  async throw(error) {
163
- controller.abort();
164
167
  try {
165
- if (iterator.throw)
166
- return await iterator.throw(error);
168
+ if (stream.throw)
169
+ return await stream.throw(error);
167
170
  throw error;
168
171
  }
169
172
  finally {
173
+ await stream.close();
170
174
  release();
171
175
  }
172
176
  },
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/fleet/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/fleet/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const version = "0.5.0";
1
+ export declare const version = "0.5.1";
2
2
  export { connectPiFleet } from "./fleet/client.js";
3
3
  export { AgentNameTakenError, AgentNotFoundError, AgentUnavailableError, } from "./fleet/agent.js";
4
4
  export type { Agent, AgentEvent, AgentState, AgentStatus, AgentSummary, SendDelivery, SendOptions, SendResult, } from "./fleet/agent.js";
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export const version = "0.5.0";
1
+ export const version = "0.5.1";
2
2
  export { connectPiFleet } from "./fleet/client.js";
3
3
  export { AgentNameTakenError, AgentNotFoundError, AgentUnavailableError, } from "./fleet/agent.js";
4
4
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,18 @@
1
+ import type { EventFrame } from "./protocol.js";
2
+ export type ActivityOutbound = {
3
+ route: Buffer;
4
+ message: EventFrame;
5
+ subscriptionId: string;
6
+ };
7
+ export declare class LiveActivity {
8
+ #private;
9
+ constructor(agentId: string, runtimeGeneration: string);
10
+ subscribe(route: Buffer): string;
11
+ unsubscribe(route: Buffer, subscriptionId?: string): void;
12
+ hasSubscription(route: Buffer, subscriptionId: string): boolean;
13
+ publishPiEvent(rawEvent: Record<string, unknown>): boolean;
14
+ nextOutbound(): ActivityOutbound | undefined;
15
+ deliveryFailed(subscriptionId: string): void;
16
+ close(): void;
17
+ }
18
+ //# sourceMappingURL=activity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/worker/activity.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAQ/C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,UAAU,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAID,qBAAa,YAAY;;gBAOX,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;IAKtD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAMhC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IAWzD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO;IAI/D,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;IAuB1D,YAAY,IAAI,gBAAgB,GAAG,SAAS;IAiB5C,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAI5C,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,126 @@
1
+ import { randomUUID } from "node:crypto";
2
+ const SUBSCRIBER_QUEUE_LIMIT = 128;
3
+ export class LiveActivity {
4
+ #agentId;
5
+ #runtimeGeneration;
6
+ #subscribers = new Map();
7
+ #normalize = createEventNormalizer();
8
+ #lastSubscriptionId;
9
+ constructor(agentId, runtimeGeneration) {
10
+ this.#agentId = agentId;
11
+ this.#runtimeGeneration = runtimeGeneration;
12
+ }
13
+ subscribe(route) {
14
+ const subscriptionId = randomUUID();
15
+ this.#subscribers.set(subscriptionId, { route: Buffer.from(route), subscriptionId, events: [] });
16
+ return subscriptionId;
17
+ }
18
+ unsubscribe(route, subscriptionId) {
19
+ if (subscriptionId) {
20
+ const subscriber = this.#subscribers.get(subscriptionId);
21
+ if (subscriber?.route.equals(route))
22
+ this.#subscribers.delete(subscriptionId);
23
+ return;
24
+ }
25
+ for (const subscriber of this.#subscribers.values()) {
26
+ if (subscriber.route.equals(route))
27
+ this.#subscribers.delete(subscriber.subscriptionId);
28
+ }
29
+ }
30
+ hasSubscription(route, subscriptionId) {
31
+ return this.#subscribers.get(subscriptionId)?.route.equals(route) ?? false;
32
+ }
33
+ publishPiEvent(rawEvent) {
34
+ const event = this.#normalize(rawEvent);
35
+ if (!event)
36
+ return false;
37
+ let queued = false;
38
+ for (const subscriber of this.#subscribers.values()) {
39
+ if (subscriber.events.length >= SUBSCRIBER_QUEUE_LIMIT) {
40
+ this.#subscribers.delete(subscriber.subscriptionId);
41
+ continue;
42
+ }
43
+ subscriber.events.push({
44
+ version: 1,
45
+ command: "event",
46
+ agentId: this.#agentId,
47
+ runtimeGeneration: this.#runtimeGeneration,
48
+ subscriptionId: subscriber.subscriptionId,
49
+ event,
50
+ });
51
+ queued = true;
52
+ }
53
+ return queued;
54
+ }
55
+ nextOutbound() {
56
+ const subscribers = [...this.#subscribers.values()];
57
+ if (subscribers.length === 0)
58
+ return undefined;
59
+ const previousIndex = this.#lastSubscriptionId
60
+ ? subscribers.findIndex(({ subscriptionId }) => subscriptionId === this.#lastSubscriptionId)
61
+ : -1;
62
+ for (let offset = 1; offset <= subscribers.length; offset += 1) {
63
+ const subscriber = subscribers[(previousIndex + offset) % subscribers.length];
64
+ const message = subscriber.events.shift();
65
+ if (!message)
66
+ continue;
67
+ this.#lastSubscriptionId = subscriber.subscriptionId;
68
+ return { route: subscriber.route, message, subscriptionId: subscriber.subscriptionId };
69
+ }
70
+ return undefined;
71
+ }
72
+ deliveryFailed(subscriptionId) {
73
+ this.#subscribers.delete(subscriptionId);
74
+ }
75
+ close() {
76
+ this.#subscribers.clear();
77
+ }
78
+ }
79
+ function createEventNormalizer() {
80
+ let assistantActivityId;
81
+ return (event) => {
82
+ const timestamp = Date.now();
83
+ if (event.type === "message_start" && isAssistantMessage(event.message)) {
84
+ assistantActivityId = randomUUID();
85
+ return { type: "message.started", eventId: randomUUID(), activityId: assistantActivityId, timestamp };
86
+ }
87
+ if (event.type === "message_end" && isAssistantMessage(event.message)) {
88
+ const activityId = assistantActivityId ?? randomUUID();
89
+ assistantActivityId = undefined;
90
+ return { type: "message.finished", eventId: randomUUID(), activityId, timestamp, text: assistantText(event.message) };
91
+ }
92
+ if (event.type === "message_update" && isRecord(event.assistantMessageEvent)) {
93
+ const update = event.assistantMessageEvent;
94
+ if (!assistantActivityId || typeof update.contentIndex !== "number")
95
+ return undefined;
96
+ const activityId = `${assistantActivityId}:thinking:${update.contentIndex}`;
97
+ if (update.type === "thinking_start")
98
+ return { type: "thinking.started", eventId: randomUUID(), activityId, timestamp };
99
+ if (update.type === "thinking_end" && typeof update.content === "string") {
100
+ return { type: "thinking.finished", eventId: randomUUID(), activityId, timestamp, content: update.content };
101
+ }
102
+ }
103
+ if (event.type === "tool_execution_start" && typeof event.toolCallId === "string" && typeof event.toolName === "string" && "args" in event) {
104
+ return { type: "tool.started", eventId: randomUUID(), activityId: event.toolCallId, timestamp, toolName: event.toolName, args: event.args };
105
+ }
106
+ if (event.type === "tool_execution_end" && typeof event.toolCallId === "string" && typeof event.toolName === "string" && typeof event.isError === "boolean") {
107
+ return { type: "tool.finished", eventId: randomUUID(), activityId: event.toolCallId, timestamp, toolName: event.toolName, isError: event.isError };
108
+ }
109
+ return undefined;
110
+ };
111
+ }
112
+ function isAssistantMessage(value) {
113
+ return isRecord(value) && value.role === "assistant";
114
+ }
115
+ function assistantText(message) {
116
+ if (!Array.isArray(message.content))
117
+ return "";
118
+ return message.content
119
+ .filter((content) => isRecord(content) && content.type === "text" && typeof content.text === "string")
120
+ .map((content) => content.text)
121
+ .join("");
122
+ }
123
+ function isRecord(value) {
124
+ return typeof value === "object" && value !== null;
125
+ }
126
+ //# sourceMappingURL=activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.js","sourceRoot":"","sources":["../../src/worker/activity.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { type ChildProcess } from "node:child_process";
2
- import { type AgentEvent } from "../fleet/agent.js";
3
2
  import { type StatusResponse } from "./protocol.js";
4
3
  export type WorkerTarget = {
5
4
  id: string;
@@ -13,7 +12,6 @@ export declare function workerEndpoint(stateDir: string, agentId: string, genera
13
12
  export declare function launchWorker(stateDir: string, agentId: string, generation: string): ChildProcess;
14
13
  export declare function stopWorker(worker: ChildProcess | undefined): Promise<void>;
15
14
  export declare function requestStatus(record: WorkerTarget, timeoutMs?: number): Promise<NonNullable<StatusResponse["status"]>>;
16
- export declare function receiveEvents(record: WorkerTarget, signal?: AbortSignal): AsyncIterable<AgentEvent>;
17
15
  export declare function requestSend(record: WorkerTarget, message: string, delivery: "steer" | "followUp", timeoutMs?: number): Promise<{
18
16
  acceptedAt: number;
19
17
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../src/worker/control.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAI7D,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAOL,KAAK,cAAc,EAIpB,MAAM,eAAe,CAAA;AAEtB,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE;QACR,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;CACF,CAAA;AAKD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAG5F;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAShG;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhF;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,SAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAgB3H;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC,CAoEnG;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,UAAU,EAAE,SAAS,SAAS,GAAG,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAqB5J"}
1
+ {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../src/worker/control.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAK7D,OAAO,EAA2E,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAE5H,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE;QACR,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;CACF,CAAA;AAID,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAG5F;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAShG;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhF;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,SAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAgB3H;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,UAAU,EAAE,SAAS,SAAS,GAAG,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAqB5J"}
@@ -4,9 +4,8 @@ import { Dealer } from "zeromq";
4
4
  import { fileURLToPath } from "node:url";
5
5
  import { join } from "node:path";
6
6
  import { AgentUnavailableError } from "../fleet/agent.js";
7
- import { decode, encode, } from "./protocol.js";
7
+ import { decode, encode } from "./protocol.js";
8
8
  const AGENT_STATES = new Set(["starting", "idle", "working", "stopped", "failed"]);
9
- const STREAM_IDLE_PROBE_MS = 1_000;
10
9
  export function workerEndpoint(stateDir, agentId, generation) {
11
10
  const identity = createHash("sha256").update(`${stateDir}\0${agentId}\0${generation}`).digest("hex").slice(0, 24);
12
11
  return `ipc://${join(stateDir, "ipc", `${identity}.sock`)}`;
@@ -46,80 +45,6 @@ export async function requestStatus(record, timeoutMs = 1_000) {
46
45
  }
47
46
  return response.status;
48
47
  }
49
- export function receiveEvents(record, signal) {
50
- return {
51
- [Symbol.asyncIterator]: async function* () {
52
- const runtime = record.runtime;
53
- if (!runtime?.endpoint)
54
- throw new AgentUnavailableError(record.name);
55
- const socket = new Dealer({ routingId: randomUUID(), immediate: true, linger: 0, sendTimeout: STREAM_IDLE_PROBE_MS });
56
- let subscriptionId;
57
- try {
58
- socket.connect(runtime.endpoint);
59
- const request = {
60
- version: 1,
61
- requestId: randomUUID(),
62
- command: "subscribe",
63
- agentId: record.id,
64
- runtimeGeneration: runtime.generation,
65
- };
66
- await socket.send(encode(request));
67
- const response = decode((await withTimeout(socket.receive(), STREAM_IDLE_PROBE_MS, record.name))[0]);
68
- if (!isSubscribeResponse(response) || !response.ok || response.requestId !== request.requestId ||
69
- response.agentId !== record.id || response.runtimeGeneration !== runtime.generation ||
70
- typeof response.subscriptionId !== "string" || !response.subscriptionId) {
71
- throw new AgentUnavailableError(record.name);
72
- }
73
- subscriptionId = response.subscriptionId;
74
- let nextFrame = socket.receive();
75
- void nextFrame.catch(() => { });
76
- while (!signal?.aborted) {
77
- const result = await awaitStreamFrame(nextFrame, signal);
78
- if (result === "aborted")
79
- return;
80
- if (result === "idle") {
81
- await requestStatus(record, STREAM_IDLE_PROBE_MS);
82
- continue;
83
- }
84
- nextFrame = socket.receive();
85
- void nextFrame.catch(() => { });
86
- const frame = decode(result[0]);
87
- if (!isEventFrame(frame) || frame.agentId !== record.id || frame.runtimeGeneration !== runtime.generation ||
88
- frame.subscriptionId !== subscriptionId) {
89
- throw new AgentUnavailableError(record.name);
90
- }
91
- yield frame.event;
92
- }
93
- }
94
- catch (error) {
95
- if (signal?.aborted)
96
- return;
97
- if (error instanceof AgentUnavailableError)
98
- throw error;
99
- throw new AgentUnavailableError(record.name);
100
- }
101
- finally {
102
- if (subscriptionId) {
103
- const unsubscribe = {
104
- version: 1,
105
- requestId: randomUUID(),
106
- command: "unsubscribe",
107
- agentId: record.id,
108
- runtimeGeneration: runtime.generation,
109
- subscriptionId,
110
- };
111
- try {
112
- await socket.send(encode(unsubscribe));
113
- }
114
- catch {
115
- // The stream is already ending. The worker removes stale routes after a failed delivery.
116
- }
117
- }
118
- socket.close();
119
- }
120
- },
121
- };
122
- }
123
48
  export async function requestSend(record, message, delivery, timeoutMs = 10_000) {
124
49
  const request = {
125
50
  version: 1,
@@ -162,62 +87,6 @@ async function requestWorker(record, request, timeoutMs) {
162
87
  socket.close();
163
88
  }
164
89
  }
165
- function isSubscribeResponse(response) {
166
- return isRecord(response) && response.version === 1 && response.command === "subscribe" &&
167
- typeof response.requestId === "string" && typeof response.agentId === "string" &&
168
- typeof response.runtimeGeneration === "string" && typeof response.ok === "boolean";
169
- }
170
- function isEventFrame(response) {
171
- if (!isRecord(response) || response.version !== 1 || response.command !== "event" ||
172
- typeof response.agentId !== "string" || typeof response.runtimeGeneration !== "string" ||
173
- typeof response.subscriptionId !== "string")
174
- return false;
175
- return isAgentEvent(response.event);
176
- }
177
- function isAgentEvent(value) {
178
- if (!isRecord(value) || typeof value.type !== "string" || typeof value.eventId !== "string" ||
179
- typeof value.activityId !== "string" || typeof value.timestamp !== "number")
180
- return false;
181
- switch (value.type) {
182
- case "thinking.started":
183
- case "message.started":
184
- return true;
185
- case "thinking.finished":
186
- return typeof value.content === "string";
187
- case "message.finished":
188
- return typeof value.text === "string";
189
- case "tool.started":
190
- return typeof value.toolName === "string" && "args" in value;
191
- case "tool.finished":
192
- return typeof value.toolName === "string" && typeof value.isError === "boolean";
193
- default:
194
- return false;
195
- }
196
- }
197
- async function awaitStreamFrame(nextFrame, signal) {
198
- let timer;
199
- let onAbort;
200
- try {
201
- return await Promise.race([
202
- nextFrame,
203
- new Promise((resolve) => {
204
- timer = setTimeout(() => resolve("idle"), STREAM_IDLE_PROBE_MS);
205
- }),
206
- new Promise((resolve) => {
207
- if (!signal)
208
- return;
209
- onAbort = () => resolve("aborted");
210
- signal.addEventListener("abort", onAbort, { once: true });
211
- }),
212
- ]);
213
- }
214
- finally {
215
- if (timer)
216
- clearTimeout(timer);
217
- if (onAbort)
218
- signal?.removeEventListener("abort", onAbort);
219
- }
220
- }
221
90
  function isStatusResponse(response) {
222
91
  return isRecord(response) && response.version === 1 && typeof response.requestId === "string";
223
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"control.js","sourceRoot":"","sources":["../../src/worker/control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../../src/worker/control.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,14 @@ export type UnsubscribeRequest = {
28
28
  command: "unsubscribe";
29
29
  agentId: string;
30
30
  runtimeGeneration: string;
31
+ subscriptionId?: string;
32
+ };
33
+ export type SubscriptionStatusRequest = {
34
+ version: 1;
35
+ requestId: string;
36
+ command: "subscription.status";
37
+ agentId: string;
38
+ runtimeGeneration: string;
31
39
  subscriptionId: string;
32
40
  };
33
41
  export type StatusResponse = {
@@ -69,6 +77,16 @@ export type UnsubscribeResponse = {
69
77
  ok: boolean;
70
78
  agentId: string;
71
79
  runtimeGeneration: string;
80
+ subscriptionId?: string;
81
+ error?: string;
82
+ };
83
+ export type SubscriptionStatusResponse = {
84
+ version: 1;
85
+ requestId: string;
86
+ command: "subscription.status";
87
+ ok: boolean;
88
+ agentId: string;
89
+ runtimeGeneration: string;
72
90
  subscriptionId: string;
73
91
  error?: string;
74
92
  };
@@ -80,7 +98,7 @@ export type EventFrame = {
80
98
  subscriptionId: string;
81
99
  event: AgentEvent;
82
100
  };
83
- export type WorkerMessage = StatusRequest | SendRequest | SubscribeRequest | UnsubscribeRequest | StatusResponse | SendResponse | SubscribeResponse | UnsubscribeResponse | EventFrame;
101
+ export type WorkerMessage = StatusRequest | SendRequest | SubscribeRequest | UnsubscribeRequest | SubscriptionStatusRequest | StatusResponse | SendResponse | SubscribeResponse | UnsubscribeResponse | SubscriptionStatusResponse | EventFrame;
84
102
  export declare function encode(message: WorkerMessage): string;
85
103
  export declare function decode(text: Buffer): unknown;
86
104
  //# sourceMappingURL=protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/worker/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/worker/protocol.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/worker/protocol.ts"],"names":[],"mappings":"AAkGA,MAAM,UAAU,MAAM,CAAC,OAAsB;IAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;AAC1C,CAAC"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/worker/protocol.ts"],"names":[],"mappings":"AAwHA,MAAM,UAAU,MAAM,CAAC,OAAsB;IAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;AAC1C,CAAC"}
@@ -1,10 +1,8 @@
1
- import { randomUUID } from "node:crypto";
2
1
  import { Router, capability } from "zeromq";
3
- import {} from "../fleet/agent.js";
4
2
  import { startPi } from "../pi/runtime.js";
5
3
  import { openStore } from "../state/store.js";
6
4
  import { decode, encode, } from "./protocol.js";
7
- const SUBSCRIBER_QUEUE_LIMIT = 128;
5
+ import { LiveActivity } from "./activity.js";
8
6
  async function main() {
9
7
  const { stateDir, agentId, generation } = parseArguments(process.argv.slice(2));
10
8
  if (!capability.ipc)
@@ -21,12 +19,12 @@ async function main() {
21
19
  let outbound = Promise.resolve();
22
20
  const handlers = new Set();
23
21
  const controlFrames = [];
24
- const subscribers = new Map();
22
+ const activity = new LiveActivity(record.id, generation);
25
23
  const closeRouter = () => {
26
24
  if (routerClosed)
27
25
  return;
28
26
  routerClosed = true;
29
- subscribers.clear();
27
+ activity.close();
30
28
  router.close();
31
29
  };
32
30
  const stop = () => closeRouter();
@@ -40,17 +38,7 @@ async function main() {
40
38
  state = nextState;
41
39
  }).catch(() => closeRouter());
42
40
  };
43
- const nextOutbound = () => {
44
- const control = controlFrames.shift();
45
- if (control)
46
- return control;
47
- for (const subscriber of subscribers.values()) {
48
- const event = subscriber.events.shift();
49
- if (event)
50
- return { route: subscriber.route, message: event, subscriptionId: subscriber.subscriptionId };
51
- }
52
- return undefined;
53
- };
41
+ const nextOutbound = () => controlFrames.shift() ?? activity.nextOutbound();
54
42
  const drainOutbound = async () => {
55
43
  while (!routerClosed) {
56
44
  const next = nextOutbound();
@@ -61,7 +49,7 @@ async function main() {
61
49
  }
62
50
  catch (error) {
63
51
  if (next.subscriptionId)
64
- subscribers.delete(next.subscriptionId);
52
+ activity.deliveryFailed(next.subscriptionId);
65
53
  else if (!isUnreachablePeer(error))
66
54
  throw error;
67
55
  }
@@ -74,34 +62,6 @@ async function main() {
74
62
  controlFrames.push({ route: Buffer.from(route), message: response });
75
63
  scheduleOutbound();
76
64
  };
77
- const subscribe = (route) => {
78
- const subscriptionId = randomUUID();
79
- subscribers.set(subscriptionId, { route: Buffer.from(route), subscriptionId, events: [] });
80
- return subscriptionId;
81
- };
82
- const unsubscribe = (route, subscriptionId) => {
83
- const subscriber = subscribers.get(subscriptionId);
84
- if (subscriber?.route.equals(route))
85
- subscribers.delete(subscriptionId);
86
- };
87
- const publish = (event) => {
88
- for (const subscriber of subscribers.values()) {
89
- if (subscriber.events.length >= SUBSCRIBER_QUEUE_LIMIT) {
90
- subscribers.delete(subscriber.subscriptionId);
91
- continue;
92
- }
93
- subscriber.events.push({
94
- version: 1,
95
- command: "event",
96
- agentId: record.id,
97
- runtimeGeneration: generation,
98
- subscriptionId: subscriber.subscriptionId,
99
- event,
100
- });
101
- }
102
- scheduleOutbound();
103
- };
104
- const normalizeEvent = createEventNormalizer();
105
65
  const onPiEvent = (event) => {
106
66
  if (!isRecord(event))
107
67
  return;
@@ -109,9 +69,8 @@ async function main() {
109
69
  queueStateUpdate("working");
110
70
  if (event.type === "agent_settled")
111
71
  queueStateUpdate("idle");
112
- const normalized = normalizeEvent(event);
113
- if (normalized)
114
- publish(normalized);
72
+ if (activity.publishPiEvent(event))
73
+ scheduleOutbound();
115
74
  };
116
75
  process.once("SIGTERM", stop);
117
76
  process.once("SIGINT", stop);
@@ -129,7 +88,7 @@ async function main() {
129
88
  throw new Error("Worker claim is no longer current");
130
89
  state = "idle";
131
90
  for await (const [route, frame] of router) {
132
- const handler = handleRequest(route, frame, record, generation, pi, () => state, reply, subscribe, unsubscribe);
91
+ const handler = handleRequest(route, frame, record, generation, pi, () => state, reply, activity);
133
92
  handlers.add(handler);
134
93
  void handler.then(() => handlers.delete(handler), () => {
135
94
  handlers.delete(handler);
@@ -149,7 +108,7 @@ async function main() {
149
108
  await store.close();
150
109
  }
151
110
  }
152
- async function handleRequest(route, frame, record, generation, pi, getState, reply, subscribe, unsubscribe) {
111
+ async function handleRequest(route, frame, record, generation, pi, getState, reply, activity) {
153
112
  const request = decodeRequest(frame);
154
113
  if (!request || request.agentId !== record.id || request.runtimeGeneration !== generation) {
155
114
  reply(route, invalidResponse(request, record.id, generation));
@@ -165,15 +124,29 @@ async function handleRequest(route, frame, record, generation, pi, getState, rep
165
124
  return;
166
125
  }
167
126
  if (request.command === "subscribe") {
168
- const subscriptionId = subscribe(route);
127
+ const subscriptionId = activity.subscribe(route);
169
128
  reply(route, { version: 1, requestId: request.requestId, command: "subscribe", ok: true, agentId: record.id, runtimeGeneration: generation, subscriptionId });
170
129
  return;
171
130
  }
172
131
  if (request.command === "unsubscribe") {
173
- unsubscribe(route, request.subscriptionId);
132
+ activity.unsubscribe(route, request.subscriptionId);
174
133
  reply(route, { version: 1, requestId: request.requestId, command: "unsubscribe", ok: true, agentId: record.id, runtimeGeneration: generation, subscriptionId: request.subscriptionId });
175
134
  return;
176
135
  }
136
+ if (request.command === "subscription.status") {
137
+ const ok = activity.hasSubscription(route, request.subscriptionId);
138
+ reply(route, {
139
+ version: 1,
140
+ requestId: request.requestId,
141
+ command: "subscription.status",
142
+ ok,
143
+ agentId: record.id,
144
+ runtimeGeneration: generation,
145
+ subscriptionId: request.subscriptionId,
146
+ ...(ok ? {} : { error: "Subscription is no longer active" }),
147
+ });
148
+ return;
149
+ }
177
150
  if (!request.message.trim()) {
178
151
  reply(route, sendResponse(request, record.id, generation, "Message must not be empty"));
179
152
  return;
@@ -190,50 +163,6 @@ async function handleRequest(route, frame, record, generation, pi, getState, rep
190
163
  reply(route, sendResponse(request, record.id, generation, error instanceof Error ? error.message : String(error)));
191
164
  }
192
165
  }
193
- function createEventNormalizer() {
194
- let assistantActivityId;
195
- return (event) => {
196
- const timestamp = Date.now();
197
- if (event.type === "message_start" && isAssistantMessage(event.message)) {
198
- assistantActivityId = randomUUID();
199
- return { type: "message.started", eventId: randomUUID(), activityId: assistantActivityId, timestamp };
200
- }
201
- if (event.type === "message_end" && isAssistantMessage(event.message)) {
202
- const activityId = assistantActivityId ?? randomUUID();
203
- assistantActivityId = undefined;
204
- return { type: "message.finished", eventId: randomUUID(), activityId, timestamp, text: assistantText(event.message) };
205
- }
206
- if (event.type === "message_update" && isRecord(event.assistantMessageEvent)) {
207
- const update = event.assistantMessageEvent;
208
- if (!assistantActivityId || typeof update.contentIndex !== "number")
209
- return undefined;
210
- const activityId = `${assistantActivityId}:thinking:${update.contentIndex}`;
211
- if (update.type === "thinking_start")
212
- return { type: "thinking.started", eventId: randomUUID(), activityId, timestamp };
213
- if (update.type === "thinking_end" && typeof update.content === "string") {
214
- return { type: "thinking.finished", eventId: randomUUID(), activityId, timestamp, content: update.content };
215
- }
216
- }
217
- if (event.type === "tool_execution_start" && typeof event.toolCallId === "string" && typeof event.toolName === "string" && "args" in event) {
218
- return { type: "tool.started", eventId: randomUUID(), activityId: event.toolCallId, timestamp, toolName: event.toolName, args: event.args };
219
- }
220
- if (event.type === "tool_execution_end" && typeof event.toolCallId === "string" && typeof event.toolName === "string" && typeof event.isError === "boolean") {
221
- return { type: "tool.finished", eventId: randomUUID(), activityId: event.toolCallId, timestamp, toolName: event.toolName, isError: event.isError };
222
- }
223
- return undefined;
224
- };
225
- }
226
- function isAssistantMessage(value) {
227
- return isRecord(value) && value.role === "assistant";
228
- }
229
- function assistantText(message) {
230
- if (!Array.isArray(message.content))
231
- return "";
232
- return message.content
233
- .filter((content) => isRecord(content) && content.type === "text" && typeof content.text === "string")
234
- .map((content) => content.text)
235
- .join("");
236
- }
237
166
  function decodeRequest(frame) {
238
167
  try {
239
168
  const request = decode(frame);
@@ -245,7 +174,9 @@ function decodeRequest(frame) {
245
174
  return request;
246
175
  if (request.command === "subscribe")
247
176
  return request;
248
- if (request.command === "unsubscribe" && typeof request.subscriptionId === "string")
177
+ if (request.command === "unsubscribe" && (request.subscriptionId === undefined || typeof request.subscriptionId === "string"))
178
+ return request;
179
+ if (request.command === "subscription.status" && typeof request.subscriptionId === "string")
249
180
  return request;
250
181
  }
251
182
  catch { }
@@ -258,6 +189,8 @@ function invalidResponse(request, agentId, generation) {
258
189
  return { version: 1, requestId: request.requestId, command: "subscribe", ok: false, agentId, runtimeGeneration: generation, error: "Worker identity does not match the request" };
259
190
  if (request?.command === "unsubscribe")
260
191
  return { version: 1, requestId: request.requestId, command: "unsubscribe", ok: false, agentId, runtimeGeneration: generation, subscriptionId: request.subscriptionId, error: "Worker identity does not match the request" };
192
+ if (request?.command === "subscription.status")
193
+ return { version: 1, requestId: request.requestId, command: "subscription.status", ok: false, agentId, runtimeGeneration: generation, subscriptionId: request.subscriptionId, error: "Worker identity does not match the request" };
261
194
  return { version: 1, requestId: request?.requestId ?? "", ok: false, error: "Worker identity does not match the request" };
262
195
  }
263
196
  function sendResponse(request, agentId, generation, error, acceptedAt) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/worker/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,EAAmB,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAkB,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAoB,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EACL,MAAM,EACN,MAAM,GAWP,MAAM,eAAe,CAAA;AAQtB,MAAM,sBAAsB,GAAG,GAAG,CAAA;AAElC,KAAK,UAAU,IAAI;IACjB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/E,IAAI,CAAC,UAAU,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IAE5F,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACrC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,UAAU,KAAK,UAAU,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IAE1I,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAA;IAC3F,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;IACxB,IAAI,EAAyB,CAAA;IAC7B,IAAI,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;IACpC,IAAI,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;IAChC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiB,CAAA;IACzC,MAAM,aAAa,GAAe,EAAE,CAAA;IACpC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAA;IAEjD,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,YAAY;YAAE,OAAM;QACxB,YAAY,GAAG,IAAI,CAAA;QACnB,WAAW,CAAC,KAAK,EAAE,CAAA;QACnB,MAAM,CAAC,KAAK,EAAE,CAAA;IAChB,CAAC,CAAA;IACD,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAA;IAChC,MAAM,gBAAgB,GAAG,CAAC,SAA6B,EAAE,EAAE;QACzD,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC1C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;YACvE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,WAAW,EAAE,CAAA;gBACb,OAAM;YACR,CAAC;YACD,KAAK,GAAG,SAAS,CAAA;QACnB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;IAC/B,CAAC,CAAA;IACD,MAAM,YAAY,GAAG,GAAyB,EAAE;QAC9C,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,CAAA;QACrC,IAAI,OAAO;YAAE,OAAO,OAAO,CAAA;QAC3B,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YACvC,IAAI,KAAK;gBAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,cAAc,EAAE,CAAA;QAC1G,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;IACD,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,OAAO,CAAC,YAAY,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,YAAY,EAAE,CAAA;YAC3B,IAAI,CAAC,IAAI;gBAAE,OAAM;YACjB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,cAAc;oBAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;qBAC3D,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAA;YACjD,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IACD,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;IACpE,CAAC,CAAA;IACD,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,QAAwB,EAAE,EAAE;QACxD,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;QACpE,gBAAgB,EAAE,CAAA;IACpB,CAAC,CAAA;IACD,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE;QAC1C,MAAM,cAAc,GAAG,UAAU,EAAE,CAAA;QACnC,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;QAC1F,OAAO,cAAc,CAAA;IACvB,CAAC,CAAA;IACD,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,cAAsB,EAAE,EAAE;QAC5D,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAClD,IAAI,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IACzE,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,CAAC,KAAiB,EAAE,EAAE;QACpC,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,sBAAsB,EAAE,CAAC;gBACvD,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;gBAC7C,SAAQ;YACV,CAAC;YACD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;gBACrB,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,MAAM,CAAC,EAAE;gBAClB,iBAAiB,EAAE,UAAU;gBAC7B,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,KAAK;aACN,CAAC,CAAA;QACJ,CAAC;QACD,gBAAgB,EAAE,CAAA;IACpB,CAAC,CAAA;IACD,MAAM,cAAc,GAAG,qBAAqB,EAAE,CAAA;IAC9C,MAAM,SAAS,GAAG,CAAC,KAAc,EAAE,EAAE;QACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAM;QAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;YAAE,gBAAgB,CAAC,SAAS,CAAC,CAAA;QAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe;YAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAC5D,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;QACxC,IAAI,UAAU;YAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IACrC,CAAC,CAAA;IAED,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAC7B,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC1C,EAAE,GAAG,MAAM,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QAClH,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QACpC,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE;YAC7D,SAAS,EAAE,OAAO,CAAC,GAAG;YACtB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;YACjC,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW;YACjC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS;SAC9B,CAAC,CAAA;QACF,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACtE,KAAK,GAAG,MAAM,CAAA;QAEd,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;YAC/G,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACrB,KAAK,OAAO,CAAC,IAAI,CACf,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAC9B,GAAG,EAAE;gBACH,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBACxB,WAAW,EAAE,CAAA;YACf,CAAC,CACF,CAAA;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAC5B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC3B,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QACpC,WAAW,EAAE,CAAA;QACb,MAAM,EAAE,EAAE,IAAI,EAAE,CAAA;QAChB,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAClC,MAAM,YAAY,CAAA;QAClB,MAAM,QAAQ,CAAA;QACd,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,KAAa,EACb,KAAa,EACb,MAAmB,EACnB,UAAkB,EAClB,EAAa,EACb,QAAoC,EACpC,KAAwD,EACxD,SAAoC,EACpC,WAA4D;IAE5D,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IACpC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,EAAE,IAAI,OAAO,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;QAC1F,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAA;QAC7D,OAAM;IACR,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,KAAK,CAAC,KAAK,EAAE;YACX,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;SAC/F,CAAC,CAAA;QACF,OAAM;IACR,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QACvC,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAA;QAC7J,OAAM;IACR,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QACtC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;QAC1C,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAA;QACvL,OAAM;IACR,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5B,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,2BAA2B,CAAC,CAAC,CAAA;QACvF,OAAM;IACR,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QACpE,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAA;QAC9E,OAAM;IACR,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QAChD,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACnF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACpH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB;IAC5B,IAAI,mBAAuC,CAAA;IAE3C,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACxE,mBAAmB,GAAG,UAAU,EAAE,CAAA;YAClC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAA;QACvG,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,MAAM,UAAU,GAAG,mBAAmB,IAAI,UAAU,EAAE,CAAA;YACtD,mBAAmB,GAAG,SAAS,CAAA;YAC/B,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;QACvH,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC7E,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAA;YAC1C,IAAI,CAAC,mBAAmB,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAA;YACrF,MAAM,UAAU,GAAG,GAAG,mBAAmB,aAAa,MAAM,CAAC,YAAY,EAAE,CAAA;YAC3E,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB;gBAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAA;YACvH,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAA;YAC7G,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YAC3I,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;QAC7I,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC5J,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAA;QACpJ,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAA;AACtD,CAAC;AAED,SAAS,aAAa,CAAC,OAA8B;IACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAA;IAC9C,OAAO,OAAO,CAAC,OAAO;SACnB,MAAM,CAAC,CAAC,OAAO,EAA6C,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;SAChJ,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;SAC9B,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAC7B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QAClM,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,OAAwB,CAAA;QACjE,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,OAAsB,CAAA;QAC5I,IAAI,OAAO,CAAC,OAAO,KAAK,WAAW;YAAE,OAAO,OAA2B,CAAA;QACvE,IAAI,OAAO,CAAC,OAAO,KAAK,aAAa,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ;YAAE,OAAO,OAA6B,CAAA;IAC3H,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,OAAkC,EAAE,OAAe,EAAE,UAAkB;IAC9F,IAAI,OAAO,EAAE,OAAO,KAAK,MAAM;QAAE,OAAO,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,4CAA4C,CAAC,CAAA;IAChI,IAAI,OAAO,EAAE,OAAO,KAAK,WAAW;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,KAAK,EAAE,4CAA4C,EAAE,CAAA;IACvN,IAAI,OAAO,EAAE,OAAO,KAAK,aAAa;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,KAAK,EAAE,4CAA4C,EAAE,CAAA;IACnQ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4CAA4C,EAAE,CAAA;AAC5H,CAAC;AAED,SAAS,YAAY,CAAC,OAAoB,EAAE,OAAe,EAAE,UAAkB,EAAE,KAAc,EAAE,UAAmB;IAClH,OAAO;QACL,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,MAAM;QACf,EAAE,EAAE,KAAK,KAAK,SAAS;QACvB,OAAO;QACP,iBAAiB,EAAE,UAAU;QAC7B,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;KACtD,CAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAA;AACpD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK;QACnE,CAAE,KAA2B,CAAC,IAAI,KAAK,cAAc,IAAK,KAA2B,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;AAC5G,CAAC;AAED,SAAS,cAAc,CAAC,IAAc;IACpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;IAC7F,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAC7C,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IACnH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;AAC1C,CAAC;AAED,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;AACtB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/worker/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type AgentEvent } from "../fleet/agent.js";
2
+ import type { WorkerTarget } from "./control.js";
3
+ export type WorkerEventStream = AsyncIterable<AgentEvent> & AsyncIterator<AgentEvent> & {
4
+ close(): Promise<void>;
5
+ };
6
+ export declare function receiveEvents(record: WorkerTarget): WorkerEventStream;
7
+ //# sourceMappingURL=stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/worker/stream.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAW1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAIhD,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG;IACtF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB,CAAA;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,CAgCrE"}
@@ -0,0 +1,202 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { Dealer } from "zeromq";
3
+ import { AgentUnavailableError } from "../fleet/agent.js";
4
+ import { decode, encode, } from "./protocol.js";
5
+ const STREAM_IDLE_PROBE_MS = 1_000;
6
+ export function receiveEvents(record) {
7
+ const controller = new AbortController();
8
+ const iterator = readEvents(record, controller.signal);
9
+ let closePromise;
10
+ const close = () => {
11
+ if (!closePromise) {
12
+ controller.abort();
13
+ closePromise = iterator.return(undefined).then(() => undefined);
14
+ }
15
+ return closePromise;
16
+ };
17
+ return {
18
+ next: () => iterator.next(),
19
+ async return() {
20
+ await close();
21
+ return { done: true, value: undefined };
22
+ },
23
+ async throw(error) {
24
+ controller.abort();
25
+ try {
26
+ return await iterator.throw(error);
27
+ }
28
+ finally {
29
+ await close();
30
+ }
31
+ },
32
+ [Symbol.asyncIterator]() {
33
+ return this;
34
+ },
35
+ close,
36
+ };
37
+ }
38
+ async function* readEvents(record, signal) {
39
+ if (signal.aborted)
40
+ return;
41
+ const runtime = record.runtime;
42
+ if (!runtime?.endpoint)
43
+ throw new AgentUnavailableError(record.name);
44
+ const socket = new Dealer({ routingId: randomUUID(), immediate: true, linger: 0, sendTimeout: STREAM_IDLE_PROBE_MS });
45
+ let subscriptionId;
46
+ try {
47
+ socket.connect(runtime.endpoint);
48
+ const request = {
49
+ version: 1,
50
+ requestId: randomUUID(),
51
+ command: "subscribe",
52
+ agentId: record.id,
53
+ runtimeGeneration: runtime.generation,
54
+ };
55
+ await socket.send(encode(request));
56
+ const acknowledgement = await receiveWithDeadline(socket, signal);
57
+ if (acknowledgement === "aborted")
58
+ return;
59
+ if (acknowledgement === "idle")
60
+ throw new AgentUnavailableError(record.name);
61
+ const response = decode(acknowledgement[0]);
62
+ if (!isSubscribeResponse(response) || !response.ok || response.requestId !== request.requestId ||
63
+ response.agentId !== record.id || response.runtimeGeneration !== runtime.generation ||
64
+ typeof response.subscriptionId !== "string" || !response.subscriptionId) {
65
+ throw new AgentUnavailableError(record.name);
66
+ }
67
+ subscriptionId = response.subscriptionId;
68
+ let nextFrame = socket.receive();
69
+ void nextFrame.catch(() => { });
70
+ let probeRequestId;
71
+ while (!signal.aborted) {
72
+ const result = await awaitStreamFrame(nextFrame, signal);
73
+ if (result === "aborted")
74
+ return;
75
+ if (result === "idle") {
76
+ if (probeRequestId)
77
+ throw new AgentUnavailableError(record.name);
78
+ probeRequestId = randomUUID();
79
+ const probe = {
80
+ version: 1,
81
+ requestId: probeRequestId,
82
+ command: "subscription.status",
83
+ agentId: record.id,
84
+ runtimeGeneration: runtime.generation,
85
+ subscriptionId,
86
+ };
87
+ await socket.send(encode(probe));
88
+ continue;
89
+ }
90
+ nextFrame = socket.receive();
91
+ void nextFrame.catch(() => { });
92
+ const frame = decode(result[0]);
93
+ if (isEventFrame(frame) && frame.agentId === record.id && frame.runtimeGeneration === runtime.generation &&
94
+ frame.subscriptionId === subscriptionId) {
95
+ yield frame.event;
96
+ continue;
97
+ }
98
+ if (isSubscriptionStatusResponse(frame) && frame.requestId === probeRequestId &&
99
+ frame.agentId === record.id && frame.runtimeGeneration === runtime.generation &&
100
+ frame.subscriptionId === subscriptionId) {
101
+ if (!frame.ok)
102
+ throw new AgentUnavailableError(record.name);
103
+ probeRequestId = undefined;
104
+ continue;
105
+ }
106
+ throw new AgentUnavailableError(record.name);
107
+ }
108
+ }
109
+ catch (error) {
110
+ if (signal.aborted)
111
+ return;
112
+ if (error instanceof AgentUnavailableError)
113
+ throw error;
114
+ throw new AgentUnavailableError(record.name);
115
+ }
116
+ finally {
117
+ const unsubscribe = {
118
+ version: 1,
119
+ requestId: randomUUID(),
120
+ command: "unsubscribe",
121
+ agentId: record.id,
122
+ runtimeGeneration: runtime.generation,
123
+ subscriptionId,
124
+ };
125
+ try {
126
+ await socket.send(encode(unsubscribe));
127
+ }
128
+ catch {
129
+ // A closed or failed worker cannot retain this connection-scoped subscription.
130
+ }
131
+ socket.close();
132
+ }
133
+ }
134
+ async function receiveWithDeadline(socket, signal) {
135
+ const receive = socket.receive();
136
+ void receive.catch(() => { });
137
+ return awaitStreamFrame(receive, signal);
138
+ }
139
+ async function awaitStreamFrame(nextFrame, signal) {
140
+ let timer;
141
+ let onAbort;
142
+ try {
143
+ return await Promise.race([
144
+ nextFrame,
145
+ new Promise((resolve) => {
146
+ timer = setTimeout(() => resolve("idle"), STREAM_IDLE_PROBE_MS);
147
+ }),
148
+ new Promise((resolve) => {
149
+ onAbort = () => resolve("aborted");
150
+ signal.addEventListener("abort", onAbort, { once: true });
151
+ }),
152
+ ]);
153
+ }
154
+ finally {
155
+ if (timer)
156
+ clearTimeout(timer);
157
+ if (onAbort)
158
+ signal.removeEventListener("abort", onAbort);
159
+ }
160
+ }
161
+ function isSubscribeResponse(response) {
162
+ return isRecord(response) && response.version === 1 && response.command === "subscribe" &&
163
+ typeof response.requestId === "string" && typeof response.agentId === "string" &&
164
+ typeof response.runtimeGeneration === "string" && typeof response.ok === "boolean";
165
+ }
166
+ function isSubscriptionStatusResponse(response) {
167
+ return isRecord(response) && response.version === 1 && response.command === "subscription.status" &&
168
+ typeof response.requestId === "string" && typeof response.agentId === "string" &&
169
+ typeof response.runtimeGeneration === "string" && typeof response.subscriptionId === "string" &&
170
+ typeof response.ok === "boolean";
171
+ }
172
+ function isEventFrame(response) {
173
+ if (!isRecord(response) || response.version !== 1 || response.command !== "event" ||
174
+ typeof response.agentId !== "string" || typeof response.runtimeGeneration !== "string" ||
175
+ typeof response.subscriptionId !== "string")
176
+ return false;
177
+ return isAgentEvent(response.event);
178
+ }
179
+ function isAgentEvent(value) {
180
+ if (!isRecord(value) || typeof value.type !== "string" || typeof value.eventId !== "string" ||
181
+ typeof value.activityId !== "string" || typeof value.timestamp !== "number")
182
+ return false;
183
+ switch (value.type) {
184
+ case "thinking.started":
185
+ case "message.started":
186
+ return true;
187
+ case "thinking.finished":
188
+ return typeof value.content === "string";
189
+ case "message.finished":
190
+ return typeof value.text === "string";
191
+ case "tool.started":
192
+ return typeof value.toolName === "string" && "args" in value;
193
+ case "tool.finished":
194
+ return typeof value.toolName === "string" && typeof value.isError === "boolean";
195
+ default:
196
+ return false;
197
+ }
198
+ }
199
+ function isRecord(value) {
200
+ return typeof value === "object" && value !== null;
201
+ }
202
+ //# sourceMappingURL=stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/worker/stream.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elpapi42/pi-fleet-sdk",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "SDK for durable, host-local Pi agents",
5
5
  "license": "MIT",
6
6
  "repository": {