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
package/dist/channel.js
CHANGED
|
@@ -8,6 +8,19 @@ let _nextId = 0;
|
|
|
8
8
|
export function freshId(prefix = "ch") {
|
|
9
9
|
return `${prefix}_${_nextId++}`;
|
|
10
10
|
}
|
|
11
|
+
function abortError(signal) {
|
|
12
|
+
if (signal?.reason instanceof Error)
|
|
13
|
+
return signal.reason;
|
|
14
|
+
const err = new Error("Aborted");
|
|
15
|
+
err.name = "AbortError";
|
|
16
|
+
return err;
|
|
17
|
+
}
|
|
18
|
+
function isAbortSignal(value) {
|
|
19
|
+
return (typeof value === "object" &&
|
|
20
|
+
value !== null &&
|
|
21
|
+
"aborted" in value &&
|
|
22
|
+
typeof value.addEventListener === "function");
|
|
23
|
+
}
|
|
11
24
|
/**
|
|
12
25
|
* A typed, named channel. Corresponds to π-calculus names.
|
|
13
26
|
* Channels can be sent over other channels (mobility).
|
|
@@ -29,38 +42,67 @@ export class Channel {
|
|
|
29
42
|
* Send a value. Blocks until a receiver picks it up (rendezvous).
|
|
30
43
|
* In π-calculus: ā⟨v⟩.P — output v on channel a, then continue as P.
|
|
31
44
|
*/
|
|
32
|
-
send(value) {
|
|
45
|
+
send(value, signal) {
|
|
46
|
+
if (signal?.aborted) {
|
|
47
|
+
return Promise.reject(abortError(signal));
|
|
48
|
+
}
|
|
33
49
|
if (this._closed) {
|
|
34
50
|
return Promise.reject(new Error(`Channel ${this.name} is closed`));
|
|
35
51
|
}
|
|
36
|
-
// If a receiver is already waiting, hand off directly
|
|
37
52
|
const receiver = this.recvQueue.shift();
|
|
38
53
|
if (receiver) {
|
|
54
|
+
receiver.cleanup?.();
|
|
39
55
|
receiver.resolve(value);
|
|
40
56
|
return Promise.resolve();
|
|
41
57
|
}
|
|
42
|
-
// Otherwise, block until a receiver appears
|
|
43
58
|
return new Promise((resolve, reject) => {
|
|
44
|
-
|
|
59
|
+
const entry = {
|
|
60
|
+
value,
|
|
61
|
+
done: { resolve, reject },
|
|
62
|
+
};
|
|
63
|
+
const onAbort = () => {
|
|
64
|
+
const idx = this.sendQueue.indexOf(entry);
|
|
65
|
+
if (idx >= 0)
|
|
66
|
+
this.sendQueue.splice(idx, 1);
|
|
67
|
+
reject(abortError(signal));
|
|
68
|
+
};
|
|
69
|
+
if (signal) {
|
|
70
|
+
entry.done.cleanup = () => signal.removeEventListener("abort", onAbort);
|
|
71
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
72
|
+
}
|
|
73
|
+
this.sendQueue.push(entry);
|
|
45
74
|
});
|
|
46
75
|
}
|
|
47
76
|
/**
|
|
48
77
|
* Receive a value. Blocks until a sender provides one.
|
|
49
78
|
* In π-calculus: a(x).P — input x from channel a, then continue as P.
|
|
50
79
|
*/
|
|
51
|
-
receive() {
|
|
80
|
+
receive(signal) {
|
|
81
|
+
if (signal?.aborted) {
|
|
82
|
+
return Promise.reject(abortError(signal));
|
|
83
|
+
}
|
|
52
84
|
if (this._closed && this.sendQueue.length === 0) {
|
|
53
85
|
return Promise.reject(new Error(`Channel ${this.name} is closed`));
|
|
54
86
|
}
|
|
55
|
-
// If a sender is already waiting, hand off directly
|
|
56
87
|
const sender = this.sendQueue.shift();
|
|
57
88
|
if (sender) {
|
|
89
|
+
sender.done.cleanup?.();
|
|
58
90
|
sender.done.resolve();
|
|
59
91
|
return Promise.resolve(sender.value);
|
|
60
92
|
}
|
|
61
|
-
// Otherwise, block until a sender appears
|
|
62
93
|
return new Promise((resolve, reject) => {
|
|
63
|
-
|
|
94
|
+
const waiter = { resolve, reject };
|
|
95
|
+
const onAbort = () => {
|
|
96
|
+
const idx = this.recvQueue.indexOf(waiter);
|
|
97
|
+
if (idx >= 0)
|
|
98
|
+
this.recvQueue.splice(idx, 1);
|
|
99
|
+
reject(abortError(signal));
|
|
100
|
+
};
|
|
101
|
+
if (signal) {
|
|
102
|
+
waiter.cleanup = () => signal.removeEventListener("abort", onAbort);
|
|
103
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
104
|
+
}
|
|
105
|
+
this.recvQueue.push(waiter);
|
|
64
106
|
});
|
|
65
107
|
}
|
|
66
108
|
/**
|
|
@@ -69,6 +111,7 @@ export class Channel {
|
|
|
69
111
|
tryReceive() {
|
|
70
112
|
const sender = this.sendQueue.shift();
|
|
71
113
|
if (sender) {
|
|
114
|
+
sender.done.cleanup?.();
|
|
72
115
|
sender.done.resolve();
|
|
73
116
|
return sender.value;
|
|
74
117
|
}
|
|
@@ -79,11 +122,35 @@ export class Channel {
|
|
|
79
122
|
*/
|
|
80
123
|
close() {
|
|
81
124
|
this._closed = true;
|
|
82
|
-
|
|
83
|
-
|
|
125
|
+
this.cancelPendingWaiters(new Error(`Channel ${this.name} closed`));
|
|
126
|
+
}
|
|
127
|
+
/** Cancel pending receivers without closing the channel. */
|
|
128
|
+
cancelPendingReceives(reason) {
|
|
129
|
+
const err = reason ?? abortError();
|
|
130
|
+
for (const w of this.recvQueue) {
|
|
131
|
+
w.cleanup?.();
|
|
132
|
+
w.reject(err);
|
|
133
|
+
}
|
|
134
|
+
this.recvQueue = [];
|
|
135
|
+
}
|
|
136
|
+
/** Cancel pending senders without closing the channel. */
|
|
137
|
+
cancelPendingSends(reason) {
|
|
138
|
+
const err = reason ?? abortError();
|
|
139
|
+
for (const w of this.sendQueue) {
|
|
140
|
+
w.done.cleanup?.();
|
|
141
|
+
w.done.reject(err);
|
|
142
|
+
}
|
|
143
|
+
this.sendQueue = [];
|
|
144
|
+
}
|
|
145
|
+
cancelPendingWaiters(err) {
|
|
146
|
+
for (const w of this.sendQueue) {
|
|
147
|
+
w.done.cleanup?.();
|
|
84
148
|
w.done.reject(err);
|
|
85
|
-
|
|
149
|
+
}
|
|
150
|
+
for (const w of this.recvQueue) {
|
|
151
|
+
w.cleanup?.();
|
|
86
152
|
w.reject(err);
|
|
153
|
+
}
|
|
87
154
|
this.sendQueue = [];
|
|
88
155
|
this.recvQueue = [];
|
|
89
156
|
}
|
|
@@ -102,12 +169,66 @@ export class Channel {
|
|
|
102
169
|
}
|
|
103
170
|
}
|
|
104
171
|
}
|
|
105
|
-
export async function select(...
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
172
|
+
export async function select(signalOrCase, ...rest) {
|
|
173
|
+
let signal;
|
|
174
|
+
let cases;
|
|
175
|
+
if (isAbortSignal(signalOrCase)) {
|
|
176
|
+
signal = signalOrCase;
|
|
177
|
+
cases = rest;
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
cases = [signalOrCase, ...rest];
|
|
181
|
+
}
|
|
182
|
+
if (cases.length === 0) {
|
|
183
|
+
throw new Error("select requires at least one case");
|
|
184
|
+
}
|
|
185
|
+
const raceAbort = new AbortController();
|
|
186
|
+
const parentAbort = signal;
|
|
187
|
+
const caseControllers = cases.map(() => new AbortController());
|
|
188
|
+
const merged = (caseAbort) => mergeAbortSignals(parentAbort, raceAbort.signal, caseAbort.signal);
|
|
189
|
+
const result = await new Promise((resolve, reject) => {
|
|
190
|
+
let settled = false;
|
|
191
|
+
let failures = 0;
|
|
192
|
+
cases.forEach((c, i) => {
|
|
193
|
+
const caseAbort = caseControllers[i];
|
|
194
|
+
c.channel
|
|
195
|
+
.receive(merged(caseAbort))
|
|
196
|
+
.then((value) => {
|
|
197
|
+
if (settled)
|
|
198
|
+
return;
|
|
199
|
+
settled = true;
|
|
200
|
+
for (let j = 0; j < cases.length; j++) {
|
|
201
|
+
if (j !== i) {
|
|
202
|
+
caseControllers[j].abort();
|
|
203
|
+
cases[j].channel.cancelPendingReceives(abortError());
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
raceAbort.abort();
|
|
207
|
+
resolve({ index: i, value });
|
|
208
|
+
})
|
|
209
|
+
.catch((err) => {
|
|
210
|
+
if (settled)
|
|
211
|
+
return;
|
|
212
|
+
failures++;
|
|
213
|
+
if (failures === cases.length) {
|
|
214
|
+
reject(err);
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
});
|
|
111
219
|
await cases[result.index].handler(result.value);
|
|
112
220
|
}
|
|
221
|
+
function mergeAbortSignals(...signals) {
|
|
222
|
+
const controller = new AbortController();
|
|
223
|
+
for (const signal of signals) {
|
|
224
|
+
if (!signal)
|
|
225
|
+
continue;
|
|
226
|
+
if (signal.aborted) {
|
|
227
|
+
controller.abort(signal.reason);
|
|
228
|
+
return controller.signal;
|
|
229
|
+
}
|
|
230
|
+
signal.addEventListener("abort", () => controller.abort(signal.reason), { once: true });
|
|
231
|
+
}
|
|
232
|
+
return controller.signal;
|
|
233
|
+
}
|
|
113
234
|
//# sourceMappingURL=channel.js.map
|
package/dist/channel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,IAAI,OAAO,GAAG,CAAC,CAAC;AAChB,MAAM,UAAU,OAAO,CAAC,MAAM,GAAG,IAAI;IACnC,OAAO,GAAG,MAAM,IAAI,OAAO,EAAE,EAAe,CAAC;AAC/C,CAAC;
|
|
1
|
+
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -27,6 +27,8 @@ export { Channel, freshId, select, type ChannelId, type SelectCase } from "./cha
|
|
|
27
27
|
export { type Process, type ProcessContext, type TraceEvent, type SessionNode, TraceCollector, par, seq, choice, branchFix, restrict, replicate, supervisor, } from "./process.js";
|
|
28
28
|
export { type AgentCall, type CheckResult, agentProcess, codeThenFix, fanOut, pipeline, PipelineBuilder, handoff, } from "./agent.js";
|
|
29
29
|
export { Scheduler, type SchedulerOpts, type SchedulerResult } from "./scheduler.js";
|
|
30
|
+
export { traceEventToJsonl, parseJsonl, serializeTraceEvents, eventsToSessionTree, loadJsonl, loadJsonlTree, JsonlTraceSink, } from "./jsonl.js";
|
|
31
|
+
export { sessionTreeToMarkdown } from "./session-tree.js";
|
|
30
32
|
export { type Relation, type RelationFn, rel, detRel, compose, fork, forkN, converse, meet, join, identity, empty, proj1, proj2, domRestrict, ranRestrict, toProcess, forkToProcess, verifyAxioms, } from "./fork-algebra.js";
|
|
31
33
|
export { type Result, type BackgroundHandle, type Invertible, attempt, unwrap, and, or, ifThenElse, pipe, pipeChain, bg, not, waitAll, andChain, orChain, subshell, invertible, runInvertible, saga, guard, guardValue, timeout, retryWithBackoff, } from "./operators.js";
|
|
32
34
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAGzF,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,cAAc,EACd,GAAG,EACH,GAAG,EACH,MAAM,EACN,SAAS,EACT,QAAQ,EACR,SAAS,EACT,UAAU,GACX,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,YAAY,EACZ,WAAW,EACX,MAAM,EACN,QAAQ,EACR,eAAe,EACf,OAAO,GACR,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGrF,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,GAAG,EACH,MAAM,EACN,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,KAAK,EACL,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,KAAK,MAAM,EACX,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,OAAO,EACP,MAAM,EACN,GAAG,EACH,EAAE,EACF,UAAU,EACV,IAAI,EACJ,SAAS,EACT,EAAE,EACF,GAAG,EACH,OAAO,EACP,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,UAAU,EACV,aAAa,EACb,IAAI,EACJ,KAAK,EACL,UAAU,EACV,OAAO,EACP,gBAAgB,GACjB,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAGzF,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,cAAc,EACd,GAAG,EACH,GAAG,EACH,MAAM,EACN,SAAS,EACT,QAAQ,EACR,SAAS,EACT,UAAU,GACX,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,YAAY,EACZ,WAAW,EACX,MAAM,EACN,QAAQ,EACR,eAAe,EACf,OAAO,GACR,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGrF,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACT,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,GAAG,EACH,MAAM,EACN,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,KAAK,EACL,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,KAAK,MAAM,EACX,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,OAAO,EACP,MAAM,EACN,GAAG,EACH,EAAE,EACF,UAAU,EACV,IAAI,EACJ,SAAS,EACT,EAAE,EACF,GAAG,EACH,OAAO,EACP,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,UAAU,EACV,aAAa,EACb,IAAI,EACJ,KAAK,EACL,UAAU,EACV,OAAO,EACP,gBAAgB,GACjB,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -31,6 +31,9 @@ export { TraceCollector, par, seq, choice, branchFix, restrict, replicate, super
|
|
|
31
31
|
export { agentProcess, codeThenFix, fanOut, pipeline, PipelineBuilder, handoff, } from "./agent.js";
|
|
32
32
|
// Scheduler
|
|
33
33
|
export { Scheduler } from "./scheduler.js";
|
|
34
|
+
// JSONL trace serialization
|
|
35
|
+
export { traceEventToJsonl, parseJsonl, serializeTraceEvents, eventsToSessionTree, loadJsonl, loadJsonlTree, JsonlTraceSink, } from "./jsonl.js";
|
|
36
|
+
export { sessionTreeToMarkdown } from "./session-tree.js";
|
|
34
37
|
// Fork algebra (relational layer)
|
|
35
38
|
export { rel, detRel, compose, fork, forkN, converse, meet, join, identity, empty, proj1, proj2, domRestrict, ranRestrict, toProcess, forkToProcess, verifyAxioms, } from "./fork-algebra.js";
|
|
36
39
|
// Operators (bash-style control flow + inverse/undo)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,kBAAkB;AAClB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAmC,MAAM,cAAc,CAAC;AAEzF,kBAAkB;AAClB,OAAO,EAKL,cAAc,EACd,GAAG,EACH,GAAG,EACH,MAAM,EACN,SAAS,EACT,QAAQ,EACR,SAAS,EACT,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,iBAAiB;AACjB,OAAO,EAGL,YAAY,EACZ,WAAW,EACX,MAAM,EACN,QAAQ,EACR,eAAe,EACf,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,YAAY;AACZ,OAAO,EAAE,SAAS,EAA4C,MAAM,gBAAgB,CAAC;AAErF,kCAAkC;AAClC,OAAO,EAGL,GAAG,EACH,MAAM,EACN,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,KAAK,EACL,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,qDAAqD;AACrD,OAAO,EAIL,OAAO,EACP,MAAM,EACN,GAAG,EACH,EAAE,EACF,UAAU,EACV,IAAI,EACJ,SAAS,EACT,EAAE,EACF,GAAG,EACH,OAAO,EACP,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,UAAU,EACV,aAAa,EACb,IAAI,EACJ,KAAK,EACL,UAAU,EACV,OAAO,EACP,gBAAgB,GACjB,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,kBAAkB;AAClB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAmC,MAAM,cAAc,CAAC;AAEzF,kBAAkB;AAClB,OAAO,EAKL,cAAc,EACd,GAAG,EACH,GAAG,EACH,MAAM,EACN,SAAS,EACT,QAAQ,EACR,SAAS,EACT,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,iBAAiB;AACjB,OAAO,EAGL,YAAY,EACZ,WAAW,EACX,MAAM,EACN,QAAQ,EACR,eAAe,EACf,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,YAAY;AACZ,OAAO,EAAE,SAAS,EAA4C,MAAM,gBAAgB,CAAC;AAErF,4BAA4B;AAC5B,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACT,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,kCAAkC;AAClC,OAAO,EAGL,GAAG,EACH,MAAM,EACN,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,KAAK,EACL,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,qDAAqD;AACrD,OAAO,EAIL,OAAO,EACP,MAAM,EACN,GAAG,EACH,EAAE,EACF,UAAU,EACV,IAAI,EACJ,SAAS,EACT,EAAE,EACF,GAAG,EACH,OAAO,EACP,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,UAAU,EACV,aAAa,EACb,IAAI,EACJ,KAAK,EACL,UAAU,EACV,OAAO,EACP,gBAAgB,GACjB,MAAM,gBAAgB,CAAC"}
|
package/dist/jsonl.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSONL trace serialization for session trees.
|
|
3
|
+
*/
|
|
4
|
+
import { type TraceEvent, type SessionNode } from "./process.js";
|
|
5
|
+
/** Serialize a single trace event as one JSONL line. */
|
|
6
|
+
export declare function traceEventToJsonl(event: TraceEvent): string;
|
|
7
|
+
/** Parse JSONL content into trace events. */
|
|
8
|
+
export declare function parseJsonl(content: string): TraceEvent[];
|
|
9
|
+
/** Serialize an array of trace events to JSONL. */
|
|
10
|
+
export declare function serializeTraceEvents(events: TraceEvent[]): string;
|
|
11
|
+
/** Rebuild a session tree from a flat trace event list. */
|
|
12
|
+
export declare function eventsToSessionTree(events: TraceEvent[]): SessionNode[];
|
|
13
|
+
/** Load trace events from a JSONL file. */
|
|
14
|
+
export declare function loadJsonl(path: string): Promise<TraceEvent[]>;
|
|
15
|
+
/** Load a session tree from a JSONL file. */
|
|
16
|
+
export declare function loadJsonlTree(path: string): Promise<SessionNode[]>;
|
|
17
|
+
/** Append trace events to a JSONL file as they arrive. */
|
|
18
|
+
export declare class JsonlTraceSink {
|
|
19
|
+
private readonly path;
|
|
20
|
+
private writeChain;
|
|
21
|
+
constructor(path: string);
|
|
22
|
+
append(event: TraceEvent): void;
|
|
23
|
+
close(): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=jsonl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonl.d.ts","sourceRoot":"","sources":["../src/jsonl.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EAEjB,MAAM,cAAc,CAAC;AAEtB,wDAAwD;AACxD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE3D;AAED,6CAA6C;AAC7C,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAMxD;AAED,mDAAmD;AACnD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAEjE;AAED,2DAA2D;AAC3D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAMvE;AAED,2CAA2C;AAC3C,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAGnE;AAED,6CAA6C;AAC7C,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAExE;AAED,0DAA0D;AAC1D,qBAAa,cAAc;IAGb,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,UAAU,CAAoC;gBAEzB,IAAI,EAAE,MAAM;IAEzC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAMzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
package/dist/jsonl.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSONL trace serialization for session trees.
|
|
3
|
+
*/
|
|
4
|
+
import { readFile, appendFile } from "node:fs/promises";
|
|
5
|
+
import { TraceCollector, } from "./process.js";
|
|
6
|
+
/** Serialize a single trace event as one JSONL line. */
|
|
7
|
+
export function traceEventToJsonl(event) {
|
|
8
|
+
return `${JSON.stringify(event)}\n`;
|
|
9
|
+
}
|
|
10
|
+
/** Parse JSONL content into trace events. */
|
|
11
|
+
export function parseJsonl(content) {
|
|
12
|
+
return content
|
|
13
|
+
.split("\n")
|
|
14
|
+
.map((line) => line.trim())
|
|
15
|
+
.filter(Boolean)
|
|
16
|
+
.map((line) => JSON.parse(line));
|
|
17
|
+
}
|
|
18
|
+
/** Serialize an array of trace events to JSONL. */
|
|
19
|
+
export function serializeTraceEvents(events) {
|
|
20
|
+
return events.map((e) => traceEventToJsonl(e).trimEnd()).join("\n") + "\n";
|
|
21
|
+
}
|
|
22
|
+
/** Rebuild a session tree from a flat trace event list. */
|
|
23
|
+
export function eventsToSessionTree(events) {
|
|
24
|
+
const collector = new TraceCollector();
|
|
25
|
+
for (const event of events) {
|
|
26
|
+
collector.emit(event);
|
|
27
|
+
}
|
|
28
|
+
return collector.toTree();
|
|
29
|
+
}
|
|
30
|
+
/** Load trace events from a JSONL file. */
|
|
31
|
+
export async function loadJsonl(path) {
|
|
32
|
+
const content = await readFile(path, "utf8");
|
|
33
|
+
return parseJsonl(content);
|
|
34
|
+
}
|
|
35
|
+
/** Load a session tree from a JSONL file. */
|
|
36
|
+
export async function loadJsonlTree(path) {
|
|
37
|
+
return eventsToSessionTree(await loadJsonl(path));
|
|
38
|
+
}
|
|
39
|
+
/** Append trace events to a JSONL file as they arrive. */
|
|
40
|
+
export class JsonlTraceSink {
|
|
41
|
+
path;
|
|
42
|
+
writeChain = Promise.resolve();
|
|
43
|
+
constructor(path) {
|
|
44
|
+
this.path = path;
|
|
45
|
+
}
|
|
46
|
+
append(event) {
|
|
47
|
+
this.writeChain = this.writeChain.then(() => appendFile(this.path, traceEventToJsonl(event), "utf8"));
|
|
48
|
+
}
|
|
49
|
+
async close() {
|
|
50
|
+
await this.writeChain;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=jsonl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonl.js","sourceRoot":"","sources":["../src/jsonl.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAGL,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,wDAAwD;AACxD,MAAM,UAAU,iBAAiB,CAAC,KAAiB;IACjD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;AACtC,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,OAAO;SACX,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC,CAAC;AACnD,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,oBAAoB,CAAC,MAAoB;IACvD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC7E,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,MAAM,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,2CAA2C;AAC3C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAY;IAC1C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,6CAA6C;AAC7C,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY;IAC9C,OAAO,mBAAmB,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,0DAA0D;AAC1D,MAAM,OAAO,cAAc;IAGI;IAFrB,UAAU,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAEtD,YAA6B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAE7C,MAAM,CAAC,KAAiB;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAC1C,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;CACF"}
|
package/dist/process.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAA+C,MAAM,cAAc,CAAC;AAIpF,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;CAC9C;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAIpE,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACrF;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE,qBAAa,cAAc;IACzB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,CAAM;IAEnC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAI7B,8DAA8D;IAC9D,MAAM,IAAI,WAAW,EAAE;CA6BxB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAID;;;GAGG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,EACjC,GAAG,SAAS,EAAE;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC9C,OAAO,CAAC,CAAC,CAAC,CA2BZ;AAED;;;GAGG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAS/D;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,CAAC,EACtB,QAAQ,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACrB,CAAC,GACD,OAAO,CAAC,CAAC,CAAC,CAwBZ;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACpE,+CAA+C;IAC/C,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAA+C,MAAM,cAAc,CAAC;AAIpF,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;CAC9C;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAIpE,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACrF;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE,qBAAa,cAAc;IACzB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,CAAM;IAEnC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAI7B,8DAA8D;IAC9D,MAAM,IAAI,WAAW,EAAE;CA6BxB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAID;;;GAGG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,EACjC,GAAG,SAAS,EAAE;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC9C,OAAO,CAAC,CAAC,CAAC,CA2BZ;AAED;;;GAGG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAS/D;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,CAAC,EACtB,QAAQ,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACrB,CAAC,GACD,OAAO,CAAC,CAAC,CAAC,CAwBZ;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACpE,+CAA+C;IAC/C,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,CAAC,CAAC,CAqFb;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GACnC,OAAO,CAAC,CAAC,CAAC,CAcZ;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CA4Cf;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACvB,GAAG,OAAO,CAAC,CAAC,CAAC,CA8Bb"}
|
package/dist/process.js
CHANGED
|
@@ -101,7 +101,7 @@ export function choice(branches) {
|
|
|
101
101
|
chosenIdx = i;
|
|
102
102
|
},
|
|
103
103
|
}));
|
|
104
|
-
await select(...cases);
|
|
104
|
+
await select(ctx.signal, ...cases);
|
|
105
105
|
ctx.trace.emit({
|
|
106
106
|
type: "branch",
|
|
107
107
|
runId: ctx.runId,
|
|
@@ -127,6 +127,7 @@ export function branchFix(opts) {
|
|
|
127
127
|
const maxFixes = opts.maxFixes ?? 5;
|
|
128
128
|
return async (ctx) => {
|
|
129
129
|
let fixCount = 0;
|
|
130
|
+
let lastFixError;
|
|
130
131
|
const fixChannel = new Channel(`${opts.name}_fix`);
|
|
131
132
|
const fixDone = new Channel(`${opts.name}_fixdone`);
|
|
132
133
|
const requestFix = async (reason) => {
|
|
@@ -134,16 +135,20 @@ export function branchFix(opts) {
|
|
|
134
135
|
throw new Error(`${opts.name}: exceeded max fix attempts (${maxFixes})`);
|
|
135
136
|
}
|
|
136
137
|
fixCount++;
|
|
138
|
+
lastFixError = undefined;
|
|
137
139
|
ctx.trace.emit({
|
|
138
140
|
type: "fix_start",
|
|
139
141
|
runId: ctx.runId,
|
|
140
142
|
reason,
|
|
141
143
|
ts: Date.now(),
|
|
142
144
|
});
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
145
|
+
await fixChannel.send(reason, ctx.signal);
|
|
146
|
+
try {
|
|
147
|
+
await fixDone.receive(ctx.signal);
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
throw lastFixError ?? err;
|
|
151
|
+
}
|
|
147
152
|
ctx.trace.emit({
|
|
148
153
|
type: "fix_end",
|
|
149
154
|
runId: ctx.runId,
|
|
@@ -152,20 +157,33 @@ export function branchFix(opts) {
|
|
|
152
157
|
});
|
|
153
158
|
};
|
|
154
159
|
const mainProcess = opts.main(requestFix);
|
|
155
|
-
// Run main and fix-listener concurrently
|
|
156
160
|
const mainPromise = mainProcess(ctx);
|
|
157
|
-
|
|
158
|
-
const fixListener = (async () => {
|
|
161
|
+
const fixListenerPromise = (async () => {
|
|
159
162
|
while (!fixChannel.closed) {
|
|
163
|
+
let reason;
|
|
160
164
|
try {
|
|
161
|
-
|
|
162
|
-
const fixProc = opts.fix(reason);
|
|
163
|
-
await fixProc(ctx);
|
|
164
|
-
await fixDone.send(undefined);
|
|
165
|
+
reason = await fixChannel.receive(ctx.signal);
|
|
165
166
|
}
|
|
166
|
-
catch {
|
|
167
|
-
|
|
168
|
-
|
|
167
|
+
catch (err) {
|
|
168
|
+
if (fixChannel.closed || ctx.signal.aborted)
|
|
169
|
+
return;
|
|
170
|
+
throw err;
|
|
171
|
+
}
|
|
172
|
+
try {
|
|
173
|
+
await opts.fix(reason)(ctx);
|
|
174
|
+
await fixDone.send(undefined, ctx.signal);
|
|
175
|
+
}
|
|
176
|
+
catch (err) {
|
|
177
|
+
lastFixError = err instanceof Error ? err : new Error(String(err));
|
|
178
|
+
ctx.trace.emit({
|
|
179
|
+
type: "fix_end",
|
|
180
|
+
runId: ctx.runId,
|
|
181
|
+
success: false,
|
|
182
|
+
ts: Date.now(),
|
|
183
|
+
});
|
|
184
|
+
fixDone.close();
|
|
185
|
+
fixChannel.close();
|
|
186
|
+
throw lastFixError;
|
|
169
187
|
}
|
|
170
188
|
}
|
|
171
189
|
})();
|
|
@@ -173,11 +191,13 @@ export function branchFix(opts) {
|
|
|
173
191
|
const result = await mainPromise;
|
|
174
192
|
fixChannel.close();
|
|
175
193
|
fixDone.close();
|
|
194
|
+
await fixListenerPromise.catch(() => { });
|
|
176
195
|
return result;
|
|
177
196
|
}
|
|
178
197
|
catch (err) {
|
|
179
198
|
fixChannel.close();
|
|
180
199
|
fixDone.close();
|
|
200
|
+
await fixListenerPromise.catch(() => { });
|
|
181
201
|
throw err;
|
|
182
202
|
}
|
|
183
203
|
};
|
|
@@ -208,34 +228,45 @@ export function restrict(name, body) {
|
|
|
208
228
|
export function replicate(trigger, handler) {
|
|
209
229
|
return async (ctx) => {
|
|
210
230
|
while (!ctx.signal.aborted && !trigger.closed) {
|
|
231
|
+
let value;
|
|
211
232
|
try {
|
|
212
|
-
|
|
213
|
-
|
|
233
|
+
value = await trigger.receive(ctx.signal);
|
|
234
|
+
}
|
|
235
|
+
catch (err) {
|
|
236
|
+
if (trigger.closed || ctx.signal.aborted)
|
|
237
|
+
break;
|
|
238
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
239
|
+
if (error.message.includes("closed"))
|
|
240
|
+
break;
|
|
214
241
|
ctx.trace.emit({
|
|
215
|
-
type: "
|
|
216
|
-
runId:
|
|
217
|
-
|
|
218
|
-
name: "replicated",
|
|
242
|
+
type: "error",
|
|
243
|
+
runId: ctx.runId,
|
|
244
|
+
error: error.message,
|
|
219
245
|
ts: Date.now(),
|
|
220
246
|
});
|
|
221
|
-
|
|
222
|
-
|
|
247
|
+
throw error;
|
|
248
|
+
}
|
|
249
|
+
const childId = freshId("repl");
|
|
250
|
+
ctx.trace.emit({
|
|
251
|
+
type: "spawn",
|
|
252
|
+
runId: childId,
|
|
253
|
+
parentId: ctx.runId,
|
|
254
|
+
name: "replicated",
|
|
255
|
+
ts: Date.now(),
|
|
256
|
+
});
|
|
257
|
+
const childCtx = {
|
|
258
|
+
...ctx,
|
|
259
|
+
runId: childId,
|
|
260
|
+
parentId: ctx.runId,
|
|
261
|
+
};
|
|
262
|
+
handler(value)(childCtx).catch((err) => {
|
|
263
|
+
ctx.trace.emit({
|
|
264
|
+
type: "error",
|
|
223
265
|
runId: childId,
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
// Fire and forget — each replica runs independently
|
|
227
|
-
handler(value)(childCtx).catch((err) => {
|
|
228
|
-
ctx.trace.emit({
|
|
229
|
-
type: "error",
|
|
230
|
-
runId: childId,
|
|
231
|
-
error: String(err),
|
|
232
|
-
ts: Date.now(),
|
|
233
|
-
});
|
|
266
|
+
error: String(err),
|
|
267
|
+
ts: Date.now(),
|
|
234
268
|
});
|
|
235
|
-
}
|
|
236
|
-
catch {
|
|
237
|
-
break;
|
|
238
|
-
}
|
|
269
|
+
});
|
|
239
270
|
}
|
|
240
271
|
};
|
|
241
272
|
}
|
package/dist/process.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"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"}
|
package/dist/scheduler.d.ts
CHANGED
|
@@ -7,18 +7,29 @@
|
|
|
7
7
|
* - Deadlock detection (all processes blocked on channels, none can fire)
|
|
8
8
|
* - Graceful shutdown via AbortController
|
|
9
9
|
*/
|
|
10
|
-
import { type Process, type TraceCollector } from "./process.js";
|
|
10
|
+
import { type Process, type TraceCollector, type TraceEvent } from "./process.js";
|
|
11
11
|
export interface SchedulerOpts {
|
|
12
12
|
/** Timeout for the entire process tree (ms) */
|
|
13
13
|
timeout?: number;
|
|
14
14
|
/** Callback when a trace event is emitted */
|
|
15
|
-
onTrace?: (event:
|
|
15
|
+
onTrace?: (event: TraceEvent) => void;
|
|
16
16
|
}
|
|
17
17
|
export declare class Scheduler {
|
|
18
18
|
private abortController;
|
|
19
19
|
private trace;
|
|
20
20
|
private opts;
|
|
21
|
+
private jsonlSink?;
|
|
22
|
+
private onTraceListeners;
|
|
21
23
|
constructor(opts?: SchedulerOpts);
|
|
24
|
+
/**
|
|
25
|
+
* Append trace events to a JSONL file as they fire.
|
|
26
|
+
* Returns a handle to flush and close the sink.
|
|
27
|
+
*/
|
|
28
|
+
attachJsonl(path: string): {
|
|
29
|
+
close: () => Promise<void>;
|
|
30
|
+
};
|
|
31
|
+
/** Read-only access to the live trace collector. */
|
|
32
|
+
get traceCollector(): TraceCollector;
|
|
22
33
|
/**
|
|
23
34
|
* Run a process tree to completion.
|
|
24
35
|
*/
|
|
@@ -34,7 +45,7 @@ export declare class Scheduler {
|
|
|
34
45
|
/**
|
|
35
46
|
* Get the flat event trace.
|
|
36
47
|
*/
|
|
37
|
-
getTrace():
|
|
48
|
+
getTrace(): TraceEvent[];
|
|
38
49
|
}
|
|
39
50
|
export type SchedulerResult<T> = {
|
|
40
51
|
success: true;
|
package/dist/scheduler.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,cAAc,EACnB,KAAK,UAAU,EAEhB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACvC;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,gBAAgB,CAAqC;gBAEjD,IAAI,GAAE,aAAkB;IAepC;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE;IAgBzD,oDAAoD;IACpD,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAiE5E;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,cAAc;IAId;;OAEG;IACH,QAAQ;CAGT;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,IACzB;IACE,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,OAAO,cAAc,EAAE,WAAW,EAAE,CAAC;CACnD,GACD;IACE,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,OAAO,cAAc,EAAE,WAAW,EAAE,CAAC;CACnD,CAAC"}
|