@plurnk/plurnk-agui 1.17.0 → 1.19.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/.env.defaults +9 -2
- package/README.md +2 -1
- package/SPEC.md +127 -54
- package/dist/AguiPlus.d.ts +0 -3
- package/dist/AguiPlus.d.ts.map +1 -1
- package/dist/AguiPlus.js +0 -3
- package/dist/AguiPlus.js.map +1 -1
- package/dist/AguiSurface.d.ts +0 -1
- package/dist/AguiSurface.d.ts.map +1 -1
- package/dist/AguiSurface.js +1 -8
- package/dist/AguiSurface.js.map +1 -1
- package/dist/BuiltinActions.d.ts +2 -1
- package/dist/BuiltinActions.d.ts.map +1 -1
- package/dist/BuiltinActions.js +24 -8
- package/dist/BuiltinActions.js.map +1 -1
- package/dist/EventRouter.js +2 -2
- package/dist/EventRouter.js.map +1 -1
- package/dist/MessageAddress.d.ts +9 -0
- package/dist/MessageAddress.d.ts.map +1 -0
- package/dist/MessageAddress.js +25 -0
- package/dist/MessageAddress.js.map +1 -0
- package/dist/Module.d.ts +10 -0
- package/dist/Module.d.ts.map +1 -1
- package/dist/Module.js +92 -33
- package/dist/Module.js.map +1 -1
- package/dist/Portal.d.ts +2 -11
- package/dist/Portal.d.ts.map +1 -1
- package/dist/Portal.js +41 -27
- package/dist/Portal.js.map +1 -1
- package/dist/RunHandler.d.ts +1 -1
- package/dist/RunHandler.d.ts.map +1 -1
- package/dist/RunHandler.js +14 -16
- package/dist/RunHandler.js.map +1 -1
- package/dist/Translator.d.ts +1 -1
- package/dist/Translator.d.ts.map +1 -1
- package/dist/Translator.js +56 -107
- package/dist/Translator.js.map +1 -1
- package/dist/action-results.d.ts +0 -1
- package/dist/action-results.d.ts.map +1 -1
- package/dist/action-results.js +1 -26
- package/dist/action-results.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +10 -1
- package/dist/config.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -6
package/dist/BuiltinActions.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// The AG-UI built-in actions: the management-plane calls a client makes by name. Split out of the module.
|
|
2
2
|
import {} from "./AguiPlus.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { PlurnkParser } from "@plurnk/plurnk-parser";
|
|
4
|
+
import { Problems, UNKNOWN_POSITION, Validator } from "@plurnk/plurnk-contracts";
|
|
5
|
+
import { actionFailure } from "./action-results.js";
|
|
6
|
+
import MessageAddress from "./MessageAddress.js";
|
|
5
7
|
const operationOutcome = (result) => {
|
|
6
8
|
const exact = Validator.assertOperationResult(result);
|
|
7
9
|
return exact.problem === undefined
|
|
@@ -33,7 +35,7 @@ export default class BuiltinActions {
|
|
|
33
35
|
// The built-in implementation half of the declarative registry. The registry
|
|
34
36
|
// owns membership, scope, admission, projection, and discovery; this dispatch
|
|
35
37
|
// owns only the corresponding daemon operation.
|
|
36
|
-
async executeBuiltin(kind, p, env, conversationWorkerId) {
|
|
38
|
+
async executeBuiltin(kind, p, input, env, conversationWorkerId) {
|
|
37
39
|
try {
|
|
38
40
|
// Worldless actions never bind or forge a workspace.
|
|
39
41
|
switch (kind) {
|
|
@@ -106,10 +108,15 @@ export default class BuiltinActions {
|
|
|
106
108
|
if (typeof p.prompt !== "string" || p.prompt.length === 0) {
|
|
107
109
|
return actionFailure("invalid-action-parameters", "loop.inject requires a non-empty prompt.", 400, { field: "prompt", recovery: "Provide the prompt to inject." });
|
|
108
110
|
}
|
|
109
|
-
const ack = await this.#seam().runLoop({
|
|
111
|
+
const ack = await this.#seam().runLoop({
|
|
112
|
+
workspaceId: world.workspaceId,
|
|
113
|
+
workerId: conversationWorkerId ?? await this.#seam().ensureModelWorker(world.workspaceId),
|
|
114
|
+
prompt: p.prompt,
|
|
115
|
+
...MessageAddress.submission(input, { id: crypto.randomUUID(), role: "user", content: p.prompt }),
|
|
116
|
+
});
|
|
110
117
|
return operationOutcome(ack);
|
|
111
118
|
}
|
|
112
|
-
// The stop
|
|
119
|
+
// The stop control (TUI /stop + Ctrl-C): abort the model
|
|
113
120
|
// worker's active drain. Mirrors the SSE-hangup abort, addressable as a verb.
|
|
114
121
|
case "loop.cancel": return { ok: true, result: { cancelled: this.#seam().cancelDrain(conversationWorkerId ?? await this.#seam().ensureModelWorker(world.workspaceId), typeof p.reason === "string" ? p.reason : undefined) } };
|
|
115
122
|
case "workspace.prompts": return {
|
|
@@ -144,13 +151,13 @@ export default class BuiltinActions {
|
|
|
144
151
|
return operationOutcome(result);
|
|
145
152
|
}
|
|
146
153
|
case "op.exec": {
|
|
147
|
-
//
|
|
154
|
+
// An execution constructed structurally (no DSL text): the model-facing shape,
|
|
148
155
|
// proposal-gated by the engine like any client op.
|
|
149
156
|
if (typeof p.command !== "string" || p.command.length === 0) {
|
|
150
157
|
return actionFailure("invalid-action-parameters", "op.exec requires a non-empty command.", 400, { field: "command", recovery: "Provide the command to execute." });
|
|
151
158
|
}
|
|
152
159
|
const statement = {
|
|
153
|
-
|
|
160
|
+
runtime: "sh", aside: null, target: null,
|
|
154
161
|
metadata: null, lineMarker: null, body: p.command, position: UNKNOWN_POSITION,
|
|
155
162
|
};
|
|
156
163
|
// Client ops journal as client-origin turns in the client worker (worker split:
|
|
@@ -245,14 +252,23 @@ export default class BuiltinActions {
|
|
|
245
252
|
if (item.statement.op !== "LOOK") {
|
|
246
253
|
return actionFailure("invalid-action-parameters", `op.look parsed ${item.statement.op}; the single statement must be LOOK.`, 400, { field: "text", recovery: "Use LOOK as the observation operation." });
|
|
247
254
|
}
|
|
255
|
+
if (Object.hasOwn(p, "workerId")
|
|
256
|
+
&& (typeof p.workerId !== "number" || !Number.isSafeInteger(p.workerId) || p.workerId <= 0)) {
|
|
257
|
+
return actionFailure("invalid-action-parameters", "op.look workerId must be a positive integer.", 400, { field: "workerId", recovery: "Use a workerId from workspace.workers." });
|
|
258
|
+
}
|
|
248
259
|
// LOOK is the client's observation with a matcher body; on the seam it is a READ whose
|
|
249
260
|
// heading pattern is that matcher ({§read-pattern}): the matching lines, no log row.
|
|
261
|
+
// Local log coordinates resolve as the conversation worker; explicit resource authorities
|
|
262
|
+
// keep their identity. The observation segment stays on the connection's own worker ({§op-look}).
|
|
250
263
|
const { body: matcher, ...look } = item.statement;
|
|
251
264
|
const statement = { ...look, op: "READ", matcher, body: null };
|
|
252
265
|
return operationOutcome(await this.#seam().look({
|
|
253
266
|
workspaceId: world.workspaceId,
|
|
254
267
|
workerId: world.workerId,
|
|
255
268
|
statement,
|
|
269
|
+
perspectiveWorkerId: typeof p.workerId === "number"
|
|
270
|
+
? p.workerId
|
|
271
|
+
: conversationWorkerId ?? await this.#seam().ensureModelWorker(world.workspaceId),
|
|
256
272
|
}));
|
|
257
273
|
}
|
|
258
274
|
case "run.fork": return { ok: true, result: await this.#seam().forkWorker({ workspaceId: world.workspaceId, workerId: conversationWorkerId ?? await this.#seam().ensureModelWorker(world.workspaceId), ...(typeof p.name === "string" ? { name: p.name } : {}) }) };
|
|
@@ -315,7 +331,7 @@ export default class BuiltinActions {
|
|
|
315
331
|
}
|
|
316
332
|
}
|
|
317
333
|
catch (err) {
|
|
318
|
-
const problem =
|
|
334
|
+
const problem = Problems.fromError(err);
|
|
319
335
|
if (problem !== null)
|
|
320
336
|
return { ok: false, problem };
|
|
321
337
|
console.error(`AG-UI action '${kind}' failed:`, err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuiltinActions.js","sourceRoot":"","sources":["../src/BuiltinActions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BuiltinActions.js","sourceRoot":"","sources":["../src/BuiltinActions.ts"],"names":[],"mappings":"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"}
|
package/dist/EventRouter.js
CHANGED
|
@@ -40,7 +40,7 @@ class EventRouter {
|
|
|
40
40
|
// Family channel (rich, full payload) AND the standard ACTIVITY channel (§475):
|
|
41
41
|
// an exec/search stream is 'in-progress activity between chat messages'. A
|
|
42
42
|
// replace-snapshot per event is the stateless conformant form — each carries the
|
|
43
|
-
// full current view; activityType is the stream's scheme (SEARCH/
|
|
43
|
+
// full current view; activityType is the stream's scheme (SEARCH/SH/…).
|
|
44
44
|
{ type: EventType.CUSTOM, name: "plurnk.stream", value: params },
|
|
45
45
|
_a.#activity(params),
|
|
46
46
|
];
|
|
@@ -52,7 +52,7 @@ class EventRouter {
|
|
|
52
52
|
}
|
|
53
53
|
// A stream event → the standard ACTIVITY snapshot. messageId = the stream's entry id
|
|
54
54
|
// (so a frontend keys deltas/updates to one activity); activityType = the scheme,
|
|
55
|
-
// uppercased (SEARCH,
|
|
55
|
+
// uppercased (SEARCH, SH, …), the protocol's discriminator; content = the full
|
|
56
56
|
// payload; replace = true (each is the complete current view — stateless, conformant).
|
|
57
57
|
static #activity(params) {
|
|
58
58
|
const p = (params ?? {});
|
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,EAAE,EAA+B,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAA6H,MAAM,YAAY,CAAC;AAElK,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAiC,MAAM,kBAAkB,CAAC;AAErF,MAAM,aAAa,GAAuD,kBAAkB,CAAC;AAE7F,MAAqB,WAAW;IAC5B,EAAE,CAAa;IAEf,YAAY,IAA4I;QACpJ,IAAI,CAAC,EAAE,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,UAAU,CAAC,KAAiB,IAAiB,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,CAAC,OAAuC,EAAE,WAAyB,IAAiB,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACxI,SAAS,KAAoE,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC1G,MAAM,KAAkB,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAElD,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,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,SAAS,CAAC,wBAAwB,CAAC,GAAG,MAAM,eAAe,EAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACjG,CAAC;QACD,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,aAAa,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAA+B,CAAC,CAAC;YAC3E,KAAK,cAAc,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAE,MAA+B,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;YAC9F,KAAK,iBAAiB,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAoC,CAAC,CAAC;YACvF,KAAK,cAAc,CAAC;YACpB,KAAK,kBAAkB,EAAE,OAAO;gBAC5B,gFAAgF;gBAChF,2EAA2E;gBAC3E,iFAAiF;gBACjF,
|
|
1
|
+
{"version":3,"file":"EventRouter.js","sourceRoot":"","sources":["../src/EventRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ApplicationPort } from "@plurnk/plurnk-contracts";
|
|
2
|
+
import type { RunAgentInput, UserMessage } from "./types.ts";
|
|
3
|
+
/** {§agui-run-source}: message identity belongs to the conversation, not its transport run. */
|
|
4
|
+
export default class MessageAddress {
|
|
5
|
+
static submission({ threadId, runId }: Pick<RunAgentInput, "threadId" | "runId">, message: UserMessage): Pick<Parameters<ApplicationPort["runLoop"]>[0], "source" | "messageAddress" | "envelope">;
|
|
6
|
+
static render(threadId: string, messageId: string): string;
|
|
7
|
+
static messageId(address: unknown, threadId: string): string | null;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=MessageAddress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageAddress.d.ts","sourceRoot":"","sources":["../src/MessageAddress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE7D,+FAA+F;AAC/F,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,MAAM,CAAC,UAAU,CACb,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,OAAO,CAAC,EAC9D,OAAO,EAAE,WAAW,GACrB,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,gBAAgB,GAAG,UAAU,CAAC,CAG3F;IAED,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEzD;IAED,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMlE;CACJ"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** {§agui-run-source}: message identity belongs to the conversation, not its transport run. */
|
|
2
|
+
export default class MessageAddress {
|
|
3
|
+
static submission({ threadId, runId }, message) {
|
|
4
|
+
const address = MessageAddress.render(threadId, message.id);
|
|
5
|
+
return { source: address, messageAddress: address, envelope: { threadId, runId, message } };
|
|
6
|
+
}
|
|
7
|
+
static render(threadId, messageId) {
|
|
8
|
+
return `agui://anonymous/threads/${encodeURIComponent(threadId)}/messages/${encodeURIComponent(messageId)}`;
|
|
9
|
+
}
|
|
10
|
+
static messageId(address, threadId) {
|
|
11
|
+
const prefix = MessageAddress.render(threadId, "");
|
|
12
|
+
if (typeof address !== "string" || !address.startsWith(prefix))
|
|
13
|
+
return null;
|
|
14
|
+
const component = address.slice(prefix.length);
|
|
15
|
+
if (component.length === 0 || component.includes("/"))
|
|
16
|
+
return null;
|
|
17
|
+
try {
|
|
18
|
+
return decodeURIComponent(component);
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=MessageAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageAddress.js","sourceRoot":"","sources":["../src/MessageAddress.ts"],"names":[],"mappings":"AAGA,+FAA+F;AAC/F,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,MAAM,CAAC,UAAU,CACb,EAAE,QAAQ,EAAE,KAAK,EAA6C,EAC9D,OAAoB;QAEpB,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;IAChG,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,QAAgB,EAAE,SAAiB;QAC7C,OAAO,4BAA4B,kBAAkB,CAAC,QAAQ,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;IAChH,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,OAAgB,EAAE,QAAgB;QAC/C,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACnE,IAAI,CAAC;YAAC,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IACxE,CAAC;CACJ"}
|
package/dist/Module.d.ts
CHANGED
|
@@ -2,12 +2,22 @@ import { type ApplicationPort } from "@plurnk/plurnk-contracts";
|
|
|
2
2
|
import { type ModuleOptions } from "./config.ts";
|
|
3
3
|
export type { ModuleOptions } from "./config.ts";
|
|
4
4
|
export interface ModuleRegistration {
|
|
5
|
+
setup(seam: {
|
|
6
|
+
registerScheme(name: string, handler: object): Promise<void>;
|
|
7
|
+
}): Promise<void>;
|
|
5
8
|
start(seam: ApplicationPort): Promise<Module>;
|
|
6
9
|
}
|
|
7
10
|
export default class Module {
|
|
8
11
|
#private;
|
|
9
12
|
private constructor();
|
|
13
|
+
static create(opts: ModuleOptions): Module;
|
|
10
14
|
static init(opts: ModuleOptions): ModuleRegistration;
|
|
15
|
+
static setup(seam: {
|
|
16
|
+
registerScheme(name: string, handler: object): Promise<void>;
|
|
17
|
+
}): Promise<void>;
|
|
18
|
+
setup(seam: {
|
|
19
|
+
registerScheme(name: string, handler: object): Promise<void>;
|
|
20
|
+
}): Promise<void>;
|
|
11
21
|
static bind(opts: ModuleOptions): Promise<Module>;
|
|
12
22
|
listen(): Promise<{
|
|
13
23
|
host: string;
|
package/dist/Module.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"AAmBA,OAAO,
|
|
1
|
+
{"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"AAmBA,OAAO,EAA6D,KAAK,eAAe,EAA4C,MAAM,0BAA0B,CAAC;AAErK,OAAO,EAAwB,KAAK,aAAa,EAA8B,MAAM,aAAa,CAAC;AAOnG,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IAC/B,KAAK,CAAC,IAAI,EAAE;QAAE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7F,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACjD;AAoBD,MAAM,CAAC,OAAO,OAAO,MAAM;;IAiBvB,OAAO,eAGN;IAID,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAEzC;IAyDD,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,kBAAkB,CAYnD;IAED,OAAa,KAAK,CAAC,IAAI,EAAE;QAAE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAExG;IAEK,KAAK,CAAC,IAAI,EAAE;QAAE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjG;IAMD,OAAa,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAKtD;IAEK,MAAM,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAqBtD;IAEK,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBlD;IAED,OAAO,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAKxC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAU3B;CAyRJ"}
|
package/dist/Module.js
CHANGED
|
@@ -17,13 +17,14 @@ import Portal from "./Portal.js";
|
|
|
17
17
|
import { aliveChildren, derivationActivity, statusState, actionResult } from "./AguiPlus.js";
|
|
18
18
|
import { EventType } from "./types.js";
|
|
19
19
|
import { aguiRouteTemplate, observed } from "./observe.js";
|
|
20
|
-
import { Validator } from "@plurnk/plurnk-contracts";
|
|
20
|
+
import { Problems, Validator, selectWorkerLoop } from "@plurnk/plurnk-contracts";
|
|
21
21
|
import { AGUI_BUILTIN_ACTIONS, AGUI_NOTIFICATIONS } from "./AguiSurface.js";
|
|
22
22
|
import { resolveModuleOptions } from "./config.js";
|
|
23
|
-
import { HttpProblemError, actionFailure
|
|
23
|
+
import { HttpProblemError, actionFailure } from "./action-results.js";
|
|
24
24
|
import BuiltinActions from "./BuiltinActions.js";
|
|
25
25
|
import { httpProblem, runErrorEvents } from "./run-events.js";
|
|
26
26
|
import RunHandler from "./RunHandler.js";
|
|
27
|
+
import { MessageScheme } from "@plurnk/plurnk-schemes";
|
|
27
28
|
const writeHttpProblem = (res, problem) => {
|
|
28
29
|
res.writeHead(problem.status, { "content-type": "application/problem+json" });
|
|
29
30
|
res.end(JSON.stringify(problem));
|
|
@@ -32,9 +33,12 @@ class Module {
|
|
|
32
33
|
#seam;
|
|
33
34
|
#opts;
|
|
34
35
|
#portal;
|
|
36
|
+
// {§http-host} — null under the daemon, which carries this module on its one listener; a
|
|
37
|
+
// private socket exists only for standalone hosting through bind().
|
|
35
38
|
#http;
|
|
36
|
-
#threadEnvelopes = new Map();
|
|
37
|
-
#threadWorkers = new Map();
|
|
39
|
+
#threadEnvelopes = new Map();
|
|
40
|
+
#threadWorkers = new Map();
|
|
41
|
+
#workspaceAcquisitions = new Map();
|
|
38
42
|
#actions = new Map();
|
|
39
43
|
#listening = false;
|
|
40
44
|
#activated = false;
|
|
@@ -43,13 +47,18 @@ class Module {
|
|
|
43
47
|
#closing = null;
|
|
44
48
|
constructor(opts) {
|
|
45
49
|
this.#opts = resolveModuleOptions(opts);
|
|
46
|
-
this.#http =
|
|
50
|
+
this.#http = null;
|
|
51
|
+
}
|
|
52
|
+
// {§http-host} — daemon composition: no socket of its own; start() mounts the module on
|
|
53
|
+
// the daemon's listener.
|
|
54
|
+
static create(opts) {
|
|
55
|
+
return new _a(opts);
|
|
47
56
|
}
|
|
48
57
|
#registerActions() {
|
|
49
58
|
for (const [name, contract] of Object.entries(AGUI_BUILTIN_ACTIONS)) {
|
|
50
59
|
this.#actions.set(name, {
|
|
51
60
|
...contract,
|
|
52
|
-
execute: (params, env, conversationWorkerId) => this.#builtins.executeBuiltin(name, params, env, conversationWorkerId),
|
|
61
|
+
execute: (params, input, env, conversationWorkerId) => this.#builtins.executeBuiltin(name, params, input, env, conversationWorkerId),
|
|
53
62
|
});
|
|
54
63
|
}
|
|
55
64
|
for (const descriptor of this.#seam.listModuleActions()) {
|
|
@@ -63,7 +72,7 @@ class Module {
|
|
|
63
72
|
scope,
|
|
64
73
|
inputSchema,
|
|
65
74
|
outputSchema,
|
|
66
|
-
execute: async (params, env, conversationWorkerId) => {
|
|
75
|
+
execute: async (params, _input, env, conversationWorkerId) => {
|
|
67
76
|
if (scope === "worldless") {
|
|
68
77
|
return {
|
|
69
78
|
ok: true,
|
|
@@ -99,6 +108,7 @@ class Module {
|
|
|
99
108
|
}
|
|
100
109
|
static init(opts) {
|
|
101
110
|
return {
|
|
111
|
+
setup: _a.setup,
|
|
102
112
|
start: async (seam) => {
|
|
103
113
|
const module = await _a.bind(opts);
|
|
104
114
|
try {
|
|
@@ -111,41 +121,59 @@ class Module {
|
|
|
111
121
|
},
|
|
112
122
|
};
|
|
113
123
|
}
|
|
124
|
+
static async setup(seam) {
|
|
125
|
+
await seam.registerScheme("agui", new MessageScheme("agui"));
|
|
126
|
+
}
|
|
127
|
+
async setup(seam) {
|
|
128
|
+
await _a.setup(seam);
|
|
129
|
+
}
|
|
114
130
|
// {§agui-listener-admission} Bind the process's client identity without
|
|
115
131
|
// admitting any durable state. Until start() installs the ApplicationPort,
|
|
116
132
|
// requests receive a transient 503 and cannot enter Core.
|
|
133
|
+
// Standalone hosting (tests, embedding without a daemon): a private socket the module owns.
|
|
117
134
|
static async bind(opts) {
|
|
118
135
|
const module = new _a(opts);
|
|
136
|
+
module.#http = createServer((req, res) => { void module.#route(req, res); });
|
|
119
137
|
await module.listen();
|
|
120
138
|
return module;
|
|
121
139
|
}
|
|
122
140
|
async listen() {
|
|
123
141
|
if (this.#listening)
|
|
124
142
|
throw new Error("plurnk-agui: listener already bound");
|
|
143
|
+
const http = this.#http;
|
|
144
|
+
if (http === null)
|
|
145
|
+
throw new Error("plurnk-agui: create() owns no socket; the daemon's listener carries this module");
|
|
125
146
|
await new Promise((resolve, reject) => {
|
|
126
147
|
const onError = (cause) => {
|
|
127
|
-
|
|
148
|
+
http.off("listening", onListening);
|
|
128
149
|
reject(cause);
|
|
129
150
|
};
|
|
130
151
|
const onListening = () => {
|
|
131
|
-
|
|
152
|
+
http.off("error", onError);
|
|
132
153
|
resolve();
|
|
133
154
|
};
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
155
|
+
http.once("error", onError);
|
|
156
|
+
http.once("listening", onListening);
|
|
157
|
+
http.listen(this.#opts.port, this.#opts.host);
|
|
137
158
|
});
|
|
138
159
|
this.#listening = true;
|
|
139
|
-
const addr =
|
|
160
|
+
const addr = http.address();
|
|
140
161
|
if (addr === null || typeof addr === "string")
|
|
141
162
|
throw new Error("plurnk-agui: listener bound no TCP address");
|
|
142
163
|
return { host: this.#opts.host, port: addr.port };
|
|
143
164
|
}
|
|
144
165
|
async start(seam) {
|
|
145
|
-
if (!this.#listening)
|
|
146
|
-
throw new Error("plurnk-agui: listener must be bound before activation");
|
|
147
166
|
if (this.#activated)
|
|
148
167
|
throw new Error("plurnk-agui: module already activated");
|
|
168
|
+
if (this.#http === null) {
|
|
169
|
+
// {§http-host} — mount as the root: every request nothing more specific claims is
|
|
170
|
+
// AG-UI's, exactly as when it owned the socket, so unknown paths keep their refusals.
|
|
171
|
+
seam.registerHttpRoute("/", (req, res) => this.#route(req, res));
|
|
172
|
+
seam.registerHttpRoute("/agui", (req, res) => this.#route(req, res));
|
|
173
|
+
}
|
|
174
|
+
else if (!this.#listening) {
|
|
175
|
+
throw new Error("plurnk-agui: a privately bound listener must be bound before activation");
|
|
176
|
+
}
|
|
149
177
|
this.#seam = seam;
|
|
150
178
|
this.#registerActions();
|
|
151
179
|
this.#portal = new Portal(seam);
|
|
@@ -154,6 +182,8 @@ class Module {
|
|
|
154
182
|
return this;
|
|
155
183
|
}
|
|
156
184
|
address() {
|
|
185
|
+
if (this.#http === null)
|
|
186
|
+
throw new Error("plurnk-agui: no private listener; the daemon's httpAddress() is the address");
|
|
157
187
|
const addr = this.#http.address();
|
|
158
188
|
if (addr === null || typeof addr === "string")
|
|
159
189
|
throw new Error("plurnk-agui: not listening");
|
|
@@ -164,9 +194,10 @@ class Module {
|
|
|
164
194
|
this.#activated = false;
|
|
165
195
|
this.#portal.stop();
|
|
166
196
|
}
|
|
167
|
-
|
|
197
|
+
const http = this.#http;
|
|
198
|
+
if (!this.#listening || http === null)
|
|
168
199
|
return;
|
|
169
|
-
this.#closing ??= new Promise((resolve, reject) =>
|
|
200
|
+
this.#closing ??= new Promise((resolve, reject) => http.close((e) => (e ? reject(e) : resolve())));
|
|
170
201
|
await this.#closing;
|
|
171
202
|
this.#listening = false;
|
|
172
203
|
}
|
|
@@ -180,8 +211,11 @@ class Module {
|
|
|
180
211
|
}
|
|
181
212
|
async #routeSettled(req, res) {
|
|
182
213
|
try {
|
|
183
|
-
|
|
184
|
-
|
|
214
|
+
// {§agui-cors} — which pages may read a reply is the panel's; none at all when it says nothing.
|
|
215
|
+
if (this.#opts.allowOrigin.length > 0) {
|
|
216
|
+
res.setHeader("access-control-allow-origin", this.#opts.allowOrigin);
|
|
217
|
+
res.setHeader("access-control-allow-headers", "content-type, authorization");
|
|
218
|
+
}
|
|
185
219
|
if (req.method === "OPTIONS") {
|
|
186
220
|
res.writeHead(204).end();
|
|
187
221
|
return;
|
|
@@ -206,7 +240,7 @@ class Module {
|
|
|
206
240
|
}));
|
|
207
241
|
}
|
|
208
242
|
catch (err) {
|
|
209
|
-
const exactProblem =
|
|
243
|
+
const exactProblem = Problems.fromError(err);
|
|
210
244
|
if (exactProblem === null) {
|
|
211
245
|
console.error("AG-UI request failed:", err);
|
|
212
246
|
}
|
|
@@ -235,7 +269,8 @@ class Module {
|
|
|
235
269
|
// violation the client must fix — never a workspace forged from the threadId.
|
|
236
270
|
// The threadId is the CONVERSATION over that world — resolved to a worker by
|
|
237
271
|
// #conversationWorker ({§agui-thread-binding}: the three doors are ensureModelWorker, forkWorker,
|
|
238
|
-
// createConversationWorker
|
|
272
|
+
// createConversationWorker; a name resolves among model-origin workers only, so a client
|
|
273
|
+
// connection's worker or the runtime actor is never a conversation).
|
|
239
274
|
async #envelope(threadId, forwarded, options = {}) {
|
|
240
275
|
const workspace = forwarded?.workspace;
|
|
241
276
|
if (typeof workspace !== "string" || workspace.length === 0) {
|
|
@@ -249,6 +284,25 @@ class Module {
|
|
|
249
284
|
const cached = this.#threadEnvelopes.get(key);
|
|
250
285
|
if (cached !== undefined)
|
|
251
286
|
return { env: cached, reattached: true };
|
|
287
|
+
const previous = this.#workspaceAcquisitions.get(workspace);
|
|
288
|
+
const acquisition = Promise.withResolvers();
|
|
289
|
+
this.#workspaceAcquisitions.set(workspace, acquisition.promise);
|
|
290
|
+
try {
|
|
291
|
+
await previous;
|
|
292
|
+
const acquired = this.#threadEnvelopes.get(key);
|
|
293
|
+
if (acquired !== undefined)
|
|
294
|
+
return { env: acquired, reattached: true };
|
|
295
|
+
const result = await this.#openWorkspace(workspace, forwarded, options);
|
|
296
|
+
this.#threadEnvelopes.set(key, result.env);
|
|
297
|
+
return result;
|
|
298
|
+
}
|
|
299
|
+
finally {
|
|
300
|
+
acquisition.resolve();
|
|
301
|
+
if (this.#workspaceAcquisitions.get(workspace) === acquisition.promise)
|
|
302
|
+
this.#workspaceAcquisitions.delete(workspace);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
async #openWorkspace(workspace, forwarded, options) {
|
|
252
306
|
const known = (await this.#seam.listWorkspaces()).find((s) => s.name === workspace);
|
|
253
307
|
let env;
|
|
254
308
|
let reattached = false;
|
|
@@ -283,7 +337,6 @@ class Module {
|
|
|
283
337
|
: {}),
|
|
284
338
|
});
|
|
285
339
|
}
|
|
286
|
-
this.#threadEnvelopes.set(key, env);
|
|
287
340
|
return { env, reattached };
|
|
288
341
|
}
|
|
289
342
|
// Resolve the thread's conversation worker within its world. Cached per
|
|
@@ -294,12 +347,18 @@ class Module {
|
|
|
294
347
|
const cached = this.#threadWorkers.get(key);
|
|
295
348
|
if (cached !== undefined)
|
|
296
349
|
return cached;
|
|
297
|
-
const
|
|
350
|
+
const pending = (async () => threadId === env.workspaceName
|
|
298
351
|
? await this.#seam.ensureModelWorker(env.workspaceId)
|
|
299
|
-
: (await this.#seam.listWorkers(env.workspaceId)).find((r) => r.name === threadId)?.id
|
|
300
|
-
?? (await this.#seam.createConversationWorker({ workspaceId: env.workspaceId, name: threadId })).workerId;
|
|
301
|
-
this.#threadWorkers.set(key,
|
|
302
|
-
|
|
352
|
+
: (await this.#seam.listWorkers(env.workspaceId)).find((r) => r.name === threadId && r.origin === "model")?.id
|
|
353
|
+
?? (await this.#seam.createConversationWorker({ workspaceId: env.workspaceId, name: threadId })).workerId)();
|
|
354
|
+
this.#threadWorkers.set(key, pending);
|
|
355
|
+
try {
|
|
356
|
+
return await pending;
|
|
357
|
+
}
|
|
358
|
+
catch (cause) {
|
|
359
|
+
this.#threadWorkers.delete(key);
|
|
360
|
+
throw cause;
|
|
361
|
+
}
|
|
303
362
|
}
|
|
304
363
|
async #workerStatus(workspaceId, workerId) {
|
|
305
364
|
const [{ model }, loops, children] = await Promise.all([
|
|
@@ -307,7 +366,7 @@ class Module {
|
|
|
307
366
|
this.#seam.listWorkerLoops({ workspaceId, workerId }),
|
|
308
367
|
this.#seam.listWorkers(workspaceId, { parentWorkerId: workerId }),
|
|
309
368
|
]);
|
|
310
|
-
return statusState(model, loops
|
|
369
|
+
return statusState(model, selectWorkerLoop(loops), derivationActivity(this.#seam.workspaceDerivationStatus(workspaceId)), aliveChildren(children));
|
|
311
370
|
}
|
|
312
371
|
// A control-plane AG-UI Run: no world bound. Open the SSE, execute the worldless verb, answer on
|
|
313
372
|
// our own stream. No Portal thread, no model worker, and no ephemeral workspace.
|
|
@@ -315,10 +374,10 @@ class Module {
|
|
|
315
374
|
res.writeHead(200, { "content-type": "text/event-stream", "cache-control": "no-cache", "connection": "keep-alive" });
|
|
316
375
|
const emit = (e) => { res.write(`data: ${JSON.stringify(e)}\n\n`); };
|
|
317
376
|
emit({ type: EventType.RUN_STARTED, threadId: input.threadId, runId: input.runId });
|
|
318
|
-
const outcome = await this.#action(action, null)
|
|
377
|
+
const outcome = await this.#action(action, input, null)
|
|
319
378
|
.catch((err) => {
|
|
320
379
|
console.error(`AG-UI action '${action.kind}' failed:`, err);
|
|
321
|
-
const problem =
|
|
380
|
+
const problem = Problems.fromError(err);
|
|
322
381
|
return problem === null
|
|
323
382
|
? actionFailure("action-failed", "The action failed unexpectedly.", 500)
|
|
324
383
|
: { ok: false, problem };
|
|
@@ -345,7 +404,7 @@ class Module {
|
|
|
345
404
|
display,
|
|
346
405
|
});
|
|
347
406
|
}
|
|
348
|
-
async #action(a, env, conversationWorkerId) {
|
|
407
|
+
async #action(a, input, env, conversationWorkerId) {
|
|
349
408
|
const action = this.#actions.get(a.kind);
|
|
350
409
|
if (action === undefined) {
|
|
351
410
|
return actionFailure("unknown-action", `Action '${a.kind}' is not registered.`, 404, {
|
|
@@ -366,7 +425,7 @@ class Module {
|
|
|
366
425
|
try {
|
|
367
426
|
if (action.scope !== "worldless")
|
|
368
427
|
_a.#requireWorkspace(a.kind, env);
|
|
369
|
-
const outcome = await action.execute(a.params, env, conversationWorkerId);
|
|
428
|
+
const outcome = await action.execute(a.params, input, env, conversationWorkerId);
|
|
370
429
|
if (!outcome.ok)
|
|
371
430
|
return outcome;
|
|
372
431
|
const projected = Validator.validateJsonSchemaInstance(action.outputSchema, outcome.result);
|
|
@@ -376,7 +435,7 @@ class Module {
|
|
|
376
435
|
return outcome;
|
|
377
436
|
}
|
|
378
437
|
catch (err) {
|
|
379
|
-
const problem =
|
|
438
|
+
const problem = Problems.fromError(err);
|
|
380
439
|
if (problem !== null)
|
|
381
440
|
return { ok: false, problem };
|
|
382
441
|
console.error(`AG-UI action '${a.kind}' failed:`, err);
|