@oni.bot/core 1.0.3 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/checkpointers/postgres.d.ts.map +1 -1
- package/dist/checkpointers/postgres.js +2 -1
- package/dist/checkpointers/postgres.js.map +1 -1
- package/dist/cli/inspect.d.ts.map +1 -1
- package/dist/cli/inspect.js +4 -2
- package/dist/cli/inspect.js.map +1 -1
- package/dist/coordination/request-reply.d.ts +11 -2
- package/dist/coordination/request-reply.d.ts.map +1 -1
- package/dist/coordination/request-reply.js.map +1 -1
- package/dist/events/bus.d.ts.map +1 -1
- package/dist/events/bus.js +1 -0
- package/dist/events/bus.js.map +1 -1
- package/dist/graph.d.ts +11 -1
- package/dist/graph.d.ts.map +1 -1
- package/dist/graph.js +4 -2
- package/dist/graph.js.map +1 -1
- package/dist/harness/agent-loop.d.ts +1 -7
- package/dist/harness/agent-loop.d.ts.map +1 -1
- package/dist/harness/agent-loop.js +2 -642
- package/dist/harness/agent-loop.js.map +1 -1
- package/dist/harness/loop/hooks.d.ts +7 -0
- package/dist/harness/loop/hooks.d.ts.map +1 -0
- package/dist/harness/loop/hooks.js +46 -0
- package/dist/harness/loop/hooks.js.map +1 -0
- package/dist/harness/loop/index.d.ts +8 -0
- package/dist/harness/loop/index.d.ts.map +1 -0
- package/dist/harness/loop/index.js +257 -0
- package/dist/harness/loop/index.js.map +1 -0
- package/dist/harness/loop/inference.d.ts +19 -0
- package/dist/harness/loop/inference.d.ts.map +1 -0
- package/dist/harness/loop/inference.js +121 -0
- package/dist/harness/loop/inference.js.map +1 -0
- package/dist/harness/loop/memory.d.ts +22 -0
- package/dist/harness/loop/memory.d.ts.map +1 -0
- package/dist/harness/loop/memory.js +73 -0
- package/dist/harness/loop/memory.js.map +1 -0
- package/dist/harness/loop/safety.d.ts +8 -0
- package/dist/harness/loop/safety.d.ts.map +1 -0
- package/dist/harness/loop/safety.js +21 -0
- package/dist/harness/loop/safety.js.map +1 -0
- package/dist/harness/loop/tools.d.ts +24 -0
- package/dist/harness/loop/tools.d.ts.map +1 -0
- package/dist/harness/loop/tools.js +184 -0
- package/dist/harness/loop/tools.js.map +1 -0
- package/dist/harness/loop/types.d.ts +7 -0
- package/dist/harness/loop/types.d.ts.map +1 -0
- package/dist/harness/loop/types.js +9 -0
- package/dist/harness/loop/types.js.map +1 -0
- package/dist/harness/memory/fs-compat.d.ts +3 -0
- package/dist/harness/memory/fs-compat.d.ts.map +1 -0
- package/dist/harness/memory/fs-compat.js +26 -0
- package/dist/harness/memory/fs-compat.js.map +1 -0
- package/dist/harness/memory/index.d.ts +105 -0
- package/dist/harness/memory/index.d.ts.map +1 -0
- package/dist/harness/memory/index.js +491 -0
- package/dist/harness/memory/index.js.map +1 -0
- package/dist/harness/memory/prompter.d.ts +7 -0
- package/dist/harness/memory/prompter.d.ts.map +1 -0
- package/dist/harness/memory/prompter.js +24 -0
- package/dist/harness/memory/prompter.js.map +1 -0
- package/dist/harness/memory/ranker.d.ts +15 -0
- package/dist/harness/memory/ranker.d.ts.map +1 -0
- package/dist/harness/memory/ranker.js +72 -0
- package/dist/harness/memory/ranker.js.map +1 -0
- package/dist/harness/memory/scanner.d.ts +26 -0
- package/dist/harness/memory/scanner.d.ts.map +1 -0
- package/dist/harness/memory/scanner.js +187 -0
- package/dist/harness/memory/scanner.js.map +1 -0
- package/dist/harness/memory/types.d.ts +50 -0
- package/dist/harness/memory/types.d.ts.map +1 -0
- package/dist/harness/memory/types.js +7 -0
- package/dist/harness/memory/types.js.map +1 -0
- package/dist/harness/memory-loader.d.ts +2 -149
- package/dist/harness/memory-loader.d.ts.map +1 -1
- package/dist/harness/memory-loader.js +1 -713
- package/dist/harness/memory-loader.js.map +1 -1
- package/dist/hitl/interrupt.d.ts.map +1 -1
- package/dist/hitl/interrupt.js +2 -1
- package/dist/hitl/interrupt.js.map +1 -1
- package/dist/prebuilt/react-agent.d.ts.map +1 -1
- package/dist/prebuilt/react-agent.js +6 -2
- package/dist/prebuilt/react-agent.js.map +1 -1
- package/dist/pregel/checkpointing.d.ts +12 -0
- package/dist/pregel/checkpointing.d.ts.map +1 -0
- package/dist/pregel/checkpointing.js +60 -0
- package/dist/pregel/checkpointing.js.map +1 -0
- package/dist/pregel/execution.d.ts +7 -0
- package/dist/pregel/execution.d.ts.map +1 -0
- package/dist/pregel/execution.js +178 -0
- package/dist/pregel/execution.js.map +1 -0
- package/dist/pregel/index.d.ts +61 -0
- package/dist/pregel/index.d.ts.map +1 -0
- package/dist/pregel/index.js +154 -0
- package/dist/pregel/index.js.map +1 -0
- package/dist/pregel/interrupts.d.ts +3 -0
- package/dist/pregel/interrupts.d.ts.map +1 -0
- package/dist/pregel/interrupts.js +7 -0
- package/dist/pregel/interrupts.js.map +1 -0
- package/dist/pregel/state-helpers.d.ts +12 -0
- package/dist/pregel/state-helpers.d.ts.map +1 -0
- package/dist/pregel/state-helpers.js +71 -0
- package/dist/pregel/state-helpers.js.map +1 -0
- package/dist/pregel/streaming.d.ts +5 -0
- package/dist/pregel/streaming.d.ts.map +1 -0
- package/dist/pregel/streaming.js +462 -0
- package/dist/pregel/streaming.js.map +1 -0
- package/dist/pregel/types.d.ts +48 -0
- package/dist/pregel/types.d.ts.map +1 -0
- package/dist/pregel/types.js +5 -0
- package/dist/pregel/types.js.map +1 -0
- package/dist/pregel.d.ts +1 -66
- package/dist/pregel.d.ts.map +1 -1
- package/dist/pregel.js +2 -854
- package/dist/pregel.js.map +1 -1
- package/dist/swarm/agent-node.d.ts +11 -0
- package/dist/swarm/agent-node.d.ts.map +1 -0
- package/dist/swarm/agent-node.js +156 -0
- package/dist/swarm/agent-node.js.map +1 -0
- package/dist/swarm/compile-ext.d.ts +5 -0
- package/dist/swarm/compile-ext.d.ts.map +1 -0
- package/dist/swarm/compile-ext.js +126 -0
- package/dist/swarm/compile-ext.js.map +1 -0
- package/dist/swarm/config.d.ts +147 -0
- package/dist/swarm/config.d.ts.map +1 -0
- package/dist/swarm/config.js +17 -0
- package/dist/swarm/config.js.map +1 -0
- package/dist/swarm/factories.d.ts +37 -0
- package/dist/swarm/factories.d.ts.map +1 -0
- package/dist/swarm/factories.js +703 -0
- package/dist/swarm/factories.js.map +1 -0
- package/dist/swarm/graph.d.ts +14 -147
- package/dist/swarm/graph.d.ts.map +1 -1
- package/dist/swarm/graph.js +30 -917
- package/dist/swarm/graph.js.map +1 -1
- package/dist/swarm/pool.js.map +1 -1
- package/dist/swarm/supervisor.js.map +1 -1
- package/dist/testing/index.d.ts +2 -2
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +3 -2
- package/dist/testing/index.js.map +1 -1
- package/dist/tools/define.d.ts +2 -1
- package/dist/tools/define.d.ts.map +1 -1
- package/dist/tools/define.js +3 -1
- package/dist/tools/define.js.map +1 -1
- package/dist/tools/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/pregel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pregel.js","sourceRoot":"","sources":["../src/pregel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pregel.js","sourceRoot":"","sources":["../src/pregel.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { NodeFn } from "../types.js";
|
|
2
|
+
import type { SwarmAgentDef } from "./types.js";
|
|
3
|
+
import type { AgentRegistry } from "./registry.js";
|
|
4
|
+
import type { BaseSwarmState } from "./config.js";
|
|
5
|
+
export interface SwarmLiveState {
|
|
6
|
+
hasSupervisor: boolean;
|
|
7
|
+
supervisorNodeName: string;
|
|
8
|
+
onErrorPolicy: "fallback" | "throw";
|
|
9
|
+
}
|
|
10
|
+
export declare function createAgentNode<S extends BaseSwarmState>(def: SwarmAgentDef<S>, registry: AgentRegistry<S>, swarmState: SwarmLiveState): NodeFn<S>;
|
|
11
|
+
//# sourceMappingURL=agent-node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-node.d.ts","sourceRoot":"","sources":["../../src/swarm/agent-node.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAa,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAO,OAAO,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAO,UAAU,GAAG,OAAO,CAAC;CAC1C;AAMD,wBAAgB,eAAe,CAAC,CAAC,SAAS,cAAc,EACtD,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EACrB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,UAAU,EAAE,cAAc,GACzB,MAAM,CAAC,CAAC,CAAC,CAmKX"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// src/swarm/agent-node.ts — createAgentNode factory
|
|
3
|
+
// Extracted from SwarmGraph.addAgent() to keep graph.ts thin.
|
|
4
|
+
// ============================================================
|
|
5
|
+
import { Command } from "../types.js";
|
|
6
|
+
import { Handoff } from "./types.js";
|
|
7
|
+
import { getInbox } from "./mailbox.js";
|
|
8
|
+
import { runWithTimeout } from "../internal/timeout.js";
|
|
9
|
+
// ----------------------------------------------------------------
|
|
10
|
+
// createAgentNode
|
|
11
|
+
// ----------------------------------------------------------------
|
|
12
|
+
export function createAgentNode(def, registry, swarmState) {
|
|
13
|
+
return async (state, config) => {
|
|
14
|
+
registry.markBusy(def.id);
|
|
15
|
+
// Fire onStart hook
|
|
16
|
+
await def.hooks?.onStart?.(def.id, state);
|
|
17
|
+
const maxRetries = def.maxRetries ?? 2;
|
|
18
|
+
const retryDelayMs = def.retryDelayMs ?? 0;
|
|
19
|
+
let lastError;
|
|
20
|
+
let lastAttempt = 0;
|
|
21
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
22
|
+
lastAttempt = attempt;
|
|
23
|
+
try {
|
|
24
|
+
// Get inbox and filter out already-consumed messages
|
|
25
|
+
const consumedIds = (state.context?.__consumedMsgIds ?? []);
|
|
26
|
+
const consumedSet = new Set(consumedIds);
|
|
27
|
+
const allInbox = getInbox(state.swarmMessages ?? [], def.id);
|
|
28
|
+
const inbox = allInbox.filter((m) => !consumedSet.has(m.id));
|
|
29
|
+
// Track consumed message IDs
|
|
30
|
+
const newConsumedIds = [...consumedIds, ...inbox.map((m) => m.id)];
|
|
31
|
+
const agentInput = {
|
|
32
|
+
...state,
|
|
33
|
+
context: {
|
|
34
|
+
...(state.context ?? {}),
|
|
35
|
+
inbox,
|
|
36
|
+
__consumedMsgIds: newConsumedIds,
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
let effectiveTimeout = def.timeout;
|
|
40
|
+
// Clamp agent timeout to remaining deadline (if set)
|
|
41
|
+
const deadlineAbs = state.context?.__deadlineAbsolute;
|
|
42
|
+
if (deadlineAbs != null) {
|
|
43
|
+
const remaining = deadlineAbs - Date.now();
|
|
44
|
+
if (remaining <= 0) {
|
|
45
|
+
throw new Error(`Agent "${def.id}" deadline expired`);
|
|
46
|
+
}
|
|
47
|
+
if (effectiveTimeout == null || remaining < effectiveTimeout) {
|
|
48
|
+
effectiveTimeout = remaining;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const result = await runWithTimeout(() => def.skeleton.invoke(agentInput, {
|
|
52
|
+
...config,
|
|
53
|
+
agentId: def.id,
|
|
54
|
+
}), effectiveTimeout, () => new Error(`Agent "${def.id}" timed out after ${effectiveTimeout}ms`));
|
|
55
|
+
registry.markIdle(def.id);
|
|
56
|
+
// ---- Handoff detection ----
|
|
57
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
58
|
+
if (result instanceof Handoff || (result && result.isHandoff)) { // SAFE: duck-typing unknown agent return value
|
|
59
|
+
const handoff = result instanceof Handoff
|
|
60
|
+
? result
|
|
61
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
62
|
+
: new Handoff(result.opts); // SAFE: duck-typing unknown agent return value
|
|
63
|
+
// Fire onComplete for handoffs too
|
|
64
|
+
await def.hooks?.onComplete?.(def.id, result);
|
|
65
|
+
return new Command({
|
|
66
|
+
update: {
|
|
67
|
+
context: { ...(state.context ?? {}), ...(handoff.context ?? {}) },
|
|
68
|
+
handoffHistory: [{
|
|
69
|
+
from: def.id,
|
|
70
|
+
to: handoff.to,
|
|
71
|
+
message: handoff.message,
|
|
72
|
+
step: state.supervisorRound ?? 0,
|
|
73
|
+
timestamp: Date.now(),
|
|
74
|
+
resume: handoff.resume,
|
|
75
|
+
}],
|
|
76
|
+
currentAgent: handoff.to,
|
|
77
|
+
},
|
|
78
|
+
goto: handoff.to,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
// Fire onComplete hook
|
|
82
|
+
await def.hooks?.onComplete?.(def.id, result);
|
|
83
|
+
// ---- Normal result ----
|
|
84
|
+
return {
|
|
85
|
+
...result,
|
|
86
|
+
context: {
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
88
|
+
...(result.context ?? {}), // SAFE: spreading unknown result context field
|
|
89
|
+
__consumedMsgIds: newConsumedIds,
|
|
90
|
+
},
|
|
91
|
+
agentResults: {
|
|
92
|
+
...(state.agentResults ?? {}),
|
|
93
|
+
[def.id]: result,
|
|
94
|
+
},
|
|
95
|
+
handoffHistory: [
|
|
96
|
+
{
|
|
97
|
+
from: def.id,
|
|
98
|
+
to: "__completed__",
|
|
99
|
+
message: "Agent completed",
|
|
100
|
+
step: state.supervisorRound ?? 0,
|
|
101
|
+
timestamp: Date.now(),
|
|
102
|
+
},
|
|
103
|
+
],
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
lastError = err;
|
|
108
|
+
if (attempt < maxRetries) {
|
|
109
|
+
// Backoff delay between retries — clamped to remaining deadline
|
|
110
|
+
if (retryDelayMs > 0) {
|
|
111
|
+
let delay = retryDelayMs;
|
|
112
|
+
const dl = state.context?.__deadlineAbsolute;
|
|
113
|
+
if (dl != null) {
|
|
114
|
+
const remaining = dl - Date.now();
|
|
115
|
+
if (remaining <= 0)
|
|
116
|
+
break; // deadline expired, stop retrying
|
|
117
|
+
delay = Math.min(delay, remaining);
|
|
118
|
+
}
|
|
119
|
+
await new Promise((r) => setTimeout(r, delay));
|
|
120
|
+
}
|
|
121
|
+
continue; // retry
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// All retries exhausted — mark error once, then fire onError hook
|
|
126
|
+
registry.markError(def.id);
|
|
127
|
+
await def.hooks?.onError?.(def.id, lastError);
|
|
128
|
+
// Keep agent in error status (don't reset to idle)
|
|
129
|
+
// Build structured error context
|
|
130
|
+
const errStr = String(lastError instanceof Error ? lastError.message : lastError);
|
|
131
|
+
const errType = errStr.includes("timeout") ? "timeout" :
|
|
132
|
+
errStr.includes("model") ? "model_error" :
|
|
133
|
+
errStr.includes("tool") ? "tool_error" :
|
|
134
|
+
"unknown";
|
|
135
|
+
if (swarmState.hasSupervisor && swarmState.onErrorPolicy !== "throw") {
|
|
136
|
+
return new Command({
|
|
137
|
+
update: {
|
|
138
|
+
context: {
|
|
139
|
+
...(state.context ?? {}),
|
|
140
|
+
lastAgentError: {
|
|
141
|
+
agent: def.id,
|
|
142
|
+
error: errStr,
|
|
143
|
+
type: errType,
|
|
144
|
+
attempt: lastAttempt,
|
|
145
|
+
maxRetries,
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
goto: swarmState.supervisorNodeName,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
// No supervisor, or onError: "throw" — rethrow
|
|
153
|
+
throw lastError;
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=agent-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-node.js","sourceRoot":"","sources":["../../src/swarm/agent-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ONISkeletonV3, StateGraph } from "../graph.js";
|
|
2
|
+
import type { AgentRegistry } from "./registry.js";
|
|
3
|
+
import type { BaseSwarmState, SwarmExtensions } from "./config.js";
|
|
4
|
+
export declare function buildSwarmExtensions<S extends BaseSwarmState>(skeleton: ONISkeletonV3<S>, registry: AgentRegistry<S>, inner: StateGraph<S>, hasSupervisor: boolean, supervisorNodeName: string, onErrorPolicy: "fallback" | "throw"): SwarmExtensions<S>;
|
|
5
|
+
//# sourceMappingURL=compile-ext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-ext.d.ts","sourceRoot":"","sources":["../../src/swarm/compile-ext.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAA0B,UAAU,EAAE,MAAM,aAAa,CAAC;AAErF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAyB,eAAe,EAAE,MAAM,aAAa,CAAC;AAI1F,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,cAAc,EAC3D,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EACpB,aAAa,EAAE,OAAO,EACtB,kBAAkB,EAAE,MAAM,EAC1B,aAAa,EAAE,UAAU,GAAG,OAAO,GAClC,eAAe,CAAC,CAAC,CAAC,CAwHpB"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// src/swarm/compile-ext.ts — buildSwarmExtensions factory
|
|
3
|
+
// Extracted from SwarmGraph.compile() to keep graph.ts thin.
|
|
4
|
+
// ============================================================
|
|
5
|
+
import { END, Send } from "../types.js";
|
|
6
|
+
import { createAgentNode } from "./agent-node.js";
|
|
7
|
+
export function buildSwarmExtensions(skeleton, registry, inner, hasSupervisor, supervisorNodeName, onErrorPolicy) {
|
|
8
|
+
return {
|
|
9
|
+
registry,
|
|
10
|
+
agentStats: () => registry.stats(),
|
|
11
|
+
toMermaid: () => {
|
|
12
|
+
// Read from the live runner's edge map so the diagram reflects
|
|
13
|
+
// agents added/removed via spawnAgent()/removeAgent() after compile.
|
|
14
|
+
const runner = skeleton._runner;
|
|
15
|
+
const edgesBySource = runner?._edgesBySource;
|
|
16
|
+
if (!edgesBySource)
|
|
17
|
+
return inner.toMermaid(); // safe fallback
|
|
18
|
+
const lines = ["graph TD"];
|
|
19
|
+
for (const [from, edges] of edgesBySource) {
|
|
20
|
+
for (const edge of edges) {
|
|
21
|
+
if (edge.type === "static" && edge.to !== undefined) {
|
|
22
|
+
lines.push(` ${from} --> ${edge.to}`);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
lines.push(` ${from} -->|?| conditional_${from}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return lines.join("\n");
|
|
30
|
+
},
|
|
31
|
+
spawnAgent(def) {
|
|
32
|
+
// spawnAgent requires a supervisor to route the spawned agent back into the graph.
|
|
33
|
+
// In unsupervised topologies there is no return path, so the agent would never execute.
|
|
34
|
+
if (!hasSupervisor) {
|
|
35
|
+
throw new Error(`spawnAgent() requires a supervisor node. ` +
|
|
36
|
+
`Use SwarmGraph.hierarchical() to add a supervisor, or call addAgent() before compile() for static topologies.`);
|
|
37
|
+
}
|
|
38
|
+
// Register in the registry
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
40
|
+
registry.register(def); // SAFE: external boundary — generic registry accepts narrower S
|
|
41
|
+
// Use the same createAgentNode path as static agents so dynamic agents get
|
|
42
|
+
// inbox tracking, timeout clamping, handoff handling, retry backoff, and
|
|
43
|
+
// structured error context — identical behavior to compile-time addAgent().
|
|
44
|
+
const swarmLiveState = { hasSupervisor, supervisorNodeName, onErrorPolicy };
|
|
45
|
+
const agentNode = createAgentNode(def, registry, swarmLiveState);
|
|
46
|
+
// Add node to the compiled runner's nodes map
|
|
47
|
+
const runner = skeleton._runner;
|
|
48
|
+
if (runner?.nodes) {
|
|
49
|
+
runner.nodes.set(def.id, { name: def.id, fn: agentNode });
|
|
50
|
+
}
|
|
51
|
+
// In supervised swarms, add a conditional return edge so the runner
|
|
52
|
+
// knows to send this agent's output back to the supervisor (or END).
|
|
53
|
+
if (hasSupervisor && runner) {
|
|
54
|
+
const returnEdge = {
|
|
55
|
+
type: "conditional",
|
|
56
|
+
from: def.id,
|
|
57
|
+
condition: (st) => st.done ? END : supervisorNodeName,
|
|
58
|
+
};
|
|
59
|
+
const edgesBySource = runner._edgesBySource;
|
|
60
|
+
const list = edgesBySource.get(def.id) ?? [];
|
|
61
|
+
list.push(returnEdge);
|
|
62
|
+
edgesBySource.set(def.id, list);
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
removeAgent(agentId) {
|
|
66
|
+
registry.deregister(agentId);
|
|
67
|
+
const runner = skeleton._runner;
|
|
68
|
+
// If the agent is not in the compiled node map it was never part of the graph —
|
|
69
|
+
// no edges can reference it, so there is nothing structural to clean up.
|
|
70
|
+
if (!runner?.nodes?.has(agentId))
|
|
71
|
+
return;
|
|
72
|
+
runner.nodes.delete(agentId);
|
|
73
|
+
// Remove stale edges pointing TO the removed agent so Pregel doesn't try to route to it.
|
|
74
|
+
// Also remove edges FROM the agent (it won't execute, but keeps _edgesBySource clean).
|
|
75
|
+
const edgesBySource = runner._edgesBySource;
|
|
76
|
+
if (edgesBySource) {
|
|
77
|
+
for (const [from, edges] of edgesBySource) {
|
|
78
|
+
let changed = false;
|
|
79
|
+
const updated = edges
|
|
80
|
+
.filter((e) => {
|
|
81
|
+
// Drop static edges that target the removed agent
|
|
82
|
+
if (e.type === "static" && e.to === agentId) {
|
|
83
|
+
changed = true;
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
return true;
|
|
87
|
+
})
|
|
88
|
+
.map((e) => {
|
|
89
|
+
if (e.type !== "conditional")
|
|
90
|
+
return e;
|
|
91
|
+
// (a) Remap any pathMap entry whose value is the removed agentId → END
|
|
92
|
+
let newPathMap = e.pathMap;
|
|
93
|
+
if (newPathMap) {
|
|
94
|
+
const stale = Object.values(newPathMap).some((v) => v === agentId);
|
|
95
|
+
if (stale) {
|
|
96
|
+
newPathMap = Object.fromEntries(Object.entries(newPathMap).map(([k, v]) => [k, v === agentId ? END : v]));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// (b) Wrap the condition so any runtime return of agentId is replaced with END.
|
|
100
|
+
// We cannot introspect the closure, so we always wrap for safety.
|
|
101
|
+
const orig = e.condition;
|
|
102
|
+
const wrapped = (state, cfg) => {
|
|
103
|
+
const result = orig(state, cfg);
|
|
104
|
+
if (!Array.isArray(result)) {
|
|
105
|
+
// Single NodeName — replace agentId with END
|
|
106
|
+
return result === agentId ? END : result;
|
|
107
|
+
}
|
|
108
|
+
if (result.length > 0 && result[0] instanceof Send) {
|
|
109
|
+
// Send[] — filter out Sends targeting the removed agent
|
|
110
|
+
return result.filter((r) => r.node !== agentId);
|
|
111
|
+
}
|
|
112
|
+
// NodeName[] — replace agentId entries with END
|
|
113
|
+
return result.map((r) => (r === agentId ? END : r));
|
|
114
|
+
};
|
|
115
|
+
changed = true;
|
|
116
|
+
return { ...e, condition: wrapped, pathMap: newPathMap };
|
|
117
|
+
});
|
|
118
|
+
if (changed)
|
|
119
|
+
edgesBySource.set(from, updated);
|
|
120
|
+
}
|
|
121
|
+
edgesBySource.delete(agentId);
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=compile-ext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-ext.js","sourceRoot":"","sources":["../../src/swarm/compile-ext.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { END } from "../types.js";
|
|
2
|
+
import type { ChannelSchema, NodeDefinition, Edge, ONICheckpointer } from "../types.js";
|
|
3
|
+
import type { BaseStore } from "../store/index.js";
|
|
4
|
+
import type { GuardrailsConfig } from "../guardrails/types.js";
|
|
5
|
+
import type { EventListeners } from "../events/types.js";
|
|
6
|
+
import type { TracerLike } from "../telemetry.js";
|
|
7
|
+
import type { ONIModel } from "../models/types.js";
|
|
8
|
+
import type { SwarmAgentDef, HandoffRecord, SwarmMessage } from "./types.js";
|
|
9
|
+
import type { AgentRegistry } from "./registry.js";
|
|
10
|
+
export interface PregelRunnerInternals<S extends Record<string, unknown>> {
|
|
11
|
+
nodes: Map<string, NodeDefinition<S>>;
|
|
12
|
+
_edgesBySource: Map<string, Edge<S>[]>;
|
|
13
|
+
}
|
|
14
|
+
export type BaseSwarmState = {
|
|
15
|
+
task: string;
|
|
16
|
+
context: Record<string, unknown>;
|
|
17
|
+
agentResults: Record<string, unknown>;
|
|
18
|
+
messages: Array<{
|
|
19
|
+
role: string;
|
|
20
|
+
content: string;
|
|
21
|
+
}>;
|
|
22
|
+
swarmMessages: SwarmMessage[];
|
|
23
|
+
supervisorRound: number;
|
|
24
|
+
currentAgent: string | null;
|
|
25
|
+
done: boolean;
|
|
26
|
+
handoffHistory: HandoffRecord[];
|
|
27
|
+
[key: string]: unknown;
|
|
28
|
+
};
|
|
29
|
+
export declare const baseSwarmChannels: {
|
|
30
|
+
task: import("../types.js").Channel<string>;
|
|
31
|
+
context: import("../types.js").Channel<{}>;
|
|
32
|
+
agentResults: import("../types.js").Channel<{}>;
|
|
33
|
+
messages: import("../types.js").Channel<{
|
|
34
|
+
role: string;
|
|
35
|
+
content: string;
|
|
36
|
+
}[]>;
|
|
37
|
+
swarmMessages: import("../types.js").Channel<SwarmMessage[]>;
|
|
38
|
+
supervisorRound: import("../types.js").Channel<number>;
|
|
39
|
+
currentAgent: import("../types.js").Channel<string | null>;
|
|
40
|
+
done: import("../types.js").Channel<boolean>;
|
|
41
|
+
handoffHistory: import("../types.js").Channel<HandoffRecord[]>;
|
|
42
|
+
};
|
|
43
|
+
export interface HierarchicalConfig<S extends BaseSwarmState> {
|
|
44
|
+
supervisor: {
|
|
45
|
+
model?: ONIModel;
|
|
46
|
+
strategy: "llm" | "rule" | "round-robin";
|
|
47
|
+
rules?: Array<{
|
|
48
|
+
condition: (task: string, context: Record<string, unknown>) => boolean;
|
|
49
|
+
agentId: string;
|
|
50
|
+
}>;
|
|
51
|
+
systemPrompt?: string;
|
|
52
|
+
maxRounds?: number;
|
|
53
|
+
/** Whole-swarm deadline in ms, computed from invoke-time (not compile-time). */
|
|
54
|
+
deadlineMs?: number;
|
|
55
|
+
/** Auto-recover: when an agent errors, route to an idle agent with matching capability. */
|
|
56
|
+
autoRecover?: boolean;
|
|
57
|
+
};
|
|
58
|
+
agents: SwarmAgentDef<S>[];
|
|
59
|
+
channels?: Partial<ChannelSchema<S>>;
|
|
60
|
+
onError?: "fallback" | "throw";
|
|
61
|
+
}
|
|
62
|
+
export interface FanOutConfig<S extends BaseSwarmState> {
|
|
63
|
+
agents: SwarmAgentDef<S>[];
|
|
64
|
+
reducer: (agentResults: Record<string, unknown>, weights?: Record<string, number>) => Partial<S>;
|
|
65
|
+
channels?: Partial<ChannelSchema<S>>;
|
|
66
|
+
/** Max agents to run simultaneously (default: all). */
|
|
67
|
+
maxConcurrency?: number;
|
|
68
|
+
/** Per-agent timeout in ms. Agents that exceed this are marked with _error. */
|
|
69
|
+
timeoutMs?: number;
|
|
70
|
+
/** Per-agent weights passed to the reducer as second argument. */
|
|
71
|
+
weights?: Record<string, number>;
|
|
72
|
+
}
|
|
73
|
+
export interface PipelineConfig<S extends BaseSwarmState> {
|
|
74
|
+
stages: SwarmAgentDef<S>[];
|
|
75
|
+
transitions?: Record<string, (state: S) => string | typeof END>;
|
|
76
|
+
channels?: Partial<ChannelSchema<S>>;
|
|
77
|
+
}
|
|
78
|
+
export interface PeerNetworkConfig<S extends BaseSwarmState> {
|
|
79
|
+
agents: SwarmAgentDef<S>[];
|
|
80
|
+
entrypoint: string;
|
|
81
|
+
handoffs: Record<string, (state: S) => string | typeof END>;
|
|
82
|
+
channels?: Partial<ChannelSchema<S>>;
|
|
83
|
+
}
|
|
84
|
+
export interface MapReduceConfig<S extends BaseSwarmState> {
|
|
85
|
+
mapper: SwarmAgentDef<S>;
|
|
86
|
+
poolSize?: number;
|
|
87
|
+
poolStrategy?: "round-robin" | "least-busy" | "random";
|
|
88
|
+
inputField: keyof S;
|
|
89
|
+
reducer: (agentResults: Record<string, unknown>) => Partial<S>;
|
|
90
|
+
channels?: Partial<ChannelSchema<S>>;
|
|
91
|
+
}
|
|
92
|
+
export interface DebateConfig<S extends BaseSwarmState> {
|
|
93
|
+
debaters: SwarmAgentDef<S>[];
|
|
94
|
+
judge: {
|
|
95
|
+
model: ONIModel;
|
|
96
|
+
systemPrompt?: string;
|
|
97
|
+
maxRounds: number;
|
|
98
|
+
consensusKeyword?: string;
|
|
99
|
+
/** Enable per-round scoring of debaters (scores stored in context.debateScores). */
|
|
100
|
+
scoreDebaters?: boolean;
|
|
101
|
+
/** Auto-consensus when score spread is within this threshold. */
|
|
102
|
+
consensusThreshold?: number;
|
|
103
|
+
};
|
|
104
|
+
topic: keyof S;
|
|
105
|
+
channels?: Partial<ChannelSchema<S>>;
|
|
106
|
+
}
|
|
107
|
+
export interface HierarchicalMeshConfig<S extends BaseSwarmState> {
|
|
108
|
+
coordinator: {
|
|
109
|
+
model: ONIModel;
|
|
110
|
+
strategy: "llm" | "rule" | "round-robin";
|
|
111
|
+
rules?: Array<{
|
|
112
|
+
condition: (task: string, context: Record<string, unknown>) => boolean;
|
|
113
|
+
agentId: string;
|
|
114
|
+
}>;
|
|
115
|
+
systemPrompt?: string;
|
|
116
|
+
maxRounds?: number;
|
|
117
|
+
};
|
|
118
|
+
teams: Record<string, {
|
|
119
|
+
topology: "pipeline" | "peerNetwork";
|
|
120
|
+
agents: SwarmAgentDef<S>[];
|
|
121
|
+
handoffs?: Record<string, (state: S) => string | typeof END>;
|
|
122
|
+
}>;
|
|
123
|
+
channels?: Partial<ChannelSchema<S>>;
|
|
124
|
+
}
|
|
125
|
+
export interface SwarmCompileOpts<S> {
|
|
126
|
+
checkpointer?: ONICheckpointer<S>;
|
|
127
|
+
interruptBefore?: string[];
|
|
128
|
+
interruptAfter?: string[];
|
|
129
|
+
store?: BaseStore;
|
|
130
|
+
guardrails?: GuardrailsConfig;
|
|
131
|
+
listeners?: EventListeners;
|
|
132
|
+
defaults?: {
|
|
133
|
+
nodeTimeout?: number;
|
|
134
|
+
};
|
|
135
|
+
deadLetterQueue?: boolean;
|
|
136
|
+
tracer?: TracerLike;
|
|
137
|
+
}
|
|
138
|
+
export interface SwarmExtensions<S extends Record<string, unknown>> {
|
|
139
|
+
registry: AgentRegistry<S>;
|
|
140
|
+
agentStats: () => ReturnType<AgentRegistry<S>["stats"]>;
|
|
141
|
+
toMermaid: () => string;
|
|
142
|
+
/** Dynamically spawn a new agent into the compiled swarm */
|
|
143
|
+
spawnAgent: (def: SwarmAgentDef<S>) => void;
|
|
144
|
+
/** Remove an agent from the compiled swarm (marks as terminated) */
|
|
145
|
+
removeAgent: (agentId: string) => void;
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/swarm/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// src/swarm/config.ts — SwarmGraph topology config types
|
|
3
|
+
// Extracted from graph.ts to keep SwarmGraph class focused.
|
|
4
|
+
// ============================================================
|
|
5
|
+
import { appendList, lastValue, mergeObject } from "../types.js";
|
|
6
|
+
export const baseSwarmChannels = {
|
|
7
|
+
task: lastValue(() => ""),
|
|
8
|
+
context: mergeObject(() => ({})),
|
|
9
|
+
agentResults: mergeObject(() => ({})),
|
|
10
|
+
messages: appendList(() => []),
|
|
11
|
+
swarmMessages: appendList(() => []),
|
|
12
|
+
supervisorRound: lastValue(() => 0),
|
|
13
|
+
currentAgent: lastValue(() => null),
|
|
14
|
+
done: lastValue(() => false),
|
|
15
|
+
handoffHistory: appendList(() => []),
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/swarm/config.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,yDAAyD;AACzD,4DAA4D;AAC5D,+DAA+D;AAE/D,OAAO,EAAO,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAqCtE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAa,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;IACpC,OAAO,EAAU,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACxC,YAAY,EAAK,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACxC,QAAQ,EAAS,UAAU,CAAC,GAAG,EAAE,CAAC,EAA8C,CAAC;IACjF,aAAa,EAAI,UAAU,CAAC,GAAG,EAAE,CAAC,EAAoB,CAAC;IACvD,eAAe,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACnC,YAAY,EAAK,SAAS,CAAC,GAAkB,EAAE,CAAC,IAAI,CAAC;IACrD,IAAI,EAAa,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IACvC,cAAc,EAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAqB,CAAC;CACzD,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ChannelSchema } from "../types.js";
|
|
2
|
+
import type { SwarmAgentDef } from "./types.js";
|
|
3
|
+
import type { BaseSwarmState, HierarchicalConfig, FanOutConfig, PipelineConfig, PeerNetworkConfig, MapReduceConfig, DebateConfig, HierarchicalMeshConfig } from "./config.js";
|
|
4
|
+
import type { SwarmGraph } from "./graph.js";
|
|
5
|
+
export declare function buildHierarchical<S extends BaseSwarmState>(config: HierarchicalConfig<S>, swarm: SwarmGraph<S>): SwarmGraph<S>;
|
|
6
|
+
export declare function buildFanOut<S extends BaseSwarmState>(config: FanOutConfig<S>, swarm: SwarmGraph<S>): SwarmGraph<S>;
|
|
7
|
+
export declare function buildPipeline<S extends BaseSwarmState>(config: PipelineConfig<S>, swarm: SwarmGraph<S>): SwarmGraph<S>;
|
|
8
|
+
export declare function buildPeerNetwork<S extends BaseSwarmState>(config: PeerNetworkConfig<S>, swarm: SwarmGraph<S>): SwarmGraph<S>;
|
|
9
|
+
export declare function buildMapReduce<S extends BaseSwarmState>(config: MapReduceConfig<S>, swarm: SwarmGraph<S>): SwarmGraph<S>;
|
|
10
|
+
export declare function buildDebate<S extends BaseSwarmState>(config: DebateConfig<S>, swarm: SwarmGraph<S>): SwarmGraph<S>;
|
|
11
|
+
export declare function buildHierarchicalMesh<S extends BaseSwarmState>(config: HierarchicalMeshConfig<S>, swarm: SwarmGraph<S>, makeSwarm: (channels?: Partial<ChannelSchema<S>>) => SwarmGraph<S>): SwarmGraph<S>;
|
|
12
|
+
export declare function buildRace<S extends BaseSwarmState>(config: {
|
|
13
|
+
agents: SwarmAgentDef<S>[];
|
|
14
|
+
accept?: (result: unknown) => boolean;
|
|
15
|
+
timeoutMs?: number;
|
|
16
|
+
channels?: Partial<ChannelSchema<S>>;
|
|
17
|
+
}, swarm: SwarmGraph<S>): SwarmGraph<S>;
|
|
18
|
+
export declare function buildDag<S extends BaseSwarmState>(config: {
|
|
19
|
+
agents: SwarmAgentDef<S>[];
|
|
20
|
+
dependencies: Record<string, string[]>;
|
|
21
|
+
channels?: Partial<ChannelSchema<S>>;
|
|
22
|
+
}, swarm: SwarmGraph<S>): SwarmGraph<S>;
|
|
23
|
+
export declare function buildPool<S extends BaseSwarmState>(config: {
|
|
24
|
+
agent: SwarmAgentDef<S>;
|
|
25
|
+
poolSize: number;
|
|
26
|
+
inputField: keyof S;
|
|
27
|
+
reducer: (results: Record<string, unknown>) => Partial<S>;
|
|
28
|
+
channels?: Partial<ChannelSchema<S>>;
|
|
29
|
+
}, swarm: SwarmGraph<S>): SwarmGraph<S>;
|
|
30
|
+
export declare function buildCompose<S extends BaseSwarmState>(config: {
|
|
31
|
+
stages: Array<{
|
|
32
|
+
id: string;
|
|
33
|
+
swarm: SwarmGraph<S>;
|
|
34
|
+
}>;
|
|
35
|
+
channels?: Partial<ChannelSchema<S>>;
|
|
36
|
+
}, swarm: SwarmGraph<S>): SwarmGraph<S>;
|
|
37
|
+
//# sourceMappingURL=factories.d.ts.map
|