pilotswarm-sdk 0.5.56 → 0.5.58
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/api/README.md +6 -0
- package/api/index.d.ts +19 -0
- package/api/src/api-client.js +196 -1
- package/api/src/http-api-transport.js +18 -0
- package/api/src/protocol.js +3 -2
- package/dist/agent-loader.d.ts +12 -1
- package/dist/agent-loader.d.ts.map +1 -1
- package/dist/agent-loader.js +36 -5
- package/dist/agent-loader.js.map +1 -1
- package/dist/agent-package-format.d.ts +1 -0
- package/dist/agent-package-format.d.ts.map +1 -1
- package/dist/agent-package-format.js +8 -4
- package/dist/agent-package-format.js.map +1 -1
- package/dist/cms-migrations.d.ts.map +1 -1
- package/dist/cms-migrations.js +102 -0
- package/dist/cms-migrations.js.map +1 -1
- package/dist/cms.d.ts +50 -0
- package/dist/cms.d.ts.map +1 -1
- package/dist/cms.js +81 -0
- package/dist/cms.js.map +1 -1
- package/dist/facts-store.d.ts +1 -0
- package/dist/facts-store.d.ts.map +1 -1
- package/dist/facts-store.js +1 -1
- package/dist/facts-store.js.map +1 -1
- package/dist/facts-tools.d.ts +10 -0
- package/dist/facts-tools.d.ts.map +1 -1
- package/dist/facts-tools.js +114 -19
- package/dist/facts-tools.js.map +1 -1
- package/dist/graph-tools.d.ts +2 -0
- package/dist/graph-tools.d.ts.map +1 -1
- package/dist/graph-tools.js +17 -1
- package/dist/graph-tools.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/live-turn.d.ts +60 -0
- package/dist/live-turn.d.ts.map +1 -0
- package/dist/live-turn.js +256 -0
- package/dist/live-turn.js.map +1 -0
- package/dist/managed-session.d.ts +3 -0
- package/dist/managed-session.d.ts.map +1 -1
- package/dist/managed-session.js +134 -1
- package/dist/managed-session.js.map +1 -1
- package/dist/management-client.d.ts +7 -0
- package/dist/management-client.d.ts.map +1 -1
- package/dist/management-client.js +25 -15
- package/dist/management-client.js.map +1 -1
- package/dist/orchestration/agents.d.ts.map +1 -1
- package/dist/orchestration/agents.js +3 -1
- package/dist/orchestration/agents.js.map +1 -1
- package/dist/orchestration/index.d.ts +2 -2
- package/dist/orchestration/index.js +1 -1
- package/dist/orchestration/queue.d.ts.map +1 -1
- package/dist/orchestration/queue.js +5 -0
- package/dist/orchestration/queue.js.map +1 -1
- package/dist/orchestration/runtime.d.ts +3 -1
- package/dist/orchestration/runtime.d.ts.map +1 -1
- package/dist/orchestration/runtime.js +6 -1
- package/dist/orchestration/runtime.js.map +1 -1
- package/dist/orchestration/state.d.ts +2 -0
- package/dist/orchestration/state.d.ts.map +1 -1
- package/dist/orchestration/state.js.map +1 -1
- package/dist/orchestration/turn.d.ts +1 -1
- package/dist/orchestration/turn.d.ts.map +1 -1
- package/dist/orchestration/turn.js +49 -7
- package/dist/orchestration/turn.js.map +1 -1
- package/dist/orchestration-registry.d.ts.map +1 -1
- package/dist/orchestration-registry.js +4 -2
- package/dist/orchestration-registry.js.map +1 -1
- package/dist/orchestration-version.d.ts +1 -1
- package/dist/orchestration-version.js +1 -1
- package/dist/orchestration.d.ts +2 -2
- package/dist/orchestration.js +1 -1
- package/dist/orchestration_1_0_46.d.ts +1 -1
- package/dist/orchestration_1_0_47.d.ts +1 -1
- package/dist/orchestration_1_0_48.d.ts +1 -1
- package/dist/orchestration_1_0_49.d.ts +1 -1
- package/dist/orchestration_1_0_50.d.ts +1 -1
- package/dist/orchestration_1_0_71/agents.d.ts +61 -0
- package/dist/orchestration_1_0_71/agents.d.ts.map +1 -0
- package/dist/orchestration_1_0_71/agents.js +840 -0
- package/dist/orchestration_1_0_71/agents.js.map +1 -0
- package/dist/orchestration_1_0_71/index.d.ts +28 -0
- package/dist/orchestration_1_0_71/index.d.ts.map +1 -0
- package/dist/orchestration_1_0_71/index.js +13 -0
- package/dist/orchestration_1_0_71/index.js.map +1 -0
- package/dist/orchestration_1_0_71/lifecycle.d.ts +51 -0
- package/dist/orchestration_1_0_71/lifecycle.d.ts.map +1 -0
- package/dist/orchestration_1_0_71/lifecycle.js +973 -0
- package/dist/orchestration_1_0_71/lifecycle.js.map +1 -0
- package/dist/orchestration_1_0_71/queue.d.ts +20 -0
- package/dist/orchestration_1_0_71/queue.d.ts.map +1 -0
- package/dist/orchestration_1_0_71/queue.js +875 -0
- package/dist/orchestration_1_0_71/queue.js.map +1 -0
- package/dist/orchestration_1_0_71/runtime.d.ts +29 -0
- package/dist/orchestration_1_0_71/runtime.d.ts.map +1 -0
- package/dist/orchestration_1_0_71/runtime.js +225 -0
- package/dist/orchestration_1_0_71/runtime.js.map +1 -0
- package/dist/orchestration_1_0_71/state.d.ts +212 -0
- package/dist/orchestration_1_0_71/state.d.ts.map +1 -0
- package/dist/orchestration_1_0_71/state.js +178 -0
- package/dist/orchestration_1_0_71/state.js.map +1 -0
- package/dist/orchestration_1_0_71/turn.d.ts +34 -0
- package/dist/orchestration_1_0_71/turn.d.ts.map +1 -0
- package/dist/orchestration_1_0_71/turn.js +1392 -0
- package/dist/orchestration_1_0_71/turn.js.map +1 -0
- package/dist/orchestration_1_0_71/utils.d.ts +39 -0
- package/dist/orchestration_1_0_71/utils.d.ts.map +1 -0
- package/dist/orchestration_1_0_71/utils.js +322 -0
- package/dist/orchestration_1_0_71/utils.js.map +1 -0
- package/dist/session-manager.d.ts +2 -0
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +22 -0
- package/dist/session-manager.js.map +1 -1
- package/dist/session-proxy.d.ts +7 -1
- package/dist/session-proxy.d.ts.map +1 -1
- package/dist/session-proxy.js +37 -5
- package/dist/session-proxy.js.map +1 -1
- package/dist/session-status.d.ts +16 -0
- package/dist/session-status.d.ts.map +1 -1
- package/dist/session-status.js +21 -0
- package/dist/session-status.js.map +1 -1
- package/dist/system-agents.d.ts.map +1 -1
- package/dist/system-agents.js +9 -3
- package/dist/system-agents.js.map +1 -1
- package/dist/tool-facts-accessor.d.ts +44 -0
- package/dist/tool-facts-accessor.d.ts.map +1 -0
- package/dist/tool-facts-accessor.js +72 -0
- package/dist/tool-facts-accessor.js.map +1 -0
- package/dist/types.d.ts +11 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/web/generated-op-methods.d.ts +8 -0
- package/dist/web/generated-op-methods.d.ts.map +1 -1
- package/dist/web/generated-op-methods.js +2 -0
- package/dist/web/generated-op-methods.js.map +1 -1
- package/dist/web/web-management-client.d.ts +7 -0
- package/dist/web/web-management-client.d.ts.map +1 -1
- package/dist/web/web-management-client.js +3 -0
- package/dist/web/web-management-client.js.map +1 -1
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +6 -1
- package/dist/worker.js.map +1 -1
- package/package.json +3 -3
package/api/README.md
CHANGED
|
@@ -21,8 +21,14 @@ const api = new ApiClient({
|
|
|
21
21
|
const session = await api.call("createSession", { model: "anthropic:claude-sonnet-4-6" });
|
|
22
22
|
await api.call("sendMessage", { sessionId: session.sessionId, prompt: "hello" });
|
|
23
23
|
const unsubscribe = api.subscribeSession(session.sessionId, (event) => console.log(event));
|
|
24
|
+
const unsubscribeLive = api.subscribeLive(session.sessionId, "turn", (update) => console.log(update));
|
|
24
25
|
```
|
|
25
26
|
|
|
27
|
+
`subscribeLive` carries ephemeral last-value topics such as in-progress turn
|
|
28
|
+
text. It resubscribes automatically, ignores duplicate sequence values, and
|
|
29
|
+
refetches a topic snapshot with `getLive` after a sequence gap. Live values
|
|
30
|
+
are never part of the durable session event log.
|
|
31
|
+
|
|
26
32
|
## Modules
|
|
27
33
|
|
|
28
34
|
- `src/protocol.js` — the **operations table**: every JSON operation's name,
|
package/api/index.d.ts
CHANGED
|
@@ -62,6 +62,23 @@ export interface ApiClientOptions {
|
|
|
62
62
|
WebSocketImpl?: unknown;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
+
/** Generic ephemeral topic delivery; never a durable replay event. */
|
|
66
|
+
export type LiveUpdate = {
|
|
67
|
+
sessionId: string;
|
|
68
|
+
topic: string;
|
|
69
|
+
updatedAt?: string;
|
|
70
|
+
} & ({ kind: "snapshot" | "patch"; seq: number; data: Record<string, unknown> }
|
|
71
|
+
| { kind: "signal"; seq?: number | null }
|
|
72
|
+
| { kind: "unavailable" });
|
|
73
|
+
|
|
74
|
+
export interface LiveStateRow {
|
|
75
|
+
topic: string;
|
|
76
|
+
seq: number;
|
|
77
|
+
payload: Record<string, unknown>;
|
|
78
|
+
updatedBy: string;
|
|
79
|
+
updatedAt: string;
|
|
80
|
+
}
|
|
81
|
+
|
|
65
82
|
export declare class ApiClient {
|
|
66
83
|
constructor(options: ApiClientOptions);
|
|
67
84
|
apiUrl: string;
|
|
@@ -81,6 +98,7 @@ export declare class ApiClient {
|
|
|
81
98
|
start(): Promise<void>;
|
|
82
99
|
stop(): Promise<void>;
|
|
83
100
|
subscribeSession(sessionId: string, handler: (event: unknown) => void, onResubscribe?: () => void): () => void;
|
|
101
|
+
subscribeLive(sessionId: string, topic: string, handler: (update: LiveUpdate) => void): () => void;
|
|
84
102
|
subscribeLogs(handler: (entry: unknown) => void): () => void;
|
|
85
103
|
}
|
|
86
104
|
|
|
@@ -103,6 +121,7 @@ export declare class HttpApiTransport {
|
|
|
103
121
|
bootstrap: any;
|
|
104
122
|
start(): Promise<void>;
|
|
105
123
|
stop(): Promise<void>;
|
|
124
|
+
getLive(sessionId: string, topics?: string[]): Promise<LiveStateRow[]>;
|
|
106
125
|
[method: string]: any;
|
|
107
126
|
}
|
|
108
127
|
|
package/api/src/api-client.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { API_PREFIX, ApiError, WS_PATH, artifactDownloadPath, buildOperationRequest } from "./protocol.js";
|
|
2
|
+
import { jsonMergePatch } from "./canvas-live-mirror.js";
|
|
2
3
|
|
|
3
4
|
const RECONNECT_DELAY_MS = 1500;
|
|
4
5
|
|
|
@@ -66,6 +67,11 @@ export class ApiClient {
|
|
|
66
67
|
this.sessionResubscribeHandlers = new Map();
|
|
67
68
|
this.logSubscribers = new Set();
|
|
68
69
|
this.canvasSubscribers = new Map();
|
|
70
|
+
this.liveSubscribers = new Map();
|
|
71
|
+
this.liveSequences = new Map();
|
|
72
|
+
this.liveRefetches = new Map();
|
|
73
|
+
this.liveValues = new Map();
|
|
74
|
+
this.liveRefetchTargets = new Map();
|
|
69
75
|
}
|
|
70
76
|
|
|
71
77
|
// ── HTTP ────────────────────────────────────────────────────────────
|
|
@@ -212,13 +218,22 @@ export class ApiClient {
|
|
|
212
218
|
this.socket = null;
|
|
213
219
|
this.socketOpenPromise = null;
|
|
214
220
|
this.sessionSubscribers.clear();
|
|
221
|
+
this.sessionResubscribeHandlers.clear();
|
|
215
222
|
this.logSubscribers.clear();
|
|
216
223
|
this.canvasSubscribers.clear();
|
|
224
|
+
this.liveSubscribers.clear();
|
|
225
|
+
this.liveSequences.clear();
|
|
226
|
+
this.liveRefetches.clear();
|
|
227
|
+
this.liveValues.clear();
|
|
228
|
+
this.liveRefetchTargets.clear();
|
|
217
229
|
}
|
|
218
230
|
|
|
219
231
|
scheduleReconnect() {
|
|
220
232
|
if (this.stopped || this.reconnectTimer) return;
|
|
221
|
-
if (this.sessionSubscribers.size === 0
|
|
233
|
+
if (this.sessionSubscribers.size === 0
|
|
234
|
+
&& this.logSubscribers.size === 0
|
|
235
|
+
&& this.canvasSubscribers.size === 0
|
|
236
|
+
&& this.liveSubscribers.size === 0) return;
|
|
222
237
|
this.reconnectTimer = setTimeout(() => {
|
|
223
238
|
this.reconnectTimer = null;
|
|
224
239
|
this.ensureSocket().catch(() => {});
|
|
@@ -280,6 +295,10 @@ export class ApiClient {
|
|
|
280
295
|
}
|
|
281
296
|
return;
|
|
282
297
|
}
|
|
298
|
+
if (message.type === "live") {
|
|
299
|
+
void this.handleLiveMessage(message);
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
283
302
|
// A canvas-scope error (plane unavailable, authz change,
|
|
284
303
|
// server rollback) releases the mirror's takeover of that
|
|
285
304
|
// session — otherwise legacy events would stay suppressed
|
|
@@ -291,12 +310,25 @@ export class ApiClient {
|
|
|
291
310
|
for (const handler of handlers) handler({ kind: "unavailable", sessionId: message.sessionId });
|
|
292
311
|
}
|
|
293
312
|
}
|
|
313
|
+
if (message.type === "error" && message.scope === "live" && message.sessionId) {
|
|
314
|
+
for (const key of this.liveSubscribers.keys()) {
|
|
315
|
+
if (!key.startsWith(`${message.sessionId}\u0000`)) continue;
|
|
316
|
+
void this.handleLiveMessage({ kind: "unavailable", sessionId: message.sessionId, topic: key.split("\u0000")[1] });
|
|
317
|
+
}
|
|
318
|
+
}
|
|
294
319
|
} catch {}
|
|
295
320
|
});
|
|
296
321
|
|
|
297
322
|
socket.addEventListener("close", (event) => {
|
|
298
323
|
this.socket = null;
|
|
299
324
|
this.socketOpenPromise = null;
|
|
325
|
+
for (const [key, handlers] of this.liveSubscribers) {
|
|
326
|
+
const [sessionId, topic] = key.split("\u0000");
|
|
327
|
+
for (const handler of handlers) {
|
|
328
|
+
try { handler({ kind: "unavailable", sessionId, topic }); } catch {}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
this.liveValues.clear();
|
|
300
332
|
if (event.code === 4401) {
|
|
301
333
|
this.onUnauthorized();
|
|
302
334
|
return;
|
|
@@ -342,7 +374,114 @@ export class ApiClient {
|
|
|
342
374
|
}
|
|
343
375
|
}
|
|
344
376
|
|
|
377
|
+
async handleLiveMessage(message) {
|
|
378
|
+
const key = `${message.sessionId}\u0000${message.topic}`;
|
|
379
|
+
const handlers = this.liveSubscribers.get(key);
|
|
380
|
+
if (!handlers || handlers.size === 0) return;
|
|
381
|
+
if (message.kind === "unavailable") {
|
|
382
|
+
this.liveSequences.delete(key);
|
|
383
|
+
this.liveValues.delete(key);
|
|
384
|
+
this.liveRefetches.delete(key);
|
|
385
|
+
this.liveRefetchTargets.delete(key);
|
|
386
|
+
for (const handler of handlers) { try { handler(message); } catch {} }
|
|
387
|
+
return;
|
|
388
|
+
}
|
|
389
|
+
if (message.kind === "signal") {
|
|
390
|
+
for (const handler of handlers) {
|
|
391
|
+
try { handler(message); } catch {}
|
|
392
|
+
}
|
|
393
|
+
return;
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
const seq = Number(message.seq);
|
|
397
|
+
if (!Number.isFinite(seq) || seq < 1) return;
|
|
398
|
+
const previous = this.liveSequences.get(key);
|
|
399
|
+
if (previous != null && seq === previous) return;
|
|
400
|
+
if (message.kind === "snapshot" && previous != null && seq < previous) return;
|
|
401
|
+
|
|
402
|
+
// A patch is meaningful only against its immediate predecessor. The
|
|
403
|
+
// subscribe burst is a snapshot, so no predecessor means a missed
|
|
404
|
+
// burst too. Collapse concurrent gaps into one authoritative read.
|
|
405
|
+
if (message.kind === "patch" && (previous == null || seq !== previous + 1)) {
|
|
406
|
+
if (seq > Number(this.liveRefetchTargets.get(key)?.seq || 0)) {
|
|
407
|
+
this.liveRefetchTargets.set(key, message);
|
|
408
|
+
}
|
|
409
|
+
if (!this.liveRefetches.has(key)) {
|
|
410
|
+
const allowSequenceReset = previous != null && seq < previous;
|
|
411
|
+
const refetch = this.call("getLive", {
|
|
412
|
+
sessionId: message.sessionId,
|
|
413
|
+
topics: [message.topic],
|
|
414
|
+
}).then((rows) => {
|
|
415
|
+
const row = (rows || []).find((candidate) => candidate?.topic === message.topic);
|
|
416
|
+
const currentHandlers = this.liveSubscribers.get(key);
|
|
417
|
+
// The last subscriber may have left and a new subscription
|
|
418
|
+
// for the same key may already exist. Do not let the old
|
|
419
|
+
// request inject its snapshot into that new subscription.
|
|
420
|
+
if (!row || currentHandlers !== handlers || currentHandlers.size === 0
|
|
421
|
+
|| this.liveRefetches.get(key) !== refetch) return;
|
|
422
|
+
const snapshotSeq = Number(row.seq);
|
|
423
|
+
if (!Number.isFinite(snapshotSeq) || snapshotSeq < 1) return;
|
|
424
|
+
const seen = this.liveSequences.get(key);
|
|
425
|
+
if (seen != null && (
|
|
426
|
+
(!allowSequenceReset && snapshotSeq <= seen)
|
|
427
|
+
|| (allowSequenceReset && (snapshotSeq === seen || (snapshotSeq < seen && seen !== previous)))
|
|
428
|
+
)) return;
|
|
429
|
+
this.liveSequences.set(key, snapshotSeq);
|
|
430
|
+
const snapshot = {
|
|
431
|
+
type: "live",
|
|
432
|
+
sessionId: message.sessionId,
|
|
433
|
+
topic: message.topic,
|
|
434
|
+
seq: snapshotSeq,
|
|
435
|
+
kind: "snapshot",
|
|
436
|
+
data: row.payload || {},
|
|
437
|
+
...(row.updatedAt ? { updatedAt: row.updatedAt } : {}),
|
|
438
|
+
};
|
|
439
|
+
this.liveValues.set(key, snapshot);
|
|
440
|
+
for (const handler of currentHandlers) {
|
|
441
|
+
try { handler(snapshot); } catch {}
|
|
442
|
+
}
|
|
443
|
+
}).catch(() => {
|
|
444
|
+
// A later notification retries the authoritative read;
|
|
445
|
+
// durable session events remain the product fallback.
|
|
446
|
+
}).finally(() => {
|
|
447
|
+
// A replacement subscription can already have started a
|
|
448
|
+
// newer refetch for this key; do not erase its guard.
|
|
449
|
+
if (this.liveRefetches.get(key) === refetch) {
|
|
450
|
+
this.liveRefetches.delete(key);
|
|
451
|
+
const latest = this.liveRefetchTargets.get(key);
|
|
452
|
+
this.liveRefetchTargets.delete(key);
|
|
453
|
+
// A notification that arrived DURING the read may be
|
|
454
|
+
// newer than its snapshot. Do not lose that last tick.
|
|
455
|
+
if (latest && latest !== message && this.liveSubscribers.get(key) === handlers) {
|
|
456
|
+
void this.handleLiveMessage(latest);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
});
|
|
460
|
+
this.liveRefetches.set(key, refetch);
|
|
461
|
+
}
|
|
462
|
+
await this.liveRefetches.get(key);
|
|
463
|
+
return;
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
this.liveSequences.set(key, seq);
|
|
467
|
+
this.liveValues.set(key, {
|
|
468
|
+
...message, kind: "snapshot",
|
|
469
|
+
data: message.kind === "patch"
|
|
470
|
+
? jsonMergePatch(this.liveValues.get(key)?.data || {}, message.data || {})
|
|
471
|
+
: message.data,
|
|
472
|
+
});
|
|
473
|
+
for (const handler of handlers) {
|
|
474
|
+
try { handler(message); } catch {}
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
|
|
345
478
|
resubscribeAll(isReconnect = false) {
|
|
479
|
+
if (isReconnect) {
|
|
480
|
+
this.liveSequences.clear();
|
|
481
|
+
this.liveValues.clear();
|
|
482
|
+
this.liveRefetches.clear();
|
|
483
|
+
this.liveRefetchTargets.clear();
|
|
484
|
+
}
|
|
346
485
|
for (const sessionId of this.sessionSubscribers.keys()) {
|
|
347
486
|
this.socketSend({ type: "subscribeSession", sessionId });
|
|
348
487
|
// On a RECONNECT, live delivery resumes but events emitted during
|
|
@@ -363,6 +502,15 @@ export class ApiClient {
|
|
|
363
502
|
for (const sessionId of this.canvasSubscribers.keys()) {
|
|
364
503
|
this.socketSend({ type: "subscribeCanvas", sessionId });
|
|
365
504
|
}
|
|
505
|
+
const liveBySession = new Map();
|
|
506
|
+
for (const key of this.liveSubscribers.keys()) {
|
|
507
|
+
const [sessionId, topic] = key.split("\u0000");
|
|
508
|
+
if (!liveBySession.has(sessionId)) liveBySession.set(sessionId, []);
|
|
509
|
+
liveBySession.get(sessionId).push(topic);
|
|
510
|
+
}
|
|
511
|
+
for (const [sessionId, topics] of liveBySession) {
|
|
512
|
+
this.socketSend({ type: "subscribeLive", sessionId, topics });
|
|
513
|
+
}
|
|
366
514
|
}
|
|
367
515
|
|
|
368
516
|
/**
|
|
@@ -432,6 +580,53 @@ export class ApiClient {
|
|
|
432
580
|
};
|
|
433
581
|
}
|
|
434
582
|
|
|
583
|
+
/** Subscribe to one generic live-plane topic for a session. */
|
|
584
|
+
subscribeLive(sessionId, topic, handler) {
|
|
585
|
+
const normalizedSessionId = String(sessionId || "").trim();
|
|
586
|
+
const normalizedTopic = String(topic || "").trim();
|
|
587
|
+
if (!normalizedSessionId || !/^[a-z][a-z0-9_.:-]{0,63}$/.test(normalizedTopic)) {
|
|
588
|
+
throw new Error("subscribeLive requires a session id and valid topic");
|
|
589
|
+
}
|
|
590
|
+
const key = `${normalizedSessionId}\u0000${normalizedTopic}`;
|
|
591
|
+
const alreadySubscribed = this.liveSubscribers.has(key);
|
|
592
|
+
if (!alreadySubscribed && [...this.liveSubscribers.keys()].filter((candidate) => candidate.startsWith(`${normalizedSessionId}\u0000`)).length >= 16) {
|
|
593
|
+
throw new Error("At most 16 live topics per session are supported");
|
|
594
|
+
}
|
|
595
|
+
if (!this.liveSubscribers.has(key)) this.liveSubscribers.set(key, new Set());
|
|
596
|
+
const handlers = this.liveSubscribers.get(key);
|
|
597
|
+
handlers.add(handler);
|
|
598
|
+
const topics = [];
|
|
599
|
+
for (const candidate of this.liveSubscribers.keys()) {
|
|
600
|
+
const [sid, liveTopic] = candidate.split("\u0000");
|
|
601
|
+
if (sid === normalizedSessionId) topics.push(liveTopic);
|
|
602
|
+
}
|
|
603
|
+
if (!alreadySubscribed) this.announceSubscription({ type: "subscribeLive", sessionId: normalizedSessionId, topics });
|
|
604
|
+
else if (this.liveValues.has(key)) {
|
|
605
|
+
try { handler(this.liveValues.get(key)); } catch {}
|
|
606
|
+
}
|
|
607
|
+
let active = true;
|
|
608
|
+
return () => {
|
|
609
|
+
if (!active) return;
|
|
610
|
+
active = false;
|
|
611
|
+
handlers.delete(handler);
|
|
612
|
+
if (handlers.size > 0 || this.liveSubscribers.get(key) !== handlers) return;
|
|
613
|
+
this.liveSubscribers.delete(key);
|
|
614
|
+
this.liveSequences.delete(key);
|
|
615
|
+
this.liveRefetches.delete(key);
|
|
616
|
+
this.liveRefetchTargets.delete(key);
|
|
617
|
+
this.liveValues.delete(key);
|
|
618
|
+
const remaining = [];
|
|
619
|
+
for (const candidate of this.liveSubscribers.keys()) {
|
|
620
|
+
const [sid, liveTopic] = candidate.split("\u0000");
|
|
621
|
+
if (sid === normalizedSessionId) remaining.push(liveTopic);
|
|
622
|
+
}
|
|
623
|
+
this.socketSend({ type: "unsubscribeLive", sessionId: normalizedSessionId });
|
|
624
|
+
if (remaining.length > 0) {
|
|
625
|
+
this.socketSend({ type: "subscribeLive", sessionId: normalizedSessionId, topics: remaining });
|
|
626
|
+
}
|
|
627
|
+
};
|
|
628
|
+
}
|
|
629
|
+
|
|
435
630
|
subscribeLogs(handler) {
|
|
436
631
|
this.logSubscribers.add(handler);
|
|
437
632
|
this.announceSubscription({ type: "subscribeLogs" });
|
|
@@ -496,6 +496,10 @@ export class HttpApiTransport {
|
|
|
496
496
|
return this.api.call("getCanvasLive", { sessionId });
|
|
497
497
|
}
|
|
498
498
|
|
|
499
|
+
async getLive(sessionId, topics) {
|
|
500
|
+
return this.api.call("getLive", { sessionId, topics });
|
|
501
|
+
}
|
|
502
|
+
|
|
499
503
|
// The canvas KV store (door 1 — signed-in browser).
|
|
500
504
|
async readCanvasKv(sessionId, slot, query = {}) {
|
|
501
505
|
return this.api.call("readCanvasKv", {
|
|
@@ -667,9 +671,23 @@ export class HttpApiTransport {
|
|
|
667
671
|
}
|
|
668
672
|
}
|
|
669
673
|
});
|
|
674
|
+
const unsubscribeLive = this.api.subscribeLive(sessionId, "turn", (message) => {
|
|
675
|
+
if (message?.kind === "signal") return;
|
|
676
|
+
const data = message?.kind === "unavailable" ? { phase: "idle" } : message?.data;
|
|
677
|
+
if (!data || typeof data !== "object") return;
|
|
678
|
+
handler({
|
|
679
|
+
eventType: "assistant.live_tick",
|
|
680
|
+
sessionId,
|
|
681
|
+
transient: true,
|
|
682
|
+
liveSeq: Number(message.seq) || 0,
|
|
683
|
+
liveUpdatedAt: message.updatedAt,
|
|
684
|
+
data,
|
|
685
|
+
});
|
|
686
|
+
});
|
|
670
687
|
return () => {
|
|
671
688
|
unsubscribeEvents();
|
|
672
689
|
unsubscribeCanvas();
|
|
690
|
+
unsubscribeLive();
|
|
673
691
|
const handlers = this._canvasEmitHandlers.get(sessionId);
|
|
674
692
|
if (handlers) {
|
|
675
693
|
handlers.delete(handler);
|
package/api/src/protocol.js
CHANGED
|
@@ -41,8 +41,8 @@ export const API_VERSION = 1;
|
|
|
41
41
|
export const WS_PATH = "/api/v1/ws";
|
|
42
42
|
|
|
43
43
|
/** WebSocket message vocabulary (same as the legacy /portal-ws, minus theme). */
|
|
44
|
-
export const WS_CLIENT_MESSAGES = ["subscribeSession", "unsubscribeSession", "subscribeLogs", "unsubscribeLogs"];
|
|
45
|
-
export const WS_SERVER_MESSAGES = ["ready", "subscribedSession", "sessionEvent", "subscribedLogs", "logEntry", "error"];
|
|
44
|
+
export const WS_CLIENT_MESSAGES = ["subscribeSession", "unsubscribeSession", "subscribeLive", "unsubscribeLive", "subscribeLogs", "unsubscribeLogs"];
|
|
45
|
+
export const WS_SERVER_MESSAGES = ["ready", "subscribedSession", "sessionEvent", "subscribedLive", "live", "subscribedLogs", "logEntry", "error"];
|
|
46
46
|
|
|
47
47
|
/** Error code used when an SDK web-mode method has no API equivalent. */
|
|
48
48
|
export const WEB_MODE_UNSUPPORTED = "WEB_MODE_UNSUPPORTED";
|
|
@@ -114,6 +114,7 @@ export const OPERATIONS = [
|
|
|
114
114
|
{ name: "getSessionEvents", access: "session:read", method: "GET", path: "/management/sessions/:sessionId/events", params: { sessionId: path("sessionId"), afterSeq: query("number"), limit: query("number"), eventTypes: query("json") }, summary: "Session events after a sequence number (reconnect catch-up). Optional eventTypes (JSON string array) narrows to those event types server-side." },
|
|
115
115
|
{ name: "getSessionEventsBefore", access: "session:read", method: "GET", path: "/management/sessions/:sessionId/events-before", params: { sessionId: path("sessionId"), beforeSeq: query("number"), limit: query("number"), eventTypes: query("json") }, summary: "Older session events for history paging. Optional eventTypes (JSON string array) narrows to those event types server-side (chat transcript paging)." },
|
|
116
116
|
{ name: "getCanvasLive", access: "session:read", method: "GET", path: "/management/sessions/:sessionId/canvas-live", params: { sessionId: path("sessionId") }, summary: "The canvas data plane's last-value rows: current doc pointer + latest merged tick per slot. Snapshot source for live canvas subscriptions; empty when the deployment predates the plane." },
|
|
117
|
+
{ name: "getLive", access: "session:read", method: "GET", path: "/management/sessions/:sessionId/live", params: { sessionId: path("sessionId"), topics: query("json") }, summary: "Current retained values from the ephemeral live plane, optionally filtered by topic." },
|
|
117
118
|
// The canvas KV store (interactive-canvas-apps Part C). canvas:read and
|
|
118
119
|
// canvas:write are their OWN access classes: both gate on session read
|
|
119
120
|
// (a canvas reader may hold no session write), and whether a read-only
|
package/dist/agent-loader.d.ts
CHANGED
|
@@ -68,6 +68,8 @@ export interface AgentConfig {
|
|
|
68
68
|
splashMobile?: string;
|
|
69
69
|
/** Initial prompt to send when the system agent is first created. */
|
|
70
70
|
initialPrompt?: string;
|
|
71
|
+
/** Declared tool with a registered handler that must run during the named agent's initial prompt turn. */
|
|
72
|
+
initialRequiredTool?: string;
|
|
71
73
|
/** Source plugin namespace (e.g. "pilotswarm", "smelter"). Set by the worker during plugin loading. */
|
|
72
74
|
namespace?: string;
|
|
73
75
|
/** Internal: identifies which prompt layering path this agent should use. */
|
|
@@ -115,6 +117,15 @@ export interface AgentConfig {
|
|
|
115
117
|
/** Absolute path the agent was loaded from, when known. Used for diagnostics. */
|
|
116
118
|
sourcePath?: string;
|
|
117
119
|
}
|
|
120
|
+
export interface AgentDefinitionIssue {
|
|
121
|
+
code: "initial_required_tool_schema" | "initial_required_tool_not_declared";
|
|
122
|
+
message: string;
|
|
123
|
+
}
|
|
124
|
+
export declare function validateAgentDefinition(agent: Pick<AgentConfig, "schemaVersion" | "tools" | "initialRequiredTool">): AgentDefinitionIssue[];
|
|
125
|
+
export interface LoadAgentFilesOptions {
|
|
126
|
+
/** Package validation keeps invalid definitions long enough to report structured issue codes. */
|
|
127
|
+
includeInvalid?: boolean;
|
|
128
|
+
}
|
|
118
129
|
/**
|
|
119
130
|
* `supportsDirectStart` with its default applied. The default is the inverse
|
|
120
131
|
* of "is a sub-agent", so a package that declares neither field behaves
|
|
@@ -130,7 +141,7 @@ export declare function agentSupportsDirectStart(agent: {
|
|
|
130
141
|
* @param agentsDir - Path to the agents directory.
|
|
131
142
|
* @returns Array of agent configs. Files that fail to parse are skipped with a warning.
|
|
132
143
|
*/
|
|
133
|
-
export declare function loadAgentFiles(agentsDir: string): AgentConfig[];
|
|
144
|
+
export declare function loadAgentFiles(agentsDir: string, options?: LoadAgentFilesOptions): AgentConfig[];
|
|
134
145
|
/**
|
|
135
146
|
* Names of every agent bundled with the SDK itself (system, mgmt, and
|
|
136
147
|
* optional default-agents tiers), INCLUDING system agents. This is the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-loader.d.ts","sourceRoot":"","sources":["../src/agent-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AASH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYpD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAclF;AAID,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qGAAqG;IACrG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qHAAqH;IACrH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6FAA6F;IAC7F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oIAAoI;IACpI,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uGAAuG;IACvG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,eAAe,CAAC,EAAE,WAAW,GAAG,kBAAkB,GAAG,yBAAyB,CAAC;IAC/E;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC5C,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACxC,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAG7B;
|
|
1
|
+
{"version":3,"file":"agent-loader.d.ts","sourceRoot":"","sources":["../src/agent-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AASH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYpD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAclF;AAID,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qGAAqG;IACrG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qHAAqH;IACrH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6FAA6F;IAC7F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oIAAoI;IACpI,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0GAA0G;IAC1G,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uGAAuG;IACvG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,eAAe,CAAC,EAAE,WAAW,GAAG,kBAAkB,GAAG,yBAAyB,CAAC;IAC/E;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,8BAA8B,GAAG,oCAAoC,CAAC;IAC5E,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,GAAG,qBAAqB,CAAC,GAC5E,oBAAoB,EAAE,CAoBxB;AAED,MAAM,WAAW,qBAAqB;IAClC,iGAAiG;IACjG,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC5C,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACxC,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAG7B;AAyLD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,WAAW,EAAE,CAsFpG;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAYhD"}
|
package/dist/agent-loader.js
CHANGED
|
@@ -60,6 +60,27 @@ export function systemChildAgentUUID(parentSessionId, slug) {
|
|
|
60
60
|
hash.slice(20, 32),
|
|
61
61
|
].join("-");
|
|
62
62
|
}
|
|
63
|
+
export function validateAgentDefinition(agent) {
|
|
64
|
+
const requiredTool = typeof agent.initialRequiredTool === "string"
|
|
65
|
+
? agent.initialRequiredTool.trim()
|
|
66
|
+
: "";
|
|
67
|
+
if (!requiredTool)
|
|
68
|
+
return [];
|
|
69
|
+
const issues = [];
|
|
70
|
+
if (agent.schemaVersion !== 3) {
|
|
71
|
+
issues.push({
|
|
72
|
+
code: "initial_required_tool_schema",
|
|
73
|
+
message: "initialRequiredTool requires schemaVersion 3 so older workers skip rather than silently ignore the contract",
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
if (!agent.tools?.includes(requiredTool)) {
|
|
77
|
+
issues.push({
|
|
78
|
+
code: "initial_required_tool_not_declared",
|
|
79
|
+
message: `initialRequiredTool "${requiredTool}" must also appear in tools`,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
return issues;
|
|
83
|
+
}
|
|
63
84
|
/**
|
|
64
85
|
* `supportsDirectStart` with its default applied. The default is the inverse
|
|
65
86
|
* of "is a sub-agent", so a package that declares neither field behaves
|
|
@@ -257,6 +278,9 @@ function parseAgentFrontmatter(content) {
|
|
|
257
278
|
else if (key === "initialPrompt") {
|
|
258
279
|
meta.initialPrompt = value;
|
|
259
280
|
}
|
|
281
|
+
else if (key === "initialRequiredTool") {
|
|
282
|
+
meta.initialRequiredTool = value || undefined;
|
|
283
|
+
}
|
|
260
284
|
}
|
|
261
285
|
flushMultiline();
|
|
262
286
|
const body = content.slice(endIdx + 4).trimStart(); // skip closing "---\n"
|
|
@@ -269,7 +293,7 @@ function parseAgentFrontmatter(content) {
|
|
|
269
293
|
* @param agentsDir - Path to the agents directory.
|
|
270
294
|
* @returns Array of agent configs. Files that fail to parse are skipped with a warning.
|
|
271
295
|
*/
|
|
272
|
-
export function loadAgentFiles(agentsDir) {
|
|
296
|
+
export function loadAgentFiles(agentsDir, options = {}) {
|
|
273
297
|
const absDir = path.resolve(agentsDir);
|
|
274
298
|
if (!fs.existsSync(absDir)) {
|
|
275
299
|
return [];
|
|
@@ -291,8 +315,8 @@ export function loadAgentFiles(agentsDir) {
|
|
|
291
315
|
console.warn(`[agent-loader] Skipping ${entry.name}: empty prompt body`);
|
|
292
316
|
continue;
|
|
293
317
|
}
|
|
294
|
-
if (meta.schemaVersion !== undefined &&
|
|
295
|
-
console.warn(`[agent-loader] Skipping ${entry.name}: unsupported schemaVersion ${meta.schemaVersion}; expected schemaVersion 1 or
|
|
318
|
+
if (meta.schemaVersion !== undefined && ![1, 2, 3].includes(meta.schemaVersion)) {
|
|
319
|
+
console.warn(`[agent-loader] Skipping ${entry.name}: unsupported schemaVersion ${meta.schemaVersion}; expected schemaVersion 1, 2, or 3`);
|
|
296
320
|
continue;
|
|
297
321
|
}
|
|
298
322
|
// MCP-bearing frontmatter is a schemaVersion-2 shape: version-1
|
|
@@ -304,7 +328,7 @@ export function loadAgentFiles(agentsDir) {
|
|
|
304
328
|
console.warn(`[agent-loader] ${entry.name}: declares MCP servers but schemaVersion ${meta.schemaVersion ?? 1}; declare 'schemaVersion: 2' so older loaders skip this agent instead of silently dropping its MCP configuration.`);
|
|
305
329
|
}
|
|
306
330
|
const crawler = meta.crawler === true || meta.harvester === true;
|
|
307
|
-
|
|
331
|
+
const agent = {
|
|
308
332
|
name: meta.name,
|
|
309
333
|
description: meta.description,
|
|
310
334
|
prompt: body,
|
|
@@ -319,6 +343,7 @@ export function loadAgentFiles(agentsDir) {
|
|
|
319
343
|
splash: meta.splash,
|
|
320
344
|
splashMobile: meta.splashMobile,
|
|
321
345
|
initialPrompt: meta.initialPrompt,
|
|
346
|
+
initialRequiredTool: meta.initialRequiredTool,
|
|
322
347
|
crawler,
|
|
323
348
|
harvester: crawler,
|
|
324
349
|
schemaVersion: meta.schemaVersion,
|
|
@@ -326,7 +351,13 @@ export function loadAgentFiles(agentsDir) {
|
|
|
326
351
|
startedBy: meta.startedBy && meta.startedBy.length > 0 ? meta.startedBy : undefined,
|
|
327
352
|
supportsDirectStart: meta.supportsDirectStart,
|
|
328
353
|
sourcePath: filePath,
|
|
329
|
-
}
|
|
354
|
+
};
|
|
355
|
+
const definitionIssues = validateAgentDefinition(agent);
|
|
356
|
+
if (definitionIssues.length > 0 && !options.includeInvalid) {
|
|
357
|
+
console.warn(`[agent-loader] Skipping ${entry.name}: ${definitionIssues.map((issue) => issue.message).join("; ")}`);
|
|
358
|
+
continue;
|
|
359
|
+
}
|
|
360
|
+
agents.push(agent);
|
|
330
361
|
if (meta.schemaVersion === undefined) {
|
|
331
362
|
console.warn(`[agent-loader] ${entry.name}: missing frontmatter 'schemaVersion'. Defaulting to 1; add 'schemaVersion: 1' to silence this warning.`);
|
|
332
363
|
}
|
package/dist/agent-loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-loader.js","sourceRoot":"","sources":["../src/agent-loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-loader.js","sourceRoot":"","sources":["../src/agent-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,mEAAmE;AAEnE;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IACxC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;SACnC,MAAM,CAAC,0BAA0B,CAAC;SAClC,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO;QACH,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;KACrB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,eAAuB,EAAE,IAAY;IACtE,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;SACnC,MAAM,CAAC,gCAAgC,CAAC;SACxC,MAAM,CAAC,eAAe,CAAC;SACvB,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO;QACH,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;KACrB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC;AAkGD,MAAM,UAAU,uBAAuB,CACnC,KAA2E;IAE3E,MAAM,YAAY,GAAG,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ;QAC9D,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE;QAClC,CAAC,CAAC,EAAE,CAAC;IACT,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAE7B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,6GAA6G;SACzH,CAAC,CAAC;IACP,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,oCAAoC;YAC1C,OAAO,EAAE,wBAAwB,YAAY,6BAA6B;SAC7E,CAAC,CAAC;IACP,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAOD;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAGrB;IAChB,IAAI,OAAO,KAAK,EAAE,mBAAmB,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,mBAAmB,CAAC;IACtF,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,mEAAmE;AAEnE;;;;;;;GAOG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;AAE9F;;;GAGG;AACH,SAAS,qBAAqB,CAAC,OAAe;IAI1C,MAAM,IAAI,GAAib,EAAE,CAAC;IAE9b,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3C,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAChB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,uBAAuB;IACnE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,cAAc,GAAoB,IAAI,CAAC;IAC3C,IAAI,iBAAiB,GAAkB,IAAI,CAAC;IAE5C,MAAM,cAAc,GAAG,GAAG,EAAE;QACxB,IAAI,cAAc,KAAK,IAAI,IAAI,UAAU,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAChD,IAAI,UAAU,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;iBAC1C,IAAI,UAAU,KAAK,cAAc;gBAAE,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;iBAC3D,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;gBACtC,sDAAsD;gBACtD,IAAI,CAAC,aAAa,GAAG,iBAAiB,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAC1F,CAAC;iBACI,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;gBACpC,8DAA8D;gBAC9D,yCAAyC;gBACzC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,CAAC;YACD,cAAc,GAAG,IAAI,CAAC;YACtB,iBAAiB,GAAG,IAAI,CAAC;QAC7B,CAAC;IACL,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,0DAA0D;QAC1D,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC1B,qCAAqC;YACrC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,cAAc,EAAE,CAAC;gBACjB,0CAA0C;YAC9C,CAAC;iBAAM,CAAC;gBACJ,oDAAoD;gBACpD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAClE,SAAS;YACb,CAAC;QACL,CAAC;QAED,gEAAgE;QAChE,kEAAkE;QAClE,iEAAiE;QACjE,kEAAkE;QAClE,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAEtC,mCAAmC;QACnC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,YAAY,IAAI,UAAU,KAAK,WAAW,CAAC,EAAE,CAAC;YAC/I,IAAI,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;gBAChE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC;gBACnE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,KAAK;oBAAE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;iBAAM,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,SAAS;oBAAE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;iBAAM,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,MAAM;oBAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,IAAI,CAAC,UAAU;oBAAE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YACD,SAAS;QACb,CAAC;QAED,iBAAiB;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,QAAQ,KAAK,CAAC,CAAC;YAAE,SAAS;QAE9B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5C,2BAA2B;QAC3B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9C,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACjD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,UAAU,GAAG,GAAG,CAAC;QAEjB,sEAAsE;QACtE,uEAAuE;QACvE,yDAAyD;QACzD,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;YACjE,iBAAiB,GAAG,KAAK,CAAC;YAC1B,cAAc,GAAG,EAAE,CAAC;QACxB,CAAC;aACI,IAAI,GAAG,KAAK,MAAM;YAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;aACtC,IAAI,GAAG,KAAK,aAAa;YAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aACpD,IAAI,GAAG,KAAK,QAAQ;YAAE,IAAI,CAAC,MAAM,GAAG,KAAK,KAAK,MAAM,CAAC;aACrD,IAAI,GAAG,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,MAAM,CAAC;aACvD,IAAI,GAAG,KAAK,WAAW;YAAE,IAAI,CAAC,SAAS,GAAG,KAAK,KAAK,MAAM,CAAC;aAC3D,IAAI,GAAG,KAAK,IAAI;YAAE,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;aAClC,IAAI,GAAG,KAAK,OAAO;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;aACxC,IAAI,GAAG,KAAK,QAAQ;YAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;aAC1C,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;aACI,IAAI,GAAG,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aAC5C,IAAI,GAAG,KAAK,OAAO,IAAI,KAAK,EAAE,CAAC;YAChC,oCAAoC;YACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5F,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;YACnC,iCAAiC;YACjC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QACpB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7F,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACrB,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,IAAI,KAAK,EAAE,CAAC;YACvC,2CAA2C;YAC3C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjG,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,KAAK,EAAE,CAAC;YACtC,sDAAsD;YACtD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChG,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,qBAAqB,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,CAAC,EAAE,CAAC;YAClF,kEAAkE;YAClE,+DAA+D;YAC/D,iEAAiE;YACjE,sDAAsD;YACtD,IAAI,CAAC,mBAAmB,GAAG,KAAK,KAAK,MAAM,CAAC;QAChD,CAAC;aAAM,IAAI,GAAG,KAAK,0BAA0B,EAAE,CAAC;YAC5C,IAAI,CAAC,wBAAwB,GAAG,KAAK,KAAK,MAAM,CAAC;QACrD,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC9B,CAAC;aAAM,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC/B,CAAC;aAAM,IAAI,GAAG,KAAK,qBAAqB,EAAE,CAAC;YACvC,IAAI,CAAC,mBAAmB,GAAG,KAAK,IAAI,SAAS,CAAC;QAClD,CAAC;IACL,CAAC;IAED,cAAc,EAAE,CAAC;IAEjB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,uBAAuB;IAC3E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED,mEAAmE;AAEnE;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,UAAiC,EAAE;IACjF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,SAAS;QAEnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAEtD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACb,wDAAwD;gBACxD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,IAAI,qBAAqB,CAAC,CAAC;gBACzE,SAAS;YACb,CAAC;YAED,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9E,OAAO,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,IAAI,+BAA+B,IAAI,CAAC,aAAa,qCAAqC,CAAC,CAAC;gBAC1I,SAAS;YACb,CAAC;YAED,gEAAgE;YAChE,gEAAgE;YAChE,+DAA+D;YAC/D,gEAAgE;YAChE,0BAA0B;YAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,IAAI,IAAI,CAAC,wBAAwB,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvG,OAAO,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,4CAA4C,IAAI,CAAC,aAAa,IAAI,CAAC,mHAAmH,CAAC,CAAC;YACrO,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC;YACjE,MAAM,KAAK,GAAgB;gBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBAC9D,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBACvE,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBACvF,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;gBACvD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,OAAO;gBACP,SAAS,EAAE,OAAO;gBAClB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACnF,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,UAAU,EAAE,QAAQ;aACvB,CAAC;YACF,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBACzD,OAAO,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpH,SAAS;YACb,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,yGAAyG,CAAC,CAAC;YACxJ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,+GAA+G,CAAC,CAAC;YAC9J,CAAC;QACL,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,kCAAkC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB;IACjC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAChG,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAS;QACxC,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvB,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-package-format.d.ts","sourceRoot":"","sources":["../src/agent-package-format.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent-package-format.d.ts","sourceRoot":"","sources":["../src/agent-package-format.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ import * as zlib from "zlib";
|
|
|
29
29
|
import * as os from "os";
|
|
30
30
|
import * as crypto from "crypto";
|
|
31
31
|
import { spawn } from "child_process";
|
|
32
|
-
import { loadAgentFiles } from "./agent-loader.js";
|
|
32
|
+
import { loadAgentFiles, validateAgentDefinition } from "./agent-loader.js";
|
|
33
33
|
import { loadSkillsSync } from "./skills.js";
|
|
34
34
|
// ─── Reserved artifact identity ──────────────────────────────────
|
|
35
35
|
/**
|
|
@@ -635,7 +635,7 @@ export async function validateAgentPackageDir(rootDir, opts = {}) {
|
|
|
635
635
|
let agents = [];
|
|
636
636
|
if (fs.existsSync(agentsDir)) {
|
|
637
637
|
const agentFiles = fs.readdirSync(agentsDir).filter((f) => f.endsWith(".agent.md")).sort();
|
|
638
|
-
agents = loadAgentFiles(agentsDir);
|
|
638
|
+
agents = loadAgentFiles(agentsDir, { includeInvalid: true });
|
|
639
639
|
if (agents.length < agentFiles.length) {
|
|
640
640
|
// Name the ACTUAL skip reason — these messages are contractual UX
|
|
641
641
|
// and "failed to parse" for an empty body sends users editing the
|
|
@@ -651,8 +651,8 @@ export async function validateAgentPackageDir(rootDir, opts = {}) {
|
|
|
651
651
|
catch { /* fallthrough */ }
|
|
652
652
|
const schemaMatch = /(?:^|\n)schemaVersion:\s*(\S+)/.exec(raw);
|
|
653
653
|
const body = raw.replace(/^---\n[\s\S]*?\n---\n?/, "").trim();
|
|
654
|
-
if (schemaMatch && !["1", "2"].includes(schemaMatch[1])) {
|
|
655
|
-
err(errors, "unsupported_agent_schema_version", `agents/${f}: schemaVersion ${schemaMatch[1]} is not supported (use 1 or
|
|
654
|
+
if (schemaMatch && !["1", "2", "3"].includes(schemaMatch[1])) {
|
|
655
|
+
err(errors, "unsupported_agent_schema_version", `agents/${f}: schemaVersion ${schemaMatch[1]} is not supported (use 1, 2, or 3)`, `agents/${f}`);
|
|
656
656
|
}
|
|
657
657
|
else if (!body) {
|
|
658
658
|
err(errors, "empty_agent_body", `agents/${f}: the markdown body is empty — it becomes the agent's prompt and cannot be blank`, `agents/${f}`);
|
|
@@ -672,6 +672,9 @@ export async function validateAgentPackageDir(rootDir, opts = {}) {
|
|
|
672
672
|
if (agent.name === "default") {
|
|
673
673
|
err(errors, "default_agent_forbidden", `${file}: an agent named "default" is a prompt overlay, not a selectable agent, and is not allowed in packages`, file);
|
|
674
674
|
}
|
|
675
|
+
for (const issue of validateAgentDefinition(agent)) {
|
|
676
|
+
err(errors, issue.code, `${file}: ${issue.message}`, file);
|
|
677
|
+
}
|
|
675
678
|
// Collision checks use the RESOLVER's normalization: the runtime
|
|
676
679
|
// matches case/punctuation-insensitively with an "agent"-suffix
|
|
677
680
|
// fallback, so "Swee-per" genuinely shadows "sweeper".
|
|
@@ -848,6 +851,7 @@ export async function validateAgentPackageDir(rootDir, opts = {}) {
|
|
|
848
851
|
splash: a.splash,
|
|
849
852
|
splashMobile: a.splashMobile,
|
|
850
853
|
initialPrompt: a.initialPrompt,
|
|
854
|
+
initialRequiredTool: a.initialRequiredTool,
|
|
851
855
|
startedBy: a.startedBy,
|
|
852
856
|
supportsDirectStart: a.supportsDirectStart,
|
|
853
857
|
})),
|