@elpapi42/pi-fleet-sdk 0.5.0 → 0.6.0

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
@@ -40,6 +40,8 @@ const client = await connectPiFleet({ stateDir: "/path/to/pi-fleet-state" })
40
40
 
41
41
  `client.get(name)` and `client.list()` discover agents created by another local client. `client.close()` only closes this SDK client. It does not stop an agent worker.
42
42
 
43
+ Running agents keep the worker version used at creation. After updating the SDK, create a new agent before testing new worker behavior such as live receive. Until `destroy` exists, use a new agent name.
44
+
43
45
  `agent.send(message)` starts work when Pi is idle. During active work, it uses `steer` by default. Use `followUp` to deliver after the current work settles:
44
46
 
45
47
  ```ts
@@ -50,4 +52,8 @@ await agent.send("Summarize the findings", { delivery: "followUp" })
50
52
 
51
53
  `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
54
 
55
+ 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.
56
+
57
+ `tool.started.args` contains Pi's model-requested parameters. Pi can validate or transform them before execution. `tool.finished.output` contains bounded final text, image omission metadata, and optional structured details. It never contains base64 image data. The worker limits requested parameters to 16 KiB, text output to 64 KiB, structured details to 16 KiB, and the CLI preview to 8 KiB. `tool.updated` is not available yet.
58
+
53
59
  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.
@@ -17,6 +17,23 @@ export type SendOptions = {
17
17
  export type SendResult = {
18
18
  acceptedAt: number;
19
19
  };
20
+ export type JsonValue = string | number | boolean | null | JsonValue[] | {
21
+ [key: string]: JsonValue;
22
+ };
23
+ export type ToolOutput = {
24
+ content: Array<{
25
+ type: "text";
26
+ text: string;
27
+ } | {
28
+ type: "image";
29
+ mimeType: string;
30
+ byteLength: number;
31
+ omitted: true;
32
+ }>;
33
+ details?: JsonValue;
34
+ detailsTruncated: boolean;
35
+ truncated: boolean;
36
+ };
20
37
  export type AgentEvent = {
21
38
  type: "thinking.started";
22
39
  eventId: string;
@@ -45,7 +62,8 @@ export type AgentEvent = {
45
62
  activityId: string;
46
63
  timestamp: number;
47
64
  toolName: string;
48
- args: unknown;
65
+ args: JsonValue;
66
+ argsTruncated: boolean;
49
67
  } | {
50
68
  type: "tool.finished";
51
69
  eventId: string;
@@ -53,6 +71,7 @@ export type AgentEvent = {
53
71
  timestamp: number;
54
72
  toolName: string;
55
73
  isError: boolean;
74
+ output: ToolOutput;
56
75
  };
57
76
  export interface Agent {
58
77
  readonly id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/fleet/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/fleet/agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/fleet/agent.ts"],"names":[],"mappings":"AAyCA,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,IAAY;QACtB,KAAK,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC9D,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,IAAY;QACtB,KAAK,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACtD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,IAAY;QACtB,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QACrD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAQD,MAAM,OAAO,WAAW;IACb,OAAO,CAAa;IACpB,GAAG,CAAQ;IACX,KAAK,CAAQ;IAEtB,YAAY,MAAmB,EAAE,EAAU,EAAE,IAAY;QACvD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QACb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAqB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAClE,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACnD,CAAC;CACF"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/fleet/agent.ts"],"names":[],"mappings":"AAqDA,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,IAAY;QACtB,KAAK,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC9D,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,IAAY;QACtB,KAAK,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACtD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,IAAY;QACtB,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QACrD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAQD,MAAM,OAAO,WAAW;IACb,OAAO,CAAa;IACpB,GAAG,CAAQ;IACX,KAAK,CAAQ;IAEtB,YAAY,MAAmB,EAAE,EAAU,EAAE,IAAY;QACvD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QACb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAqB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAClE,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACnD,CAAC;CACF"}
@@ -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,6 +1,6 @@
1
- export declare const version = "0.5.0";
1
+ export declare const version = "0.6.0";
2
2
  export { connectPiFleet } from "./fleet/client.js";
3
3
  export { AgentNameTakenError, AgentNotFoundError, AgentUnavailableError, } from "./fleet/agent.js";
4
- export type { Agent, AgentEvent, AgentState, AgentStatus, AgentSummary, SendDelivery, SendOptions, SendResult, } from "./fleet/agent.js";
4
+ export type { Agent, AgentEvent, JsonValue, ToolOutput, AgentState, AgentStatus, AgentSummary, SendDelivery, SendOptions, SendResult, } from "./fleet/agent.js";
5
5
  export type { ConnectOptions, CreateAgentOptions, PiFleetClient, } from "./fleet/client.js";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAA;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,kBAAkB,CAAA;AAEzB,YAAY,EACV,KAAK,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,UAAU,GACX,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,aAAa,GACd,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAA;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,kBAAkB,CAAA;AAEzB,YAAY,EACV,KAAK,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,UAAU,GACX,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,aAAa,GACd,MAAM,mBAAmB,CAAA"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export const version = "0.5.0";
1
+ export const version = "0.6.0";
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;AAUD,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,227 @@
1
+ import { randomUUID } from "node:crypto";
2
+ const SUBSCRIBER_QUEUE_LIMIT = 128;
3
+ const MAX_ARGS_BYTES = 16 * 1024;
4
+ const MAX_TEXT_BYTES = 64 * 1024;
5
+ const MAX_DETAILS_BYTES = 16 * 1024;
6
+ const MAX_CONTENT_PARTS = 64;
7
+ const MAX_IMAGE_MIME_TYPE_BYTES = 256;
8
+ const MAX_TOOL_IDENTITY_BYTES = 256;
9
+ export class LiveActivity {
10
+ #agentId;
11
+ #runtimeGeneration;
12
+ #subscribers = new Map();
13
+ #normalize = createEventNormalizer();
14
+ #lastSubscriptionId;
15
+ constructor(agentId, runtimeGeneration) {
16
+ this.#agentId = agentId;
17
+ this.#runtimeGeneration = runtimeGeneration;
18
+ }
19
+ subscribe(route) {
20
+ const subscriptionId = randomUUID();
21
+ this.#subscribers.set(subscriptionId, { route: Buffer.from(route), subscriptionId, events: [] });
22
+ return subscriptionId;
23
+ }
24
+ unsubscribe(route, subscriptionId) {
25
+ if (subscriptionId) {
26
+ const subscriber = this.#subscribers.get(subscriptionId);
27
+ if (subscriber?.route.equals(route))
28
+ this.#subscribers.delete(subscriptionId);
29
+ return;
30
+ }
31
+ for (const subscriber of this.#subscribers.values()) {
32
+ if (subscriber.route.equals(route))
33
+ this.#subscribers.delete(subscriber.subscriptionId);
34
+ }
35
+ }
36
+ hasSubscription(route, subscriptionId) {
37
+ return this.#subscribers.get(subscriptionId)?.route.equals(route) ?? false;
38
+ }
39
+ publishPiEvent(rawEvent) {
40
+ const event = this.#normalize(rawEvent);
41
+ if (!event)
42
+ return false;
43
+ let queued = false;
44
+ for (const subscriber of this.#subscribers.values()) {
45
+ if (subscriber.events.length >= SUBSCRIBER_QUEUE_LIMIT) {
46
+ this.#subscribers.delete(subscriber.subscriptionId);
47
+ continue;
48
+ }
49
+ subscriber.events.push({
50
+ version: 1,
51
+ command: "event",
52
+ agentId: this.#agentId,
53
+ runtimeGeneration: this.#runtimeGeneration,
54
+ subscriptionId: subscriber.subscriptionId,
55
+ event,
56
+ });
57
+ queued = true;
58
+ }
59
+ return queued;
60
+ }
61
+ nextOutbound() {
62
+ const subscribers = [...this.#subscribers.values()];
63
+ if (subscribers.length === 0)
64
+ return undefined;
65
+ const previousIndex = this.#lastSubscriptionId
66
+ ? subscribers.findIndex(({ subscriptionId }) => subscriptionId === this.#lastSubscriptionId)
67
+ : -1;
68
+ for (let offset = 1; offset <= subscribers.length; offset += 1) {
69
+ const subscriber = subscribers[(previousIndex + offset) % subscribers.length];
70
+ const message = subscriber.events.shift();
71
+ if (!message)
72
+ continue;
73
+ this.#lastSubscriptionId = subscriber.subscriptionId;
74
+ return { route: subscriber.route, message, subscriptionId: subscriber.subscriptionId };
75
+ }
76
+ return undefined;
77
+ }
78
+ deliveryFailed(subscriptionId) {
79
+ this.#subscribers.delete(subscriptionId);
80
+ }
81
+ close() {
82
+ this.#subscribers.clear();
83
+ }
84
+ }
85
+ function createEventNormalizer() {
86
+ let assistantActivityId;
87
+ return (event) => {
88
+ const timestamp = Date.now();
89
+ if (event.type === "message_start" && isAssistantMessage(event.message)) {
90
+ assistantActivityId = randomUUID();
91
+ return { type: "message.started", eventId: randomUUID(), activityId: assistantActivityId, timestamp };
92
+ }
93
+ if (event.type === "message_end" && isAssistantMessage(event.message)) {
94
+ const activityId = assistantActivityId ?? randomUUID();
95
+ assistantActivityId = undefined;
96
+ return { type: "message.finished", eventId: randomUUID(), activityId, timestamp, text: assistantText(event.message) };
97
+ }
98
+ if (event.type === "message_update" && isRecord(event.assistantMessageEvent)) {
99
+ const update = event.assistantMessageEvent;
100
+ if (!assistantActivityId || typeof update.contentIndex !== "number")
101
+ return undefined;
102
+ const activityId = `${assistantActivityId}:thinking:${update.contentIndex}`;
103
+ if (update.type === "thinking_start")
104
+ return { type: "thinking.started", eventId: randomUUID(), activityId, timestamp };
105
+ if (update.type === "thinking_end" && typeof update.content === "string") {
106
+ return { type: "thinking.finished", eventId: randomUUID(), activityId, timestamp, content: update.content };
107
+ }
108
+ }
109
+ if (event.type === "tool_execution_start" && typeof event.toolCallId === "string" && typeof event.toolName === "string" && "args" in event) {
110
+ const { value: args, truncated: argsTruncated } = boundedJson(event.args, MAX_ARGS_BYTES);
111
+ return {
112
+ type: "tool.started",
113
+ eventId: randomUUID(),
114
+ activityId: truncateJsonString(event.toolCallId, MAX_TOOL_IDENTITY_BYTES).value,
115
+ timestamp,
116
+ toolName: truncateJsonString(event.toolName, MAX_TOOL_IDENTITY_BYTES).value,
117
+ args: args ?? null,
118
+ argsTruncated,
119
+ };
120
+ }
121
+ if (event.type === "tool_execution_end" && typeof event.toolCallId === "string" && typeof event.toolName === "string" && typeof event.isError === "boolean") {
122
+ return {
123
+ type: "tool.finished",
124
+ eventId: randomUUID(),
125
+ activityId: truncateJsonString(event.toolCallId, MAX_TOOL_IDENTITY_BYTES).value,
126
+ timestamp,
127
+ toolName: truncateJsonString(event.toolName, MAX_TOOL_IDENTITY_BYTES).value,
128
+ isError: event.isError,
129
+ output: normalizeToolOutput(event.result),
130
+ };
131
+ }
132
+ return undefined;
133
+ };
134
+ }
135
+ function normalizeToolOutput(result) {
136
+ const rawContent = isRecord(result) && Array.isArray(result.content) ? result.content : [];
137
+ const content = [];
138
+ let remainingTextBytes = MAX_TEXT_BYTES;
139
+ let truncated = !isRecord(result) || !Array.isArray(result.content);
140
+ for (const item of rawContent) {
141
+ if (content.length >= MAX_CONTENT_PARTS) {
142
+ truncated = true;
143
+ break;
144
+ }
145
+ if (!isRecord(item)) {
146
+ truncated = true;
147
+ continue;
148
+ }
149
+ if (item.type === "text" && typeof item.text === "string") {
150
+ const text = truncateJsonString(item.text, remainingTextBytes);
151
+ content.push({ type: "text", text: text.value });
152
+ remainingTextBytes -= jsonStringByteLength(text.value);
153
+ if (text.truncated)
154
+ truncated = true;
155
+ continue;
156
+ }
157
+ if (item.type === "image" && typeof item.mimeType === "string" && typeof item.data === "string") {
158
+ const mimeType = truncateJsonString(item.mimeType, MAX_IMAGE_MIME_TYPE_BYTES);
159
+ content.push({ type: "image", mimeType: mimeType.value, byteLength: Buffer.byteLength(item.data, "base64"), omitted: true });
160
+ truncated = true;
161
+ continue;
162
+ }
163
+ truncated = true;
164
+ }
165
+ const { value: details, truncated: detailsTruncated } = isRecord(result) && "details" in result
166
+ ? boundedJson(result.details, MAX_DETAILS_BYTES)
167
+ : { value: undefined, truncated: false };
168
+ return { content, ...(details === undefined ? {} : { details }), detailsTruncated, truncated: truncated || detailsTruncated };
169
+ }
170
+ function boundedJson(value, maxBytes) {
171
+ try {
172
+ const serialized = JSON.stringify(value);
173
+ if (serialized === undefined || Buffer.byteLength(serialized) > maxBytes)
174
+ return { truncated: true };
175
+ return { value: JSON.parse(serialized), truncated: false };
176
+ }
177
+ catch {
178
+ return { truncated: true };
179
+ }
180
+ }
181
+ function truncateUtf8(value, maxBytes) {
182
+ let bytes = 0;
183
+ let truncated = false;
184
+ const characters = [];
185
+ for (const character of value) {
186
+ const characterBytes = Buffer.byteLength(character);
187
+ if (bytes + characterBytes > maxBytes) {
188
+ truncated = true;
189
+ break;
190
+ }
191
+ characters.push(character);
192
+ bytes += characterBytes;
193
+ }
194
+ return { value: characters.join(""), truncated };
195
+ }
196
+ function truncateJsonString(value, maxBytes) {
197
+ if (jsonStringByteLength(value) <= maxBytes)
198
+ return { value, truncated: false };
199
+ let bytes = 2;
200
+ const characters = [];
201
+ for (const character of value) {
202
+ const characterBytes = jsonStringByteLength(character) - 2;
203
+ if (bytes + characterBytes > maxBytes)
204
+ return { value: characters.join(""), truncated: true };
205
+ characters.push(character);
206
+ bytes += characterBytes;
207
+ }
208
+ return { value: characters.join(""), truncated: true };
209
+ }
210
+ function jsonStringByteLength(value) {
211
+ return Buffer.byteLength(JSON.stringify(value));
212
+ }
213
+ function isAssistantMessage(value) {
214
+ return isRecord(value) && value.role === "assistant";
215
+ }
216
+ function assistantText(message) {
217
+ if (!Array.isArray(message.content))
218
+ return "";
219
+ return message.content
220
+ .filter((content) => isRecord(content) && content.type === "text" && typeof content.text === "string")
221
+ .map((content) => content.text)
222
+ .join("");
223
+ }
224
+ function isRecord(value) {
225
+ return typeof value === "object" && value !== null;
226
+ }
227
+ //# 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"}