@plurnk/plurnk-agui 1.6.1 → 1.7.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/SPEC.md +36 -19
- package/dist/AguiPlus.d.ts +10 -1
- package/dist/AguiPlus.d.ts.map +1 -1
- package/dist/AguiPlus.js +43 -0
- package/dist/AguiPlus.js.map +1 -1
- package/dist/DaemonSeam.d.ts +16 -3
- package/dist/DaemonSeam.d.ts.map +1 -1
- package/dist/EventRouter.d.ts.map +1 -1
- package/dist/EventRouter.js +3 -1
- package/dist/EventRouter.js.map +1 -1
- package/dist/Module.d.ts.map +1 -1
- package/dist/Module.js +36 -21
- package/dist/Module.js.map +1 -1
- package/dist/Portal.d.ts +3 -2
- package/dist/Portal.d.ts.map +1 -1
- package/dist/Portal.js +24 -4
- package/dist/Portal.js.map +1 -1
- package/dist/ProposalHitl.d.ts +9 -5
- package/dist/ProposalHitl.d.ts.map +1 -1
- package/dist/ProposalHitl.js +139 -54
- package/dist/ProposalHitl.js.map +1 -1
- package/dist/Translator.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +2 -2
package/SPEC.md
CHANGED
|
@@ -128,20 +128,27 @@ every other daemon surface.
|
|
|
128
128
|
- §agui-replay **Reattach replays** — a rediscovered thread (the module restarted, a second
|
|
129
129
|
frontend arrived) attaches to its existing workspace by name→id and opens ORIENTED: the model
|
|
130
130
|
worker's PLAN activities and SEND speech replay as `MESSAGES_SNAPSHOT`; everything else stays
|
|
131
|
-
reachable via live `plurnk.row`. Pending proposals
|
|
132
|
-
interrupts when the owning conversation is
|
|
133
|
-
never converted into a mystery hang.
|
|
131
|
+
reachable via live `plurnk.row`. Pending proposals and client interactions remain durable while
|
|
132
|
+
their operation owners are live and are presented as interrupts when the owning conversation is
|
|
133
|
+
resumed; a days-old question is discoverable, never converted into a mystery hang.
|
|
134
134
|
|
|
135
|
-
## §agui-proposal-resolve
|
|
135
|
+
## §agui-proposal-resolve Client-owned stop-the-world interactions
|
|
136
136
|
|
|
137
|
-
Every client-owned daemon proposal
|
|
138
|
-
emits an AG-UI tool call and terminates AG-UI Run A with
|
|
137
|
+
Every client-owned daemon proposal—file edits and `[300]` operator questions—and
|
|
138
|
+
every contracts-owned client interaction emits an AG-UI tool call and terminates AG-UI Run A with
|
|
139
139
|
`RUN_FINISHED.outcome.type = "interrupt"`. The durable loop remains paused indefinitely
|
|
140
140
|
by default; absence is not an answer. AG-UI Run B on the same thread supplies standard
|
|
141
|
-
`RunAgentInput.resume` entries. Each entry correlates through `interruptId = toolCallId
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
141
|
+
`RunAgentInput.resume` entries. Each entry correlates through `interruptId = toolCallId`, using
|
|
142
|
+
`prop:<logEntryId>` for proposals and `int:<interactionId>` for client interactions. The module
|
|
143
|
+
resolves the complete pending interrupt set for one worker, binds AG-UI Run B to the persisted
|
|
144
|
+
loop, and releases it. A resume containing foreign, partial, unknown, duplicate, or multi-worker
|
|
145
|
+
interrupt sets fails before any stopped operation is released.
|
|
146
|
+
|
|
147
|
+
Proposal tool-call arguments and resume payloads retain the proposal review contract.
|
|
148
|
+
Client-interaction tool calls use the request's exact `toolName` and `arguments`; their standard
|
|
149
|
+
interrupt carries its optional `message` and `responseSchema`. A resolved resume payload becomes
|
|
150
|
+
the generic resolved payload, while AG-UI cancellation becomes interaction cancellation. AG-UI
|
|
151
|
+
never sees or reconstructs an upstream protocol's continuation state.
|
|
145
152
|
|
|
146
153
|
§agui-proposal-disposition **AG-UI consumes disposition; it does not infer policy.** Both the live `loop/proposal` payload and `CoreSeam.pendingProposals()` return the contracts-owned `ProposalProjection`. `disposition.owner` is the sole presentation branch:
|
|
147
154
|
|
|
@@ -160,7 +167,7 @@ an omitted service-default selection.
|
|
|
160
167
|
## §agui-management-plane The action surface
|
|
161
168
|
|
|
162
169
|
PLURNK has three inputs through the one AG-UI Run endpoint. A normal user message
|
|
163
|
-
and a standard
|
|
170
|
+
and a standard interrupt resume are not management actions and have no invented
|
|
164
171
|
`loop.run` or `loop.resolve` action names.
|
|
165
172
|
|
|
166
173
|
```mermaid
|
|
@@ -168,12 +175,12 @@ flowchart LR
|
|
|
168
175
|
client["AG-UI client"] --> run["POST RunAgentInput"]
|
|
169
176
|
run --> classify{"Input form"}
|
|
170
177
|
classify -->|"textual user message"| loop["CoreSeam.runLoop"]
|
|
171
|
-
classify -->|"RunAgentInput.resume"|
|
|
178
|
+
classify -->|"RunAgentInput.resume"| resume["CoreSeam proposal / interaction resolution"]
|
|
172
179
|
classify -->|"forwardedProps.plurnk.action"| actions{"AG-UI action registry"}
|
|
173
180
|
actions --> builtIn["Built-in validation<br/>and typed CoreSeam call"]
|
|
174
|
-
actions --> extension["CoreSeam.invokeModuleAction"]
|
|
181
|
+
actions --> extension["Scoped CoreSeam.invokeModuleAction"]
|
|
175
182
|
loop --> events["Core event source"]
|
|
176
|
-
|
|
183
|
+
resume --> events
|
|
177
184
|
builtIn --> events
|
|
178
185
|
events --> projection["AG-UI projection"]
|
|
179
186
|
extension --> result["plurnk.action.result"]
|
|
@@ -215,7 +222,17 @@ successfully transported management Run; it does not turn the Run into
|
|
|
215
222
|
| `workspace.members` | Workspace | none | `CoreSeam.listMembers`. |
|
|
216
223
|
| `op.look` | Workspace | `text` | Admits one LOOK under {§agui-op-look}, rewrites it to READ, and calls core's no-log `look` projection. |
|
|
217
224
|
| `run.fork` | Workspace | `name?` | `CoreSeam.forkWorker` from the thread's conversation worker. |
|
|
218
|
-
| Registered module action |
|
|
225
|
+
| Registered module action | Owner-declared | owner-defined | `CoreSeam.invokeModuleAction`; AG-UI passes either a worldless context or the already-bound workspace context outside supplied params. The owner validates params and owns the result. |
|
|
226
|
+
|
|
227
|
+
§agui-module-action-scope **An extension action uses the same management plane,
|
|
228
|
+
not a private endpoint.** `CoreSeam.listModuleActions()` returns its exact
|
|
229
|
+
`{ name, scope }` descriptors. A worldless action follows the control path and
|
|
230
|
+
cannot establish a workspace. A workspace action follows ordinary thread
|
|
231
|
+
binding, resolves the client envelope first, and invokes core with
|
|
232
|
+
`{ scope: "workspace", workspaceId: envelope.workspaceId }`; an `id`,
|
|
233
|
+
`workspaceId`, or similarly named owner parameter cannot override that
|
|
234
|
+
identity. `discover.methods` advertises both kinds by name without importing
|
|
235
|
+
the extension owner.
|
|
219
236
|
|
|
220
237
|
### §agui-op-parse Parsed-operation projection
|
|
221
238
|
|
|
@@ -310,14 +327,14 @@ into the conversation a generic frontend renders.
|
|
|
310
327
|
Workspace information fans to every open AG-UI Run: ambient rows and stream activity
|
|
311
328
|
remain visible across the workspace, with each SSE
|
|
312
329
|
using its own render router. Terminal control does not fan. A message AG-UI Run binds
|
|
313
|
-
to the exact `loopId` returned by `CoreSeam.runLoop`;
|
|
314
|
-
pending
|
|
330
|
+
to the exact `loopId` returned by `CoreSeam.runLoop`; an interrupt-resume AG-UI Run binds to the
|
|
331
|
+
pending item's persisted `loopId` before resolving it. Only that loop's
|
|
315
332
|
`loop/terminated` event may emit `plurnk.terminated` and close the SSE.
|
|
316
333
|
The custom event preserves the daemon's exact universal `result`; failures use
|
|
317
334
|
the Problem `type` as the AG-UI error code and `detail` as its message. The
|
|
318
335
|
module never reconstructs a failure from a status, summary, or exception text.
|
|
319
|
-
|
|
320
|
-
|
|
336
|
+
Stopped-world tool calls and interrupt outcomes route only to their owning worker;
|
|
337
|
+
interrupting sibling AG-UI Runs would violate AG-UI Run identity. Terminations
|
|
321
338
|
that race ahead of the `runLoop` acknowledgement are held until
|
|
322
339
|
the loop identity is known. A sibling, child, or concurrent loop can therefore
|
|
323
340
|
remain visible as topology without ending or relabelling this AG-UI Run.
|
package/dist/AguiPlus.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type AguiEvent, type ProposalNotification } from "./types.ts";
|
|
2
2
|
import type { Interrupt, ResumeEntry } from "@ag-ui/core";
|
|
3
|
-
import type { ProblemDetails } from "@plurnk/plurnk-contracts";
|
|
3
|
+
import type { ClientInteractionProjection, ClientInteractionResolution, ProblemDetails } from "@plurnk/plurnk-contracts";
|
|
4
4
|
export declare const proposalToolCallId: (logEntryId: number) => string;
|
|
5
5
|
export declare const logEntryIdFromToolCallId: (toolCallId: string) => number | null;
|
|
6
6
|
export declare const proposalToolName: (op: string) => string;
|
|
@@ -12,6 +12,15 @@ export interface Resolution {
|
|
|
12
12
|
body?: string;
|
|
13
13
|
}
|
|
14
14
|
export declare const resolutionFromResume: (entry: ResumeEntry) => Resolution | null;
|
|
15
|
+
export declare const interactionToolCallId: (interactionId: number) => string;
|
|
16
|
+
export declare const interactionIdFromToolCallId: (toolCallId: string) => number | null;
|
|
17
|
+
export declare const interactionToolCall: (interaction: ClientInteractionProjection) => AguiEvent[];
|
|
18
|
+
export declare const interactionInterrupt: (interaction: ClientInteractionProjection) => Interrupt;
|
|
19
|
+
export interface InteractionResolution {
|
|
20
|
+
interactionId: number;
|
|
21
|
+
resolution: ClientInteractionResolution;
|
|
22
|
+
}
|
|
23
|
+
export declare const interactionResolutionFromResume: (entry: ResumeEntry) => InteractionResolution | null;
|
|
15
24
|
export interface AguiPlusState {
|
|
16
25
|
providers?: Array<{
|
|
17
26
|
alias: string;
|
package/dist/AguiPlus.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AguiPlus.d.ts","sourceRoot":"","sources":["../src/AguiPlus.ts"],"names":[],"mappings":"AAQA,OAAO,EAAa,KAAK,SAAS,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"AguiPlus.d.ts","sourceRoot":"","sources":["../src/AguiPlus.ts"],"names":[],"mappings":"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"}
|
package/dist/AguiPlus.js
CHANGED
|
@@ -57,6 +57,49 @@ export const resolutionFromResume = (entry) => {
|
|
|
57
57
|
return null;
|
|
58
58
|
return { logEntryId, decision, ...(body !== undefined ? { body } : {}) };
|
|
59
59
|
};
|
|
60
|
+
export const interactionToolCallId = (interactionId) => `int:${interactionId}`;
|
|
61
|
+
export const interactionIdFromToolCallId = (toolCallId) => {
|
|
62
|
+
const match = /^int:(\d+)$/.exec(toolCallId);
|
|
63
|
+
return match === null ? null : Number(match[1]);
|
|
64
|
+
};
|
|
65
|
+
export const interactionToolCall = (interaction) => {
|
|
66
|
+
const toolCallId = interactionToolCallId(interaction.interactionId);
|
|
67
|
+
return [
|
|
68
|
+
{
|
|
69
|
+
type: EventType.TOOL_CALL_START,
|
|
70
|
+
toolCallId,
|
|
71
|
+
toolCallName: interaction.request.toolName,
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
type: EventType.TOOL_CALL_ARGS,
|
|
75
|
+
toolCallId,
|
|
76
|
+
delta: JSON.stringify(interaction.request.arguments),
|
|
77
|
+
},
|
|
78
|
+
{ type: EventType.TOOL_CALL_END, toolCallId },
|
|
79
|
+
];
|
|
80
|
+
};
|
|
81
|
+
export const interactionInterrupt = (interaction) => ({
|
|
82
|
+
id: interactionToolCallId(interaction.interactionId),
|
|
83
|
+
reason: "tool_call",
|
|
84
|
+
toolCallId: interactionToolCallId(interaction.interactionId),
|
|
85
|
+
message: interaction.request.message ?? "Provide the requested input.",
|
|
86
|
+
responseSchema: interaction.request.responseSchema,
|
|
87
|
+
});
|
|
88
|
+
export const interactionResolutionFromResume = (entry) => {
|
|
89
|
+
const interactionId = interactionIdFromToolCallId(entry.interruptId);
|
|
90
|
+
if (interactionId === null)
|
|
91
|
+
return null;
|
|
92
|
+
if (entry.status === "cancelled") {
|
|
93
|
+
return { interactionId, resolution: { status: "cancelled" } };
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
interactionId,
|
|
97
|
+
resolution: {
|
|
98
|
+
status: "resolved",
|
|
99
|
+
...(Object.hasOwn(entry, "payload") ? { payload: entry.payload } : {}),
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
};
|
|
60
103
|
const EMPTY_BUDGET = Object.freeze({
|
|
61
104
|
curationWeight: null,
|
|
62
105
|
curationBudget: null,
|
package/dist/AguiPlus.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AguiPlus.js","sourceRoot":"","sources":["../src/AguiPlus.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,qCAAqC;AACrC,oFAAoF;AACpF,0EAA0E;AAC1E,EAAE;AACF,gFAAgF;AAChF,kFAAkF;AAElF,OAAO,EAAE,SAAS,EAA6C,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"AguiPlus.js","sourceRoot":"","sources":["../src/AguiPlus.ts"],"names":[],"mappings":"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"}
|
package/dist/DaemonSeam.d.ts
CHANGED
|
@@ -5,18 +5,31 @@ export interface ProposalResolution {
|
|
|
5
5
|
outcome?: string;
|
|
6
6
|
}
|
|
7
7
|
export type { ProposalProjection as PendingProposal } from "@plurnk/plurnk-contracts";
|
|
8
|
-
|
|
8
|
+
export type { ClientInteractionProjection as PendingClientInteraction } from "@plurnk/plurnk-contracts";
|
|
9
|
+
import type { ClientDisplayCapabilities, ClientInteractionProjection, ClientInteractionResolution, EntryReadResult, ProposalProjection } from "@plurnk/plurnk-contracts";
|
|
9
10
|
import type { OperationResult } from "@plurnk/plurnk-contracts";
|
|
10
11
|
import type { PlurnkStatement } from "@plurnk/plurnk-contracts";
|
|
11
12
|
export type { PlurnkStatement };
|
|
13
|
+
export type ModuleActionContext = {
|
|
14
|
+
readonly scope: "worldless";
|
|
15
|
+
} | {
|
|
16
|
+
readonly scope: "workspace";
|
|
17
|
+
readonly workspaceId: number;
|
|
18
|
+
};
|
|
19
|
+
export interface ModuleActionDescriptor {
|
|
20
|
+
readonly name: string;
|
|
21
|
+
readonly scope: ModuleActionContext["scope"];
|
|
22
|
+
}
|
|
12
23
|
export type LogEntryWire = Record<string, unknown>;
|
|
13
24
|
export interface DaemonSeam {
|
|
14
25
|
listClientDisplayCapabilities(): Promise<ClientDisplayCapabilities>;
|
|
15
|
-
listModuleActions():
|
|
16
|
-
invokeModuleAction(name: string, params: Readonly<Record<string, unknown
|
|
26
|
+
listModuleActions(): ModuleActionDescriptor[];
|
|
27
|
+
invokeModuleAction(name: string, params: Readonly<Record<string, unknown>>, context: ModuleActionContext): Promise<unknown>;
|
|
17
28
|
subscribeToEvents(handler: (workspaceId: number | null, method: string, params: unknown) => void): () => void;
|
|
18
29
|
pendingProposals(workspaceId: number): Promise<ProposalProjection[]>;
|
|
19
30
|
resolveProposal(logEntryId: number, resolution: ProposalResolution): void;
|
|
31
|
+
pendingClientInteractions(workspaceId: number): Promise<ClientInteractionProjection[]>;
|
|
32
|
+
resolveClientInteraction(interactionId: number, resolution: ClientInteractionResolution): Promise<void>;
|
|
20
33
|
ensureModelWorker(workspaceId: number): Promise<number>;
|
|
21
34
|
runLoop(args: {
|
|
22
35
|
workspaceId: number;
|
package/dist/DaemonSeam.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DaemonSeam.d.ts","sourceRoot":"","sources":["../src/DaemonSeam.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,YAAY,EAAE,kBAAkB,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"DaemonSeam.d.ts","sourceRoot":"","sources":["../src/DaemonSeam.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventRouter.d.ts","sourceRoot":"","sources":["../src/EventRouter.ts"],"names":[],"mappings":"AAQA,OAAO,EAAa,KAAK,SAAS,EAA0D,MAAM,YAAY,CAAC;AAG/G,MAAM,CAAC,OAAO,OAAO,WAAW;;IAG5B,YAAY,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAEhH;IAED,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE,CAAyC;IACpF,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,CAAoC;IAEhG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,CAMlD;
|
|
1
|
+
{"version":3,"file":"EventRouter.d.ts","sourceRoot":"","sources":["../src/EventRouter.ts"],"names":[],"mappings":"AAQA,OAAO,EAAa,KAAK,SAAS,EAA0D,MAAM,YAAY,CAAC;AAG/G,MAAM,CAAC,OAAO,OAAO,WAAW;;IAG5B,YAAY,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAEhH;IAED,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE,CAAyC;IACpF,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,CAAoC;IAEhG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,CAMlD;CA2CJ"}
|
package/dist/EventRouter.js
CHANGED
|
@@ -36,7 +36,9 @@ class EventRouter {
|
|
|
36
36
|
{ type: EventType.CUSTOM, name: "plurnk.stream", value: params },
|
|
37
37
|
_a.#activity(params),
|
|
38
38
|
];
|
|
39
|
-
case "loop/proposal":
|
|
39
|
+
case "loop/proposal":
|
|
40
|
+
case "loop/interaction":
|
|
41
|
+
return []; // ProposalHitl owns the shared terminate-resume path.
|
|
40
42
|
default: return []; // workspace/created + anything unmodeled: the module handles out-of-band
|
|
41
43
|
}
|
|
42
44
|
}
|
package/dist/EventRouter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventRouter.js","sourceRoot":"","sources":["../src/EventRouter.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,qFAAqF;AACrF,sFAAsF;AACtF,8FAA8F;AAC9F,wFAAwF;AACxF,kFAAkF;;AAElF,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,SAAS,EAA0E,MAAM,YAAY,CAAC;AAC/G,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAqB,WAAW;IAC5B,EAAE,CAAa;IAEf,YAAY,IAAqG;QAC7G,IAAI,CAAC,EAAE,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,UAAU,CAAC,QAAkB,IAAiB,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,CAAC,OAAuC,IAAiB,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEhG,KAAK,CAAC,MAAc,EAAE,MAAe;QACjC,OAAO,YAAY,CAAE,8EAA8E;QAC/F,YAAY,EACZ,EAAE,MAAM,EAAE,EACV,GAAgB,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CACxD,CAAC;IACN,CAAC;IAED,aAAa,CAAC,MAAc,EAAE,MAAe;QACzC,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAA8B,CAAC,CAAC;YAC1E,KAAK,iBAAiB,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAgC,CAAC,CAAC;YACpF,KAAK,cAAc,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAE,MAA+B,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;YAC9F,KAAK,wBAAwB,EAAE,OAAO;gBAClC,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE;aACzE,CAAC;YACF,KAAK,cAAc,CAAC;YACpB,KAAK,kBAAkB,EAAE,OAAO;gBAC5B,gFAAgF;gBAChF,2EAA2E;gBAC3E,iFAAiF;gBACjF,0EAA0E;gBAC1E,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE;gBAChE,EAAW,CAAC,SAAS,CAAC,MAAM,CAAC;aAChC,CAAC;YACF,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"EventRouter.js","sourceRoot":"","sources":["../src/EventRouter.ts"],"names":[],"mappings":"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"}
|
package/dist/Module.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACR,UAAU,EAIb,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAwB,KAAK,aAAa,EAA8B,MAAM,aAAa,CAAC;AAEnG,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IAC/B,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C;AAsGD,MAAM,CAAC,OAAO,OAAO,MAAM;;IA6BvB,YAAY,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAMhD;IAsBD,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,kBAAkB,CAQnD;IAEK,MAAM,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAMtD;IAED,OAAO,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAIxC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAG3B;CA6uBJ"}
|
package/dist/Module.js
CHANGED
|
@@ -19,7 +19,6 @@ import { PlurnkParser, UNKNOWN_POSITION } from "@plurnk/plurnk-contracts";
|
|
|
19
19
|
import { EventType } from "./types.js";
|
|
20
20
|
import { aguiRouteTemplate, observed } from "./observe.js";
|
|
21
21
|
import { RunAgentInputSchema } from "@ag-ui/core";
|
|
22
|
-
import { logEntryIdFromToolCallId, proposalInterrupt } from "./AguiPlus.js";
|
|
23
22
|
import { Problems, Validator } from "@plurnk/plurnk-contracts";
|
|
24
23
|
import { resolveModuleOptions } from "./config.js";
|
|
25
24
|
const actionFailure = (code, detail, status = 400, extensions = {}) => ({
|
|
@@ -112,28 +111,34 @@ class Module {
|
|
|
112
111
|
...this.#WORLD_SCOPED,
|
|
113
112
|
]));
|
|
114
113
|
static #NOTIFICATIONS = Object.freeze([
|
|
115
|
-
"log/entry", "loop/terminated", "loop/proposal", "notice/event",
|
|
114
|
+
"log/entry", "loop/terminated", "loop/proposal", "loop/interaction", "notice/event",
|
|
116
115
|
"stream/event", "stream/concluded", "workspace/branch-batch",
|
|
117
116
|
]);
|
|
118
117
|
constructor(seam, opts) {
|
|
119
118
|
this.#seam = seam;
|
|
120
119
|
this.#opts = resolveModuleOptions(opts);
|
|
121
|
-
this.#
|
|
120
|
+
this.#moduleActions();
|
|
122
121
|
this.#portal = new Portal(seam);
|
|
123
122
|
this.#http = createServer((req, res) => { void this.#route(req, res); });
|
|
124
123
|
}
|
|
125
|
-
#
|
|
126
|
-
const
|
|
127
|
-
const
|
|
128
|
-
|
|
124
|
+
#moduleActions() {
|
|
125
|
+
const actions = new Map();
|
|
126
|
+
for (const descriptor of this.#seam.listModuleActions()) {
|
|
127
|
+
const { name, scope } = descriptor;
|
|
129
128
|
if (_a.#BUILTIN_ACTIONS.has(name)) {
|
|
130
129
|
throw new Error(`module action '${name}' collides with AG-UI built-in action`);
|
|
131
130
|
}
|
|
132
|
-
if (
|
|
131
|
+
if (scope !== "worldless" && scope !== "workspace") {
|
|
132
|
+
throw new Error(`module action '${name}' has invalid scope '${String(scope)}'`);
|
|
133
|
+
}
|
|
134
|
+
if (actions.has(name))
|
|
133
135
|
throw new Error(`module action '${name}' is registered more than once`);
|
|
134
|
-
|
|
136
|
+
actions.set(name, descriptor);
|
|
135
137
|
}
|
|
136
|
-
return
|
|
138
|
+
return actions;
|
|
139
|
+
}
|
|
140
|
+
#isWorkspaceAction(kind) {
|
|
141
|
+
return _a.#WORLD_SCOPED.has(kind) || this.#moduleActions().get(kind)?.scope === "workspace";
|
|
137
142
|
}
|
|
138
143
|
static init(opts) {
|
|
139
144
|
return {
|
|
@@ -296,8 +301,9 @@ class Module {
|
|
|
296
301
|
// unknown kind, which is no worker at all) answers without binding — or forging — a
|
|
297
302
|
// workspace. Only world-scoped actions and conversations reach #envelope below.
|
|
298
303
|
const action = parseAction(input.forwardedProps);
|
|
299
|
-
if (action !== null && !
|
|
304
|
+
if (action !== null && !this.#isWorkspaceAction(action.kind)) {
|
|
300
305
|
return await this.#controlRun(action, input, res);
|
|
306
|
+
}
|
|
301
307
|
let prompt = null;
|
|
302
308
|
if (action === null && input.resume === undefined) {
|
|
303
309
|
const lastUser = [...input.messages].reverse().find((message) => message.role === "user");
|
|
@@ -336,12 +342,12 @@ class Module {
|
|
|
336
342
|
const emit = (events) => {
|
|
337
343
|
for (const e of events) {
|
|
338
344
|
res.write(`data: ${JSON.stringify(e)}\n\n`);
|
|
339
|
-
// Terminate-resume, the terminate half: a
|
|
340
|
-
// AG-UI Run
|
|
345
|
+
// Terminate-resume, the terminate half: a stopped-world tool call
|
|
346
|
+
// ends this AG-UI Run while its core owner remains paused.
|
|
341
347
|
if (e.type === "TOOL_CALL_END") {
|
|
342
|
-
const
|
|
343
|
-
if (
|
|
344
|
-
interrupts.push(
|
|
348
|
+
const interrupt = this.#portal.interruptForToolCall(e.toolCallId);
|
|
349
|
+
if (interrupt !== null)
|
|
350
|
+
interrupts.push(interrupt);
|
|
345
351
|
}
|
|
346
352
|
if (e.type === "RUN_FINISHED" || e.type === "RUN_ERROR")
|
|
347
353
|
finish();
|
|
@@ -494,7 +500,7 @@ class Module {
|
|
|
494
500
|
for (const k of [
|
|
495
501
|
..._a.#CONTROL_ACTIONS,
|
|
496
502
|
..._a.#WORLD_SCOPED,
|
|
497
|
-
...this.#
|
|
503
|
+
...this.#moduleActions().keys(),
|
|
498
504
|
]) {
|
|
499
505
|
if (methods[k])
|
|
500
506
|
throw new Error(`AG-UI action '${k}' is registered more than once`);
|
|
@@ -512,7 +518,7 @@ class Module {
|
|
|
512
518
|
// runLoop folds a prompt into the active drain; the steered effect streams on the SSE.
|
|
513
519
|
async #action(a, env, conversationWorkerId) {
|
|
514
520
|
const p = a.params;
|
|
515
|
-
const
|
|
521
|
+
const moduleAction = this.#moduleActions().get(a.kind);
|
|
516
522
|
try {
|
|
517
523
|
// The control plane — worldless verbs (no bound workspace; #WORLD_SCOPED gates this).
|
|
518
524
|
switch (a.kind) {
|
|
@@ -561,12 +567,15 @@ class Module {
|
|
|
561
567
|
return { ok: true, result: { id: att.workspaceId, name: att.workspaceName, workerId: att.workerId } };
|
|
562
568
|
}
|
|
563
569
|
}
|
|
564
|
-
if (
|
|
565
|
-
return {
|
|
570
|
+
if (moduleAction?.scope === "worldless") {
|
|
571
|
+
return {
|
|
572
|
+
ok: true,
|
|
573
|
+
result: await this.#seam.invokeModuleAction(a.kind, p, { scope: "worldless" }),
|
|
574
|
+
};
|
|
566
575
|
}
|
|
567
576
|
// Below this line lives IN a world. An unknown kind is no worker at all; a
|
|
568
577
|
// world-scoped kind with no bound workspace is a routing bug — both surface plainly.
|
|
569
|
-
if (!_a.#WORLD_SCOPED.has(a.kind)) {
|
|
578
|
+
if (!_a.#WORLD_SCOPED.has(a.kind) && moduleAction?.scope !== "workspace") {
|
|
570
579
|
return actionFailure("unknown-action", `Action '${a.kind}' is not registered.`, 404, {
|
|
571
580
|
requestedAction: a.kind,
|
|
572
581
|
recovery: "Use an action advertised by discover.",
|
|
@@ -574,6 +583,12 @@ class Module {
|
|
|
574
583
|
}
|
|
575
584
|
if (env === null)
|
|
576
585
|
throw new Error(`action '${a.kind}' operates within a workspace, but none is bound`);
|
|
586
|
+
if (moduleAction?.scope === "workspace") {
|
|
587
|
+
return {
|
|
588
|
+
ok: true,
|
|
589
|
+
result: await this.#seam.invokeModuleAction(a.kind, p, { scope: "workspace", workspaceId: env.workspaceId }),
|
|
590
|
+
};
|
|
591
|
+
}
|
|
577
592
|
switch (a.kind) {
|
|
578
593
|
case "workspace.workers": return { ok: true, result: { workers: await this.#seam.listWorkers(typeof p.id === "number" ? p.id : env.workspaceId) } };
|
|
579
594
|
case "log.read": {
|
package/dist/Module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Module.js","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Module.js","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"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"}
|
package/dist/Portal.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { DaemonSeam } from "./DaemonSeam.ts";
|
|
2
2
|
import { type AguiEvent } from "./types.ts";
|
|
3
|
-
import type { ResumeEntry } from "@ag-ui/core";
|
|
4
|
-
type PortalSeam = Pick<DaemonSeam, "subscribeToEvents" | "pendingProposals" | "resolveProposal" | "runLoop" | "cancelDrain">;
|
|
3
|
+
import type { Interrupt, ResumeEntry } from "@ag-ui/core";
|
|
4
|
+
type PortalSeam = Pick<DaemonSeam, "subscribeToEvents" | "pendingProposals" | "resolveProposal" | "pendingClientInteractions" | "resolveClientInteraction" | "runLoop" | "cancelDrain">;
|
|
5
5
|
export default class Portal {
|
|
6
6
|
#private;
|
|
7
7
|
constructor(seam: PortalSeam);
|
|
8
8
|
start(): void;
|
|
9
9
|
stop(): void;
|
|
10
|
+
interruptForToolCall(toolCallId: string): Interrupt | null;
|
|
10
11
|
openThread(args: {
|
|
11
12
|
workspaceId: number;
|
|
12
13
|
workerId: number;
|
package/dist/Portal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Portal.d.ts","sourceRoot":"","sources":["../src/Portal.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Portal.d.ts","sourceRoot":"","sources":["../src/Portal.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAgB1D,KAAK,UAAU,GAAG,IAAI,CAClB,UAAU,EACR,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,2BAA2B,GAC3B,0BAA0B,GAC1B,SAAS,GACT,aAAa,CAClB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,MAAM;;IASvB,YAAY,IAAI,EAAE,UAAU,EAM3B;IAGD,KAAK,IAAI,IAAI,CA0BZ;IAED,IAAI,IAAI,IAAI,CAIX;IA0BD,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAEzD;IASD,UAAU,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAiB9K;IAED,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAyD;IAExG,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,CAE5E;IAMD,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAOvD;IAMD,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAIxD;IAMK,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAgBpR;IAED,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAA6C;IAIxE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzF;CACJ"}
|
package/dist/Portal.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
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
7
|
import EventRouter from "./EventRouter.js";
|
|
8
|
-
import ProposalHitl from "./ProposalHitl.js";
|
|
8
|
+
import ProposalHitl, {} from "./ProposalHitl.js";
|
|
9
9
|
import { EventType } from "./types.js";
|
|
10
10
|
export default class Portal {
|
|
11
11
|
#seam;
|
|
@@ -13,10 +13,11 @@ export default class Portal {
|
|
|
13
13
|
// all its open AG-UI Runs — concurrent action Runs must not clobber each other's gates.
|
|
14
14
|
#threads = new Map();
|
|
15
15
|
#hitl;
|
|
16
|
+
#activeInterrupts = new Map();
|
|
16
17
|
#off = null;
|
|
17
18
|
constructor(seam) {
|
|
18
19
|
this.#seam = seam;
|
|
19
|
-
this.#hitl = new ProposalHitl(seam, (workspaceId, workerId,
|
|
20
|
+
this.#hitl = new ProposalHitl(seam, (workspaceId, workerId, batch) => this.#emitHitl(workspaceId, workerId, batch));
|
|
20
21
|
}
|
|
21
22
|
// One subscription for the whole module: render each event to its workspace's thread.
|
|
22
23
|
start() {
|
|
@@ -65,6 +66,25 @@ export default class Portal {
|
|
|
65
66
|
t.emit(events);
|
|
66
67
|
}
|
|
67
68
|
}
|
|
69
|
+
#withHitl(batch, emit) {
|
|
70
|
+
for (const interrupt of batch.interrupts) {
|
|
71
|
+
this.#activeInterrupts.set(interrupt.toolCallId ?? interrupt.id, interrupt);
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
emit(batch.events);
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
for (const interrupt of batch.interrupts) {
|
|
78
|
+
this.#activeInterrupts.delete(interrupt.toolCallId ?? interrupt.id);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
#emitHitl(workspaceId, workerId, batch) {
|
|
83
|
+
this.#withHitl(batch, (events) => this.#emitToWorker(workspaceId, workerId, events));
|
|
84
|
+
}
|
|
85
|
+
interruptForToolCall(toolCallId) {
|
|
86
|
+
return this.#activeInterrupts.get(toolCallId) ?? null;
|
|
87
|
+
}
|
|
68
88
|
// Bind a client's SSE to a workspace and AG-UI Run. The emit consumer ends its stream when it
|
|
69
89
|
// sees RUN_FINISHED / RUN_ERROR (the router's terminal projection) — the engine
|
|
70
90
|
// just fans; the edge owns the socket lifecycle. `workerId` is the lifecycle actor
|
|
@@ -121,8 +141,8 @@ export default class Portal {
|
|
|
121
141
|
// subscription as loop/terminated). Re-surface any pending stopped-world first.
|
|
122
142
|
async run(thread, args) {
|
|
123
143
|
const pending = await this.#hitl.resurface(args.workspaceId, args.workerId);
|
|
124
|
-
if (pending.length > 0) {
|
|
125
|
-
thread.emit(
|
|
144
|
+
if (pending.events.length > 0) {
|
|
145
|
+
this.#withHitl(pending, (events) => thread.emit(events));
|
|
126
146
|
return null;
|
|
127
147
|
}
|
|
128
148
|
const ack = await this.#seam.runLoop(args);
|
package/dist/Portal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Portal.js","sourceRoot":"","sources":["../src/Portal.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,sFAAsF;AACtF,uFAAuF;AACvF,uFAAuF;AACvF,4FAA4F;AAC5F,8EAA8E;AAE9E,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,YAAY,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Portal.js","sourceRoot":"","sources":["../src/Portal.ts"],"names":[],"mappings":"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"}
|
package/dist/ProposalHitl.d.ts
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Interrupt, ResumeEntry } from "@ag-ui/core";
|
|
2
2
|
import type { DaemonSeam } from "./DaemonSeam.ts";
|
|
3
|
-
import type {
|
|
4
|
-
type HitlSeam = Pick<DaemonSeam, "subscribeToEvents" | "pendingProposals" | "resolveProposal">;
|
|
3
|
+
import type { AguiEvent } from "./types.ts";
|
|
4
|
+
type HitlSeam = Pick<DaemonSeam, "subscribeToEvents" | "pendingProposals" | "resolveProposal" | "pendingClientInteractions" | "resolveClientInteraction">;
|
|
5
|
+
export interface HitlBatch {
|
|
6
|
+
readonly events: AguiEvent[];
|
|
7
|
+
readonly interrupts: Interrupt[];
|
|
8
|
+
}
|
|
5
9
|
export default class ProposalHitl {
|
|
6
10
|
#private;
|
|
7
|
-
constructor(seam: HitlSeam, emit: (workspaceId: number, workerId: number,
|
|
11
|
+
constructor(seam: HitlSeam, emit: (workspaceId: number, workerId: number, batch: HitlBatch) => void);
|
|
8
12
|
start(): void;
|
|
9
13
|
stop(): void;
|
|
10
|
-
resurface(workspaceId: number, workerId?: number): Promise<
|
|
14
|
+
resurface(workspaceId: number, workerId?: number): Promise<HitlBatch>;
|
|
11
15
|
resolve(workspaceId: number, entries: ResumeEntry[]): Promise<{
|
|
12
16
|
loopId: number;
|
|
13
17
|
workerId: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProposalHitl.d.ts","sourceRoot":"","sources":["../src/ProposalHitl.ts"],"names":[],"mappings":"
|
|
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;AAgB1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAwB,MAAM,YAAY,CAAC;AAElE,KAAK,QAAQ,GAAG,IAAI,CAChB,UAAU,EACR,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,MAAM,EAAE,KAAK,EAAE,SAAS,KAAK,IAAI,EAI1E;IAED,KAAK,IAAI,IAAI,CAcZ;IAED,IAAI,IAAI,IAAI,CAGX;IAiBK,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAE1E;IAEK,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAkFxG;CACJ"}
|
package/dist/ProposalHitl.js
CHANGED
|
@@ -1,23 +1,87 @@
|
|
|
1
|
-
// {§agui-proposal-resolve} The in-process HITL core.
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import { Problems } from "@plurnk/plurnk-contracts";
|
|
8
|
-
class ProposalInputError extends Error {
|
|
1
|
+
// {§agui-proposal-resolve} The in-process client-owned HITL core. Proposals
|
|
2
|
+
// and generic interactions share one render, reconnect, validation, and resume
|
|
3
|
+
// path; their stateful semantics remain with their respective core owners.
|
|
4
|
+
import { Problems, Validator, } from "@plurnk/plurnk-contracts";
|
|
5
|
+
import { interactionInterrupt, interactionResolutionFromResume, interactionToolCall, proposalInterrupt, proposalToolCall, resolutionFromResume, } from "./AguiPlus.js";
|
|
6
|
+
class InterruptInputError extends Error {
|
|
9
7
|
problem;
|
|
10
8
|
constructor(code, status, detail, extensions) {
|
|
11
|
-
const problem = Problems.create("agui:
|
|
12
|
-
stage: "
|
|
9
|
+
const problem = Problems.create("agui:interrupt", code, status, detail, {
|
|
10
|
+
stage: "interrupt-resolution",
|
|
13
11
|
retryable: false,
|
|
14
12
|
...extensions,
|
|
15
13
|
});
|
|
16
14
|
super(problem.detail);
|
|
17
|
-
this.name = "
|
|
15
|
+
this.name = "InterruptInputError";
|
|
18
16
|
this.problem = problem;
|
|
19
17
|
}
|
|
20
18
|
}
|
|
19
|
+
const proposalItem = (value) => {
|
|
20
|
+
const projection = Validator.assertProposalProjection(value);
|
|
21
|
+
return {
|
|
22
|
+
kind: "proposal",
|
|
23
|
+
id: projection.logEntryId,
|
|
24
|
+
key: `prop:${projection.logEntryId}`,
|
|
25
|
+
workerId: projection.workerId,
|
|
26
|
+
loopId: projection.loopId,
|
|
27
|
+
turnId: projection.turnId,
|
|
28
|
+
projection,
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
const interactionItem = (value) => {
|
|
32
|
+
const projection = Validator.assertClientInteractionProjection(value);
|
|
33
|
+
return {
|
|
34
|
+
kind: "interaction",
|
|
35
|
+
id: projection.interactionId,
|
|
36
|
+
key: `int:${projection.interactionId}`,
|
|
37
|
+
workerId: projection.workerId,
|
|
38
|
+
loopId: projection.loopId,
|
|
39
|
+
turnId: projection.turnId,
|
|
40
|
+
projection,
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
const comparePending = (left, right) => left.workerId - right.workerId
|
|
44
|
+
|| left.loopId - right.loopId
|
|
45
|
+
|| left.turnId - right.turnId
|
|
46
|
+
|| left.kind.localeCompare(right.kind)
|
|
47
|
+
|| left.id - right.id;
|
|
48
|
+
const render = (item) => item.kind === "proposal"
|
|
49
|
+
? {
|
|
50
|
+
events: proposalToolCall(item.projection),
|
|
51
|
+
interrupts: [proposalInterrupt(item.id)],
|
|
52
|
+
}
|
|
53
|
+
: {
|
|
54
|
+
events: interactionToolCall(item.projection),
|
|
55
|
+
interrupts: [interactionInterrupt(item.projection)],
|
|
56
|
+
};
|
|
57
|
+
const combine = (items) => {
|
|
58
|
+
const batches = items.map(render);
|
|
59
|
+
return {
|
|
60
|
+
events: batches.flatMap(({ events }) => events),
|
|
61
|
+
interrupts: batches.flatMap(({ interrupts }) => interrupts),
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
const parseResolution = (entry) => {
|
|
65
|
+
const proposal = resolutionFromResume(entry);
|
|
66
|
+
if (proposal !== null) {
|
|
67
|
+
return {
|
|
68
|
+
kind: "proposal",
|
|
69
|
+
key: entry.interruptId,
|
|
70
|
+
id: proposal.logEntryId,
|
|
71
|
+
decision: proposal.decision,
|
|
72
|
+
...(proposal.body !== undefined ? { body: proposal.body } : {}),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
const interaction = interactionResolutionFromResume(entry);
|
|
76
|
+
if (interaction === null)
|
|
77
|
+
return null;
|
|
78
|
+
return {
|
|
79
|
+
kind: "interaction",
|
|
80
|
+
key: entry.interruptId,
|
|
81
|
+
id: interaction.interactionId,
|
|
82
|
+
resolution: interaction.resolution,
|
|
83
|
+
};
|
|
84
|
+
};
|
|
21
85
|
export default class ProposalHitl {
|
|
22
86
|
#seam;
|
|
23
87
|
#emit;
|
|
@@ -26,78 +90,99 @@ export default class ProposalHitl {
|
|
|
26
90
|
this.#seam = seam;
|
|
27
91
|
this.#emit = emit;
|
|
28
92
|
}
|
|
29
|
-
// Subscribe to the event source; project each live stopped-world as a tool-call.
|
|
30
93
|
start() {
|
|
31
94
|
this.#off = this.#seam.subscribeToEvents((workspaceId, method, params) => {
|
|
32
|
-
if (
|
|
95
|
+
if (workspaceId === null)
|
|
33
96
|
return;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
97
|
+
if (method === "loop/proposal") {
|
|
98
|
+
const item = proposalItem(params);
|
|
99
|
+
if (item.kind !== "proposal" || item.projection.disposition.owner !== "client")
|
|
100
|
+
return;
|
|
101
|
+
this.#emit(workspaceId, item.workerId, render(item));
|
|
39
102
|
return;
|
|
40
|
-
|
|
103
|
+
}
|
|
104
|
+
if (method === "loop/interaction") {
|
|
105
|
+
const item = interactionItem(params);
|
|
106
|
+
this.#emit(workspaceId, item.workerId, render(item));
|
|
107
|
+
}
|
|
41
108
|
});
|
|
42
109
|
}
|
|
43
110
|
stop() {
|
|
44
111
|
this.#off?.();
|
|
45
112
|
this.#off = null;
|
|
46
113
|
}
|
|
47
|
-
|
|
48
|
-
|
|
114
|
+
async #pending(workspaceId, workerId) {
|
|
115
|
+
const [proposals, interactions] = await Promise.all([
|
|
116
|
+
this.#seam.pendingProposals(workspaceId),
|
|
117
|
+
this.#seam.pendingClientInteractions(workspaceId),
|
|
118
|
+
]);
|
|
119
|
+
return [
|
|
120
|
+
...proposals
|
|
121
|
+
.map(proposalItem)
|
|
122
|
+
.filter((item) => item.kind === "proposal" && item.projection.disposition.owner === "client"),
|
|
123
|
+
...interactions.map(interactionItem),
|
|
124
|
+
]
|
|
125
|
+
.filter((item) => workerId === undefined || item.workerId === workerId)
|
|
126
|
+
.sort(comparePending);
|
|
127
|
+
}
|
|
49
128
|
async resurface(workspaceId, workerId) {
|
|
50
|
-
|
|
51
|
-
.filter((proposal) => proposal.disposition.owner === "client")
|
|
52
|
-
.filter((proposal) => workerId === undefined || proposal.workerId === workerId);
|
|
53
|
-
return pending.flatMap((proposal) => proposalToolCall(proposal));
|
|
129
|
+
return combine(await this.#pending(workspaceId, workerId));
|
|
54
130
|
}
|
|
55
|
-
// A standard AG-UI resume Run must address every pending interrupt for its
|
|
56
|
-
// exact worker before any proposal is released.
|
|
57
131
|
async resolve(workspaceId, entries) {
|
|
58
|
-
const allPending =
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
132
|
+
const allPending = await this.#pending(workspaceId);
|
|
133
|
+
const entryKeys = entries.map(({ interruptId }) => interruptId);
|
|
134
|
+
if (new Set(entryKeys).size !== entryKeys.length) {
|
|
135
|
+
throw new InterruptInputError("interrupt-duplicate", 400, "The resume contains the same interrupt more than once.", {
|
|
136
|
+
receivedInterruptIds: entryKeys,
|
|
137
|
+
recovery: "Include each pending interrupt exactly once.",
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
const resolutions = entries.map(parseResolution);
|
|
141
|
+
if (resolutions.some((resolution) => resolution === null)) {
|
|
142
|
+
throw new InterruptInputError("interrupt-invalid", 400, "The resume contains an invalid client interrupt.", { recovery: "Resume with the interrupt IDs and response shapes supplied by the pending tool calls." });
|
|
63
143
|
}
|
|
64
144
|
const resolved = resolutions;
|
|
65
|
-
const received = new Set(resolved.map((
|
|
66
|
-
const addressed = allPending.filter((
|
|
145
|
+
const received = new Set(resolved.map(({ key }) => key));
|
|
146
|
+
const addressed = allPending.filter(({ key }) => received.has(key));
|
|
67
147
|
if (addressed.length !== received.size) {
|
|
68
|
-
throw new
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
recovery: "Refresh pending
|
|
148
|
+
throw new InterruptInputError("interrupt-not-pending", 409, "The resume addresses an interrupt that is not pending.", {
|
|
149
|
+
receivedInterruptIds: [...received],
|
|
150
|
+
pendingInterruptIds: allPending.map(({ key }) => key),
|
|
151
|
+
recovery: "Refresh pending interrupts before resuming.",
|
|
72
152
|
});
|
|
73
153
|
}
|
|
74
|
-
const workerIds = new Set(addressed.map((
|
|
154
|
+
const workerIds = new Set(addressed.map(({ workerId }) => workerId));
|
|
75
155
|
if (workerIds.size !== 1) {
|
|
76
|
-
throw new
|
|
156
|
+
throw new InterruptInputError("worker-scope-invalid", 400, "One resume must address interrupts for exactly one worker.", {
|
|
77
157
|
workerIds: [...workerIds],
|
|
78
158
|
recovery: "Resume each worker separately.",
|
|
79
159
|
});
|
|
80
160
|
}
|
|
81
161
|
const workerId = [...workerIds][0];
|
|
82
|
-
const pending = allPending.filter((
|
|
83
|
-
const expected = new Set(pending.map((
|
|
84
|
-
if (expected.size !== received.size || [...expected].some((
|
|
85
|
-
throw new
|
|
162
|
+
const pending = allPending.filter((item) => item.workerId === workerId);
|
|
163
|
+
const expected = new Set(pending.map(({ key }) => key));
|
|
164
|
+
if (expected.size !== received.size || [...expected].some((key) => !received.has(key))) {
|
|
165
|
+
throw new InterruptInputError("interrupt-set-incomplete", 409, `The resume does not address every pending interrupt for worker ${workerId}.`, {
|
|
86
166
|
workerId,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
recovery: "Resolve every pending
|
|
167
|
+
receivedInterruptIds: [...received],
|
|
168
|
+
pendingInterruptIds: [...expected],
|
|
169
|
+
recovery: "Resolve every pending interrupt for this worker in one resume.",
|
|
90
170
|
});
|
|
91
171
|
}
|
|
92
|
-
const loopIds = new Set(pending.map((
|
|
93
|
-
if (loopIds.size !== 1)
|
|
172
|
+
const loopIds = new Set(pending.map(({ loopId }) => loopId));
|
|
173
|
+
if (loopIds.size !== 1) {
|
|
94
174
|
throw new Error(`worker ${workerId} has pending interrupts across multiple loops`);
|
|
95
|
-
for (const res of resolved) {
|
|
96
|
-
this.#seam.resolveProposal(res.logEntryId, {
|
|
97
|
-
decision: res.decision,
|
|
98
|
-
...(res.body !== undefined ? { body: res.body } : {}),
|
|
99
|
-
});
|
|
100
175
|
}
|
|
176
|
+
await Promise.all(resolved.map(async (resolution) => {
|
|
177
|
+
if (resolution.kind === "proposal") {
|
|
178
|
+
this.#seam.resolveProposal(resolution.id, {
|
|
179
|
+
decision: resolution.decision,
|
|
180
|
+
...(resolution.body !== undefined ? { body: resolution.body } : {}),
|
|
181
|
+
});
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
await this.#seam.resolveClientInteraction(resolution.id, resolution.resolution);
|
|
185
|
+
}));
|
|
101
186
|
return { loopId: [...loopIds][0], workerId };
|
|
102
187
|
}
|
|
103
188
|
}
|
package/dist/ProposalHitl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProposalHitl.js","sourceRoot":"","sources":["../src/ProposalHitl.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"ProposalHitl.js","sourceRoot":"","sources":["../src/ProposalHitl.ts"],"names":[],"mappings":"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"}
|
package/dist/Translator.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
// log/entry (plurnk) → CUSTOM plurnk.ambient (foists, deltas, narrations — the
|
|
11
11
|
// environment speaking; generic UIs skip, rich UIs render)
|
|
12
12
|
// turn_id changes → STEP_FINISHED/STEP_STARTED
|
|
13
|
-
// loop/proposal
|
|
13
|
+
// loop/proposal|interaction → owned by ProposalHitl (tool call + AG-UI interrupt)
|
|
14
14
|
// loop/terminated → STATE_DELTA (budget truth) + RUN_FINISHED or RUN_ERROR
|
|
15
15
|
// Numbers are passed through verbatim, never recomputed — the daemon's gauge is the gauge
|
|
16
16
|
// ({§agui-numbers-passthrough}).
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { default as Module } from "./Module.ts";
|
|
2
2
|
export type { ModuleOptions, ModuleRegistration } from "./Module.ts";
|
|
3
|
-
export type { DaemonSeam, ClientEnvelope, PendingProposal, ProposalResolution, PlurnkStatement, LogEntryWire } from "./DaemonSeam.ts";
|
|
3
|
+
export type { DaemonSeam, ClientEnvelope, PendingProposal, PendingClientInteraction, ProposalResolution, PlurnkStatement, LogEntryWire } from "./DaemonSeam.ts";
|
|
4
4
|
export { default as Portal } from "./Portal.ts";
|
|
5
5
|
export { default as EventRouter } from "./EventRouter.ts";
|
|
6
6
|
export { default as ProposalHitl } from "./ProposalHitl.ts";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACrE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACrE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAChK,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,mBAAmB,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-agui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "AG-UI HTTP and SSE interface for the PLURNK daemon",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -65,6 +65,6 @@
|
|
|
65
65
|
"dependencies": {
|
|
66
66
|
"@ag-ui/core": "^0.0.58",
|
|
67
67
|
"@opentelemetry/api": "^1.9.1",
|
|
68
|
-
"@plurnk/plurnk-contracts": "1.
|
|
68
|
+
"@plurnk/plurnk-contracts": "1.7.0"
|
|
69
69
|
}
|
|
70
70
|
}
|