@polpo-ai/core 0.15.144 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/README.md +30 -0
  2. package/dist/__tests__/custom-tool-runner.test.d.ts +2 -0
  3. package/dist/__tests__/custom-tool-runner.test.d.ts.map +1 -0
  4. package/dist/__tests__/custom-tool-runner.test.js +121 -0
  5. package/dist/__tests__/custom-tool-runner.test.js.map +1 -0
  6. package/dist/__tests__/mcp-runner-client.test.d.ts +2 -0
  7. package/dist/__tests__/mcp-runner-client.test.d.ts.map +1 -0
  8. package/dist/__tests__/mcp-runner-client.test.js +144 -0
  9. package/dist/__tests__/mcp-runner-client.test.js.map +1 -0
  10. package/dist/__tests__/mission-execution.test.d.ts +2 -0
  11. package/dist/__tests__/mission-execution.test.d.ts.map +1 -0
  12. package/dist/__tests__/mission-execution.test.js +68 -0
  13. package/dist/__tests__/mission-execution.test.js.map +1 -0
  14. package/dist/__tests__/run-state-monitor.test.d.ts +2 -0
  15. package/dist/__tests__/run-state-monitor.test.d.ts.map +1 -0
  16. package/dist/__tests__/run-state-monitor.test.js +59 -0
  17. package/dist/__tests__/run-state-monitor.test.js.map +1 -0
  18. package/dist/__tests__/runtime-metadata.test.d.ts +2 -0
  19. package/dist/__tests__/runtime-metadata.test.d.ts.map +1 -0
  20. package/dist/__tests__/runtime-metadata.test.js +17 -0
  21. package/dist/__tests__/runtime-metadata.test.js.map +1 -0
  22. package/dist/__tests__/task-execution-router.test.js +1 -1
  23. package/dist/__tests__/task-execution-router.test.js.map +1 -1
  24. package/dist/__tests__/task-runner-agent-lifetime.test.d.ts +2 -0
  25. package/dist/__tests__/task-runner-agent-lifetime.test.d.ts.map +1 -0
  26. package/dist/__tests__/task-runner-agent-lifetime.test.js +136 -0
  27. package/dist/__tests__/task-runner-agent-lifetime.test.js.map +1 -0
  28. package/dist/adapter.d.ts +18 -0
  29. package/dist/adapter.d.ts.map +1 -1
  30. package/dist/agent-manager.d.ts +3 -0
  31. package/dist/agent-manager.d.ts.map +1 -1
  32. package/dist/agent-manager.js +28 -2
  33. package/dist/agent-manager.js.map +1 -1
  34. package/dist/agent-store.d.ts +70 -1
  35. package/dist/agent-store.d.ts.map +1 -1
  36. package/dist/agent-store.js +103 -1
  37. package/dist/agent-store.js.map +1 -1
  38. package/dist/approval-manager.d.ts +24 -4
  39. package/dist/approval-manager.d.ts.map +1 -1
  40. package/dist/approval-manager.js +160 -112
  41. package/dist/approval-manager.js.map +1 -1
  42. package/dist/approval-manager.test.d.ts +2 -0
  43. package/dist/approval-manager.test.d.ts.map +1 -0
  44. package/dist/approval-manager.test.js +116 -0
  45. package/dist/approval-manager.test.js.map +1 -0
  46. package/dist/assessment-orchestrator.d.ts +12 -1
  47. package/dist/assessment-orchestrator.d.ts.map +1 -1
  48. package/dist/assessment-orchestrator.js +181 -83
  49. package/dist/assessment-orchestrator.js.map +1 -1
  50. package/dist/chat-interactions.d.ts +23 -3
  51. package/dist/chat-interactions.d.ts.map +1 -1
  52. package/dist/chat-interactions.js +50 -2
  53. package/dist/chat-interactions.js.map +1 -1
  54. package/dist/chat-interactions.test.js +39 -2
  55. package/dist/chat-interactions.test.js.map +1 -1
  56. package/dist/custom-tool-runner.d.ts +56 -0
  57. package/dist/custom-tool-runner.d.ts.map +1 -0
  58. package/dist/custom-tool-runner.js +197 -0
  59. package/dist/custom-tool-runner.js.map +1 -0
  60. package/dist/escalation-manager.d.ts +2 -0
  61. package/dist/escalation-manager.d.ts.map +1 -1
  62. package/dist/escalation-manager.js +79 -25
  63. package/dist/escalation-manager.js.map +1 -1
  64. package/dist/events.d.ts +4 -0
  65. package/dist/events.d.ts.map +1 -1
  66. package/dist/hooks.d.ts.map +1 -1
  67. package/dist/hooks.js +6 -0
  68. package/dist/hooks.js.map +1 -1
  69. package/dist/index.d.ts +19 -3
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +13 -1
  72. package/dist/index.js.map +1 -1
  73. package/dist/mcp-capability.d.ts +40 -0
  74. package/dist/mcp-capability.d.ts.map +1 -0
  75. package/dist/mcp-capability.js +2 -0
  76. package/dist/mcp-capability.js.map +1 -0
  77. package/dist/mcp-runner.d.ts +45 -0
  78. package/dist/mcp-runner.d.ts.map +1 -0
  79. package/dist/mcp-runner.js +238 -0
  80. package/dist/mcp-runner.js.map +1 -0
  81. package/dist/mission-cancellation.d.ts +14 -0
  82. package/dist/mission-cancellation.d.ts.map +1 -0
  83. package/dist/mission-cancellation.js +43 -0
  84. package/dist/mission-cancellation.js.map +1 -0
  85. package/dist/mission-execution.d.ts +103 -0
  86. package/dist/mission-execution.d.ts.map +1 -0
  87. package/dist/mission-execution.js +196 -0
  88. package/dist/mission-execution.js.map +1 -0
  89. package/dist/mission-executor.d.ts +18 -16
  90. package/dist/mission-executor.d.ts.map +1 -1
  91. package/dist/mission-executor.js +339 -203
  92. package/dist/mission-executor.js.map +1 -1
  93. package/dist/mission-gating.d.ts +11 -15
  94. package/dist/mission-gating.d.ts.map +1 -1
  95. package/dist/mission-gating.js +25 -33
  96. package/dist/mission-gating.js.map +1 -1
  97. package/dist/mission-inspection.d.ts +29 -0
  98. package/dist/mission-inspection.d.ts.map +1 -0
  99. package/dist/mission-inspection.js +99 -0
  100. package/dist/mission-inspection.js.map +1 -0
  101. package/dist/mission-store.d.ts +7 -0
  102. package/dist/mission-store.d.ts.map +1 -1
  103. package/dist/mission-store.js +8 -0
  104. package/dist/mission-store.js.map +1 -1
  105. package/dist/orchestrator-context.d.ts +3 -0
  106. package/dist/orchestrator-context.d.ts.map +1 -1
  107. package/dist/orchestrator-engine.d.ts +39 -39
  108. package/dist/orchestrator-engine.d.ts.map +1 -1
  109. package/dist/orchestrator-engine.js +124 -24
  110. package/dist/orchestrator-engine.js.map +1 -1
  111. package/dist/run-state-monitor.d.ts +14 -0
  112. package/dist/run-state-monitor.d.ts.map +1 -0
  113. package/dist/run-state-monitor.js +63 -0
  114. package/dist/run-state-monitor.js.map +1 -0
  115. package/dist/run-store.d.ts +15 -0
  116. package/dist/run-store.d.ts.map +1 -1
  117. package/dist/runner-capability.d.ts +43 -0
  118. package/dist/runner-capability.d.ts.map +1 -0
  119. package/dist/runner-capability.js +55 -0
  120. package/dist/runner-capability.js.map +1 -0
  121. package/dist/runtime-metadata.d.ts +5 -0
  122. package/dist/runtime-metadata.d.ts.map +1 -0
  123. package/dist/runtime-metadata.js +21 -0
  124. package/dist/runtime-metadata.js.map +1 -0
  125. package/dist/scheduler.d.ts +2 -1
  126. package/dist/scheduler.d.ts.map +1 -1
  127. package/dist/scheduler.js +16 -6
  128. package/dist/scheduler.js.map +1 -1
  129. package/dist/schemas.d.ts +8 -6
  130. package/dist/schemas.d.ts.map +1 -1
  131. package/dist/schemas.js +10 -0
  132. package/dist/schemas.js.map +1 -1
  133. package/dist/spawner.d.ts +12 -0
  134. package/dist/spawner.d.ts.map +1 -1
  135. package/dist/steering.d.ts +4 -1
  136. package/dist/steering.d.ts.map +1 -1
  137. package/dist/steering.js.map +1 -1
  138. package/dist/task-approval-coordinator.d.ts +29 -0
  139. package/dist/task-approval-coordinator.d.ts.map +1 -0
  140. package/dist/task-approval-coordinator.js +216 -0
  141. package/dist/task-approval-coordinator.js.map +1 -0
  142. package/dist/task-dispatch.d.ts +40 -0
  143. package/dist/task-dispatch.d.ts.map +1 -0
  144. package/dist/task-dispatch.js +136 -0
  145. package/dist/task-dispatch.js.map +1 -0
  146. package/dist/task-execution.d.ts +146 -0
  147. package/dist/task-execution.d.ts.map +1 -0
  148. package/dist/task-execution.js +357 -0
  149. package/dist/task-execution.js.map +1 -0
  150. package/dist/task-manager.d.ts +31 -22
  151. package/dist/task-manager.d.ts.map +1 -1
  152. package/dist/task-manager.js +74 -7
  153. package/dist/task-manager.js.map +1 -1
  154. package/dist/task-runner.d.ts +30 -3
  155. package/dist/task-runner.d.ts.map +1 -1
  156. package/dist/task-runner.js +429 -90
  157. package/dist/task-runner.js.map +1 -1
  158. package/dist/task-store.d.ts +9 -3
  159. package/dist/task-store.d.ts.map +1 -1
  160. package/dist/tool-invocation.d.ts +4 -0
  161. package/dist/tool-invocation.d.ts.map +1 -1
  162. package/dist/tool-invocation.js +8 -1
  163. package/dist/tool-invocation.js.map +1 -1
  164. package/dist/tool-invocation.test.d.ts +2 -0
  165. package/dist/tool-invocation.test.d.ts.map +1 -0
  166. package/dist/tool-invocation.test.js +40 -0
  167. package/dist/tool-invocation.test.js.map +1 -0
  168. package/dist/types/agent.d.ts +4 -0
  169. package/dist/types/agent.d.ts.map +1 -1
  170. package/dist/types/agent.js.map +1 -1
  171. package/dist/types/config.d.ts +3 -0
  172. package/dist/types/config.d.ts.map +1 -1
  173. package/dist/types/config.js.map +1 -1
  174. package/dist/types/mission.d.ts +23 -1
  175. package/dist/types/mission.d.ts.map +1 -1
  176. package/dist/types/task.d.ts +10 -0
  177. package/dist/types/task.d.ts.map +1 -1
  178. package/package.json +17 -1
@@ -1 +1 @@
1
- {"version":3,"file":"task-execution-router.test.js","sourceRoot":"","sources":["../../src/__tests__/task-execution-router.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-execution-router.test.js","sourceRoot":"","sources":["../../src/__tests__/task-execution-router.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=task-runner-agent-lifetime.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-runner-agent-lifetime.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/task-runner-agent-lifetime.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,136 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ import { TaskRunner } from "../task-runner.js";
3
+ import { HookRegistry } from "../hooks.js";
4
+ function fixture() {
5
+ const task = { id: "task", title: "Read", description: "Read", assignTo: "support", dependsOn: [], status: "pending",
6
+ expectations: [], metrics: [], retries: 0, maxRetries: 0, createdAt: new Date().toISOString(), updatedAt: new Date().toISOString() };
7
+ let snapshot = { agent: { name: "support", role: "original" }, teamName: "default", revision: { incarnation: "original", version: 0 } };
8
+ const agentStore = { getAgent: vi.fn(async () => ({ name: "support", role: "unversioned" })), getAgentSnapshot: vi.fn(async () => snapshot),
9
+ compareAndSwapAgent: vi.fn(), deleteAgentIfRevision: vi.fn() };
10
+ const spawner = { spawn: vi.fn(async (_config) => ({ pid: 123, configPath: "memory://test" })), isAlive: () => false, kill: vi.fn() };
11
+ const runStore = { upsertRun: vi.fn(), updateSpawnInfo: vi.fn(), completeRun: vi.fn(), markRunCollected: vi.fn(),
12
+ getActiveRuns: vi.fn(async () => []), getRunByTaskId: vi.fn() };
13
+ const memoryStore = { get: vi.fn(async () => "") };
14
+ const ctx = { agentStore, spawner, runStore, memoryStore, emitter: { emit: vi.fn() }, hooks: new HookRegistry(),
15
+ taskStore: { transition: vi.fn(), updateTask: vi.fn(), getState: async () => ({ processes: [] }), listTasks: async () => [task], getTask: async () => task },
16
+ config: { settings: { maxRetries: 0, workDir: ".", logLevel: "quiet" }, teams: [] },
17
+ workDir: "/tmp/lifetime-test", agentWorkDir: "/tmp/lifetime-test", polpoDir: "/tmp/lifetime-test/.polpo",
18
+ };
19
+ return { task, agentStore, spawner, runStore, memoryStore, runner: new TaskRunner(ctx), replace: (next) => { snapshot = next; } };
20
+ }
21
+ describe("TaskRunner agent lifetime", () => {
22
+ it("retries a failed pending cancellation while another pending cancellation remains owned", async () => {
23
+ const f = fixture();
24
+ let releaseA, releaseB;
25
+ const heldA = new Promise(resolve => { releaseA = resolve; });
26
+ const heldB = new Promise(resolve => { releaseB = resolve; });
27
+ f.spawner.spawn.mockImplementation(async (config) => {
28
+ await (config.taskId === "a" ? heldA : heldB);
29
+ throw new Error("Preparation cancelled after cleanup");
30
+ });
31
+ const workA = f.runner.spawnForTask({ ...f.task, id: "a" });
32
+ const workB = f.runner.spawnForTask({ ...f.task, id: "b" });
33
+ await vi.waitFor(() => expect(f.spawner.spawn).toHaveBeenCalledTimes(2));
34
+ const runA = f.spawner.spawn.mock.calls.find(([config]) => config.taskId === "a")[0].runId;
35
+ const runB = f.spawner.spawn.mock.calls.find(([config]) => config.taskId === "b")[0].runId;
36
+ let attemptsA = 0;
37
+ const cancelRun = vi.fn(async (runId) => {
38
+ if (runId === runA) {
39
+ if (++attemptsA === 1)
40
+ throw new Error("Cleanup unavailable");
41
+ releaseA();
42
+ }
43
+ else
44
+ await heldB;
45
+ });
46
+ Object.assign(f.spawner, { cancelRun });
47
+ Object.assign(f.runStore, { getRun: async () => undefined });
48
+ let error;
49
+ const first = f.runner.close().catch(value => { error = value; });
50
+ let retry;
51
+ try {
52
+ await vi.waitFor(() => expect(error).toMatchObject({ message: "Cleanup unavailable" }));
53
+ expect(cancelRun.mock.calls).toEqual([[runA], [runB]]);
54
+ retry = f.runner.close();
55
+ await vi.waitFor(() => expect(cancelRun.mock.calls).toEqual([[runA], [runB], [runA]]));
56
+ releaseB();
57
+ await Promise.all([retry, workA, workB]);
58
+ }
59
+ finally {
60
+ releaseA();
61
+ releaseB();
62
+ await Promise.all([first, retry, workA, workB]);
63
+ await f.runner.close();
64
+ }
65
+ });
66
+ it("updates the pre-registered Run through the atomic configuration port before spawning", async () => {
67
+ const f = fixture();
68
+ const updateRunConfig = vi.fn(async () => true);
69
+ Object.assign(f.runStore, { updateRunConfig });
70
+ await f.runner.spawnForTask(f.task);
71
+ const runnerConfig = f.spawner.spawn.mock.calls[0][0];
72
+ expect(f.runStore.upsertRun).toHaveBeenCalledTimes(1);
73
+ expect(updateRunConfig).toHaveBeenCalledExactlyOnceWith(runnerConfig.runId, runnerConfig, `pending://${runnerConfig.runId}`);
74
+ });
75
+ it.each(["missing", "terminal"])("does not spawn or upsert again when the configuration port rejects a %s Run", async () => {
76
+ const f = fixture();
77
+ const updateRunConfig = vi.fn(async () => false);
78
+ Object.assign(f.runStore, { updateRunConfig });
79
+ await f.runner.spawnForTask(f.task);
80
+ expect(updateRunConfig).toHaveBeenCalledTimes(1);
81
+ expect(f.runStore.upsertRun).toHaveBeenCalledTimes(1);
82
+ expect(f.spawner.spawn).not.toHaveBeenCalled();
83
+ expect(f.runStore.completeRun).not.toHaveBeenCalled();
84
+ });
85
+ it("does not fall back to upsert or spawn after a configuration write error", async () => {
86
+ const f = fixture();
87
+ Object.assign(f.runStore, { updateRunConfig: vi.fn(async () => { throw new Error("config write failed"); }) });
88
+ await f.runner.spawnForTask(f.task);
89
+ expect(f.runStore.upsertRun).toHaveBeenCalledTimes(1);
90
+ expect(f.spawner.spawn).not.toHaveBeenCalled();
91
+ expect(f.runStore.completeRun).toHaveBeenCalledWith(expect.any(String), "failed", expect.objectContaining({ stderr: expect.stringContaining("config write failed") }));
92
+ });
93
+ it("retains the legacy registration path only for a store without the optional port", async () => {
94
+ const f = fixture();
95
+ await f.runner.spawnForTask(f.task);
96
+ expect(f.runStore.upsertRun).toHaveBeenCalledTimes(2);
97
+ expect(f.spawner.spawn).toHaveBeenCalledTimes(1);
98
+ });
99
+ it("pins config and identity before asynchronous context loading", async () => {
100
+ const f = fixture();
101
+ f.memoryStore.get.mockImplementationOnce(async () => {
102
+ f.replace({ agent: { name: "support", role: "replacement" }, teamName: "default", revision: { incarnation: "replacement", version: 0 } });
103
+ return "";
104
+ });
105
+ await f.runner.spawnForTask(f.task);
106
+ expect(f.spawner.spawn.mock.calls[0][0]).toMatchObject({ agent: { role: "original" }, agentIdentity: { name: "support", incarnation: "original" } });
107
+ expect(f.agentStore.getAgent).not.toHaveBeenCalled();
108
+ });
109
+ it("does not fall back to a name-only config for a missing snapshot", async () => {
110
+ const f = fixture();
111
+ f.replace(undefined);
112
+ await f.runner.spawnForTask(f.task);
113
+ expect(f.spawner.spawn).not.toHaveBeenCalled();
114
+ expect(f.runStore.completeRun).toHaveBeenCalledWith(expect.any(String), "failed", expect.objectContaining({ stderr: expect.stringContaining('No agent "support"') }));
115
+ });
116
+ it.each([undefined, { name: "support", incarnation: "former" }])("does not adopt a recovered checkpoint from another lifetime: %j", async (agentIdentity) => {
117
+ const f = fixture();
118
+ f.runStore.getActiveRuns.mockResolvedValueOnce([{ id: "old", taskId: "task", pid: 1,
119
+ config: { agentIdentity }, resumeState: { turn: 0, history: [{ role: "user", content: "old" }], context: {}, steps: [], createdAt: new Date().toISOString() } }]);
120
+ await f.runner.recoverOrphanedTasks();
121
+ await f.runner.spawnForTask(f.task);
122
+ expect(f.spawner.spawn).not.toHaveBeenCalled();
123
+ expect(f.runStore.completeRun).toHaveBeenLastCalledWith(expect.any(String), "failed", expect.objectContaining({ stderr: expect.stringMatching(/identity/i) }));
124
+ });
125
+ it("resumes a recovered checkpoint from the same creation identity after config edits", async () => {
126
+ const f = fixture();
127
+ f.replace({ agent: { name: "support", role: "edited" }, teamName: "default", revision: { incarnation: "original", version: 35 } });
128
+ f.runStore.getActiveRuns.mockResolvedValueOnce([{ id: "old", taskId: "task", pid: 1,
129
+ config: { agentIdentity: { name: "support", incarnation: "original" } },
130
+ resumeState: { turn: 0, history: [{ role: "user", content: "old" }], context: {}, steps: [], createdAt: new Date().toISOString() } }]);
131
+ await f.runner.recoverOrphanedTasks();
132
+ await f.runner.spawnForTask(f.task);
133
+ expect(f.spawner.spawn.mock.calls[0][0]).toMatchObject({ agentIdentity: { name: "support", incarnation: "original" }, resumeState: { turn: 0 } });
134
+ });
135
+ });
136
+ //# sourceMappingURL=task-runner-agent-lifetime.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-runner-agent-lifetime.test.js","sourceRoot":"","sources":["../../src/__tests__/task-runner-agent-lifetime.test.ts"],"names":[],"mappings":"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"}
package/dist/adapter.d.ts CHANGED
@@ -13,6 +13,18 @@ import type { RunOutputPolicy, RunToolMiddleware, RuntimeOutputEnforcementMode }
13
13
  import type { RuntimeContextResolution, RuntimeContextTrustMode, RuntimePromptContextSegment } from "./runtime-context/index.js";
14
14
  import type { BrainReadService, BrainServiceContext } from "./brain/index.js";
15
15
  import type { ToolInvocationContext } from "./tool-invocation.js";
16
+ import type { PolpoTool } from "./tool-types.js";
17
+ /** Trusted host port for loading custom tools whose execution is owned by the
18
+ * host (for example a remote sandbox). Never supplied by agent/tool source.
19
+ * Presence replaces the local bundle importer, including on empty/error results.
20
+ * The host owns isolation and per-call authorization; the runtime still applies
21
+ * exact custom-tool assignment and all narrower execution policies. */
22
+ export type ResolveCustomTools = (input: Readonly<{
23
+ agentName: string;
24
+ allowedTools?: readonly string[];
25
+ invocation?: ToolInvocationContext;
26
+ signal?: AbortSignal;
27
+ }>) => Promise<readonly PolpoTool[]>;
16
28
  /**
17
29
  * Handle returned by the engine after spawning an agent.
18
30
  * The orchestrator uses this to monitor and control the agent.
@@ -65,6 +77,10 @@ export interface SpawnContext {
65
77
  toolInvocation?: ToolInvocationContext;
66
78
  /** Host-owned resolver for invocation-scoped logical Connection slots. */
67
79
  connectionCapabilityResolver?: import("./connection-capability.js").ConnectionCapabilityResolver;
80
+ /** Replaces local custom-tool imports with host-owned execution. */
81
+ resolveCustomTools?: ResolveCustomTools;
82
+ /** Host-owned MCP inventory and per-operation capability factory. */
83
+ resolveMcpCapabilities?: import("./mcp-capability.js").ResolveMcpRuntimeCapabilities;
68
84
  /** Pre-resolved retrieval snapshot rendered into task system prompts. */
69
85
  runtimeContext?: RuntimeContextResolution;
70
86
  /** Per-task output directory (.polpo/output/<taskId>/). Agents write deliverables here. */
@@ -172,6 +188,8 @@ export interface SpawnContext {
172
188
  * takes no dependency on `ai`.
173
189
  */
174
190
  export interface ChatSessionInjection {
191
+ /** Original captured invocation, including agent creation identity. */
192
+ toolInvocation?: ToolInvocationContext;
175
193
  /** Conversation session that groups this streaming run with its chat transcript. */
176
194
  sessionId?: string;
177
195
  /** Frozen, secret-free planning decision for this invocation. */
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,UAAU,EACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;uEAIuE;AACvE,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC;AAErC;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,QAAQ,EAAE,aAAa,CAAC;IACxB,4DAA4D;IAC5D,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,0CAA0C;IAC1C,OAAO,IAAI,OAAO,CAAC;IACnB,6BAA6B;IAC7B,IAAI,IAAI,IAAI,CAAC;IACb;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,wFAAwF;IACxF,IAAI,CAAC,EAAE,OAAO,iBAAiB,EAAE,UAAU,CAAC;IAC5C,gFAAgF;IAChF,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,0EAA0E;IAC1E,4BAA4B,CAAC,EAAE,OAAO,4BAA4B,EAAE,4BAA4B,CAAC;IACjG,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,qEAAqE;IACrE,sBAAsB,CAAC,EAAE,OAAO,qBAAqB,EAAE,6BAA6B,CAAC;IACrF,yEAAyE;IACzE,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAC1C,2FAA2F;IAC3F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,8FAA8F;IAC9F,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,6DAA6D;IAC7D,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACrD,gEAAgE;IAChE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,sDAAsD;IACtD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,mEAAmE;IACnE,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,4EAA4E;IAC5E,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,yEAAyE;IACzE,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,qFAAqF;IACrF,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,gFAAgF;IAChF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,2EAA2E;IAC3E,uBAAuB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,+EAA+E;IAC/E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8DAA8D;IAC9D,qBAAqB,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAC/D,2CAA2C;IAC3C,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,iEAAiE;IACjE,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,iEAAiE;IACjE,mBAAmB,CAAC,EAAE,4BAA4B,CAAC;IACnD;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,YAAY,GAAG,kBAAkB,CAAC;KACjE,KAAK,IAAI,CAAC;IACX;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxD;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,mEAAmE;IACnE,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,sEAAsE;IACtE,KAAK,EAAE,WAAW,CAAC;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,qFAAqF;IACrF,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,qFAAqF;IACrF,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;QAC/C,KAAK,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,aAAa,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACxE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KAC3D,CAAC,CAAC;IACH,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oFAAoF;IACpF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IACjC,sFAAsF;IACtF,QAAQ,EAAE,CACR,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAChD,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,+EAA+E;IAC/E,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,+DAA+D;IAC/D,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,0DAA0D;IAC1D,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,mFAAmF;IACnF,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,qEAAqE;IACrE,qBAAqB,CAAC,EAAE,MAAM,OAAO,EAAE,CAAC;IACxC,2DAA2D;IAC3D,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC"}
@@ -1,5 +1,6 @@
1
1
  import type { OrchestratorContext } from "./orchestrator-context.js";
2
2
  import type { AgentConfig, Team } from "./types.js";
3
+ import { type AgentMutation, type AgentMutationReceipt, type AgentSnapshot } from "./agent-store.js";
3
4
  /**
4
5
  * Manages multi-team agent topology: CRUD operations on teams and agents,
5
6
  * volatile (mission-tied) agents.
@@ -34,6 +35,8 @@ export declare class AgentManager {
34
35
  addAgent(agent: AgentConfig, teamName?: string): Promise<void>;
35
36
  /** Atomic update of an agent's fields. No more remove+add. */
36
37
  updateAgent(name: string, updates: Partial<Omit<AgentConfig, "name">>): Promise<AgentConfig>;
38
+ getAgentSnapshot(name: string): Promise<AgentSnapshot | undefined>;
39
+ compareAndSwapAgent(name: string, mutation: AgentMutation): Promise<AgentMutationReceipt>;
37
40
  removeAgent(name: string): Promise<boolean>;
38
41
  addVolatileAgent(agent: AgentConfig, group: string): Promise<void>;
39
42
  cleanupVolatileAgents(group: string): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../src/agent-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;;;;GAOG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,mBAAmB;IAI5C,4DAA4D;IACtD,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBtC,yEAAyE;YAC3D,WAAW;IAOnB,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAK3B,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAWvD,gEAAgE;IAC1D,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAclC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa1C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1E,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAejE,mDAAmD;IAC7C,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAIzC,8CAA8C;IACxC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAI/D,2CAA2C;IACrC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAMtD,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpE,8DAA8D;IACxD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAO5F,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU3C,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlE,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAQ5D"}
1
+ {"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../src/agent-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAqE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAExK;;;;;;;GAOG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,mBAAmB;IAI5C,4DAA4D;IACtD,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBtC,yEAAyE;YAC3D,WAAW;IAOnB,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAK3B,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAWvD,gEAAgE;IAC1D,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAclC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa1C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1E,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAejE,mDAAmD;IAC7C,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAIzC,8CAA8C;IACxC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAI/D,2CAA2C;IACrC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAMtD,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpE,8DAA8D;IACxD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAO5F,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAMlE,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAazF,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe3C,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlE,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAQ5D"}
@@ -1,3 +1,4 @@
1
+ import { AgentMutationError, isVersionedAgentStore, normalizeAgentMutation } from "./agent-store.js";
1
2
  /**
2
3
  * Manages multi-team agent topology: CRUD operations on teams and agents,
3
4
  * volatile (mission-tied) agents.
@@ -135,9 +136,34 @@ export class AgentManager {
135
136
  this.ctx.emitter.emit("log", { level: "info", message: `Agent updated: ${name}` });
136
137
  return updated;
137
138
  }
139
+ async getAgentSnapshot(name) {
140
+ const store = this.ctx.agentStore;
141
+ if (!isVersionedAgentStore(store))
142
+ throw new Error("Agent store does not support revision preconditions");
143
+ return store.getAgentSnapshot(name);
144
+ }
145
+ async compareAndSwapAgent(name, mutation) {
146
+ const store = this.ctx.agentStore;
147
+ if (!isVersionedAgentStore(store))
148
+ throw new Error("Agent store does not support revision preconditions");
149
+ mutation = normalizeAgentMutation(mutation);
150
+ if (mutation.patch.teamName !== undefined && !await this.ctx.teamStore.getTeam(mutation.patch.teamName)) {
151
+ throw new AgentMutationError("invalid_agent_mutation", `Team "${mutation.patch.teamName}" not found`);
152
+ }
153
+ const receipt = await store.compareAndSwapAgent(name, mutation);
154
+ await this.syncConfigCache();
155
+ this.ctx.emitter.emit("log", { level: "info", message: `Agent updated: ${name}` });
156
+ return receipt;
157
+ }
138
158
  async removeAgent(name) {
139
- const teamName = await this.ctx.agentStore.getAgentTeam(name);
140
- const deleted = await this.ctx.agentStore.deleteAgent(name);
159
+ const store = this.ctx.agentStore;
160
+ const snapshot = isVersionedAgentStore(store) ? await store.getAgentSnapshot(name) : undefined;
161
+ if (isVersionedAgentStore(store) && !snapshot)
162
+ return false;
163
+ const teamName = snapshot?.teamName ?? await store.getAgentTeam(name);
164
+ const deleted = isVersionedAgentStore(store)
165
+ ? await store.deleteAgentIfRevision(name, snapshot.revision)
166
+ : await store.deleteAgent(name);
141
167
  if (deleted) {
142
168
  await this.syncConfigCache();
143
169
  this.ctx.emitter.emit("log", { level: "info", message: `Agent removed: ${name}${teamName ? ` (team: ${teamName})` : ""}` });
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../src/agent-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../src/agent-manager.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,8 @@ export interface AgentStore {
16
16
  getAgentTeam(name: string): Promise<string | undefined>;
17
17
  /** Add a new agent to the given team. Throws if name already exists. */
18
18
  createAgent(agent: AgentConfig, teamName: string): Promise<AgentConfig>;
19
- /** Atomic update of an agent's fields. Returns the updated agent. */
19
+ /** Merge supplied fields against the current configuration. For changes
20
+ * derived from an earlier read, use VersionedAgentStore and its precondition. */
20
21
  updateAgent(name: string, updates: Partial<Omit<AgentConfig, "name">>): Promise<AgentConfig>;
21
22
  /** Move an agent to a different team. */
22
23
  moveAgent(name: string, newTeamName: string): Promise<AgentConfig>;
@@ -29,4 +30,72 @@ export interface AgentStore {
29
30
  teamName: string;
30
31
  }>): Promise<void>;
31
32
  }
33
+ /** A creation identity plus monotonically increasing generation. Recreating an
34
+ * agent with the same name MUST allocate a different incarnation. */
35
+ export interface AgentRevision {
36
+ incarnation: string;
37
+ version: number;
38
+ }
39
+ export interface AgentSnapshot {
40
+ agent: AgentConfig;
41
+ teamName: string;
42
+ revision: AgentRevision;
43
+ }
44
+ /** Host-owned creation identity captured WITH the execution configuration.
45
+ * Configuration edits preserve it; deleting and recreating the agent does not.
46
+ * Never derive this from a model argument, request metadata or a late name lookup. */
47
+ export interface AgentIdentity {
48
+ readonly name: string;
49
+ readonly incarnation: string;
50
+ }
51
+ export declare function normalizeAgentIdentity(value: unknown): AgentIdentity;
52
+ export declare function agentIdentityFromSnapshot(snapshot: AgentSnapshot): AgentIdentity;
53
+ export declare class AgentIdentityError extends Error {
54
+ readonly code = "agent_identity_changed";
55
+ constructor();
56
+ }
57
+ /** Check creation identity, not mutable configuration version. A host must
58
+ * repeat this check at protected dispatch, including after refresh/other waits. */
59
+ export declare function assertAgentIdentity(identity: AgentIdentity | undefined, current: AgentSnapshot | undefined): void;
60
+ type AgentField = Exclude<keyof AgentConfig, "name" | "loops" | "pipeline">;
61
+ /** Top-level replacement patch. Omission preserves a field; null is JSON null;
62
+ * unset removes it. Nested objects are replaced, never implicitly deep-merged. */
63
+ export interface AgentConfigPatch {
64
+ set?: {
65
+ [K in AgentField]?: AgentConfig[K] | null;
66
+ };
67
+ unset?: AgentField[];
68
+ teamName?: string;
69
+ }
70
+ export interface AgentMutation {
71
+ expected: AgentRevision;
72
+ mutationId: string;
73
+ patch: AgentConfigPatch;
74
+ }
75
+ export interface AgentMutationReceipt {
76
+ mutationId: string;
77
+ previousRevision: AgentRevision;
78
+ snapshot: AgentSnapshot;
79
+ }
80
+ /** Explicit capability for concurrency-sensitive hosts. Never emulate it with
81
+ * getAgent + updateAgent or fall back to an unconditional write. */
82
+ export interface VersionedAgentStore extends AgentStore {
83
+ getAgentSnapshot(name: string): Promise<AgentSnapshot | undefined>;
84
+ /** Commit once, including no-op patches. Retrying an identical mutation may
85
+ * recover its receipt ONLY while that exact generation is still current. */
86
+ compareAndSwapAgent(name: string, mutation: AgentMutation): Promise<AgentMutationReceipt>;
87
+ /** Delete only this exact generation. Missing is false; an existing agent
88
+ * with another revision/incarnation is a conflict, never a retry target. */
89
+ deleteAgentIfRevision(name: string, expected: AgentRevision): Promise<boolean>;
90
+ }
91
+ export declare class AgentMutationError extends Error {
92
+ readonly code: "invalid_agent_mutation" | "agent_revision_conflict" | "agent_not_found";
93
+ constructor(code: "invalid_agent_mutation" | "agent_revision_conflict" | "agent_not_found", message: string);
94
+ }
95
+ export declare function isVersionedAgentStore(store: AgentStore): store is VersionedAgentStore;
96
+ /** Validates and copies the request before an asynchronous write. Its stable
97
+ * serialization can be hashed by adapters for lost-acknowledgement recovery. */
98
+ export declare function normalizeAgentMutation(input: AgentMutation): AgentMutation;
99
+ export declare function applyAgentConfigPatch(snapshot: AgentSnapshot, patch: AgentConfigPatch): Pick<AgentSnapshot, "agent" | "teamName">;
100
+ export {};
32
101
  //# sourceMappingURL=agent-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-store.d.ts","sourceRoot":"","sources":["../src/agent-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IAGzB,sDAAsD;IACtD,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAErD,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAEzD,8DAA8D;IAC9D,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAIxD,wEAAwE;IACxE,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAExE,qEAAqE;IACrE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE7F,yCAAyC;IACzC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEnE,2DAA2D;IAC3D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAI5C,sFAAsF;IACtF,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7D,uFAAuF;IACvF,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE"}
1
+ {"version":3,"file":"agent-store.d.ts","sourceRoot":"","sources":["../src/agent-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IAGzB,sDAAsD;IACtD,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAErD,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAEzD,8DAA8D;IAC9D,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAIxD,wEAAwE;IACxE,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAExE;qFACiF;IACjF,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE7F,yCAAyC;IACzC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEnE,2DAA2D;IAC3D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAI5C,sFAAsF;IACtF,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7D,uFAAuF;IACvF,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAED;qEACqE;AACrE,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED;;sFAEsF;AACtF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAYpE;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAEhF;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,4BAA4B;;CAK1C;AAED;mFACmF;AACnF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CAGjH;AAED,KAAK,UAAU,GAAG,OAAO,CAAC,MAAM,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC;AAE5E;kFACkF;AAClF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE;SAAG,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;KAAE,CAAC;IACpD,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,aAAa,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,aAAa,CAAC;IAChC,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED;oEACoE;AACpE,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IACnE;gFAC4E;IAC5E,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC1F;gFAC4E;IAC5E,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChF;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAEzC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,GAAG,yBAAyB,GAAG,iBAAiB;gBAA9E,IAAI,EAAE,wBAAwB,GAAG,yBAAyB,GAAG,iBAAiB,EACvF,OAAO,EAAE,MAAM;CAKlB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,IAAI,mBAAmB,CAIrF;AAKD;gFACgF;AAChF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa,CAyB1E;AAaD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,UAAU,CAAC,CAKjI"}
@@ -1,2 +1,104 @@
1
- export {};
1
+ export function normalizeAgentIdentity(value) {
2
+ if (!value || typeof value !== "object" || Array.isArray(value)
3
+ || ![Object.prototype, null].includes(Object.getPrototypeOf(value))
4
+ || Object.keys(value).some(key => key !== "name" && key !== "incarnation")) {
5
+ throw new TypeError("Invalid agent identity");
6
+ }
7
+ const { name, incarnation } = value;
8
+ if (typeof name !== "string" || !name || name !== name.trim() || name.length > 512
9
+ || typeof incarnation !== "string" || !/^[\w.:-]{1,160}$/.test(incarnation)) {
10
+ throw new TypeError("Invalid agent identity");
11
+ }
12
+ return Object.freeze({ name, incarnation });
13
+ }
14
+ export function agentIdentityFromSnapshot(snapshot) {
15
+ return normalizeAgentIdentity({ name: snapshot.agent.name, incarnation: snapshot.revision.incarnation });
16
+ }
17
+ export class AgentIdentityError extends Error {
18
+ code = "agent_identity_changed";
19
+ constructor() {
20
+ super("Agent identity is missing or no longer matches this execution");
21
+ this.name = "AgentIdentityError";
22
+ }
23
+ }
24
+ /** Check creation identity, not mutable configuration version. A host must
25
+ * repeat this check at protected dispatch, including after refresh/other waits. */
26
+ export function assertAgentIdentity(identity, current) {
27
+ if (!identity || !current || identity.name !== current.agent.name
28
+ || identity.incarnation !== current.revision.incarnation)
29
+ throw new AgentIdentityError();
30
+ }
31
+ export class AgentMutationError extends Error {
32
+ code;
33
+ constructor(code, message) {
34
+ super(message);
35
+ this.code = code;
36
+ this.name = "AgentMutationError";
37
+ }
38
+ }
39
+ export function isVersionedAgentStore(store) {
40
+ const candidate = store;
41
+ return typeof candidate.getAgentSnapshot === "function" && typeof candidate.compareAndSwapAgent === "function"
42
+ && typeof candidate.deleteAgentIfRevision === "function";
43
+ }
44
+ const forbiddenFields = new Set(["name", "team", "teamName", "loops", "pipeline", "__proto__", "constructor", "prototype"]);
45
+ const invalid = () => { throw new AgentMutationError("invalid_agent_mutation", "Invalid agent mutation; use explicit JSON set/unset fields and a valid revision"); };
46
+ /** Validates and copies the request before an asynchronous write. Its stable
47
+ * serialization can be hashed by adapters for lost-acknowledgement recovery. */
48
+ export function normalizeAgentMutation(input) {
49
+ const request = jsonCopy(input);
50
+ if (!request || typeof request !== "object" || Array.isArray(request)
51
+ || Object.keys(request).some(k => !["expected", "mutationId", "patch"].includes(k)))
52
+ invalid();
53
+ if (typeof request.mutationId !== "string" || !/^[\w.:-]{1,160}$/.test(request.mutationId))
54
+ invalid();
55
+ const revision = request.expected;
56
+ if (!revision || typeof revision !== "object" || Array.isArray(revision)
57
+ || Object.keys(revision).some(k => !["incarnation", "version"].includes(k))
58
+ || typeof revision.incarnation !== "string" || !/^[\w.:-]{1,160}$/.test(revision.incarnation)
59
+ || !Number.isInteger(revision.version) || revision.version < 0 || revision.version >= 2_147_483_647)
60
+ invalid();
61
+ const patch = request.patch;
62
+ if (!patch || typeof patch !== "object" || Array.isArray(patch)
63
+ || Object.keys(patch).some(k => !["set", "unset", "teamName"].includes(k)))
64
+ invalid();
65
+ if (Object.hasOwn(patch, "teamName") && (typeof patch.teamName !== "string"
66
+ || !patch.teamName.trim() || patch.teamName !== patch.teamName.trim()))
67
+ invalid();
68
+ const set = patch.set ?? {};
69
+ if (Object.hasOwn(patch, "set") && (!patch.set || typeof patch.set !== "object" || Array.isArray(patch.set)))
70
+ invalid();
71
+ if (Object.keys(set).some(k => forbiddenFields.has(k)))
72
+ invalid();
73
+ const unset = patch.unset ?? [];
74
+ if (!Array.isArray(unset) || (Object.hasOwn(patch, "unset") && patch.unset === null)
75
+ || unset.some(k => typeof k !== "string" || forbiddenFields.has(k) || Object.hasOwn(set, k))
76
+ || new Set(unset).size !== unset.length)
77
+ invalid();
78
+ // Canonicalize equivalent key order without weakening the mutation identity.
79
+ if (patch.unset)
80
+ patch.unset.sort();
81
+ return request;
82
+ }
83
+ function jsonCopy(value, depth = 0) {
84
+ if (depth > 64)
85
+ invalid();
86
+ if (value === null || typeof value === "string" || typeof value === "boolean")
87
+ return value;
88
+ if (typeof value === "number" && Number.isFinite(value))
89
+ return value;
90
+ if (Array.isArray(value))
91
+ return Array.from(value, child => jsonCopy(child, depth + 1));
92
+ if (value && typeof value === "object" && [Object.prototype, null].includes(Object.getPrototypeOf(value))) {
93
+ return Object.fromEntries(Object.keys(value).sort().map(key => [key, jsonCopy(value[key], depth + 1)]));
94
+ }
95
+ return invalid();
96
+ }
97
+ export function applyAgentConfigPatch(snapshot, patch) {
98
+ const { loops: _loops, pipeline: _pipeline, ...clean } = snapshot.agent;
99
+ const agent = { ...clean, ...patch.set, name: snapshot.agent.name };
100
+ for (const field of patch.unset ?? [])
101
+ delete agent[field];
102
+ return { agent, teamName: patch.teamName ?? snapshot.teamName };
103
+ }
2
104
  //# sourceMappingURL=agent-store.js.map