@plurnk/plurnk-agui 3.1.0 → 4.0.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.
Files changed (74) hide show
  1. package/.env.defaults +17 -8
  2. package/README.md +33 -13
  3. package/SPEC.md +589 -268
  4. package/dist/AguiPlus.d.ts +24 -29
  5. package/dist/AguiPlus.d.ts.map +1 -1
  6. package/dist/AguiPlus.js +25 -36
  7. package/dist/AguiPlus.js.map +1 -1
  8. package/dist/AguiSurface.d.ts +1 -2
  9. package/dist/AguiSurface.d.ts.map +1 -1
  10. package/dist/AguiSurface.js +23 -16
  11. package/dist/AguiSurface.js.map +1 -1
  12. package/dist/AuthorizationDocuments.d.ts +33 -0
  13. package/dist/AuthorizationDocuments.d.ts.map +1 -0
  14. package/dist/AuthorizationDocuments.js +84 -0
  15. package/dist/AuthorizationDocuments.js.map +1 -0
  16. package/dist/BuiltinActions.d.ts +11 -5
  17. package/dist/BuiltinActions.d.ts.map +1 -1
  18. package/dist/BuiltinActions.js +73 -125
  19. package/dist/BuiltinActions.js.map +1 -1
  20. package/dist/EventRouter.d.ts +11 -3
  21. package/dist/EventRouter.d.ts.map +1 -1
  22. package/dist/EventRouter.js +17 -32
  23. package/dist/EventRouter.js.map +1 -1
  24. package/dist/MessageAddress.d.ts +7 -5
  25. package/dist/MessageAddress.d.ts.map +1 -1
  26. package/dist/MessageAddress.js +14 -12
  27. package/dist/MessageAddress.js.map +1 -1
  28. package/dist/Module.d.ts +5 -4
  29. package/dist/Module.d.ts.map +1 -1
  30. package/dist/Module.js +221 -82
  31. package/dist/Module.js.map +1 -1
  32. package/dist/OAuthServer.d.ts +30 -0
  33. package/dist/OAuthServer.d.ts.map +1 -0
  34. package/dist/OAuthServer.js +607 -0
  35. package/dist/OAuthServer.js.map +1 -0
  36. package/dist/Portal.d.ts +39 -9
  37. package/dist/Portal.d.ts.map +1 -1
  38. package/dist/Portal.js +414 -141
  39. package/dist/Portal.js.map +1 -1
  40. package/dist/ProposalHitl.d.ts +17 -4
  41. package/dist/ProposalHitl.d.ts.map +1 -1
  42. package/dist/ProposalHitl.js +30 -43
  43. package/dist/ProposalHitl.js.map +1 -1
  44. package/dist/RunHandler.d.ts +18 -8
  45. package/dist/RunHandler.d.ts.map +1 -1
  46. package/dist/RunHandler.js +214 -96
  47. package/dist/RunHandler.js.map +1 -1
  48. package/dist/ThreadAddress.d.ts +8 -0
  49. package/dist/ThreadAddress.d.ts.map +1 -0
  50. package/dist/ThreadAddress.js +18 -0
  51. package/dist/ThreadAddress.js.map +1 -0
  52. package/dist/Translator.d.ts +52 -2
  53. package/dist/Translator.d.ts.map +1 -1
  54. package/dist/Translator.js +390 -117
  55. package/dist/Translator.js.map +1 -1
  56. package/dist/client.d.ts +2 -0
  57. package/dist/client.d.ts.map +1 -0
  58. package/dist/client.js +2 -0
  59. package/dist/client.js.map +1 -0
  60. package/dist/config.d.ts +22 -2
  61. package/dist/config.d.ts.map +1 -1
  62. package/dist/config.js +65 -13
  63. package/dist/config.js.map +1 -1
  64. package/dist/index.d.ts +1 -0
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +2 -0
  67. package/dist/index.js.map +1 -1
  68. package/dist/run-events.d.ts +1 -0
  69. package/dist/run-events.d.ts.map +1 -1
  70. package/dist/run-events.js +4 -2
  71. package/dist/run-events.js.map +1 -1
  72. package/dist/types.d.ts +4 -22
  73. package/dist/types.d.ts.map +1 -1
  74. package/package.json +12 -8
@@ -1,18 +1,24 @@
1
1
  import { type ActionOutcome } from "./AguiPlus.ts";
2
- import { type AguiDiscovery, type ApplicationPort, type ClientEnvelope } from "@plurnk/plurnk-contracts";
2
+ import { type AguiDiscovery, type ClientEnvelope } from "@plurnk/plurnk-contracts";
3
+ import type { ApplicationPort } from "@plurnk/plurnk-contracts/port";
3
4
  import type { RunAgentInput } from "./types.ts";
4
- export type BuiltinActionsPort = Pick<ApplicationPort, "attachWorkspace" | "cancelDrain" | "createWorkspace" | "dispatchClientAction" | "ensureModelWorker" | "executorJsonBodyTags" | "executorTags" | "forkWorker" | "listModels" | "listPrompts" | "listProviders" | "listWorkers" | "listWorkspaces" | "look" | "readEntry" | "readLog" | "readWorkerEffort" | "readWorkerModel" | "readWorkspaceCapabilities" | "renameWorkspace" | "rollback" | "runLoop" | "setWorkerEffort" | "setWorkerModel" | "setWorkerSpawnModel" | "setWorkspaceCapabilities" | "shareWorkspace">;
5
+ export type OperationLoopListener = (loop: {
6
+ readonly workerId: number;
7
+ readonly loopId: number;
8
+ }) => void;
9
+ export type BuiltinActionsPort = Pick<ApplicationPort, "attachWorkspace" | "cancelDrain" | "createWorkspace" | "dispatchClientAction" | "executorTags" | "forkWorker" | "listModels" | "listPrompts" | "listProviders" | "listWorkers" | "listWorkspaces" | "readEntry" | "readLog" | "readWorkerEffort" | "readWorkerModel" | "readWorkspaceCapabilities" | "renameWorkspace" | "rollback" | "runLoop" | "setWorkerEffort" | "setWorkerModel" | "setWorkerSpawnModel" | "setWorkspaceCapabilities" | "shareWorkspace">;
5
10
  export default class BuiltinActions {
6
11
  #private;
7
- constructor({ seam, capabilities, envelope, requireWorkspace }: {
12
+ constructor({ seam, capabilities, namedWorkspace, threadWorker, requireWorkspace }: {
8
13
  seam: () => BuiltinActionsPort;
9
14
  capabilities: () => Promise<AguiDiscovery>;
10
- envelope: (threadId: string, forwarded?: Record<string, unknown>) => Promise<{
15
+ namedWorkspace: (name: string, options?: Readonly<Record<string, unknown>>) => Promise<{
11
16
  env: ClientEnvelope;
12
17
  reattached: boolean;
13
18
  }>;
19
+ threadWorker: (threadId: string, workspaceId: number, forwarded?: Record<string, unknown>) => Promise<number | undefined>;
14
20
  requireWorkspace: (kind: string, env: ClientEnvelope | null) => ClientEnvelope;
15
21
  });
16
- executeBuiltin(kind: string, p: Readonly<Record<string, unknown>>, input: RunAgentInput, env: ClientEnvelope | null, conversationWorkerId?: number): Promise<ActionOutcome>;
22
+ executeBuiltin(kind: string, p: Readonly<Record<string, unknown>>, input: RunAgentInput, env: ClientEnvelope | null, boundWorkerId?: number, principal?: string, onLoop?: OperationLoopListener): Promise<ActionOutcome>;
17
23
  }
18
24
  //# sourceMappingURL=BuiltinActions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BuiltinActions.d.ts","sourceRoot":"","sources":["../src/BuiltinActions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAyC,KAAK,aAAa,EAAE,KAAK,eAAe,EAAyB,KAAK,cAAc,EAAkE,MAAM,0BAA0B,CAAC;AAGvO,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAwChD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACjC,eAAe,EACb,iBAAiB,GACjB,aAAa,GACb,iBAAiB,GACjB,sBAAsB,GACtB,mBAAmB,GACnB,sBAAsB,GACtB,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,MAAM,GACN,WAAW,GACX,SAAS,GACT,kBAAkB,GAClB,iBAAiB,GACjB,2BAA2B,GAC3B,iBAAiB,GACjB,UAAU,GACV,SAAS,GACT,iBAAiB,GACjB,gBAAgB,GAChB,qBAAqB,GACrB,0BAA0B,GAC1B,gBAAgB,CACrB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,cAAc;;IAM/B,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE;QAC5D,IAAI,EAAE,MAAM,kBAAkB,CAAC;QAC/B,YAAY,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;QAC3C,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;YAAE,GAAG,EAAE,cAAc,CAAC;YAAC,UAAU,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QAC3H,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,KAAK,cAAc,CAAC;KAClF,EAKA;IAKK,cAAc,CAChB,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACpC,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,cAAc,GAAG,IAAI,EAC1B,oBAAoB,CAAC,EAAE,MAAM,GAC9B,OAAO,CAAC,aAAa,CAAC,CA2ZxB;CAEJ"}
1
+ {"version":3,"file":"BuiltinActions.d.ts","sourceRoot":"","sources":["../src/BuiltinActions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAyC,KAAK,aAAa,EAAyB,KAAK,cAAc,EAAkE,MAAM,0BAA0B,CAAC;AACjN,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,CAAC;AAwC3G,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACjC,eAAe,EACb,iBAAiB,GACjB,aAAa,GACb,iBAAiB,GACjB,sBAAsB,GACtB,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,WAAW,GACX,SAAS,GACT,kBAAkB,GAClB,iBAAiB,GACjB,2BAA2B,GAC3B,iBAAiB,GACjB,UAAU,GACV,SAAS,GACT,iBAAiB,GACjB,gBAAgB,GAChB,qBAAqB,GACrB,0BAA0B,GAC1B,gBAAgB,CACrB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,cAAc;;IAa/B,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE;QAChF,IAAI,EAAE,MAAM,kBAAkB,CAAC;QAC/B,YAAY,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;QAC3C,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,OAAO,CAAC;YAAE,GAAG,EAAE,cAAc,CAAC;YAAC,UAAU,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACrI,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QAC1H,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,KAAK,cAAc,CAAC;KAClF,EAMA;IAyBK,cAAc,CAChB,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACpC,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,cAAc,GAAG,IAAI,EAC1B,aAAa,CAAC,EAAE,MAAM,EACtB,SAAS,SAAc,EACvB,MAAM,CAAC,EAAE,qBAAqB,GAC/B,OAAO,CAAC,aAAa,CAAC,CAyTxB;CAEJ"}
@@ -22,22 +22,43 @@ const parseFailureResult = ({ detail, line, column, source, severity, }) => ({
22
22
  }),
23
23
  });
24
24
  export default class BuiltinActions {
25
+ // {§agui-action-binding} A worker action runs only after its Run bound the thread's worker.
26
+ static #bound(workerId) {
27
+ if (workerId === undefined)
28
+ throw new Error("a worker action reached execution without its worker");
29
+ return workerId;
30
+ }
25
31
  #seam;
26
32
  #capabilities;
27
- #envelope;
33
+ #namedWorkspace;
34
+ #threadWorker;
28
35
  #requireWorkspace;
29
- constructor({ seam, capabilities, envelope, requireWorkspace }) {
36
+ constructor({ seam, capabilities, namedWorkspace, threadWorker, requireWorkspace }) {
30
37
  this.#seam = seam;
31
38
  this.#capabilities = capabilities;
32
- this.#envelope = envelope;
39
+ this.#namedWorkspace = namedWorkspace;
40
+ this.#threadWorker = threadWorker;
33
41
  this.#requireWorkspace = requireWorkspace;
34
42
  }
43
+ // {§agui-client-operation} A person's client operation: the thread's owner acting, reading `log:///` in the
44
+ // thread's model worker when it exists, and announcing its loop to the Run that observes it.
45
+ async #clientOperation(input, workspace, principal, statements, onLoop) {
46
+ const forwarded = input.forwardedProps?.plurnk;
47
+ const contextWorkerId = await this.#threadWorker(input.threadId, workspace.workspaceId, forwarded);
48
+ return await this.#seam().dispatchClientAction({
49
+ workspaceId: workspace.workspaceId,
50
+ actor: MessageAddress.owner(principal, input.threadId),
51
+ ...(contextWorkerId === undefined ? {} : { contextWorkerId }),
52
+ statements,
53
+ ...(onLoop === undefined ? {} : { onLoop }),
54
+ });
55
+ }
35
56
  // The built-in implementation half of the declarative registry. The registry
36
57
  // owns membership, scope, admission, projection, and discovery; this dispatch
37
58
  // owns only the corresponding daemon operation.
38
- async executeBuiltin(kind, p, input, env, conversationWorkerId) {
59
+ async executeBuiltin(kind, p, input, env, boundWorkerId, principal = "anonymous", onLoop) {
39
60
  try {
40
- // Worldless actions never bind or forge a workspace.
61
+ // Daemon actions never bind or forge a workspace.
41
62
  switch (kind) {
42
63
  case "ping": return { ok: true, result: {} };
43
64
  case "discover": return { ok: true, result: await this.#capabilities() };
@@ -47,16 +68,13 @@ export default class BuiltinActions {
47
68
  }
48
69
  case "workspace.list": return { ok: true, result: { workspaces: await this.#seam().listWorkspaces() } };
49
70
  case "workspace.create": {
50
- // The name IS the identity: an explicit name creates/attaches EXACTLY
51
- // that workspace; no name = the daemon names it and the real name binds.
71
+ // An explicit name selects exactly that workspace; otherwise core names it.
52
72
  if (Object.hasOwn(p, "name") && (typeof p.name !== "string" || p.name.length === 0)) {
53
73
  return actionFailure("invalid-action-parameters", "workspace.create name is not a non-empty string.", 400, { field: "name", recovery: "Provide a non-empty workspace name or omit it." });
54
74
  }
55
75
  if (typeof p.name === "string") {
56
- // The name IS the world here — feed it as the workspace so #envelope
57
- // creates/attaches exactly it (p carries no `workspace` of its own).
58
- const { env: created } = await this.#envelope(p.name, { ...p, workspace: p.name });
59
- return { ok: true, result: { id: created.workspaceId, name: created.workspaceName, workerId: created.workerId } };
76
+ const { env: created } = await this.#namedWorkspace(p.name, p);
77
+ return { ok: true, result: { id: created.workspaceId, name: created.workspaceName } };
60
78
  }
61
79
  const created = await this.#seam().createWorkspace({
62
80
  ...(Object.hasOwn(p, "projectRoot")
@@ -69,29 +87,24 @@ export default class BuiltinActions {
69
87
  ? { settings: p.settings }
70
88
  : {}),
71
89
  });
72
- return { ok: true, result: { id: created.workspaceId, name: created.workspaceName, workerId: created.workerId } };
90
+ return { ok: true, result: { id: created.workspaceId, name: created.workspaceName } };
73
91
  }
74
92
  case "workspace.attach": {
75
- // A REAL attach: rebind the thread map to the chosen workspace and hand
76
- // back its envelope — the picker does what it says.
77
- if (typeof p.id !== "number") {
78
- return actionFailure("invalid-action-parameters", "workspace.attach requires a numeric workspace id.", 400, {
79
- field: "id",
80
- recovery: "Provide a workspace id returned by workspace.list.",
81
- });
82
- }
83
- const att = await this.#seam().attachWorkspace({ workspaceId: p.id, ...(typeof p.workerId === "number" ? { workerId: p.workerId } : {}) });
84
- return { ok: true, result: { id: att.workspaceId, name: att.workspaceName, workerId: att.workerId } };
93
+ // The registry admits exactly one selector; core owns its interpretation.
94
+ const att = await this.#seam().attachWorkspace(typeof p.id === "number"
95
+ ? { workspaceId: p.id }
96
+ : typeof p.name === "string" ? { name: p.name } : { projectRoot: p.projectRoot });
97
+ return { ok: true, result: { id: att.workspaceId, name: att.workspaceName } };
85
98
  }
86
99
  }
87
- const world = this.#requireWorkspace(kind, env);
100
+ const workspace = this.#requireWorkspace(kind, env);
88
101
  switch (kind) {
89
- case "workspace.workers": return { ok: true, result: { workers: await this.#seam().listWorkers(typeof p.id === "number" ? p.id : world.workspaceId) } };
102
+ case "workspace.workers": return { ok: true, result: { workers: await this.#seam().listWorkers(typeof p.id === "number" ? p.id : workspace.workspaceId) } };
90
103
  case "log.read": {
91
- // Default worker: the conversation; p.workerId pins another.
92
- const readWorkerId = typeof p.workerId === "number" ? p.workerId : conversationWorkerId ?? await this.#seam().ensureModelWorker(world.workspaceId);
104
+ // Default worker: the bound worker; p.workerId pins another.
105
+ const readWorkerId = typeof p.workerId === "number" ? p.workerId : BuiltinActions.#bound(boundWorkerId);
93
106
  const entries = await this.#seam().readLog({
94
- workspaceId: world.workspaceId,
107
+ workspaceId: workspace.workspaceId,
95
108
  workerId: readWorkerId,
96
109
  ...(Object.hasOwn(p, "limit") ? { limit: p.limit } : {}),
97
110
  ...(Object.hasOwn(p, "sinceId") ? { sinceId: p.sinceId } : {}),
@@ -108,44 +121,44 @@ export default class BuiltinActions {
108
121
  return actionFailure("invalid-action-parameters", "loop.inject requires a non-empty prompt.", 400, { field: "prompt", recovery: "Provide the prompt to inject." });
109
122
  }
110
123
  const ack = await this.#seam().runLoop({
111
- workspaceId: world.workspaceId,
112
- workerId: conversationWorkerId ?? await this.#seam().ensureModelWorker(world.workspaceId),
124
+ workspaceId: workspace.workspaceId,
125
+ workerId: BuiltinActions.#bound(boundWorkerId),
113
126
  prompt: p.prompt,
114
- ...MessageAddress.submission(input, { id: crypto.randomUUID(), role: "user", content: p.prompt }),
127
+ ...MessageAddress.submission(principal, input, { id: crypto.randomUUID(), role: "user", content: p.prompt }),
115
128
  });
116
129
  return operationOutcome(ack);
117
130
  }
118
131
  // The stop control (TUI /stop + Ctrl-C): abort the model
119
132
  // worker's active drain. Mirrors the SSE-hangup abort, addressable as a verb.
120
- 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) } };
121
- // Default worker: the conversation; p.workerId pins another — the log.read shape.
133
+ case "loop.cancel": return { ok: true, result: { cancelled: this.#seam().cancelDrain(BuiltinActions.#bound(boundWorkerId), typeof p.reason === "string" ? p.reason : undefined) } };
134
+ // Default worker: the bound worker; p.workerId pins another — the log.read shape.
122
135
  case "workspace.prompts": return {
123
136
  ok: true,
124
137
  result: {
125
- prompts: await this.#seam().listPrompts(world.workspaceId, Object.hasOwn(p, "limit") ? p.limit : undefined, typeof p.workerId === "number" ? p.workerId : conversationWorkerId ?? await this.#seam().ensureModelWorker(world.workspaceId)),
138
+ prompts: await this.#seam().listPrompts(workspace.workspaceId, Object.hasOwn(p, "limit") ? p.limit : undefined, typeof p.workerId === "number" ? p.workerId : BuiltinActions.#bound(boundWorkerId)),
126
139
  },
127
140
  };
128
- case "workspace.share": return { ok: true, result: await this.#seam().shareWorkspace({ workspaceId: world.workspaceId, folder: p.folder }) };
141
+ case "workspace.share": return { ok: true, result: await this.#seam().shareWorkspace({ workspaceId: workspace.workspaceId, folder: p.folder }) };
129
142
  case "workspace.rename": {
130
143
  if (typeof p.name !== "string" || p.name.length === 0) {
131
144
  return actionFailure("invalid-action-parameters", "workspace.rename requires a non-empty name.", 400, { field: "name", recovery: "Provide the new workspace name." });
132
145
  }
133
- return { ok: true, result: await this.#seam().renameWorkspace(world.workspaceId, p.name) };
146
+ return { ok: true, result: await this.#seam().renameWorkspace(workspace.workspaceId, p.name) };
134
147
  }
135
- // {§rollback} — the bound conversation's log, or a named worker's; the reversals are this
136
- // client's own operations in its worker.
148
+ // {§rollback} — the bound worker's log, or a named worker's; the reversals are one client
149
+ // operation of this thread's owner ({§connection-lifecycle}).
137
150
  case "workspace.rollback": {
138
151
  if (typeof p.to !== "string" || p.to.length === 0) {
139
152
  return actionFailure("invalid-action-parameters", "workspace.rollback requires a log coordinate.", 400, { field: "to", recovery: "Name the coordinate as <loop>/<turn>/<item>." });
140
153
  }
141
154
  if (Object.hasOwn(p, "workerId")
142
155
  && (typeof p.workerId !== "number" || !Number.isSafeInteger(p.workerId) || p.workerId <= 0)) {
143
- return actionFailure("invalid-action-parameters", "workspace.rollback workerId must be a positive integer.", 400, { field: "workerId", recovery: "Name a worker of this workspace, or omit it for the conversation." });
156
+ return actionFailure("invalid-action-parameters", "workspace.rollback workerId must be a positive integer.", 400, { field: "workerId", recovery: "Name a worker of this workspace, or omit it for the bound worker." });
144
157
  }
145
158
  return { ok: true, result: await this.#seam().rollback({
146
- workspaceId: world.workspaceId,
147
- workerId: typeof p.workerId === "number" ? p.workerId : conversationWorkerId ?? await this.#seam().ensureModelWorker(world.workspaceId),
148
- clientWorkerId: world.workerId,
159
+ workspaceId: workspace.workspaceId,
160
+ workerId: typeof p.workerId === "number" ? p.workerId : BuiltinActions.#bound(boundWorkerId),
161
+ actor: MessageAddress.owner(principal, input.threadId),
149
162
  to: p.to,
150
163
  }) };
151
164
  }
@@ -158,10 +171,10 @@ export default class BuiltinActions {
158
171
  return actionFailure("invalid-action-parameters", "entry.read workerId must be a positive integer.", 400, { field: "workerId", recovery: "Use the workerId supplied with the entry notification." });
159
172
  }
160
173
  const result = Validator.assertEntryReadResult(await this.#seam().readEntry({
161
- workspaceId: world.workspaceId,
174
+ workspaceId: workspace.workspaceId,
162
175
  workerId: typeof p.workerId === "number"
163
176
  ? p.workerId
164
- : conversationWorkerId ?? await this.#seam().ensureModelWorker(world.workspaceId),
177
+ : BuiltinActions.#bound(boundWorkerId),
165
178
  target: p.target,
166
179
  ...(Object.hasOwn(p, "channel") ? { channel: p.channel } : {}),
167
180
  ...(Object.hasOwn(p, "offset") ? { offset: p.offset } : {}),
@@ -169,8 +182,7 @@ export default class BuiltinActions {
169
182
  return operationOutcome(result);
170
183
  }
171
184
  case "op.exec": {
172
- // An execution constructed structurally (no DSL text): the model-facing shape,
173
- // proposal-gated by the engine like any client op.
185
+ // An execution constructed structurally (no DSL text): the model-facing shape.
174
186
  if (typeof p.command !== "string" || p.command.length === 0) {
175
187
  return actionFailure("invalid-action-parameters", "op.exec requires a non-empty command.", 400, { field: "command", recovery: "Provide the command to execute." });
176
188
  }
@@ -178,14 +190,7 @@ export default class BuiltinActions {
178
190
  runtime: "sh", aside: null, target: null,
179
191
  metadata: null, lineMarker: null, body: p.command, position: UNKNOWN_POSITION,
180
192
  };
181
- // Client ops journal as client-origin turns in the client worker (worker split:
182
- // only LOOPS live in the model worker) and execute in the attached Worker's
183
- // Functionality ({§actor-boundary-attached-functionality}).
184
- const [result] = await this.#seam().dispatchClientAction({
185
- workspaceId: world.workspaceId,
186
- workerId: world.workerId,
187
- statements: [statement],
188
- });
193
+ const [result] = await this.#clientOperation(input, workspace, principal, [statement], onLoop);
189
194
  if (result === undefined)
190
195
  throw new Error("op.exec dispatch returned no operation result");
191
196
  return operationOutcome(result);
@@ -196,7 +201,7 @@ export default class BuiltinActions {
196
201
  if (typeof p.text !== "string" || p.text.length === 0) {
197
202
  return actionFailure("invalid-action-parameters", "op.parse requires non-empty PLURNK text.", 400, { field: "text", recovery: "Provide PLURNK statements to parse." });
198
203
  }
199
- const parsed = PlurnkParser.parseClient(p.text, { executors: this.#seam().executorTags(world.workspaceId), jsonBodyExecutors: this.#seam().executorJsonBodyTags(world.workspaceId) });
204
+ const parsed = PlurnkParser.parseStatements(p.text, { executors: this.#seam().executorTags(workspace.workspaceId) });
200
205
  const results = [];
201
206
  const statements = [];
202
207
  for (const item of parsed.items) {
@@ -226,11 +231,7 @@ export default class BuiltinActions {
226
231
  }
227
232
  const dispatched = statements.length === 0
228
233
  ? []
229
- : await this.#seam().dispatchClientAction({
230
- workspaceId: world.workspaceId,
231
- workerId: world.workerId,
232
- statements,
233
- });
234
+ : await this.#clientOperation(input, workspace, principal, statements, onLoop);
234
235
  let index = 0;
235
236
  for (let i = 0; i < results.length; i++) {
236
237
  if (results[i] === null)
@@ -238,64 +239,11 @@ export default class BuiltinActions {
238
239
  }
239
240
  return { ok: true, result: { results } };
240
241
  }
241
- case "op.look": {
242
- // {§agui-op-look}
243
- if (typeof p.text !== "string" || p.text.length === 0) {
244
- return actionFailure("invalid-action-parameters", "op.look requires non-empty PLURNK text.", 400, { field: "text", recovery: "Provide one PLURNK statement to observe." });
245
- }
246
- const parsed = PlurnkParser.parseClient(p.text, { executors: this.#seam().executorTags(world.workspaceId), jsonBodyExecutors: this.#seam().executorJsonBodyTags(world.workspaceId) });
247
- // Advisories (warnings) describe a normalization; only a hard error fails the observation.
248
- const diagnostic = parsed.items.find((item) => item.kind === "error" && item.error.severity === "error");
249
- if (diagnostic !== undefined && diagnostic.kind === "error") {
250
- return operationOutcome(parseFailureResult({
251
- detail: diagnostic.error.message,
252
- line: diagnostic.error.line,
253
- column: diagnostic.error.column,
254
- source: diagnostic.error.source,
255
- severity: diagnostic.error.severity,
256
- }));
257
- }
258
- if (parsed.unparsedTail !== undefined) {
259
- return operationOutcome(parseFailureResult({
260
- detail: parsed.unparsedTail.reason,
261
- line: parsed.unparsedTail.from.line,
262
- column: parsed.unparsedTail.from.column,
263
- source: "grammar",
264
- severity: "error",
265
- }));
266
- }
267
- const statements = parsed.items.filter((item) => item.kind === "statement");
268
- if (statements.length !== 1) {
269
- return actionFailure("invalid-action-parameters", `op.look parsed ${statements.length} statements; exactly one LOOK statement is required.`, 400, { field: "text", recovery: "Provide exactly one valid LOOK statement." });
270
- }
271
- const [item] = statements;
272
- if (item.statement.op !== "LOOK") {
273
- 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." });
274
- }
275
- if (Object.hasOwn(p, "workerId")
276
- && (typeof p.workerId !== "number" || !Number.isSafeInteger(p.workerId) || p.workerId <= 0)) {
277
- return actionFailure("invalid-action-parameters", "op.look workerId must be a positive integer.", 400, { field: "workerId", recovery: "Use a workerId from workspace.workers." });
278
- }
279
- // LOOK is the client's observation with a matcher body; on the seam it is a READ whose
280
- // heading pattern is that matcher ({§read-pattern}): the matching lines, no log row.
281
- // Local log coordinates resolve as the conversation worker; explicit resource authorities
282
- // keep their identity. The observation segment stays on the connection's own worker ({§op-look}).
283
- const { body: matcher, ...look } = item.statement;
284
- const statement = { ...look, op: "READ", matcher, body: null };
285
- return operationOutcome(await this.#seam().look({
286
- workspaceId: world.workspaceId,
287
- workerId: world.workerId,
288
- statement,
289
- perspectiveWorkerId: typeof p.workerId === "number"
290
- ? p.workerId
291
- : conversationWorkerId ?? await this.#seam().ensureModelWorker(world.workspaceId),
292
- }));
293
- }
294
- 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 } : {}) }) };
242
+ case "run.fork": return { ok: true, result: await this.#seam().forkWorker({ workspaceId: workspace.workspaceId, workerId: BuiltinActions.#bound(boundWorkerId), ...(typeof p.name === "string" ? { name: p.name } : {}) }) };
295
243
  case "worker.model.get": {
296
244
  const { model, spawnModel } = await this.#seam().readWorkerModel({
297
- workspaceId: world.workspaceId,
298
- workerId: conversationWorkerId ?? await this.#seam().ensureModelWorker(world.workspaceId),
245
+ workspaceId: workspace.workspaceId,
246
+ workerId: BuiltinActions.#bound(boundWorkerId),
299
247
  });
300
248
  return { ok: true, result: { model, spawnModel } };
301
249
  }
@@ -304,8 +252,8 @@ export default class BuiltinActions {
304
252
  return actionFailure("invalid-action-parameters", "worker.model.set requires a selector.", 400, { recovery: "Provide a declared alias or provider/model route." });
305
253
  }
306
254
  return { ok: true, result: await this.#seam().setWorkerModel({
307
- workspaceId: world.workspaceId,
308
- workerId: conversationWorkerId ?? await this.#seam().ensureModelWorker(world.workspaceId),
255
+ workspaceId: workspace.workspaceId,
256
+ workerId: BuiltinActions.#bound(boundWorkerId),
309
257
  selector: p.selector,
310
258
  ...(p.effort === undefined ? {} : { effort: p.effort }),
311
259
  }) };
@@ -316,15 +264,15 @@ export default class BuiltinActions {
316
264
  return actionFailure("invalid-action-parameters", "worker.child.set requires a selector.", 400, { recovery: "Provide a declared alias or provider/model route; null means inherit." });
317
265
  }
318
266
  return { ok: true, result: await this.#seam().setWorkerSpawnModel({
319
- workspaceId: world.workspaceId,
320
- workerId: conversationWorkerId ?? await this.#seam().ensureModelWorker(world.workspaceId),
267
+ workspaceId: workspace.workspaceId,
268
+ workerId: BuiltinActions.#bound(boundWorkerId),
321
269
  selector: p.selector,
322
270
  }) };
323
271
  }
324
272
  case "worker.effort.get": {
325
273
  return { ok: true, result: await this.#seam().readWorkerEffort({
326
- workspaceId: world.workspaceId,
327
- workerId: conversationWorkerId ?? await this.#seam().ensureModelWorker(world.workspaceId),
274
+ workspaceId: workspace.workspaceId,
275
+ workerId: BuiltinActions.#bound(boundWorkerId),
328
276
  }) };
329
277
  }
330
278
  case "worker.effort.set": {
@@ -332,19 +280,19 @@ export default class BuiltinActions {
332
280
  return actionFailure("invalid-action-parameters", "worker.effort.set requires an effort.", 400, { recovery: "Provide an effort." });
333
281
  }
334
282
  return { ok: true, result: await this.#seam().setWorkerEffort({
335
- workspaceId: world.workspaceId,
336
- workerId: conversationWorkerId ?? await this.#seam().ensureModelWorker(world.workspaceId),
283
+ workspaceId: workspace.workspaceId,
284
+ workerId: BuiltinActions.#bound(boundWorkerId),
337
285
  effort: p.effort,
338
286
  }) };
339
287
  }
340
288
  case "workspace.capabilities.get": {
341
289
  return { ok: true, result: await this.#seam().readWorkspaceCapabilities({
342
- workspaceId: world.workspaceId,
290
+ workspaceId: workspace.workspaceId,
343
291
  }) };
344
292
  }
345
293
  case "workspace.capabilities.set": {
346
294
  return { ok: true, result: await this.#seam().setWorkspaceCapabilities({
347
- workspaceId: world.workspaceId,
295
+ workspaceId: workspace.workspaceId,
348
296
  policy: p.policy,
349
297
  }) };
350
298
  }
@@ -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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"}
@@ -1,22 +1,30 @@
1
- import { type TranslatorContinuation } from "./Translator.ts";
2
- import { type AguiEvent, type UserMessage } from "./types.ts";
1
+ import Translator, { type TranslatorContinuation } from "./Translator.ts";
2
+ import { type AguiEvent, type LogEntryNotification, type UserMessage } from "./types.ts";
3
3
  export default class EventRouter {
4
4
  #private;
5
5
  constructor(args: {
6
6
  threadId: string;
7
+ replyThreads?: readonly string[];
7
8
  runId: string;
8
9
  modelWorkerId?: number | null;
9
10
  workspaceId?: number | null;
10
11
  continuation?: TranslatorContinuation;
11
12
  });
12
13
  runStarted(state?: AguiEvent): AguiEvent[];
13
- replay(entries: Array<Record<string, unknown>>, currentUser?: UserMessage): AguiEvent[];
14
+ submitted(messageId: string): void;
15
+ replay(entries: Array<Record<string, unknown>>, currentUser?: UserMessage, subagents?: ReadonlyArray<{
16
+ translator: Translator;
17
+ entries: Array<Record<string, unknown>>;
18
+ }>): AguiEvent[];
14
19
  interrupt(): {
15
20
  events: AguiEvent[];
16
21
  continuation: TranslatorContinuation;
17
22
  };
23
+ gateCall(entry: LogEntryNotification["entry"]): AguiEvent[];
24
+ subagentTranslator(args: Parameters<Translator["subagentTranslator"]>[0]): Translator;
18
25
  get reasoningOpen(): boolean;
19
26
  finish(): AguiEvent[];
27
+ fail(): AguiEvent[];
20
28
  route(method: string, params: unknown): AguiEvent[];
21
29
  }
22
30
  //# sourceMappingURL=EventRouter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventRouter.d.ts","sourceRoot":"","sources":["../src/EventRouter.ts"],"names":[],"mappings":"AAOA,OAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAa,KAAK,SAAS,EAA0H,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAQjM,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,CAAC;QAAC,YAAY,CAAC,EAAE,sBAAsB,CAAA;KAAE,EAEvJ;IAED,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAsC;IAChF,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,CAAiD;IACxI,SAAS,IAAI;QAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAAC,YAAY,EAAE,sBAAsB,CAAA;KAAE,CAAgC;IAC1G,IAAI,aAAa,IAAI,OAAO,CAAkC;IAC9D,MAAM,IAAI,SAAS,EAAE,CAA6B;IAElD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,CAMlD;CAmDJ"}
1
+ {"version":3,"file":"EventRouter.d.ts","sourceRoot":"","sources":["../src/EventRouter.ts"],"names":[],"mappings":"AAOA,OAAO,UAAU,EAAE,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAa,KAAK,SAAS,EAAE,KAAK,oBAAoB,EAA+F,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAQjM,MAAM,CAAC,OAAO,OAAO,WAAW;;IAG5B,YAAY,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,CAAC,EAAE,sBAAsB,CAAA;KAAE,EAEzL;IAED,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAsC;IAChF,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAkC;IAEpE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW,EACrE,SAAS,GAAE,aAAa,CAAC;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAM,GAAG,SAAS,EAAE,CAEnH;IACD,SAAS,IAAI;QAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAAC,YAAY,EAAE,sBAAsB,CAAA;KAAE,CAAgC;IAC1G,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,SAAS,EAAE,CAAoC;IAC/F,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAA6C;IAClI,IAAI,aAAa,IAAI,OAAO,CAAkC;IAC9D,MAAM,IAAI,SAAS,EAAE,CAA6B;IAClD,IAAI,IAAI,SAAS,EAAE,CAA2B;IAE9C,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,CAMlD;CA+BJ"}
@@ -4,23 +4,29 @@
4
4
  // notices/stream → CUSTOM. Per-AG-UI-Run state (turn tracking, model-worker binding) lives in
5
5
  // the Translator. Proposals are ProposalHitl's domain (the terminate-resume tool-call),
6
6
  // so this router deliberately leaves loop/proposal to it — one owner per concern.
7
- var _a;
8
7
  import Translator, {} from "./Translator.js";
9
8
  import { EventType } from "./types.js";
10
9
  import { observedSync } from "./observe.js";
11
10
  import { Validator } from "@plurnk/plurnk-contracts";
12
11
  import { AGUI_NOTIFICATIONS } from "./AguiSurface.js";
13
12
  const notifications = AGUI_NOTIFICATIONS;
14
- class EventRouter {
13
+ export default class EventRouter {
15
14
  #t;
16
15
  constructor(args) {
17
16
  this.#t = new Translator(args);
18
17
  }
19
18
  runStarted(state) { return this.#t.runStarted(state); }
20
- replay(entries, currentUser) { return this.#t.replay(entries, currentUser); }
19
+ submitted(messageId) { this.#t.submitted(messageId); }
20
+ // {§agui-subagents} The bound Worker's rows and each observed subagent run's, as one conversation.
21
+ replay(entries, currentUser, subagents = []) {
22
+ return Translator.replayAll([{ translator: this.#t, entries }, ...subagents], currentUser);
23
+ }
21
24
  interrupt() { return this.#t.interrupt(); }
25
+ gateCall(entry) { return this.#t.gateCall(entry); }
26
+ subagentTranslator(args) { return this.#t.subagentTranslator(args); }
22
27
  get reasoningOpen() { return this.#t.reasoningOpen; }
23
28
  finish() { return this.#t.finish(); }
29
+ fail() { return this.#t.fail(); }
24
30
  route(method, params) {
25
31
  return observedSync(// {§observability-boundary} — the method name only; params stay off the span.
26
32
  "agui.event", { method }, () => this.#routeSettled(method, params));
@@ -33,47 +39,26 @@ class EventRouter {
33
39
  switch (method) {
34
40
  case "workspace/preparation": return [{
35
41
  type: EventType.STATE_DELTA,
36
- delta: [{ op: "replace", path: "/plurnk/status/preparation", value: params.preparation }],
42
+ delta: [{ op: "replace", path: "/plurnk/workspace/preparation", value: params.preparation }],
37
43
  }];
38
44
  case "log/entry": return this.#t.logEntry(params);
39
45
  case "loop/terminated": return this.#t.terminated(params);
40
46
  case "loop/packet": return this.#t.packet(params);
41
- case "notice/event": return this.#t.notice(params.notice ?? params);
47
+ case "notice/event": {
48
+ const { notice, loopId } = params;
49
+ return this.#t.notice(notice ?? params, typeof loopId === "number" ? loopId : null);
50
+ }
42
51
  case "reasoning/event": return this.#t.reasoning(params);
43
52
  case "outside/event": return this.#t.outside(params);
53
+ // {§agui-projection} Execution metadata: a stream's progress and its exact conclusion as they happen. The
54
+ // conversation receives an execution's result through its stream's observation ({§agui-call-result}).
44
55
  case "stream/event":
45
- case "stream/concluded": return [
46
- // Family channel (rich, full payload) AND the standard ACTIVITY channel (§475):
47
- // an exec/search stream is 'in-progress activity between chat messages'. A
48
- // replace-snapshot per event is the stateless conformant form — each carries the
49
- // full current view; activityType is the stream's scheme (SEARCH/SH/…).
50
- { type: EventType.CUSTOM, name: "plurnk.stream", value: params },
51
- _a.#activity(params),
52
- ];
56
+ case "stream/concluded": return [{ type: EventType.CUSTOM, name: "plurnk.stream", value: params }];
53
57
  case "loop/proposal":
54
58
  case "loop/interaction":
55
59
  return []; // ProposalHitl owns the shared terminate-resume path.
56
60
  default: return []; // workspace/created + anything unmodeled: the module handles out-of-band
57
61
  }
58
62
  }
59
- // A stream event → the standard ACTIVITY snapshot. messageId = the stream's entry id
60
- // (so a frontend keys deltas/updates to one activity); activityType = the scheme,
61
- // uppercased (SEARCH, SH, …), the protocol's discriminator; content = the full
62
- // payload; replace = true (each is the complete current view — stateless, conformant).
63
- static #activity(params) {
64
- const p = (params ?? {});
65
- const content = params !== null && typeof params === "object"
66
- ? params
67
- : { value: params };
68
- return {
69
- type: EventType.ACTIVITY_SNAPSHOT,
70
- messageId: `stream-${p.entryId ?? 0}`,
71
- activityType: typeof p.scheme === "string" && p.scheme.length > 0 ? p.scheme.toUpperCase() : "STREAM",
72
- content,
73
- replace: true,
74
- };
75
- }
76
63
  }
77
- _a = EventRouter;
78
- export default EventRouter;
79
64
  //# sourceMappingURL=EventRouter.js.map