@plurnk/plurnk-agui 1.10.1 → 1.11.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 +2 -2
- package/SPEC.md +91 -51
- package/dist/AguiPlus.js +1 -1
- package/dist/AguiPlus.js.map +1 -1
- package/dist/AguiSurface.d.ts +2 -6
- package/dist/AguiSurface.d.ts.map +1 -1
- package/dist/AguiSurface.js +13 -23
- package/dist/AguiSurface.js.map +1 -1
- package/dist/EventRouter.d.ts +3 -0
- package/dist/EventRouter.d.ts.map +1 -1
- package/dist/EventRouter.js +2 -1
- package/dist/EventRouter.js.map +1 -1
- package/dist/Module.d.ts +3 -1
- package/dist/Module.d.ts.map +1 -1
- package/dist/Module.js +97 -55
- package/dist/Module.js.map +1 -1
- package/dist/Portal.d.ts +7 -6
- package/dist/Portal.d.ts.map +1 -1
- package/dist/Portal.js +253 -29
- package/dist/Portal.js.map +1 -1
- package/dist/ProposalHitl.d.ts +11 -3
- package/dist/ProposalHitl.d.ts.map +1 -1
- package/dist/ProposalHitl.js +31 -8
- package/dist/ProposalHitl.js.map +1 -1
- package/dist/Translator.d.ts +11 -0
- package/dist/Translator.d.ts.map +1 -1
- package/dist/Translator.js +24 -6
- package/dist/Translator.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/Portal.js
CHANGED
|
@@ -1,25 +1,28 @@
|
|
|
1
1
|
// {§agui-daemon-client} The in-process module's orchestration engine composes the seam +
|
|
2
2
|
// the render router + the HITL core into the worker flow: subscribe ONCE to the event
|
|
3
|
-
// source,
|
|
3
|
+
// source, route each event to the Run that owns its worker/loop, drive/cancel loops via
|
|
4
4
|
// the seam, and route standard resume entries to resolveProposal. Transport-agnostic —
|
|
5
5
|
// the HTTP/SSE listener (the outward edge) and workspace establishment (workspace-lifecycle
|
|
6
6
|
// hook, pending) wrap this; the engine is testable against a mock seam today.
|
|
7
|
+
var _a;
|
|
7
8
|
import EventRouter from "./EventRouter.js";
|
|
8
9
|
import ProposalHitl, {} from "./ProposalHitl.js";
|
|
9
10
|
import { EventType } from "./types.js";
|
|
10
|
-
|
|
11
|
+
class Portal {
|
|
11
12
|
#seam;
|
|
12
|
-
//
|
|
13
|
-
//
|
|
13
|
+
// A workspace may have several simultaneous AG-UI Runs. The worker/loop carried by
|
|
14
|
+
// each notification selects its owner; a Run is not a second broadcast subscription.
|
|
14
15
|
#threads = new Map();
|
|
15
16
|
#hitl;
|
|
16
17
|
#activeInterrupts = new Map();
|
|
18
|
+
#continuations = new Map();
|
|
19
|
+
#deliveryTails = new Map();
|
|
17
20
|
#off = null;
|
|
18
21
|
constructor(seam) {
|
|
19
22
|
this.#seam = seam;
|
|
20
|
-
this.#hitl = new ProposalHitl(seam, (workspaceId,
|
|
23
|
+
this.#hitl = new ProposalHitl(seam, (workspaceId, delivery) => this.#routeHitl(workspaceId, delivery));
|
|
21
24
|
}
|
|
22
|
-
// One subscription for the whole module: render each event to its
|
|
25
|
+
// One subscription for the whole module: render each event only to its owning Run.
|
|
23
26
|
start() {
|
|
24
27
|
this.#hitl.start();
|
|
25
28
|
this.#off = this.#seam.subscribeToEvents((workspaceId, method, params) => {
|
|
@@ -27,6 +30,8 @@ export default class Portal {
|
|
|
27
30
|
return; // global (workspace/created) handled out-of-band
|
|
28
31
|
const entryId = params.entryId;
|
|
29
32
|
for (const thread of this.#threads.get(workspaceId) ?? []) {
|
|
33
|
+
if (!_a.#ownsNotification(thread, method, params))
|
|
34
|
+
continue;
|
|
30
35
|
if (method === "loop/terminated") {
|
|
31
36
|
const loopId = params.loopId;
|
|
32
37
|
if (typeof loopId !== "number")
|
|
@@ -53,19 +58,63 @@ export default class Portal {
|
|
|
53
58
|
}
|
|
54
59
|
});
|
|
55
60
|
}
|
|
61
|
+
static #ownsNotification(thread, method, params) {
|
|
62
|
+
if (thread.notificationScope === "result")
|
|
63
|
+
return false;
|
|
64
|
+
const payload = params;
|
|
65
|
+
const owns = (workerId, loopId) => typeof workerId === "number"
|
|
66
|
+
&& workerId === thread.workerId
|
|
67
|
+
&& (thread.loopId === null || typeof loopId !== "number" || loopId === thread.loopId);
|
|
68
|
+
switch (method) {
|
|
69
|
+
case "log/entry": return owns(payload.entry?.worker_id, payload.entry?.loop_id);
|
|
70
|
+
case "loop/terminated":
|
|
71
|
+
case "loop/packet":
|
|
72
|
+
case "reasoning/event": return owns(payload.workerId, payload.loopId);
|
|
73
|
+
case "notice/event": return payload.workerId === null
|
|
74
|
+
? thread.notificationScope === "conversation"
|
|
75
|
+
: owns(payload.workerId, payload.loopId);
|
|
76
|
+
case "stream/event":
|
|
77
|
+
case "stream/concluded": return owns(payload.workerId);
|
|
78
|
+
case "workspace/branch-batch": return thread.notificationScope === "conversation"
|
|
79
|
+
&& (typeof payload.parentWorkerId !== "number" || payload.parentWorkerId === thread.workerId);
|
|
80
|
+
default: return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
56
83
|
stop() {
|
|
57
84
|
this.#hitl.stop();
|
|
58
85
|
this.#off?.();
|
|
59
86
|
this.#off = null;
|
|
87
|
+
this.#continuations.clear();
|
|
60
88
|
}
|
|
61
|
-
#
|
|
62
|
-
if (events.length === 0)
|
|
63
|
-
return;
|
|
89
|
+
#exactThreads(workspaceId, binding) {
|
|
64
90
|
const workerThreads = [...(this.#threads.get(workspaceId) ?? [])]
|
|
65
|
-
.filter((thread) => thread.workerId === workerId);
|
|
66
|
-
const loopThreads = workerThreads.filter((thread) => thread.loopId === loopId);
|
|
67
|
-
|
|
68
|
-
|
|
91
|
+
.filter((thread) => thread.notificationScope !== "result" && thread.workerId === binding.workerId);
|
|
92
|
+
const loopThreads = workerThreads.filter((thread) => thread.loopId === binding.loopId);
|
|
93
|
+
return loopThreads.length > 0 ? loopThreads : workerThreads;
|
|
94
|
+
}
|
|
95
|
+
#emitDelivery(workspaceId, delivery, threads) {
|
|
96
|
+
if (delivery.batch.events.length === 0)
|
|
97
|
+
return;
|
|
98
|
+
for (const thread of threads) {
|
|
99
|
+
const controlLoopId = thread.loopId
|
|
100
|
+
?? (thread.workerId === delivery.workerId ? delivery.loopId : null);
|
|
101
|
+
if (controlLoopId === null) {
|
|
102
|
+
throw new Error(`worker ${thread.workerId} cannot control worker ${delivery.workerId} without an active loop`);
|
|
103
|
+
}
|
|
104
|
+
const state = thread.router.continuation();
|
|
105
|
+
for (const interrupt of delivery.batch.interrupts) {
|
|
106
|
+
const key = interrupt.toolCallId ?? interrupt.id;
|
|
107
|
+
this.#continuations.set(key, {
|
|
108
|
+
workspaceId,
|
|
109
|
+
gate: { workerId: delivery.workerId, loopId: delivery.loopId },
|
|
110
|
+
control: { workerId: thread.workerId, loopId: controlLoopId },
|
|
111
|
+
threadId: thread.threadId,
|
|
112
|
+
notificationScope: thread.notificationScope,
|
|
113
|
+
state,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
thread.emit(delivery.batch.events);
|
|
117
|
+
}
|
|
69
118
|
}
|
|
70
119
|
#withHitl(batch, emit) {
|
|
71
120
|
for (const interrupt of batch.interrupts) {
|
|
@@ -80,24 +129,125 @@ export default class Portal {
|
|
|
80
129
|
}
|
|
81
130
|
}
|
|
82
131
|
}
|
|
83
|
-
#
|
|
84
|
-
|
|
132
|
+
#routeHitl(workspaceId, delivery) {
|
|
133
|
+
const exact = this.#exactThreads(workspaceId, delivery);
|
|
134
|
+
if (exact.length > 0) {
|
|
135
|
+
this.#withHitl(delivery.batch, () => this.#emitDelivery(workspaceId, delivery, exact));
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
this.#enqueueDelivery(workspaceId, async () => {
|
|
139
|
+
const workers = await this.#seam.listWorkers(workspaceId);
|
|
140
|
+
const byId = _a.#workerMap(workers);
|
|
141
|
+
const ancestors = _a.#ancestors(delivery.workerId, byId);
|
|
142
|
+
for (const ancestorId of ancestors) {
|
|
143
|
+
const threads = [...(this.#threads.get(workspaceId) ?? [])]
|
|
144
|
+
.filter((thread) => thread.notificationScope === "conversation"
|
|
145
|
+
&& thread.workerId === ancestorId);
|
|
146
|
+
if (threads.length === 0)
|
|
147
|
+
continue;
|
|
148
|
+
await Promise.all(threads.map(async (thread) => {
|
|
149
|
+
if (thread.loopId === null) {
|
|
150
|
+
thread.loopId = await this.#activeLoopId(workspaceId, thread.workerId);
|
|
151
|
+
}
|
|
152
|
+
}));
|
|
153
|
+
this.#withHitl(delivery.batch, () => this.#emitDelivery(workspaceId, delivery, threads));
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
#enqueueDelivery(workspaceId, task) {
|
|
159
|
+
const prior = this.#deliveryTails.get(workspaceId) ?? Promise.resolve();
|
|
160
|
+
const delivery = prior.then(task).catch((cause) => {
|
|
161
|
+
console.error("AG-UI stopped-world routing failed:", cause);
|
|
162
|
+
});
|
|
163
|
+
this.#deliveryTails.set(workspaceId, delivery);
|
|
164
|
+
void delivery.finally(() => {
|
|
165
|
+
if (this.#deliveryTails.get(workspaceId) === delivery) {
|
|
166
|
+
this.#deliveryTails.delete(workspaceId);
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
static #workerMap(workers) {
|
|
171
|
+
const byId = new Map();
|
|
172
|
+
for (const worker of workers) {
|
|
173
|
+
if (byId.has(worker.id))
|
|
174
|
+
throw new Error(`worker topology repeats worker ${worker.id}`);
|
|
175
|
+
byId.set(worker.id, worker);
|
|
176
|
+
}
|
|
177
|
+
for (const worker of workers) {
|
|
178
|
+
if (worker.parentWorkerId !== null && !byId.has(worker.parentWorkerId)) {
|
|
179
|
+
throw new Error(`worker topology omits parent ${worker.parentWorkerId} of worker ${worker.id}`);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return byId;
|
|
183
|
+
}
|
|
184
|
+
static #ancestors(workerId, byId) {
|
|
185
|
+
const worker = byId.get(workerId);
|
|
186
|
+
if (worker === undefined)
|
|
187
|
+
throw new Error(`worker topology omits worker ${workerId}`);
|
|
188
|
+
const ancestors = [];
|
|
189
|
+
const visited = new Set([workerId]);
|
|
190
|
+
let parentWorkerId = worker.parentWorkerId;
|
|
191
|
+
while (parentWorkerId !== null) {
|
|
192
|
+
if (visited.has(parentWorkerId))
|
|
193
|
+
throw new Error(`worker topology contains a cycle at ${parentWorkerId}`);
|
|
194
|
+
visited.add(parentWorkerId);
|
|
195
|
+
ancestors.push(parentWorkerId);
|
|
196
|
+
const parent = byId.get(parentWorkerId);
|
|
197
|
+
if (parent === undefined)
|
|
198
|
+
throw new Error(`worker topology omits worker ${parentWorkerId}`);
|
|
199
|
+
parentWorkerId = parent.parentWorkerId;
|
|
200
|
+
}
|
|
201
|
+
return ancestors;
|
|
202
|
+
}
|
|
203
|
+
async #controlledWorkerIds(workspaceId, workerId) {
|
|
204
|
+
const byId = _a.#workerMap(await this.#seam.listWorkers(workspaceId));
|
|
205
|
+
if (!byId.has(workerId))
|
|
206
|
+
throw new Error(`worker topology omits controlling worker ${workerId}`);
|
|
207
|
+
const controlled = new Set();
|
|
208
|
+
for (const candidate of byId.keys()) {
|
|
209
|
+
if (candidate === workerId || _a.#ancestors(candidate, byId).includes(workerId)) {
|
|
210
|
+
controlled.add(candidate);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
return controlled;
|
|
214
|
+
}
|
|
215
|
+
async #activeLoopId(workspaceId, workerId) {
|
|
216
|
+
const active = (await this.#seam.listWorkerLoops({ workspaceId, workerId }))
|
|
217
|
+
.filter(({ terminatedAt, terminalResult }) => terminatedAt === null && terminalResult === null);
|
|
218
|
+
if (active.length !== 1) {
|
|
219
|
+
throw new Error(`controlling worker ${workerId} has ${active.length} active loops`);
|
|
220
|
+
}
|
|
221
|
+
return active[0].id;
|
|
85
222
|
}
|
|
86
223
|
interruptForToolCall(toolCallId) {
|
|
87
224
|
return this.#activeInterrupts.get(toolCallId) ?? null;
|
|
88
225
|
}
|
|
89
226
|
// Bind a client's SSE to a workspace and AG-UI Run. The emit consumer ends its stream when it
|
|
90
227
|
// sees RUN_FINISHED / RUN_ERROR (the router's terminal projection) — the engine
|
|
91
|
-
//
|
|
228
|
+
// owns notification routing; the edge owns the socket lifecycle. `workerId` is the lifecycle actor
|
|
92
229
|
// (client worker for client ops, conversation worker otherwise); `modelWorkerId`
|
|
93
230
|
// binds the render (null → the router lazily
|
|
94
231
|
// adopts the first model-origin row's worker — a fresh workspace's model worker is born
|
|
95
232
|
// at the drain).
|
|
96
233
|
openThread(args) {
|
|
97
|
-
const
|
|
234
|
+
const candidates = args.resume
|
|
235
|
+
?.map(({ interruptId }) => this.#continuations.get(interruptId)) ?? [];
|
|
236
|
+
const restored = candidates.find((candidate) => candidate !== undefined
|
|
237
|
+
&& candidate.workspaceId === args.workspaceId
|
|
238
|
+
&& candidate.threadId === args.threadId);
|
|
239
|
+
const continuation = restored?.state;
|
|
240
|
+
const router = new EventRouter({
|
|
241
|
+
threadId: args.threadId,
|
|
242
|
+
runId: args.inputRunId ?? String(args.workerId),
|
|
243
|
+
modelWorkerId: args.modelWorkerId ?? null,
|
|
244
|
+
workspaceId: args.workspaceId,
|
|
245
|
+
...(continuation === undefined ? {} : { continuation }),
|
|
246
|
+
});
|
|
98
247
|
const t = {
|
|
99
|
-
workerId: args.workerId,
|
|
100
|
-
loopId: null,
|
|
248
|
+
workerId: restored?.control.workerId ?? args.workerId,
|
|
249
|
+
loopId: restored?.control.loopId ?? null,
|
|
250
|
+
notificationScope: restored?.notificationScope ?? args.notificationScope,
|
|
101
251
|
router,
|
|
102
252
|
emit: args.emit,
|
|
103
253
|
threadId: args.threadId,
|
|
@@ -129,25 +279,43 @@ export default class Portal {
|
|
|
129
279
|
}
|
|
130
280
|
this.#finishThread(bound, events);
|
|
131
281
|
}
|
|
132
|
-
// Emit extra events + RUN_FINISHED through the
|
|
282
|
+
// Emit extra events + RUN_FINISHED through the resumed Run that owns the
|
|
283
|
+
// original action's worker and client thread —
|
|
133
284
|
// an action that paused on a proposal completes after the resume AG-UI Run rebound the
|
|
134
285
|
// stream, so its result must ride whichever response is live now, never the
|
|
135
286
|
// closure of the request that spawned it.
|
|
136
|
-
finishRun(workspaceId, events) {
|
|
287
|
+
finishRun(workspaceId, workerId, threadId, events) {
|
|
137
288
|
for (const t of this.#threads.get(workspaceId) ?? []) {
|
|
289
|
+
if (t.notificationScope === "result" || t.workerId !== workerId || t.threadId !== threadId)
|
|
290
|
+
continue;
|
|
138
291
|
this.finishThread(t, events);
|
|
139
292
|
}
|
|
140
293
|
}
|
|
294
|
+
async #resurfaceControlled(workspaceId, thread) {
|
|
295
|
+
const deliveries = await this.#hitl.resurface(workspaceId);
|
|
296
|
+
if (deliveries.length === 0)
|
|
297
|
+
return false;
|
|
298
|
+
const workerIds = thread.notificationScope === "conversation"
|
|
299
|
+
? await this.#controlledWorkerIds(workspaceId, thread.workerId)
|
|
300
|
+
: new Set([thread.workerId]);
|
|
301
|
+
const delivery = deliveries.find(({ workerId }) => workerIds.has(workerId));
|
|
302
|
+
if (delivery === undefined)
|
|
303
|
+
return false;
|
|
304
|
+
if (thread.loopId === null) {
|
|
305
|
+
thread.loopId = delivery.workerId === thread.workerId
|
|
306
|
+
? delivery.loopId
|
|
307
|
+
: await this.#activeLoopId(workspaceId, thread.workerId);
|
|
308
|
+
}
|
|
309
|
+
this.#withHitl(delivery.batch, () => this.#emitDelivery(workspaceId, delivery, [thread]));
|
|
310
|
+
return true;
|
|
311
|
+
}
|
|
141
312
|
// Drive a prompt through the loop (fire-and-forget — the outcome streams via the
|
|
142
313
|
// subscription as loop/terminated). Re-surface any pending stopped-world first.
|
|
143
314
|
async run(thread, args) {
|
|
144
|
-
const
|
|
145
|
-
if (
|
|
146
|
-
this.#withHitl(pending, (events) => thread.emit(events));
|
|
315
|
+
const bound = thread;
|
|
316
|
+
if (await this.#resurfaceControlled(args.workspaceId, bound))
|
|
147
317
|
return null;
|
|
148
|
-
}
|
|
149
318
|
const ack = await this.#seam.runLoop(args);
|
|
150
|
-
const bound = thread;
|
|
151
319
|
bound.loopId = ack.loopId;
|
|
152
320
|
const terminal = bound.pendingTerminations.find((params) => params.loopId === ack.loopId);
|
|
153
321
|
bound.pendingTerminations = [];
|
|
@@ -162,10 +330,66 @@ export default class Portal {
|
|
|
162
330
|
// A standard resume AG-UI Run binds to the persisted continuation before
|
|
163
331
|
// releasing every addressed interrupt.
|
|
164
332
|
async resolve(workspaceId, thread, entries) {
|
|
165
|
-
const resolution = await this.#hitl.resolve(workspaceId, entries);
|
|
166
333
|
const bound = thread;
|
|
167
|
-
|
|
168
|
-
|
|
334
|
+
const continuations = entries.map(({ interruptId }) => this.#continuations.get(interruptId));
|
|
335
|
+
const persisted = continuations.filter((continuation) => continuation !== undefined);
|
|
336
|
+
if (persisted.length > 0 && persisted.length !== entries.length) {
|
|
337
|
+
throw new Error("resume mixes persisted and unbound interrupts");
|
|
338
|
+
}
|
|
339
|
+
const continuation = persisted[0];
|
|
340
|
+
if (continuation !== undefined) {
|
|
341
|
+
for (const candidate of persisted) {
|
|
342
|
+
if (candidate.workspaceId !== continuation.workspaceId
|
|
343
|
+
|| candidate.threadId !== continuation.threadId
|
|
344
|
+
|| candidate.gate.workerId !== continuation.gate.workerId
|
|
345
|
+
|| candidate.gate.loopId !== continuation.gate.loopId
|
|
346
|
+
|| candidate.control.workerId !== continuation.control.workerId
|
|
347
|
+
|| candidate.control.loopId !== continuation.control.loopId) {
|
|
348
|
+
throw new Error("resume interrupts do not share one persisted control binding");
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
await this.#hitl.resolve(workspaceId, entries, async (resolution) => {
|
|
353
|
+
if (continuation !== undefined) {
|
|
354
|
+
if (continuation.workspaceId !== workspaceId
|
|
355
|
+
|| continuation.threadId !== bound.threadId
|
|
356
|
+
|| continuation.gate.workerId !== resolution.workerId
|
|
357
|
+
|| continuation.gate.loopId !== resolution.loopId) {
|
|
358
|
+
throw new Error("resume does not match its persisted interrupt binding");
|
|
359
|
+
}
|
|
360
|
+
bound.workerId = continuation.control.workerId;
|
|
361
|
+
bound.loopId = continuation.control.loopId;
|
|
362
|
+
bound.notificationScope = continuation.notificationScope;
|
|
363
|
+
}
|
|
364
|
+
else {
|
|
365
|
+
const exact = resolution.workerId === bound.workerId;
|
|
366
|
+
const controlled = exact
|
|
367
|
+
? true
|
|
368
|
+
: bound.notificationScope === "conversation"
|
|
369
|
+
&& (await this.#controlledWorkerIds(workspaceId, bound.workerId))
|
|
370
|
+
.has(resolution.workerId);
|
|
371
|
+
if (!controlled) {
|
|
372
|
+
throw new Error(`worker ${bound.workerId} does not control pending worker ${resolution.workerId}`);
|
|
373
|
+
}
|
|
374
|
+
bound.loopId = exact
|
|
375
|
+
? resolution.loopId
|
|
376
|
+
: await this.#activeLoopId(workspaceId, bound.workerId);
|
|
377
|
+
}
|
|
378
|
+
const terminal = bound.pendingTerminations.find((params) => params.loopId === bound.loopId);
|
|
379
|
+
bound.pendingTerminations = [];
|
|
380
|
+
if (terminal !== undefined) {
|
|
381
|
+
const out = bound.router.route("loop/terminated", terminal);
|
|
382
|
+
if (out.length > 0)
|
|
383
|
+
bound.emit(out);
|
|
384
|
+
}
|
|
385
|
+
});
|
|
386
|
+
for (const { interruptId } of entries)
|
|
387
|
+
this.#continuations.delete(interruptId);
|
|
388
|
+
if (this.#threads.get(workspaceId)?.has(bound)) {
|
|
389
|
+
await this.#resurfaceControlled(workspaceId, bound);
|
|
390
|
+
}
|
|
169
391
|
}
|
|
170
392
|
}
|
|
393
|
+
_a = Portal;
|
|
394
|
+
export default Portal;
|
|
171
395
|
//# sourceMappingURL=Portal.js.map
|
package/dist/Portal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Portal.js","sourceRoot":"","sources":["../src/Portal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Portal.js","sourceRoot":"","sources":["../src/Portal.ts"],"names":[],"mappings":"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"}
|
package/dist/ProposalHitl.d.ts
CHANGED
|
@@ -6,13 +6,21 @@ export interface HitlBatch {
|
|
|
6
6
|
readonly events: AguiEvent[];
|
|
7
7
|
readonly interrupts: Interrupt[];
|
|
8
8
|
}
|
|
9
|
+
export interface HitlDelivery {
|
|
10
|
+
readonly workerId: number;
|
|
11
|
+
readonly loopId: number;
|
|
12
|
+
readonly batch: HitlBatch;
|
|
13
|
+
}
|
|
9
14
|
export default class ProposalHitl {
|
|
10
15
|
#private;
|
|
11
|
-
constructor(seam: HitlSeam, emit: (workspaceId: number,
|
|
16
|
+
constructor(seam: HitlSeam, emit: (workspaceId: number, delivery: HitlDelivery) => void);
|
|
12
17
|
start(): void;
|
|
13
18
|
stop(): void;
|
|
14
|
-
resurface(workspaceId: number
|
|
15
|
-
resolve(workspaceId: number, entries: ResumeEntry[]
|
|
19
|
+
resurface(workspaceId: number): Promise<HitlDelivery[]>;
|
|
20
|
+
resolve(workspaceId: number, entries: ResumeEntry[], beforeRelease?: (binding: {
|
|
21
|
+
loopId: number;
|
|
22
|
+
workerId: number;
|
|
23
|
+
}) => void | Promise<void>): Promise<{
|
|
16
24
|
loopId: number;
|
|
17
25
|
workerId: number;
|
|
18
26
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProposalHitl.d.ts","sourceRoot":"","sources":["../src/ProposalHitl.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAGH,KAAK,eAAe,EAIvB,MAAM,0BAA0B,CAAC;AASlC,OAAO,KAAK,EAAE,SAAS,EAAwB,MAAM,YAAY,CAAC;AAElE,KAAK,QAAQ,GAAG,IAAI,CAChB,eAAe,EACb,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,2BAA2B,GAC3B,0BAA0B,CAC/B,CAAC;AAEF,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;CACpC;AA4HD,MAAM,CAAC,OAAO,OAAO,YAAY;;IAK7B,YACI,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"ProposalHitl.d.ts","sourceRoot":"","sources":["../src/ProposalHitl.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAGH,KAAK,eAAe,EAIvB,MAAM,0BAA0B,CAAC;AASlC,OAAO,KAAK,EAAE,SAAS,EAAwB,MAAM,YAAY,CAAC;AAElE,KAAK,QAAQ,GAAG,IAAI,CAChB,eAAe,EACb,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,2BAA2B,GAC3B,0BAA0B,CAC/B,CAAC;AAEF,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC7B;AA4HD,MAAM,CAAC,OAAO,OAAO,YAAY;;IAK7B,YACI,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,KAAK,IAAI,EAI9D;IAED,KAAK,IAAI,IAAI,CAsBZ;IAED,IAAI,IAAI,IAAI,CAGX;IAgBK,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAgB5D;IAEK,OAAO,CACT,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,EAAE,EACtB,aAAa,GAAE,CACX,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAC5C,IAAI,GAAG,OAAO,CAAC,IAAI,CAAY,GACrC,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAoF/C;CACJ"}
|
package/dist/ProposalHitl.js
CHANGED
|
@@ -98,12 +98,20 @@ export default class ProposalHitl {
|
|
|
98
98
|
const item = proposalItem(params);
|
|
99
99
|
if (item.kind !== "proposal" || item.projection.disposition.owner !== "client")
|
|
100
100
|
return;
|
|
101
|
-
this.#emit(workspaceId,
|
|
101
|
+
this.#emit(workspaceId, {
|
|
102
|
+
workerId: item.workerId,
|
|
103
|
+
loopId: item.loopId,
|
|
104
|
+
batch: render(item),
|
|
105
|
+
});
|
|
102
106
|
return;
|
|
103
107
|
}
|
|
104
108
|
if (method === "loop/interaction") {
|
|
105
109
|
const item = interactionItem(params);
|
|
106
|
-
this.#emit(workspaceId,
|
|
110
|
+
this.#emit(workspaceId, {
|
|
111
|
+
workerId: item.workerId,
|
|
112
|
+
loopId: item.loopId,
|
|
113
|
+
batch: render(item),
|
|
114
|
+
});
|
|
107
115
|
}
|
|
108
116
|
});
|
|
109
117
|
}
|
|
@@ -111,7 +119,7 @@ export default class ProposalHitl {
|
|
|
111
119
|
this.#off?.();
|
|
112
120
|
this.#off = null;
|
|
113
121
|
}
|
|
114
|
-
async #pending(workspaceId
|
|
122
|
+
async #pending(workspaceId) {
|
|
115
123
|
const [proposals, interactions] = await Promise.all([
|
|
116
124
|
this.#seam.pendingProposals(workspaceId),
|
|
117
125
|
this.#seam.pendingClientInteractions(workspaceId),
|
|
@@ -122,13 +130,26 @@ export default class ProposalHitl {
|
|
|
122
130
|
.filter((item) => item.kind === "proposal" && item.projection.disposition.owner === "client"),
|
|
123
131
|
...interactions.map(interactionItem),
|
|
124
132
|
]
|
|
125
|
-
.filter((item) => workerId === undefined || item.workerId === workerId)
|
|
126
133
|
.sort(comparePending);
|
|
127
134
|
}
|
|
128
|
-
async resurface(workspaceId
|
|
129
|
-
|
|
135
|
+
async resurface(workspaceId) {
|
|
136
|
+
const pending = await this.#pending(workspaceId);
|
|
137
|
+
const workerIds = [...new Set(pending.map(({ workerId }) => workerId))];
|
|
138
|
+
return workerIds.map((workerId) => {
|
|
139
|
+
const workerPending = pending.filter((item) => item.workerId === workerId);
|
|
140
|
+
const first = workerPending[0];
|
|
141
|
+
const loopIds = new Set(workerPending.map(({ loopId }) => loopId));
|
|
142
|
+
if (loopIds.size !== 1 || first === undefined) {
|
|
143
|
+
throw new Error(`worker ${workerId} has pending interrupts across multiple loops`);
|
|
144
|
+
}
|
|
145
|
+
return {
|
|
146
|
+
workerId,
|
|
147
|
+
loopId: first.loopId,
|
|
148
|
+
batch: combine(workerPending),
|
|
149
|
+
};
|
|
150
|
+
});
|
|
130
151
|
}
|
|
131
|
-
async resolve(workspaceId, entries) {
|
|
152
|
+
async resolve(workspaceId, entries, beforeRelease = () => { }) {
|
|
132
153
|
const allPending = await this.#pending(workspaceId);
|
|
133
154
|
const entryKeys = entries.map(({ interruptId }) => interruptId);
|
|
134
155
|
if (new Set(entryKeys).size !== entryKeys.length) {
|
|
@@ -173,6 +194,8 @@ export default class ProposalHitl {
|
|
|
173
194
|
if (loopIds.size !== 1) {
|
|
174
195
|
throw new Error(`worker ${workerId} has pending interrupts across multiple loops`);
|
|
175
196
|
}
|
|
197
|
+
const binding = { loopId: [...loopIds][0], workerId };
|
|
198
|
+
await beforeRelease(binding);
|
|
176
199
|
await Promise.all(resolved.map(async (resolution) => {
|
|
177
200
|
if (resolution.kind === "proposal") {
|
|
178
201
|
this.#seam.resolveProposal(resolution.id, {
|
|
@@ -183,7 +206,7 @@ export default class ProposalHitl {
|
|
|
183
206
|
}
|
|
184
207
|
await this.#seam.resolveClientInteraction(resolution.id, resolution.resolution);
|
|
185
208
|
}));
|
|
186
|
-
return
|
|
209
|
+
return binding;
|
|
187
210
|
}
|
|
188
211
|
}
|
|
189
212
|
//# sourceMappingURL=ProposalHitl.js.map
|
package/dist/ProposalHitl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProposalHitl.js","sourceRoot":"","sources":["../src/ProposalHitl.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,2EAA2E;AAG3E,OAAO,EACH,QAAQ,EACR,SAAS,GAKZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,oBAAoB,EACpB,+BAA+B,EAC/B,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GACvB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ProposalHitl.js","sourceRoot":"","sources":["../src/ProposalHitl.ts"],"names":[],"mappings":"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"}
|
package/dist/Translator.d.ts
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import { type AguiEvent, type LogEntryNotification, type ReasoningEventNotification, type TerminatedNotification } from "./types.ts";
|
|
2
2
|
import { type ApplicationLoopPacket } from "@plurnk/plurnk-contracts";
|
|
3
|
+
export interface TranslatorContinuation {
|
|
4
|
+
readonly currentTurn: number | null;
|
|
5
|
+
readonly assistantMessage: {
|
|
6
|
+
readonly turnId: number;
|
|
7
|
+
readonly id: string;
|
|
8
|
+
} | null;
|
|
9
|
+
readonly modelWorkerId: number | null;
|
|
10
|
+
readonly completedReasoning: ReadonlyArray<readonly [number, readonly string[]]>;
|
|
11
|
+
}
|
|
3
12
|
export default class Translator {
|
|
4
13
|
#private;
|
|
5
14
|
constructor(args: {
|
|
@@ -7,7 +16,9 @@ export default class Translator {
|
|
|
7
16
|
runId: string;
|
|
8
17
|
modelWorkerId?: number | null;
|
|
9
18
|
workspaceId?: number | null;
|
|
19
|
+
continuation?: TranslatorContinuation;
|
|
10
20
|
});
|
|
21
|
+
continuation(): TranslatorContinuation;
|
|
11
22
|
runStarted(snapshot?: unknown): AguiEvent[];
|
|
12
23
|
logEntry(n: LogEntryNotification): AguiEvent[];
|
|
13
24
|
reasoning(event: ReasoningEventNotification): AguiEvent[];
|
package/dist/Translator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Translator.d.ts","sourceRoot":"","sources":["../src/Translator.ts"],"names":[],"mappings":"AAkBA,OAAO,EAGH,KAAK,SAAS,EAEd,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAE/B,KAAK,sBAAsB,EAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAyC,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAE7G,MAAM,CAAC,OAAO,OAAO,UAAU;;IAW3B,YAAY,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"Translator.d.ts","sourceRoot":"","sources":["../src/Translator.ts"],"names":[],"mappings":"AAkBA,OAAO,EAGH,KAAK,SAAS,EAEd,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAE/B,KAAK,sBAAsB,EAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAyC,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAE7G,MAAM,WAAW,sBAAsB;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnF,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CACpF;AAED,MAAM,CAAC,OAAO,OAAO,UAAU;;IAW3B,YAAY,IAAI,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,YAAY,CAAC,EAAE,sBAAsB,CAAC;KACzC,EAcA;IAED,YAAY,IAAI,sBAAsB,CAUrC;IAED,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE,CAK1C;IAED,QAAQ,CAAC,CAAC,EAAE,oBAAoB,GAAG,SAAS,EAAE,CAmG7C;IAED,SAAS,CAAC,KAAK,EAAE,0BAA0B,GAAG,SAAS,EAAE,CAyCxD;IAED,UAAU,CAAC,CAAC,EAAE,sBAAsB,GAAG,SAAS,EAAE,CA6CjD;IAMD,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,CAoD3D;IAED,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,CAyCnC;IAED,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,SAAS,EAAE,CAWjD;CAmHJ"}
|