pilotswarm-sdk 0.5.63 → 0.5.65
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/src/admin-diagnostics.d.ts +12 -0
- package/api/src/admin-diagnostics.js +38 -1
- package/api/src/http-api-transport.js +26 -0
- package/api/src/protocol.js +15 -0
- package/dist/activity-routing.d.ts +21 -0
- package/dist/activity-routing.d.ts.map +1 -0
- package/dist/activity-routing.js +32 -0
- package/dist/activity-routing.js.map +1 -0
- package/dist/agent-discovery.d.ts +35 -0
- package/dist/agent-discovery.d.ts.map +1 -0
- package/dist/agent-discovery.js +107 -0
- package/dist/agent-discovery.js.map +1 -0
- package/dist/client.d.ts +9 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +94 -12
- package/dist/client.js.map +1 -1
- package/dist/cms-migrations.d.ts.map +1 -1
- package/dist/cms-migrations.js +4 -0
- package/dist/cms-migrations.js.map +1 -1
- package/dist/cms.d.ts +3 -0
- package/dist/cms.d.ts.map +1 -1
- package/dist/cms.js +7 -0
- package/dist/cms.js.map +1 -1
- package/dist/feature-flag-cache.d.ts +40 -0
- package/dist/feature-flag-cache.d.ts.map +1 -0
- package/dist/feature-flag-cache.js +125 -0
- package/dist/feature-flag-cache.js.map +1 -0
- package/dist/feature-flags.d.ts +68 -0
- package/dist/feature-flags.d.ts.map +1 -0
- package/dist/feature-flags.js +45 -0
- package/dist/feature-flags.js.map +1 -0
- package/dist/feature-store.d.ts +55 -0
- package/dist/feature-store.d.ts.map +1 -0
- package/dist/feature-store.js +106 -0
- package/dist/feature-store.js.map +1 -0
- package/dist/feature-tools.d.ts +94 -0
- package/dist/feature-tools.d.ts.map +1 -0
- package/dist/feature-tools.js +60 -0
- package/dist/feature-tools.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/managed-session.d.ts +4 -0
- package/dist/managed-session.d.ts.map +1 -1
- package/dist/managed-session.js +120 -23
- package/dist/managed-session.js.map +1 -1
- package/dist/management-client.d.ts +18 -0
- package/dist/management-client.d.ts.map +1 -1
- package/dist/management-client.js +19 -0
- package/dist/management-client.js.map +1 -1
- package/dist/migrations/feature-flags-0077.d.ts +3 -0
- package/dist/migrations/feature-flags-0077.d.ts.map +1 -0
- package/dist/migrations/feature-flags-0077.js +271 -0
- package/dist/migrations/feature-flags-0077.js.map +1 -0
- package/dist/migrations/native-tasks-default-policy-0078.d.ts +3 -0
- package/dist/migrations/native-tasks-default-policy-0078.d.ts.map +1 -0
- package/dist/migrations/native-tasks-default-policy-0078.js +21 -0
- package/dist/migrations/native-tasks-default-policy-0078.js.map +1 -0
- package/dist/native-subagents.d.ts +25 -0
- package/dist/native-subagents.d.ts.map +1 -0
- package/dist/native-subagents.js +191 -0
- package/dist/native-subagents.js.map +1 -0
- package/dist/native-task-observer.d.ts +87 -0
- package/dist/native-task-observer.d.ts.map +1 -0
- package/dist/native-task-observer.js +268 -0
- package/dist/native-task-observer.js.map +1 -0
- package/dist/orchestration/agents.d.ts +8 -3
- package/dist/orchestration/agents.d.ts.map +1 -1
- package/dist/orchestration/agents.js +87 -36
- 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/lifecycle.js +1 -1
- package/dist/orchestration/lifecycle.js.map +1 -1
- package/dist/orchestration/runtime.d.ts +1 -1
- package/dist/orchestration/runtime.d.ts.map +1 -1
- package/dist/orchestration/runtime.js +18 -4
- package/dist/orchestration/runtime.js.map +1 -1
- package/dist/orchestration/turn.d.ts.map +1 -1
- package/dist/orchestration/turn.js +3 -5
- package/dist/orchestration/turn.js.map +1 -1
- package/dist/orchestration-registry.d.ts.map +1 -1
- package/dist/orchestration-registry.js +12 -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_73/agents.d.ts +61 -0
- package/dist/orchestration_1_0_73/agents.d.ts.map +1 -0
- package/dist/orchestration_1_0_73/agents.js +843 -0
- package/dist/orchestration_1_0_73/agents.js.map +1 -0
- package/dist/orchestration_1_0_73/index.d.ts +24 -0
- package/dist/orchestration_1_0_73/index.d.ts.map +1 -0
- package/dist/orchestration_1_0_73/index.js +13 -0
- package/dist/orchestration_1_0_73/index.js.map +1 -0
- package/dist/orchestration_1_0_73/lifecycle.d.ts +51 -0
- package/dist/orchestration_1_0_73/lifecycle.d.ts.map +1 -0
- package/dist/orchestration_1_0_73/lifecycle.js +981 -0
- package/dist/orchestration_1_0_73/lifecycle.js.map +1 -0
- package/dist/orchestration_1_0_73/queue.d.ts +20 -0
- package/dist/orchestration_1_0_73/queue.d.ts.map +1 -0
- package/dist/orchestration_1_0_73/queue.js +894 -0
- package/dist/orchestration_1_0_73/queue.js.map +1 -0
- package/dist/orchestration_1_0_73/runtime.d.ts +31 -0
- package/dist/orchestration_1_0_73/runtime.d.ts.map +1 -0
- package/dist/orchestration_1_0_73/runtime.js +230 -0
- package/dist/orchestration_1_0_73/runtime.js.map +1 -0
- package/dist/orchestration_1_0_73/state.d.ts +214 -0
- package/dist/orchestration_1_0_73/state.d.ts.map +1 -0
- package/dist/orchestration_1_0_73/state.js +178 -0
- package/dist/orchestration_1_0_73/state.js.map +1 -0
- package/dist/orchestration_1_0_73/turn.d.ts +34 -0
- package/dist/orchestration_1_0_73/turn.d.ts.map +1 -0
- package/dist/orchestration_1_0_73/turn.js +1435 -0
- package/dist/orchestration_1_0_73/turn.js.map +1 -0
- package/dist/orchestration_1_0_73/utils.d.ts +39 -0
- package/dist/orchestration_1_0_73/utils.d.ts.map +1 -0
- package/dist/orchestration_1_0_73/utils.js +322 -0
- package/dist/orchestration_1_0_73/utils.js.map +1 -0
- package/dist/orchestration_1_0_74/agents.d.ts +61 -0
- package/dist/orchestration_1_0_74/agents.d.ts.map +1 -0
- package/dist/orchestration_1_0_74/agents.js +889 -0
- package/dist/orchestration_1_0_74/agents.js.map +1 -0
- package/dist/orchestration_1_0_74/index.d.ts +24 -0
- package/dist/orchestration_1_0_74/index.d.ts.map +1 -0
- package/dist/orchestration_1_0_74/index.js +13 -0
- package/dist/orchestration_1_0_74/index.js.map +1 -0
- package/dist/orchestration_1_0_74/lifecycle.d.ts +51 -0
- package/dist/orchestration_1_0_74/lifecycle.d.ts.map +1 -0
- package/dist/orchestration_1_0_74/lifecycle.js +981 -0
- package/dist/orchestration_1_0_74/lifecycle.js.map +1 -0
- package/dist/orchestration_1_0_74/queue.d.ts +20 -0
- package/dist/orchestration_1_0_74/queue.d.ts.map +1 -0
- package/dist/orchestration_1_0_74/queue.js +894 -0
- package/dist/orchestration_1_0_74/queue.js.map +1 -0
- package/dist/orchestration_1_0_74/runtime.d.ts +31 -0
- package/dist/orchestration_1_0_74/runtime.d.ts.map +1 -0
- package/dist/orchestration_1_0_74/runtime.js +232 -0
- package/dist/orchestration_1_0_74/runtime.js.map +1 -0
- package/dist/orchestration_1_0_74/state.d.ts +214 -0
- package/dist/orchestration_1_0_74/state.d.ts.map +1 -0
- package/dist/orchestration_1_0_74/state.js +178 -0
- package/dist/orchestration_1_0_74/state.js.map +1 -0
- package/dist/orchestration_1_0_74/turn.d.ts +34 -0
- package/dist/orchestration_1_0_74/turn.d.ts.map +1 -0
- package/dist/orchestration_1_0_74/turn.js +1435 -0
- package/dist/orchestration_1_0_74/turn.js.map +1 -0
- package/dist/orchestration_1_0_74/utils.d.ts +39 -0
- package/dist/orchestration_1_0_74/utils.d.ts.map +1 -0
- package/dist/orchestration_1_0_74/utils.js +322 -0
- package/dist/orchestration_1_0_74/utils.js.map +1 -0
- package/dist/orchestration_1_0_75/agents.d.ts +61 -0
- package/dist/orchestration_1_0_75/agents.d.ts.map +1 -0
- package/dist/orchestration_1_0_75/agents.js +887 -0
- package/dist/orchestration_1_0_75/agents.js.map +1 -0
- package/dist/orchestration_1_0_75/index.d.ts +24 -0
- package/dist/orchestration_1_0_75/index.d.ts.map +1 -0
- package/dist/orchestration_1_0_75/index.js +13 -0
- package/dist/orchestration_1_0_75/index.js.map +1 -0
- package/dist/orchestration_1_0_75/lifecycle.d.ts +51 -0
- package/dist/orchestration_1_0_75/lifecycle.d.ts.map +1 -0
- package/dist/orchestration_1_0_75/lifecycle.js +981 -0
- package/dist/orchestration_1_0_75/lifecycle.js.map +1 -0
- package/dist/orchestration_1_0_75/queue.d.ts +20 -0
- package/dist/orchestration_1_0_75/queue.d.ts.map +1 -0
- package/dist/orchestration_1_0_75/queue.js +894 -0
- package/dist/orchestration_1_0_75/queue.js.map +1 -0
- package/dist/orchestration_1_0_75/runtime.d.ts +31 -0
- package/dist/orchestration_1_0_75/runtime.d.ts.map +1 -0
- package/dist/orchestration_1_0_75/runtime.js +239 -0
- package/dist/orchestration_1_0_75/runtime.js.map +1 -0
- package/dist/orchestration_1_0_75/state.d.ts +214 -0
- package/dist/orchestration_1_0_75/state.d.ts.map +1 -0
- package/dist/orchestration_1_0_75/state.js +178 -0
- package/dist/orchestration_1_0_75/state.js.map +1 -0
- package/dist/orchestration_1_0_75/turn.d.ts +34 -0
- package/dist/orchestration_1_0_75/turn.d.ts.map +1 -0
- package/dist/orchestration_1_0_75/turn.js +1435 -0
- package/dist/orchestration_1_0_75/turn.js.map +1 -0
- package/dist/orchestration_1_0_75/utils.d.ts +39 -0
- package/dist/orchestration_1_0_75/utils.d.ts.map +1 -0
- package/dist/orchestration_1_0_75/utils.js +322 -0
- package/dist/orchestration_1_0_75/utils.js.map +1 -0
- package/dist/orchestration_1_0_76/agents.d.ts +61 -0
- package/dist/orchestration_1_0_76/agents.d.ts.map +1 -0
- package/dist/orchestration_1_0_76/agents.js +865 -0
- package/dist/orchestration_1_0_76/agents.js.map +1 -0
- package/dist/orchestration_1_0_76/index.d.ts +24 -0
- package/dist/orchestration_1_0_76/index.d.ts.map +1 -0
- package/dist/orchestration_1_0_76/index.js +13 -0
- package/dist/orchestration_1_0_76/index.js.map +1 -0
- package/dist/orchestration_1_0_76/lifecycle.d.ts +51 -0
- package/dist/orchestration_1_0_76/lifecycle.d.ts.map +1 -0
- package/dist/orchestration_1_0_76/lifecycle.js +981 -0
- package/dist/orchestration_1_0_76/lifecycle.js.map +1 -0
- package/dist/orchestration_1_0_76/queue.d.ts +20 -0
- package/dist/orchestration_1_0_76/queue.d.ts.map +1 -0
- package/dist/orchestration_1_0_76/queue.js +894 -0
- package/dist/orchestration_1_0_76/queue.js.map +1 -0
- package/dist/orchestration_1_0_76/runtime.d.ts +31 -0
- package/dist/orchestration_1_0_76/runtime.d.ts.map +1 -0
- package/dist/orchestration_1_0_76/runtime.js +239 -0
- package/dist/orchestration_1_0_76/runtime.js.map +1 -0
- package/dist/orchestration_1_0_76/state.d.ts +214 -0
- package/dist/orchestration_1_0_76/state.d.ts.map +1 -0
- package/dist/orchestration_1_0_76/state.js +178 -0
- package/dist/orchestration_1_0_76/state.js.map +1 -0
- package/dist/orchestration_1_0_76/turn.d.ts +34 -0
- package/dist/orchestration_1_0_76/turn.d.ts.map +1 -0
- package/dist/orchestration_1_0_76/turn.js +1435 -0
- package/dist/orchestration_1_0_76/turn.js.map +1 -0
- package/dist/orchestration_1_0_76/utils.d.ts +39 -0
- package/dist/orchestration_1_0_76/utils.d.ts.map +1 -0
- package/dist/orchestration_1_0_76/utils.js +322 -0
- package/dist/orchestration_1_0_76/utils.js.map +1 -0
- package/dist/orchestration_1_0_77/agents.d.ts +66 -0
- package/dist/orchestration_1_0_77/agents.d.ts.map +1 -0
- package/dist/orchestration_1_0_77/agents.js +895 -0
- package/dist/orchestration_1_0_77/agents.js.map +1 -0
- package/dist/orchestration_1_0_77/index.d.ts +24 -0
- package/dist/orchestration_1_0_77/index.d.ts.map +1 -0
- package/dist/orchestration_1_0_77/index.js +13 -0
- package/dist/orchestration_1_0_77/index.js.map +1 -0
- package/dist/orchestration_1_0_77/lifecycle.d.ts +51 -0
- package/dist/orchestration_1_0_77/lifecycle.d.ts.map +1 -0
- package/dist/orchestration_1_0_77/lifecycle.js +981 -0
- package/dist/orchestration_1_0_77/lifecycle.js.map +1 -0
- package/dist/orchestration_1_0_77/queue.d.ts +20 -0
- package/dist/orchestration_1_0_77/queue.d.ts.map +1 -0
- package/dist/orchestration_1_0_77/queue.js +894 -0
- package/dist/orchestration_1_0_77/queue.js.map +1 -0
- package/dist/orchestration_1_0_77/runtime.d.ts +31 -0
- package/dist/orchestration_1_0_77/runtime.d.ts.map +1 -0
- package/dist/orchestration_1_0_77/runtime.js +239 -0
- package/dist/orchestration_1_0_77/runtime.js.map +1 -0
- package/dist/orchestration_1_0_77/state.d.ts +214 -0
- package/dist/orchestration_1_0_77/state.d.ts.map +1 -0
- package/dist/orchestration_1_0_77/state.js +178 -0
- package/dist/orchestration_1_0_77/state.js.map +1 -0
- package/dist/orchestration_1_0_77/turn.d.ts +34 -0
- package/dist/orchestration_1_0_77/turn.d.ts.map +1 -0
- package/dist/orchestration_1_0_77/turn.js +1433 -0
- package/dist/orchestration_1_0_77/turn.js.map +1 -0
- package/dist/orchestration_1_0_77/utils.d.ts +39 -0
- package/dist/orchestration_1_0_77/utils.d.ts.map +1 -0
- package/dist/orchestration_1_0_77/utils.js +322 -0
- package/dist/orchestration_1_0_77/utils.js.map +1 -0
- package/dist/reserved-tool-names.d.ts +5 -0
- package/dist/reserved-tool-names.d.ts.map +1 -0
- package/dist/reserved-tool-names.js +102 -0
- package/dist/reserved-tool-names.js.map +1 -0
- package/dist/session-manager.d.ts +31 -1
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +343 -102
- package/dist/session-manager.js.map +1 -1
- package/dist/session-proxy.d.ts +28 -3
- package/dist/session-proxy.d.ts.map +1 -1
- package/dist/session-proxy.js +192 -71
- package/dist/session-proxy.js.map +1 -1
- package/dist/session-store.d.ts +2 -0
- package/dist/session-store.d.ts.map +1 -1
- package/dist/session-store.js +18 -2
- package/dist/session-store.js.map +1 -1
- package/dist/types.d.ts +25 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/web/generated-op-methods.d.ts +96 -0
- package/dist/web/generated-op-methods.d.ts.map +1 -1
- package/dist/web/generated-op-methods.js +24 -0
- package/dist/web/generated-op-methods.js.map +1 -1
- package/dist/web/web-management-client.d.ts +13 -0
- package/dist/web/web-management-client.d.ts.map +1 -1
- package/dist/web/web-management-client.js +12 -0
- package/dist/web/web-management-client.js.map +1 -1
- package/dist/worker.d.ts +13 -3
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +150 -110
- package/dist/worker.js.map +1 -1
- package/package.json +4 -3
- package/plugins/mgmt/agents/pilotswarm.agent.md +18 -1
- package/plugins/mgmt/agents/resourcemgr.agent.md +18 -1
- package/plugins/system/agents/default.agent.md +16 -7
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { CopilotSession } from "@github/copilot-sdk";
|
|
2
|
+
export interface NativeTaskSummary {
|
|
3
|
+
id: string;
|
|
4
|
+
toolCallId: string;
|
|
5
|
+
agentId?: string;
|
|
6
|
+
title: string;
|
|
7
|
+
profile?: string;
|
|
8
|
+
model?: string;
|
|
9
|
+
status: "running" | "waiting" | "completed" | "failed" | "cancelled" | "interrupted";
|
|
10
|
+
startedAt: string;
|
|
11
|
+
completedAt?: string;
|
|
12
|
+
durationMs?: number;
|
|
13
|
+
toolCalls: number;
|
|
14
|
+
preview?: string;
|
|
15
|
+
result?: string;
|
|
16
|
+
error?: string;
|
|
17
|
+
recentActivity?: Array<{
|
|
18
|
+
message: string;
|
|
19
|
+
timestamp: string;
|
|
20
|
+
}>;
|
|
21
|
+
}
|
|
22
|
+
export interface NativeTasksPayload {
|
|
23
|
+
version: 1;
|
|
24
|
+
ownerId: string;
|
|
25
|
+
ownerStartedAt: number;
|
|
26
|
+
turnIndex: number;
|
|
27
|
+
revision: number;
|
|
28
|
+
phase: "live" | "idle";
|
|
29
|
+
tasks: NativeTaskSummary[];
|
|
30
|
+
truncated?: boolean;
|
|
31
|
+
}
|
|
32
|
+
interface Options {
|
|
33
|
+
turnIndex?: number;
|
|
34
|
+
intervalMs?: number;
|
|
35
|
+
timeoutMs?: number;
|
|
36
|
+
emit: (event: {
|
|
37
|
+
eventType: string;
|
|
38
|
+
data: any;
|
|
39
|
+
}) => void;
|
|
40
|
+
}
|
|
41
|
+
/** A read-only, per-turn projection of native work. Registry notifications are
|
|
42
|
+
* invalidations, never transcript entries. Lifecycle events remain authoritative;
|
|
43
|
+
* deleting/reusing a CLI registry entry cannot rewrite a completed invocation.
|
|
44
|
+
*/
|
|
45
|
+
export declare class NativeTaskObserver {
|
|
46
|
+
private readonly session;
|
|
47
|
+
private readonly options;
|
|
48
|
+
private readonly ownerId;
|
|
49
|
+
private readonly ownerStartedAt;
|
|
50
|
+
private readonly tasks;
|
|
51
|
+
private readonly agents;
|
|
52
|
+
private readonly toolCalls;
|
|
53
|
+
private readonly persisted;
|
|
54
|
+
private readonly intervalMs;
|
|
55
|
+
private revision;
|
|
56
|
+
private phase;
|
|
57
|
+
private closed;
|
|
58
|
+
private truncated;
|
|
59
|
+
private publishTimer?;
|
|
60
|
+
private refreshTimer?;
|
|
61
|
+
private rpcTimer?;
|
|
62
|
+
private lastPublished;
|
|
63
|
+
private lastRefresh;
|
|
64
|
+
private refreshing;
|
|
65
|
+
private dirty;
|
|
66
|
+
private rpcDisabled;
|
|
67
|
+
constructor(session: Pick<CopilotSession, "rpc">, options: Options);
|
|
68
|
+
observe(event: {
|
|
69
|
+
type?: string;
|
|
70
|
+
eventType?: string;
|
|
71
|
+
data?: any;
|
|
72
|
+
agentId?: string;
|
|
73
|
+
timestamp?: string;
|
|
74
|
+
}): void;
|
|
75
|
+
/** Never await telemetry on the model path, including hung JSON-RPC calls. */
|
|
76
|
+
finish(status?: "interrupted" | "cancelled"): void;
|
|
77
|
+
private setTerminal;
|
|
78
|
+
private persistBoundary;
|
|
79
|
+
private emit;
|
|
80
|
+
private copy;
|
|
81
|
+
private publish;
|
|
82
|
+
private schedulePublish;
|
|
83
|
+
private invalidate;
|
|
84
|
+
private refresh;
|
|
85
|
+
}
|
|
86
|
+
export {};
|
|
87
|
+
//# sourceMappingURL=native-task-observer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-task-observer.d.ts","sourceRoot":"","sources":["../src/native-task-observer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
const terminal = (status) => !["running", "waiting"].includes(status);
|
|
3
|
+
const text = (value, limit = 240) => typeof value === "string" && value.trim() ? value.trim().slice(0, limit) : undefined;
|
|
4
|
+
const iso = (value) => typeof value === "string" && Number.isFinite(Date.parse(value))
|
|
5
|
+
? new Date(value).toISOString() : new Date().toISOString();
|
|
6
|
+
const resultText = (data) => text(data?.result?.detailedContent ?? data?.result?.content
|
|
7
|
+
?? data?.result?.textResultForLlm ?? data?.result ?? data?.content, 4_096);
|
|
8
|
+
const failed = (data) => data?.success === false || data?.result?.success === false || Boolean(data?.error)
|
|
9
|
+
|| ["failure", "failed", "rejected", "denied"].includes(data?.result?.resultType ?? data?.resultType);
|
|
10
|
+
/** A read-only, per-turn projection of native work. Registry notifications are
|
|
11
|
+
* invalidations, never transcript entries. Lifecycle events remain authoritative;
|
|
12
|
+
* deleting/reusing a CLI registry entry cannot rewrite a completed invocation.
|
|
13
|
+
*/
|
|
14
|
+
export class NativeTaskObserver {
|
|
15
|
+
session;
|
|
16
|
+
options;
|
|
17
|
+
ownerId = randomUUID();
|
|
18
|
+
ownerStartedAt = Date.now();
|
|
19
|
+
tasks = new Map();
|
|
20
|
+
agents = new Map();
|
|
21
|
+
toolCalls = new Set();
|
|
22
|
+
persisted = new Map();
|
|
23
|
+
intervalMs;
|
|
24
|
+
revision = 0;
|
|
25
|
+
phase = "live";
|
|
26
|
+
closed = false;
|
|
27
|
+
truncated = false;
|
|
28
|
+
publishTimer;
|
|
29
|
+
refreshTimer;
|
|
30
|
+
rpcTimer;
|
|
31
|
+
lastPublished = -Infinity;
|
|
32
|
+
lastRefresh = -Infinity;
|
|
33
|
+
refreshing = false;
|
|
34
|
+
dirty = false;
|
|
35
|
+
rpcDisabled = false;
|
|
36
|
+
constructor(session, options) {
|
|
37
|
+
this.session = session;
|
|
38
|
+
this.options = options;
|
|
39
|
+
this.intervalMs = Math.max(1, options.intervalMs ?? 500);
|
|
40
|
+
}
|
|
41
|
+
observe(event) {
|
|
42
|
+
if (this.closed)
|
|
43
|
+
return;
|
|
44
|
+
const kind = (event.type ?? event.eventType ?? "").replace(/^native\./, "");
|
|
45
|
+
const data = event.data ?? {};
|
|
46
|
+
if (kind === "session.background_tasks_changed") {
|
|
47
|
+
this.invalidate();
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const agentId = text(event.agentId ?? data.nativeAgentId, 200);
|
|
51
|
+
const isChild = Boolean(agentId || data.parentToolCallId);
|
|
52
|
+
const isTaskTool = !isChild && (data.toolName ?? data.name) === "task";
|
|
53
|
+
const lifecycle = kind.startsWith("subagent.");
|
|
54
|
+
const callId = text(lifecycle || isTaskTool ? data.toolCallId ?? (agentId ? this.agents.get(agentId) : undefined)
|
|
55
|
+
: data.parentToolCallId ?? (agentId ? this.agents.get(agentId) : undefined), 200);
|
|
56
|
+
if (!callId)
|
|
57
|
+
return;
|
|
58
|
+
let task = this.tasks.get(callId);
|
|
59
|
+
if (!task && !(lifecycle || isTaskTool))
|
|
60
|
+
return;
|
|
61
|
+
if (!task) {
|
|
62
|
+
if (this.tasks.size >= 32) {
|
|
63
|
+
this.truncated = true;
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const args = data.arguments ?? data.args ?? {};
|
|
67
|
+
task = { id: callId, toolCallId: callId,
|
|
68
|
+
title: text(args.description ?? args.name ?? data.agentDisplayName) ?? "Native task",
|
|
69
|
+
profile: text(args.agent_type ?? data.agentName),
|
|
70
|
+
status: "running", startedAt: iso(event.timestamp), toolCalls: 0 };
|
|
71
|
+
this.tasks.set(callId, task);
|
|
72
|
+
}
|
|
73
|
+
// A completed invocation is immutable except for the parent tool's
|
|
74
|
+
// returned result, which commonly arrives just after its lifecycle
|
|
75
|
+
// completion. Cleanup can emit another completion or child events.
|
|
76
|
+
const wasTerminal = terminal(task.status);
|
|
77
|
+
if (wasTerminal && !isTaskTool)
|
|
78
|
+
return;
|
|
79
|
+
if (agentId && lifecycle) {
|
|
80
|
+
task.agentId = agentId;
|
|
81
|
+
this.agents.set(agentId, callId);
|
|
82
|
+
}
|
|
83
|
+
if (kind === "subagent.configured" && data.model)
|
|
84
|
+
task.model = text(data.model);
|
|
85
|
+
if (kind === "subagent.completed" && data.firstDispatchedModel)
|
|
86
|
+
task.model = text(data.firstDispatchedModel);
|
|
87
|
+
if (kind === "subagent.started") {
|
|
88
|
+
task.profile = text(data.agentName ?? data.agentType) ?? task.profile;
|
|
89
|
+
this.invalidate();
|
|
90
|
+
}
|
|
91
|
+
if (kind === "subagent.completed" || kind === "subagent.failed") {
|
|
92
|
+
this.setTerminal(task, kind === "subagent.failed" ? "failed" : data.cancelled === true ? "cancelled" : "completed", event.timestamp);
|
|
93
|
+
if (Number.isFinite(data.durationMs))
|
|
94
|
+
task.durationMs = Math.max(0, data.durationMs);
|
|
95
|
+
if (Number.isFinite(data.totalToolCalls))
|
|
96
|
+
task.toolCalls = Math.max(task.toolCalls, data.totalToolCalls);
|
|
97
|
+
task.error = text(data.error, 1_000) ?? task.error;
|
|
98
|
+
}
|
|
99
|
+
else if (kind === "tool.execution_complete" && isTaskTool) {
|
|
100
|
+
const taskFailed = failed(data);
|
|
101
|
+
if (wasTerminal && (task.status !== "completed" || taskFailed))
|
|
102
|
+
return;
|
|
103
|
+
this.setTerminal(task, taskFailed ? "failed" : "completed", event.timestamp);
|
|
104
|
+
task.result = resultText(data) ?? task.result;
|
|
105
|
+
if (taskFailed)
|
|
106
|
+
task.error = text(data.error?.message ?? data.error, 1_000) ?? task.result ?? "Task failed";
|
|
107
|
+
if (task.result)
|
|
108
|
+
task.preview = text(task.result);
|
|
109
|
+
}
|
|
110
|
+
else if (isChild && kind === "tool.execution_start") {
|
|
111
|
+
const key = `${callId}:${data.toolCallId}`;
|
|
112
|
+
if (!this.toolCalls.has(key)) {
|
|
113
|
+
this.toolCalls.add(key);
|
|
114
|
+
task.toolCalls++;
|
|
115
|
+
}
|
|
116
|
+
task.preview = text(data.arguments?.description ?? data.args?.description ?? data.toolName) ?? task.preview;
|
|
117
|
+
}
|
|
118
|
+
else if (isChild && kind === "assistant.message") {
|
|
119
|
+
const content = text(data.content, 4_096);
|
|
120
|
+
if (content) {
|
|
121
|
+
task.preview = text(content);
|
|
122
|
+
// A child message may be commentary. Only a parent task result
|
|
123
|
+
// or registry result establishes the returned result text.
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
this.persistBoundary(task);
|
|
127
|
+
this.schedulePublish();
|
|
128
|
+
}
|
|
129
|
+
/** Never await telemetry on the model path, including hung JSON-RPC calls. */
|
|
130
|
+
finish(status = "interrupted") {
|
|
131
|
+
if (this.closed)
|
|
132
|
+
return;
|
|
133
|
+
this.closed = true;
|
|
134
|
+
this.phase = "idle";
|
|
135
|
+
for (const task of this.tasks.values()) {
|
|
136
|
+
if (!terminal(task.status)) {
|
|
137
|
+
this.setTerminal(task, status);
|
|
138
|
+
this.persistBoundary(task);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (this.publishTimer)
|
|
142
|
+
clearTimeout(this.publishTimer);
|
|
143
|
+
if (this.refreshTimer)
|
|
144
|
+
clearTimeout(this.refreshTimer);
|
|
145
|
+
if (this.rpcTimer)
|
|
146
|
+
clearTimeout(this.rpcTimer);
|
|
147
|
+
this.publish();
|
|
148
|
+
}
|
|
149
|
+
setTerminal(task, status, timestamp) {
|
|
150
|
+
// Cleanup cancellation and late registry reads must not override an
|
|
151
|
+
// already observed answer, failure, or cancellation.
|
|
152
|
+
if (terminal(task.status))
|
|
153
|
+
return;
|
|
154
|
+
task.status = status;
|
|
155
|
+
task.completedAt = iso(timestamp);
|
|
156
|
+
task.durationMs = Math.max(0, Date.parse(task.completedAt) - Date.parse(task.startedAt));
|
|
157
|
+
if (status === "cancelled")
|
|
158
|
+
task.error = "Task was cancelled before returning a result.";
|
|
159
|
+
if (status === "interrupted")
|
|
160
|
+
task.error = "The parent turn ended before a task result was confirmed.";
|
|
161
|
+
}
|
|
162
|
+
persistBoundary(task) {
|
|
163
|
+
if (this.persisted.has(task.id) && !terminal(task.status))
|
|
164
|
+
return;
|
|
165
|
+
const signature = JSON.stringify(task);
|
|
166
|
+
if (this.persisted.get(task.id) === signature)
|
|
167
|
+
return;
|
|
168
|
+
this.persisted.set(task.id, signature);
|
|
169
|
+
this.emit("native.task_updated", { ...this.copy(task), ownerId: this.ownerId, ownerStartedAt: this.ownerStartedAt,
|
|
170
|
+
turnIndex: this.options.turnIndex ?? -1, revision: ++this.revision });
|
|
171
|
+
}
|
|
172
|
+
emit(eventType, data) {
|
|
173
|
+
try {
|
|
174
|
+
this.options.emit({ eventType, data });
|
|
175
|
+
}
|
|
176
|
+
catch { /* telemetry cannot fail a turn */ }
|
|
177
|
+
}
|
|
178
|
+
copy(task) {
|
|
179
|
+
return { ...task, ...(task.recentActivity ? { recentActivity: task.recentActivity.map(line => ({ ...line })) } : {}) };
|
|
180
|
+
}
|
|
181
|
+
publish() {
|
|
182
|
+
this.publishTimer = undefined;
|
|
183
|
+
this.lastPublished = Date.now();
|
|
184
|
+
const payload = { version: 1, ownerId: this.ownerId, ownerStartedAt: this.ownerStartedAt,
|
|
185
|
+
turnIndex: this.options.turnIndex ?? -1, revision: ++this.revision, phase: this.phase,
|
|
186
|
+
tasks: [...this.tasks.values()].map(task => this.copy(task)), ...(this.truncated ? { truncated: true } : {}) };
|
|
187
|
+
// JSON escaping and non-ASCII text can exceed the nominal character
|
|
188
|
+
// budget. Keep the live row below the plane's 256 KiB limit as well.
|
|
189
|
+
while (Buffer.byteLength(JSON.stringify(payload)) > 240_000 && payload.tasks.length) {
|
|
190
|
+
payload.tasks.shift();
|
|
191
|
+
payload.truncated = true;
|
|
192
|
+
}
|
|
193
|
+
this.emit("session.native_tasks_tick", payload);
|
|
194
|
+
}
|
|
195
|
+
schedulePublish() {
|
|
196
|
+
if (this.publishTimer || this.closed)
|
|
197
|
+
return;
|
|
198
|
+
this.publishTimer = setTimeout(() => this.publish(), Math.max(1, this.intervalMs - (Date.now() - this.lastPublished)));
|
|
199
|
+
this.publishTimer.unref?.();
|
|
200
|
+
}
|
|
201
|
+
invalidate() {
|
|
202
|
+
if (this.closed || this.rpcDisabled)
|
|
203
|
+
return;
|
|
204
|
+
this.dirty = true;
|
|
205
|
+
if (this.refreshing || this.refreshTimer)
|
|
206
|
+
return;
|
|
207
|
+
this.refreshTimer = setTimeout(() => { this.refreshTimer = undefined; void this.refresh(); }, Math.max(Math.min(300, this.intervalMs), this.intervalMs - (Date.now() - this.lastRefresh)));
|
|
208
|
+
this.refreshTimer.unref?.();
|
|
209
|
+
}
|
|
210
|
+
async refresh() {
|
|
211
|
+
if (this.closed || this.rpcDisabled)
|
|
212
|
+
return;
|
|
213
|
+
this.dirty = false;
|
|
214
|
+
this.refreshing = true;
|
|
215
|
+
this.lastRefresh = Date.now();
|
|
216
|
+
// Disable registry observation for this turn if an RPC hangs. Do not
|
|
217
|
+
// enqueue more requests behind it; event-based status keeps working.
|
|
218
|
+
this.rpcTimer = setTimeout(() => { this.rpcDisabled = true; }, this.options.timeoutMs ?? 1_500);
|
|
219
|
+
this.rpcTimer.unref?.();
|
|
220
|
+
const active = () => !this.closed && !this.rpcDisabled;
|
|
221
|
+
try {
|
|
222
|
+
const response = await this.session.rpc.tasks.list();
|
|
223
|
+
if (!active())
|
|
224
|
+
return;
|
|
225
|
+
// allSettled keeps one failed child RPC from releasing the batch
|
|
226
|
+
// while another request is still pending behind it.
|
|
227
|
+
await Promise.allSettled(response.tasks.filter(row => row.type === "agent").slice(0, 32).map(async (row) => {
|
|
228
|
+
if (row.type !== "agent")
|
|
229
|
+
return;
|
|
230
|
+
const task = this.tasks.get(row.toolCallId);
|
|
231
|
+
// Registry-only work has no transcript anchor. In particular,
|
|
232
|
+
// don't import restored tasks from a prior worker/turn.
|
|
233
|
+
if (!task)
|
|
234
|
+
return;
|
|
235
|
+
if (!terminal(task.status)) {
|
|
236
|
+
task.agentId = row.id;
|
|
237
|
+
this.agents.set(row.id, task.id);
|
|
238
|
+
if (row.status === "idle" || row.status === "running")
|
|
239
|
+
task.status = row.status === "idle" ? "waiting" : "running";
|
|
240
|
+
// row.model is the requested override, not execution proof.
|
|
241
|
+
task.model = text(row.resolvedModel) ?? task.model;
|
|
242
|
+
}
|
|
243
|
+
task.result ??= text(row.result, 4_096);
|
|
244
|
+
if (terminal(task.status)) {
|
|
245
|
+
this.persistBoundary(task);
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
const { progress } = await this.session.rpc.tasks.getProgress({ id: row.id });
|
|
249
|
+
if (!active() || terminal(task.status) || progress?.type !== "agent")
|
|
250
|
+
return;
|
|
251
|
+
task.recentActivity = progress.recentActivity.slice(-5).map(line => ({ message: text(line.message) ?? "", timestamp: iso(line.timestamp) }));
|
|
252
|
+
task.preview = text(progress.latestIntent) ?? task.recentActivity.at(-1)?.message ?? task.preview;
|
|
253
|
+
}));
|
|
254
|
+
if (active())
|
|
255
|
+
this.schedulePublish();
|
|
256
|
+
}
|
|
257
|
+
catch { /* Experimental registry RPC failures are cosmetic. */ }
|
|
258
|
+
finally {
|
|
259
|
+
if (this.rpcTimer)
|
|
260
|
+
clearTimeout(this.rpcTimer);
|
|
261
|
+
this.rpcTimer = undefined;
|
|
262
|
+
this.refreshing = false;
|
|
263
|
+
if (this.dirty && active())
|
|
264
|
+
this.invalidate();
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
//# sourceMappingURL=native-task-observer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-task-observer.js","sourceRoot":"","sources":["../src/native-task-observer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,11 @@ import type { CommandMessage, ChildSessionVerdict, SubAgentEntry } from "../type
|
|
|
2
2
|
import { type DurableSessionRuntime, type PendingShutdownState, type ShutdownMode } from "./state.js";
|
|
3
3
|
export type { PendingShutdownState, ShutdownMode };
|
|
4
4
|
export declare function isSubAgentTerminalStatus(status?: string): boolean;
|
|
5
|
+
/** Preserve child answers when a status probe only has orchestration exit output. */
|
|
6
|
+
export declare function getChildResultFromStatus(child: {
|
|
7
|
+
result?: unknown;
|
|
8
|
+
resultSource?: string;
|
|
9
|
+
}, previous?: string): string | undefined;
|
|
5
10
|
/**
|
|
6
11
|
* A status that satisfies a parent's wait: the child either finished
|
|
7
12
|
* (terminal) or will never speak again on its own — idle after answering, or
|
|
@@ -41,9 +46,9 @@ export declare function applyChildUpdate(runtime: DurableSessionRuntime, update:
|
|
|
41
46
|
export declare function refreshTrackedSubAgents(runtime: DurableSessionRuntime, options?: {
|
|
42
47
|
preserveTerminalTaskStatus?: boolean;
|
|
43
48
|
}): Generator<any, void, any>;
|
|
44
|
-
export declare function notifyParentOfTerminalState(runtime: DurableSessionRuntime, updateType: "completed" | "cancelled", reason: string): Generator<any, void, any>;
|
|
45
|
-
export declare function completeSession(runtime: DurableSessionRuntime, reason: string, commandId?: string): Generator<any, void, any>;
|
|
46
|
-
export declare function cancelSession(runtime: DurableSessionRuntime, reason: string, commandId?: string, deleteAfterCancel?: boolean): Generator<any, void, any>;
|
|
49
|
+
export declare function notifyParentOfTerminalState(runtime: DurableSessionRuntime, updateType: "completed" | "cancelled", reason: string, commandId?: string, requestedBy?: string): Generator<any, void, any>;
|
|
50
|
+
export declare function completeSession(runtime: DurableSessionRuntime, reason: string, commandId?: string, requestedBy?: string): Generator<any, void, any>;
|
|
51
|
+
export declare function cancelSession(runtime: DurableSessionRuntime, reason: string, commandId?: string, deleteAfterCancel?: boolean, requestedBy?: string): Generator<any, void, any>;
|
|
47
52
|
export declare function failPendingShutdown(runtime: DurableSessionRuntime, errorMessage: string): Generator<any, void, any>;
|
|
48
53
|
/**
|
|
49
54
|
* Best-effort cancel of a distiller SERVICE SESSION still running when its
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/orchestration/agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,cAAc,EAGd,mBAAmB,EACnB,aAAa,EAChB,MAAM,aAAa,CAAC;AAOrB,OAAO,EAKH,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACpB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,CAAC;AAInD,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED,wBAAgB,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAAE,GAAG,IAAI,CA6BxO;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAShE;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAS9E;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE9G;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAKhG;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAKhG;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CA6BlG;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAChD,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;CAC/B,GAAG,MAAM,CAqDT;AAID,wBAAiB,gBAAgB,CAC7B,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnE,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/orchestration/agents.ts"],"names":[],"mappings":"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"}
|