cpa-agents 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -1
- package/dist/adapters/openclaw.d.ts +16 -4
- package/dist/adapters/openclaw.d.ts.map +1 -1
- package/dist/adapters/openclaw.js +29 -41
- package/dist/adapters/openclaw.js.map +1 -1
- package/dist/adapters/pi-harness.d.ts +49 -7
- package/dist/adapters/pi-harness.d.ts.map +1 -1
- package/dist/adapters/pi-harness.js +160 -77
- package/dist/adapters/pi-harness.js.map +1 -1
- package/dist/agent.js +2 -2
- package/dist/agent.js.map +1 -1
- package/dist/channel.d.ts +9 -2
- package/dist/channel.d.ts.map +1 -1
- package/dist/channel.js +138 -17
- package/dist/channel.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/jsonl.d.ts +25 -0
- package/dist/jsonl.d.ts.map +1 -0
- package/dist/jsonl.js +53 -0
- package/dist/jsonl.js.map +1 -0
- package/dist/process.d.ts.map +1 -1
- package/dist/process.js +68 -37
- package/dist/process.js.map +1 -1
- package/dist/scheduler.d.ts +14 -3
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +32 -1
- package/dist/scheduler.js.map +1 -1
- package/dist/session-tree.d.ts +3 -0
- package/dist/session-tree.d.ts.map +1 -0
- package/dist/session-tree.js +29 -0
- package/dist/session-tree.js.map +1 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +10 -0
- package/dist/version.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,151 +1,234 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Pi Harness adapter
|
|
3
3
|
*/
|
|
4
|
-
import { par, } from "../process.js";
|
|
5
|
-
import {
|
|
4
|
+
import { par, branchFix, } from "../process.js";
|
|
5
|
+
import { fanOut } from "../agent.js";
|
|
6
6
|
import { invertible, or, retryWithBackoff, saga, timeout } from "../operators.js";
|
|
7
7
|
import { Scheduler } from "../scheduler.js";
|
|
8
|
+
import { sessionTreeToMarkdown } from "../session-tree.js";
|
|
9
|
+
import { VERSION } from "../version.js";
|
|
10
|
+
let configuredPiBridge;
|
|
11
|
+
/** Connect standalone piTool/piSubAgent factories to a host runtime. */
|
|
12
|
+
export function configurePiBridge(bridge) {
|
|
13
|
+
configuredPiBridge = bridge;
|
|
14
|
+
}
|
|
15
|
+
function resolvePiBridge(explicit) {
|
|
16
|
+
const bridge = explicit ?? configuredPiBridge;
|
|
17
|
+
if (!bridge) {
|
|
18
|
+
throw new Error("Pi bridge not connected. Pass bridge to the factory, call configurePiBridge(), " +
|
|
19
|
+
"or use createPiCpaExtension() with piCtx.agent.");
|
|
20
|
+
}
|
|
21
|
+
return bridge;
|
|
22
|
+
}
|
|
23
|
+
function requirePiAgent(ctx) {
|
|
24
|
+
if (!ctx.agent) {
|
|
25
|
+
throw new Error("Pi agent runtime not connected. Provide piCtx.agent with a run() method.");
|
|
26
|
+
}
|
|
27
|
+
return ctx.agent;
|
|
28
|
+
}
|
|
29
|
+
function sessionId(ctx) {
|
|
30
|
+
return ctx.session?.id ?? "default";
|
|
31
|
+
}
|
|
32
|
+
function makeScheduler(ctx) {
|
|
33
|
+
return new Scheduler({
|
|
34
|
+
onTrace: (e) => {
|
|
35
|
+
ctx.log?.(`[cpa] ${e.type}: ${e.runId}`);
|
|
36
|
+
ctx.session?.appendEvent?.(e);
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function makeRunTask(agent) {
|
|
41
|
+
return (task, model) => async (runCtx) => {
|
|
42
|
+
const result = await agent.run(task, {
|
|
43
|
+
model,
|
|
44
|
+
signal: runCtx.signal,
|
|
45
|
+
});
|
|
46
|
+
if (result.errors?.length) {
|
|
47
|
+
throw new Error(result.errors.join("; "));
|
|
48
|
+
}
|
|
49
|
+
return result.output;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function makeRunTaskVoid(agent) {
|
|
53
|
+
const runTask = makeRunTask(agent);
|
|
54
|
+
return (task, model) => async (runCtx) => {
|
|
55
|
+
await runTask(task, model)(runCtx);
|
|
56
|
+
};
|
|
57
|
+
}
|
|
8
58
|
export function piTool(opts) {
|
|
9
59
|
return {
|
|
10
60
|
name: `pi:${opts.name}`,
|
|
11
|
-
invoke: async (
|
|
12
|
-
|
|
13
|
-
|
|
61
|
+
invoke: async (input, signal) => {
|
|
62
|
+
const bridge = resolvePiBridge(opts.bridge);
|
|
63
|
+
const raw = await bridge.runTool({ tool: opts.tool, args: opts.buildArgs(input) }, signal);
|
|
64
|
+
return opts.parseResult(raw);
|
|
14
65
|
},
|
|
15
66
|
};
|
|
16
67
|
}
|
|
17
68
|
export function piSubAgent(opts) {
|
|
18
69
|
return {
|
|
19
70
|
name: `pi:subagent:${opts.name}`,
|
|
20
|
-
invoke: async (_,
|
|
21
|
-
|
|
71
|
+
invoke: async (_, signal) => {
|
|
72
|
+
const bridge = resolvePiBridge(opts.bridge);
|
|
73
|
+
const output = await bridge.runSubAgent({ prompt: opts.prompt, model: opts.model }, signal);
|
|
74
|
+
return opts.parseResult(output);
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export function createPiBridgeFromAgent(agent) {
|
|
79
|
+
return {
|
|
80
|
+
runSubAgent: async ({ prompt, model }, signal) => {
|
|
81
|
+
const result = await agent.run(prompt, { model, signal });
|
|
82
|
+
if (result.errors?.length) {
|
|
83
|
+
throw new Error(result.errors.join("; "));
|
|
84
|
+
}
|
|
85
|
+
return result.output;
|
|
86
|
+
},
|
|
87
|
+
runTool: async ({ tool, args }, signal) => {
|
|
88
|
+
if (!agent.runTool) {
|
|
89
|
+
throw new Error(`Pi agent runtime has no runTool() for tool "${tool}"`);
|
|
90
|
+
}
|
|
91
|
+
return agent.runTool(tool, args, { signal });
|
|
22
92
|
},
|
|
23
93
|
};
|
|
24
94
|
}
|
|
25
95
|
export function createPiCpaExtension() {
|
|
96
|
+
const lastTrees = new Map();
|
|
97
|
+
async function rememberTree(ctx, result) {
|
|
98
|
+
lastTrees.set(sessionId(ctx), result.sessionTree);
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
26
101
|
return {
|
|
27
102
|
name: "cpa-agents",
|
|
28
|
-
version:
|
|
103
|
+
version: VERSION,
|
|
29
104
|
description: "Concurrent Process Algebra for AI agent orchestration",
|
|
30
105
|
commands: {
|
|
31
106
|
"cpa:par": {
|
|
32
107
|
description: "Run tasks in parallel using process algebra",
|
|
33
108
|
handler: async (args, piCtx) => {
|
|
34
|
-
const
|
|
35
|
-
const scheduler =
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const parallelProc = par(...processes.map((p) => agentProcess(p, undefined)));
|
|
44
|
-
return scheduler.run("par", parallelProc);
|
|
109
|
+
const agent = requirePiAgent(piCtx);
|
|
110
|
+
const scheduler = makeScheduler(piCtx);
|
|
111
|
+
const tasks = args
|
|
112
|
+
.split("|")
|
|
113
|
+
.map((t) => t.trim())
|
|
114
|
+
.filter(Boolean);
|
|
115
|
+
const runTask = makeRunTask(agent);
|
|
116
|
+
const processes = tasks.map((task) => runTask(task));
|
|
117
|
+
return rememberTree(piCtx, await scheduler.run("par", par(...processes)));
|
|
45
118
|
},
|
|
46
119
|
},
|
|
47
120
|
"cpa:fix": {
|
|
48
121
|
description: "Run a task with automatic fix-on-error branching",
|
|
49
122
|
handler: async (args, piCtx) => {
|
|
50
|
-
const
|
|
51
|
-
|
|
123
|
+
const agent = requirePiAgent(piCtx);
|
|
124
|
+
const scheduler = makeScheduler(piCtx);
|
|
125
|
+
const task = args.trim();
|
|
126
|
+
const proc = branchFix({
|
|
127
|
+
name: "pi-fix",
|
|
128
|
+
main: (requestFix) => async (ctx) => {
|
|
129
|
+
const result = await agent.run(task, { signal: ctx.signal });
|
|
130
|
+
if (result.errors?.length) {
|
|
131
|
+
await requestFix(result.errors.join("; "));
|
|
132
|
+
}
|
|
133
|
+
return result.output;
|
|
134
|
+
},
|
|
135
|
+
fix: (reason) => async (ctx) => {
|
|
136
|
+
await agent.run(`Fix the following issues: ${reason}`, {
|
|
137
|
+
signal: ctx.signal,
|
|
138
|
+
});
|
|
139
|
+
},
|
|
52
140
|
});
|
|
53
|
-
|
|
54
|
-
name: "coder",
|
|
55
|
-
invoke: async (task, _signal) => `// TODO: implement ${task}`,
|
|
56
|
-
};
|
|
57
|
-
const checker = {
|
|
58
|
-
name: "checker",
|
|
59
|
-
invoke: async (_code, _signal) => ({ pass: true, errors: [] }),
|
|
60
|
-
};
|
|
61
|
-
const fixer = {
|
|
62
|
-
name: "fixer",
|
|
63
|
-
invoke: async (input, _signal) => input.code,
|
|
64
|
-
};
|
|
65
|
-
const proc = codeThenFix({ coder, checker, fixer, task: args });
|
|
66
|
-
return scheduler.run("fix", proc);
|
|
141
|
+
return rememberTree(piCtx, await scheduler.run("fix", proc));
|
|
67
142
|
},
|
|
68
143
|
},
|
|
69
144
|
"cpa:tree": {
|
|
70
145
|
description: "Display the CPA session tree",
|
|
71
|
-
handler: async (_args,
|
|
72
|
-
|
|
146
|
+
handler: async (_args, piCtx) => {
|
|
147
|
+
const tree = lastTrees.get(sessionId(piCtx)) ?? [];
|
|
148
|
+
return {
|
|
149
|
+
tree,
|
|
150
|
+
markdown: sessionTreeToMarkdown(tree),
|
|
151
|
+
};
|
|
73
152
|
},
|
|
74
153
|
},
|
|
75
154
|
"cpa:retry": {
|
|
76
155
|
description: "Retry a Pi task with backoff and timeout",
|
|
77
156
|
handler: async (args, piCtx) => {
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
});
|
|
157
|
+
const agent = requirePiAgent(piCtx);
|
|
158
|
+
const scheduler = makeScheduler(piCtx);
|
|
81
159
|
const task = args.trim();
|
|
160
|
+
const runTask = makeRunTask(agent);
|
|
82
161
|
const proc = retryWithBackoff({
|
|
83
|
-
process: timeout(30_000,
|
|
84
|
-
const sub = piSubAgent({
|
|
85
|
-
name: task.slice(0, 30) || "retry-task",
|
|
86
|
-
prompt: task,
|
|
87
|
-
parseResult: (out) => out,
|
|
88
|
-
});
|
|
89
|
-
return sub.invoke(undefined, ctx.signal);
|
|
90
|
-
}),
|
|
162
|
+
process: timeout(30_000, runTask(task)),
|
|
91
163
|
maxAttempts: 3,
|
|
92
164
|
initialDelayMs: 100,
|
|
93
165
|
});
|
|
94
|
-
return scheduler.run("retry", proc);
|
|
166
|
+
return rememberTree(piCtx, await scheduler.run("retry", proc));
|
|
95
167
|
},
|
|
96
168
|
},
|
|
97
169
|
"cpa:fallback": {
|
|
98
170
|
description: "Run fallback Pi task if primary fails",
|
|
99
171
|
handler: async (args, piCtx) => {
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
});
|
|
172
|
+
const agent = requirePiAgent(piCtx);
|
|
173
|
+
const scheduler = makeScheduler(piCtx);
|
|
103
174
|
const [primary, fallback] = args
|
|
104
175
|
.split("||")
|
|
105
176
|
.map((part) => part.trim())
|
|
106
177
|
.filter(Boolean);
|
|
107
178
|
const primaryPrompt = primary ?? args.trim();
|
|
108
179
|
const fallbackPrompt = fallback ?? `Fallback for: ${primaryPrompt}`;
|
|
180
|
+
const runTask = makeRunTask(agent);
|
|
109
181
|
const proc = async (ctx) => {
|
|
110
|
-
const result = await or(
|
|
111
|
-
name: "primary",
|
|
112
|
-
prompt: primaryPrompt,
|
|
113
|
-
parseResult: (out) => out,
|
|
114
|
-
}).invoke(undefined, c.signal), async (c) => piSubAgent({
|
|
115
|
-
name: "fallback",
|
|
116
|
-
prompt: fallbackPrompt,
|
|
117
|
-
parseResult: (out) => out,
|
|
118
|
-
}).invoke(undefined, c.signal))(ctx);
|
|
182
|
+
const result = await or(runTask(primaryPrompt), runTask(fallbackPrompt))(ctx);
|
|
119
183
|
if (!result.ok) {
|
|
120
184
|
throw result.error;
|
|
121
185
|
}
|
|
122
186
|
return result.value;
|
|
123
187
|
};
|
|
124
|
-
return scheduler.run("fallback", proc);
|
|
188
|
+
return rememberTree(piCtx, await scheduler.run("fallback", proc));
|
|
125
189
|
},
|
|
126
190
|
},
|
|
127
191
|
"cpa:saga": {
|
|
128
192
|
description: "Run rollback-aware multi-step Pi workflow",
|
|
129
193
|
handler: async (args, piCtx) => {
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
194
|
+
const agent = requirePiAgent(piCtx);
|
|
195
|
+
const scheduler = makeScheduler(piCtx);
|
|
196
|
+
const runTask = makeRunTask(agent);
|
|
197
|
+
const runTaskVoid = makeRunTaskVoid(agent);
|
|
133
198
|
const steps = args
|
|
134
199
|
.split("|")
|
|
135
200
|
.map((part) => part.trim())
|
|
136
201
|
.filter(Boolean);
|
|
137
|
-
const proc = saga(steps.map((step) => invertible(
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
202
|
+
const proc = saga(steps.map((step) => invertible(runTask(step), () => runTaskVoid(`Rollback/undo the effects of this step: ${step}`))));
|
|
203
|
+
return rememberTree(piCtx, await scheduler.run("saga", proc));
|
|
204
|
+
},
|
|
205
|
+
},
|
|
206
|
+
"cpa:fan-out": {
|
|
207
|
+
description: "Run the same task across multiple Pi models",
|
|
208
|
+
handler: async (args, piCtx) => {
|
|
209
|
+
const agent = requirePiAgent(piCtx);
|
|
210
|
+
const scheduler = makeScheduler(piCtx);
|
|
211
|
+
const [taskPart, modelsPart] = args.split("::").map((s) => s.trim());
|
|
212
|
+
const task = taskPart || args.trim();
|
|
213
|
+
const models = modelsPart
|
|
214
|
+
? modelsPart.split(",").map((m) => m.trim()).filter(Boolean)
|
|
215
|
+
: [undefined];
|
|
216
|
+
const agents = models.map((model) => ({
|
|
217
|
+
name: model ? `model:${model}` : "model:default",
|
|
218
|
+
invoke: async (input, signal) => {
|
|
219
|
+
const result = await agent.run(input, { model, signal });
|
|
220
|
+
if (result.errors?.length) {
|
|
221
|
+
throw new Error(result.errors.join("; "));
|
|
222
|
+
}
|
|
223
|
+
return result.output;
|
|
224
|
+
},
|
|
225
|
+
}));
|
|
226
|
+
const proc = fanOut({
|
|
227
|
+
agents,
|
|
228
|
+
input: task,
|
|
229
|
+
merge: (results) => ({ results, count: results.length }),
|
|
230
|
+
});
|
|
231
|
+
return rememberTree(piCtx, await scheduler.run("fan-out", proc));
|
|
149
232
|
},
|
|
150
233
|
},
|
|
151
234
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi-harness.js","sourceRoot":"","sources":["../../src/adapters/pi-harness.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"pi-harness.js","sourceRoot":"","sources":["../../src/adapters/pi-harness.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAKL,GAAG,EACH,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAgC,MAAM,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAwB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAkCxC,IAAI,kBAAwC,CAAC;AAE7C,wEAAwE;AACxE,MAAM,UAAU,iBAAiB,CAAC,MAA4B;IAC5D,kBAAkB,GAAG,MAAM,CAAC;AAC9B,CAAC;AAED,SAAS,eAAe,CAAC,QAAmB;IAC1C,MAAM,MAAM,GAAG,QAAQ,IAAI,kBAAkB,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,iFAAiF;YAC/E,iDAAiD,CACpD,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,GAAkB;IACxC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC;AACnB,CAAC;AAED,SAAS,SAAS,CAAC,GAAkB;IACnC,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,SAAS,CAAC;AACtC,CAAC;AAED,SAAS,aAAa,CAAC,GAAkB;IACvC,OAAO,IAAI,SAAS,CAAC;QACnB,OAAO,EAAE,CAAC,CAAa,EAAE,EAAE;YACzB,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACzC,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,KAAqB;IACxC,OAAO,CAAC,IAAY,EAAE,KAAc,EAAmB,EAAE,CACvD,KAAK,EAAE,MAAsB,EAAE,EAAE;QAC/B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;YACnC,KAAK;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,KAAqB;IAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,CAAC,IAAY,EAAE,KAAc,EAAiB,EAAE,CACrD,KAAK,EAAE,MAAsB,EAAE,EAAE;QAC/B,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,MAAM,CAAkB,IAMvC;IACC,OAAO;QACL,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE;QACvB,MAAM,EAAE,KAAK,EAAE,KAAa,EAAE,MAAmB,EAAE,EAAE;YACnD,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAC9B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAChD,MAAM,CACP,CAAC;YACF,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAU,IAMnC;IACC,OAAO;QACL,IAAI,EAAE,eAAe,IAAI,CAAC,IAAI,EAAE;QAChC,MAAM,EAAE,KAAK,EAAE,CAAO,EAAE,MAAmB,EAAE,EAAE;YAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAC1C,MAAM,CACP,CAAC;YACF,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAqB;IAC3D,OAAO;QACL,WAAW,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE;YAC/C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,GAAG,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEnD,KAAK,UAAU,YAAY,CACzB,GAAkB,EAClB,MAAgC;QAEhC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,uDAAuD;QAEpE,QAAQ,EAAE;YACR,SAAS,EAAE;gBACT,WAAW,EAAE,6CAA6C;gBAC1D,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,KAAoB,EAAE,EAAE;oBACpD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;oBACpC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;oBACvC,MAAM,KAAK,GAAG,IAAI;yBACf,KAAK,CAAC,GAAG,CAAC;yBACV,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;yBAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;oBAEnB,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;oBACnC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;oBAE7D,OAAO,YAAY,CACjB,KAAK,EACL,MAAM,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAC9C,CAAC;gBACJ,CAAC;aACF;YAED,SAAS,EAAE;gBACT,WAAW,EAAE,kDAAkD;gBAC/D,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,KAAoB,EAAE,EAAE;oBACpD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;oBACpC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;oBACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAEzB,MAAM,IAAI,GAAG,SAAS,CAAS;wBAC7B,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,EAAE,GAAmB,EAAE,EAAE;4BAClD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;4BAC7D,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gCAC1B,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;4BAC7C,CAAC;4BACD,OAAO,MAAM,CAAC,MAAM,CAAC;wBACvB,CAAC;wBACD,GAAG,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,KAAK,EAAE,GAAmB,EAAE,EAAE;4BACrD,MAAM,KAAK,CAAC,GAAG,CAAC,6BAA6B,MAAM,EAAE,EAAE;gCACrD,MAAM,EAAE,GAAG,CAAC,MAAM;6BACnB,CAAC,CAAC;wBACL,CAAC;qBACF,CAAC,CAAC;oBAEH,OAAO,YAAY,CAAC,KAAK,EAAE,MAAM,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC/D,CAAC;aACF;YAED,UAAU,EAAE;gBACV,WAAW,EAAE,8BAA8B;gBAC3C,OAAO,EAAE,KAAK,EAAE,KAAa,EAAE,KAAoB,EAAE,EAAE;oBACrD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;oBACnD,OAAO;wBACL,IAAI;wBACJ,QAAQ,EAAE,qBAAqB,CAAC,IAAI,CAAC;qBACtC,CAAC;gBACJ,CAAC;aACF;YAED,WAAW,EAAE;gBACX,WAAW,EAAE,0CAA0C;gBACvD,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,KAAoB,EAAE,EAAE;oBACpD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;oBACpC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;oBACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;oBAEnC,MAAM,IAAI,GAAG,gBAAgB,CAAC;wBAC5B,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;wBACvC,WAAW,EAAE,CAAC;wBACd,cAAc,EAAE,GAAG;qBACpB,CAAC,CAAC;oBAEH,OAAO,YAAY,CAAC,KAAK,EAAE,MAAM,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBACjE,CAAC;aACF;YAED,cAAc,EAAE;gBACd,WAAW,EAAE,uCAAuC;gBACpD,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,KAAoB,EAAE,EAAE;oBACpD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;oBACpC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;oBAEvC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAI;yBAC7B,KAAK,CAAC,IAAI,CAAC;yBACX,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;yBAClC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAEnB,MAAM,aAAa,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC7C,MAAM,cAAc,GAAG,QAAQ,IAAI,iBAAiB,aAAa,EAAE,CAAC;oBACpE,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;oBAEnC,MAAM,IAAI,GAAoB,KAAK,EAAE,GAAmB,EAAE,EAAE;wBAC1D,MAAM,MAAM,GAAG,MAAM,EAAE,CACrB,OAAO,CAAC,aAAa,CAAC,EACtB,OAAO,CAAC,cAAc,CAAC,CACxB,CAAC,GAAG,CAAC,CAAC;wBACP,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;4BACf,MAAM,MAAM,CAAC,KAAK,CAAC;wBACrB,CAAC;wBACD,OAAO,MAAM,CAAC,KAAK,CAAC;oBACtB,CAAC,CAAC;oBAEF,OAAO,YAAY,CAAC,KAAK,EAAE,MAAM,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;gBACpE,CAAC;aACF;YAED,UAAU,EAAE;gBACV,WAAW,EAAE,2CAA2C;gBACxD,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,KAAoB,EAAE,EAAE;oBACpD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;oBACpC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;oBACvC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;oBACnC,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;oBAE3C,MAAM,KAAK,GAAG,IAAI;yBACf,KAAK,CAAC,GAAG,CAAC;yBACV,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;yBAClC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAEnB,MAAM,IAAI,GAAG,IAAI,CACf,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjB,UAAU,CACR,OAAO,CAAC,IAAI,CAAC,EACb,GAAG,EAAE,CACH,WAAW,CAAC,2CAA2C,IAAI,EAAE,CAAC,CACjE,CACF,CACF,CAAC;oBAEF,OAAO,YAAY,CAAC,KAAK,EAAE,MAAM,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBAChE,CAAC;aACF;YAED,aAAa,EAAE;gBACb,WAAW,EAAE,6CAA6C;gBAC1D,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,KAAoB,EAAE,EAAE;oBACpD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;oBACpC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;oBAEvC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACrE,MAAM,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACrC,MAAM,MAAM,GAAG,UAAU;wBACvB,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;wBAC5D,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAEhB,MAAM,MAAM,GAAgC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBACjE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,eAAe;wBAChD,MAAM,EAAE,KAAK,EAAE,KAAa,EAAE,MAAmB,EAAE,EAAE;4BACnD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;4BACzD,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gCAC1B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;4BAC5C,CAAC;4BACD,OAAO,MAAM,CAAC,MAAM,CAAC;wBACvB,CAAC;qBACF,CAAC,CAAC,CAAC;oBAEJ,MAAM,IAAI,GAAG,MAAM,CAAC;wBAClB,MAAM;wBACN,KAAK,EAAE,IAAI;wBACX,KAAK,EAAE,CAAC,OAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;qBACnE,CAAC,CAAC;oBAEH,OAAO,YAAY,CAAC,KAAK,EAAE,MAAM,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;gBACnE,CAAC;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
package/dist/agent.js
CHANGED
|
@@ -129,11 +129,11 @@ export function handoff(opts) {
|
|
|
129
129
|
channel: ch.name,
|
|
130
130
|
ts: Date.now(),
|
|
131
131
|
});
|
|
132
|
-
await ch.send(result);
|
|
132
|
+
await ch.send(result, pCtx.signal);
|
|
133
133
|
},
|
|
134
134
|
// Consumer: receives from channel, runs `to`
|
|
135
135
|
async (cCtx) => {
|
|
136
|
-
const value = await ch.receive();
|
|
136
|
+
const value = await ch.receive(cCtx.signal);
|
|
137
137
|
cCtx.trace.emit({
|
|
138
138
|
type: "receive",
|
|
139
139
|
runId: cCtx.runId,
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/channel.d.ts
CHANGED
|
@@ -24,12 +24,12 @@ export declare class Channel<T = unknown> {
|
|
|
24
24
|
* Send a value. Blocks until a receiver picks it up (rendezvous).
|
|
25
25
|
* In π-calculus: ā⟨v⟩.P — output v on channel a, then continue as P.
|
|
26
26
|
*/
|
|
27
|
-
send(value: T): Promise<void>;
|
|
27
|
+
send(value: T, signal?: AbortSignal): Promise<void>;
|
|
28
28
|
/**
|
|
29
29
|
* Receive a value. Blocks until a sender provides one.
|
|
30
30
|
* In π-calculus: a(x).P — input x from channel a, then continue as P.
|
|
31
31
|
*/
|
|
32
|
-
receive(): Promise<T>;
|
|
32
|
+
receive(signal?: AbortSignal): Promise<T>;
|
|
33
33
|
/**
|
|
34
34
|
* Non-blocking try-receive. Returns undefined if nothing is waiting.
|
|
35
35
|
*/
|
|
@@ -38,6 +38,11 @@ export declare class Channel<T = unknown> {
|
|
|
38
38
|
* Close the channel. Rejects all pending waiters.
|
|
39
39
|
*/
|
|
40
40
|
close(): void;
|
|
41
|
+
/** Cancel pending receivers without closing the channel. */
|
|
42
|
+
cancelPendingReceives(reason?: Error): void;
|
|
43
|
+
/** Cancel pending senders without closing the channel. */
|
|
44
|
+
cancelPendingSends(reason?: Error): void;
|
|
45
|
+
private cancelPendingWaiters;
|
|
41
46
|
/**
|
|
42
47
|
* π-calculus restriction: ν(x). Creates a fresh channel
|
|
43
48
|
* scoped to the provided function. The channel is closed
|
|
@@ -48,10 +53,12 @@ export declare class Channel<T = unknown> {
|
|
|
48
53
|
/**
|
|
49
54
|
* Select: π-calculus external choice (P + Q).
|
|
50
55
|
* Waits on multiple channels, returns the first that fires.
|
|
56
|
+
* Losing branches are cancelled so receivers do not leak.
|
|
51
57
|
*/
|
|
52
58
|
export interface SelectCase<T> {
|
|
53
59
|
channel: Channel<T>;
|
|
54
60
|
handler: (value: T) => Promise<void> | void;
|
|
55
61
|
}
|
|
62
|
+
export declare function select(signal: AbortSignal, ...cases: SelectCase<any>[]): Promise<void>;
|
|
56
63
|
export declare function select(...cases: SelectCase<any>[]): Promise<void>;
|
|
57
64
|
//# sourceMappingURL=channel.d.ts.map
|
package/dist/channel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AAG1D,wBAAgB,OAAO,CAAC,MAAM,SAAO,GAAG,SAAS,CAEhD;
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AAG1D,wBAAgB,OAAO,CAAC,MAAM,SAAO,GAAG,SAAS,CAEhD;AAwBD;;;GAGG;AACH,qBAAa,OAAO,CAAC,CAAC,GAAG,OAAO;IAC9B,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,OAAO,CAAS;gBAEZ,IAAI,CAAC,EAAE,MAAM;IAKzB,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCnD;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAiCzC;;OAEG;IACH,UAAU,IAAI,CAAC,GAAG,SAAS;IAU3B;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb,4DAA4D;IAC5D,qBAAqB,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,IAAI;IAS3C,0DAA0D;IAC1D,kBAAkB,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,IAAI;IASxC,OAAO,CAAC,oBAAoB;IAa5B;;;;OAIG;WACU,QAAQ,CAAC,CAAC,EAAE,CAAC,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GACnC,OAAO,CAAC,CAAC,CAAC;CAQd;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC7C;AAED,wBAAsB,MAAM,CAC1B,MAAM,EAAE,WAAW,EACnB,GAAG,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,GAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;AACjB,wBAAsB,MAAM,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC"}
|