@plurnk/plurnk-agui 2.0.0 → 3.1.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 (44) hide show
  1. package/README.md +12 -7
  2. package/SPEC.md +117 -49
  3. package/dist/AguiPlus.js +1 -1
  4. package/dist/AguiPlus.js.map +1 -1
  5. package/dist/AguiSurface.d.ts +1 -0
  6. package/dist/AguiSurface.d.ts.map +1 -1
  7. package/dist/AguiSurface.js +4 -1
  8. package/dist/AguiSurface.js.map +1 -1
  9. package/dist/BuiltinActions.d.ts +1 -1
  10. package/dist/BuiltinActions.d.ts.map +1 -1
  11. package/dist/BuiltinActions.js +17 -0
  12. package/dist/BuiltinActions.js.map +1 -1
  13. package/dist/MessageAddress.d.ts +1 -0
  14. package/dist/MessageAddress.d.ts.map +1 -1
  15. package/dist/MessageAddress.js +4 -1
  16. package/dist/MessageAddress.js.map +1 -1
  17. package/dist/Module.d.ts.map +1 -1
  18. package/dist/Module.js +13 -13
  19. package/dist/Module.js.map +1 -1
  20. package/dist/Portal.d.ts +4 -1
  21. package/dist/Portal.d.ts.map +1 -1
  22. package/dist/Portal.js +137 -123
  23. package/dist/Portal.js.map +1 -1
  24. package/dist/ProposalHitl.d.ts +4 -2
  25. package/dist/ProposalHitl.d.ts.map +1 -1
  26. package/dist/ProposalHitl.js +16 -9
  27. package/dist/ProposalHitl.js.map +1 -1
  28. package/dist/RunHandler.d.ts +2 -2
  29. package/dist/RunHandler.d.ts.map +1 -1
  30. package/dist/RunHandler.js +66 -48
  31. package/dist/RunHandler.js.map +1 -1
  32. package/dist/Translator.d.ts +1 -1
  33. package/dist/Translator.d.ts.map +1 -1
  34. package/dist/Translator.js +3 -6
  35. package/dist/Translator.js.map +1 -1
  36. package/dist/observe.d.ts +1 -1
  37. package/dist/observe.d.ts.map +1 -1
  38. package/dist/observe.js +3 -1
  39. package/dist/observe.js.map +1 -1
  40. package/dist/run-events.d.ts +1 -0
  41. package/dist/run-events.d.ts.map +1 -1
  42. package/dist/run-events.js +1 -0
  43. package/dist/run-events.js.map +1 -1
  44. package/package.json +8 -8
package/README.md CHANGED
@@ -5,7 +5,7 @@ interface and translates daemon lifecycle events into AG-UI events.
5
5
 
6
6
  ## Interface
7
7
 
8
- `POST /` accepts `RunAgentInput` and returns an AG-UI event stream.
8
+ `POST /agui` accepts `RunAgentInput` and returns an AG-UI event stream.
9
9
 
10
10
  PLURNK uses standard AG-UI events for Runs, messages, steps, tool calls, state,
11
11
  and approval requests. Additional execution metadata uses namespaced
@@ -32,9 +32,9 @@ delivers it into the parent's log ({§agui-topology-scope}).
32
32
  | Packet and terminal usage | State updates and `plurnk.terminated`; daemon quantities pass through unchanged. |
33
33
 
34
34
  READ of `reasoning://<worker>/…` is an operation receipt, not another reasoning stream.
35
- On reattach, the durable conversation snapshot restores accepted reasoning,
36
- SENDs, and the latest PLAN. `forwardedProps.plurnk.mode="sync"` obtains that
37
- state without a prompt or model inference ({§agui-conversation-sync}).
35
+ On reattach, the durable conversation snapshot restores accepted reasoning and
36
+ SENDs. `forwardedProps.plurnk.mode="sync"` obtains that state without a prompt
37
+ or model inference ({§agui-conversation-sync}).
38
38
 
39
39
  Pending proposals and user interactions use standard AG-UI interrupts and
40
40
  resume Runs. Core decides their owner and disposition, including delegated
@@ -45,14 +45,15 @@ event schemas, and settlement rules live in [SPEC.md](./SPEC.md).
45
45
 
46
46
  The daemon discovers this package as a module: its `package.json` declares
47
47
  `plurnk: { kind: "module", module: "./module" }`, and the service composes
48
- nothing by hand. The module mounts `/` and `/agui` on the daemon's listener
48
+ nothing by hand. The module mounts only `/agui` on the daemon's listener
49
49
  and reads its settings from the assembled environment, which carries this
50
50
  package's `.env.defaults`. `SPEC.md` owns the exact value contract.
51
51
 
52
52
  The module owns transport authentication, request validation, event translation,
53
53
  and proposal delivery. It consumes core's disposition-bearing proposal projection
54
- for both live events and reconnect rather than rebuilding the general loop policy.
55
- Core owns persistence and model-loop policy; clients own rendering and local
54
+ for both live events and reconnect. The recorded worker owner handles approvals;
55
+ A2A clarification remains protocol-routed. Core owns persistence and server approval;
56
+ clients own rendering and local
56
57
  terminal/editor behavior.
57
58
 
58
59
  ## Development
@@ -60,3 +61,7 @@ terminal/editor behavior.
60
61
  ```sh
61
62
  npm run test -w @plurnk/plurnk-agui
62
63
  ```
64
+
65
+ Deterministic tests use isolated configuration. The service's explicit
66
+ `test:live` tier also includes the real-model AG-UI stories; its
67
+ `test:live:specimen` selector can run either story by exact name.
package/SPEC.md CHANGED
@@ -9,15 +9,14 @@ does not recompute them.
9
9
 
10
10
  - §agui-daemon-client **The module is a discovered module of the daemon.** The package
11
11
  declares `plurnk: { kind: "module", module: "./module" }` and the daemon discovers it
12
- ({§module-discovery}); nothing composes it by hand. It claims the root of the daemon's one
13
- listener and `/agui` ({§http-host}, {§module-http-mounts}) and owns no socket. Its setup
12
+ ({§module-discovery}); nothing composes it by hand. It claims only `/agui` on the daemon's
13
+ listener ({§http-host}, {§module-http-mounts}) and owns no socket. Its setup
14
14
  registers the `agui` message scheme, and its start seam is `AguiPort`, the slice of
15
- {§application-port} it calls. A daemon without a listener leaves it out. No WebSocket, no
16
- separate process.
15
+ {§application-port} it calls. A daemon without a listener leaves it out.
17
16
  - §agui-listener-admission **Bound is not ready.** The socket is core's
18
17
  ({§startup-listener-admission}): bound before durable-state admission and answering a
19
18
  retryable `503 service-starting` until daemon activation admits it after every module has
20
- started ({§module-http-mounts}). This module mounts `/` and `/agui` at `start`, so no
19
+ started ({§module-http-mounts}). This module mounts `/agui` at `start`, so no
21
20
  request reaches it before its port is installed; from `stop` it answers `503
22
21
  service-stopping`.
23
22
  - §agui-thread-binding **A PLURNK workspace is the world; an AG-UI thread is a conversation over it**
@@ -61,6 +60,68 @@ does not recompute them.
61
60
  lifecycle dialect. PLURNK owns the internal worker/loop/turn topology and projects it
62
61
  through standard events plus namespaced `plurnk.*` extensions.
63
62
 
63
+ ## §agui-worker-owner Approval ownership
64
+
65
+ An owning conversation is `agui://anonymous/threads/<encoded threadId>`, scoped by
66
+ workspace. It is not a socket, Run, or client bookkeeping worker. `RunAgentInput.tools`
67
+ declares its supported client-tool names, and `forwardedProps.plurnk.interactive` (a boolean)
68
+ states whether a person attends it; unstated, nobody does. Control attachment registers that
69
+ capability set and claims only runtime-owned work under {§worker-ownership}; observation does
70
+ neither. Capabilities survive disconnection and a later declaration replaces them for future
71
+ requests.
72
+
73
+ | Request | Ownership effect |
74
+ |---|---|
75
+ | Prompt, interrupt resume, or client operation | Control attachment for this conversation and its administrative actor. |
76
+ | Synchronization / connection with `forwardedProps.plurnk.control = true` | Explicit control attachment without inference. |
77
+ | Passive synchronization / connection; other management reads | No claim and no capability replacement. |
78
+
79
+ Approval delivery matches the recorded owner; interaction delivery matches its recorded
80
+ recipient. No connected-ancestor fallback or topology-based authority exists. An owner may
81
+ review an independently active child while its own worker is idle. Concurrent connections
82
+ to one owner can see the same gate; Core settles it at most once. A matching worker's Run
83
+ receives its own gate; only when none is connected does delivery use the owner's conversation
84
+ Runs. Unrelated operation Runs do not receive it.
85
+ Each presentation of a gate retains its own Run continuation. Successful resume emits
86
+ the standard `TOOL_CALL_RESULT` for each settled interrupt before continuing; this acknowledges
87
+ the decision, not completion of the approved operation.
88
+ Server approval policy belongs to Core.
89
+
90
+ ## §agui-run-disconnect Run lifetime
91
+
92
+ Approval ownership does not confer responsibility for cancelling running work.
93
+
94
+ | Connection | Unexpected disconnect |
95
+ |---|---|
96
+ | Message Run or executing `op.exec` / `op.parse` Run | Cancel its bound worker with `client_disconnected`. |
97
+ | Resume of that Run's interrupt | Retain the same cancellation responsibility and worker binding. |
98
+ | Observation, including approval of independently started work | Detach; do not cancel work. |
99
+ | Other management Run | Detach. |
100
+
101
+ An authored terminal or interrupt ends the connection normally without cancellation.
102
+ The disconnect handler is installed before asynchronous Run preparation; a disconnected
103
+ request must not subsequently start work. Interrupt continuations are adapter-owned,
104
+ not worker ownership or a second core lifecycle. Rediscovery, including after module
105
+ restart, presents a fresh observer continuation rather than inferring a prior connection's
106
+ cancellation responsibility.
107
+
108
+ ## §agui-owner-connection Persistent observation
109
+
110
+ `POST /agui/connect` accepts the standard `RunAgentInput`, without messages, actions, or
111
+ resumes. It uses the same snapshots, events, and interrupt representation as synchronization
112
+ ({§agui-conversation-sync}), but waits when the worker is idle. New work, including owner-addressed
113
+ child gates, is delivered without client polling or fabricated prompts. A terminal or interrupt
114
+ ends that observation Run; the client reconnects after handling it. Detaching never cancels work.
115
+ This is the transport implementation of the AG-UI `connect()` extension, not another event protocol.
116
+
117
+ §agui-shutdown **Shutdown releases every remaining Run.** Module `stop` refuses new
118
+ requests while admitted Runs retain terminal-event delivery. In `close`, after core
119
+ settlement ({§module-shutdown-order}), each still-open Run receives `service-stopping`
120
+ as `CUSTOM plurnk.problem` and `RUN_ERROR`, then its response and heartbeat end. This
121
+ ends the transport Run, not a worker obligation. Already-ended Runs receive nothing
122
+ further; repeated closure is inert. Preparation finishing after closure cannot open
123
+ a new stream. Clients need not disconnect for the daemon to stop.
124
+
64
125
  ## §agui-projection The projection
65
126
 
66
127
  One accepted Run or daemon notification produces zero-or-more AG-UI events:
@@ -93,11 +154,11 @@ or ACP plan is inferred from prose.
93
154
 
94
155
  | Projection | Standard representation |
95
156
  | ---------- | ----------------------- |
96
- | NOTE | Ordinary tool-call operation and durable row, not assistant speech, PLAN activity, or a substitute reasoning stream |
157
+ | NOTE | Ordinary tool-call operation and durable row, not assistant speech or a substitute reasoning stream |
97
158
  | WAIT | Durable row and lifecycle signal; its text does not become a response |
98
159
  | SEND response | Assistant message through {§loop-response-messages}; delivery and completion remain independent |
99
160
  | Completion | Standard run lifecycle without an invented message |
100
- | Replay | Delivered messages in chronological order; no synthetic latest-plan replacement |
161
+ | Replay | Delivered messages in chronological order |
101
162
 
102
163
  §agui-readable-reasoning **Readable provider reasoning uses AG-UI's standard
103
164
  reasoning channel.** A core `{§notifications-reasoning-event}` for the thread's
@@ -211,8 +272,8 @@ every other daemon surface.
211
272
  - §agui-replay **Unoriented reattach replays once** — a rediscovered thread (the module restarted, a second
212
273
  frontend arrived) whose Run input carries none of the log's durable assistant identities attaches
213
274
  to its existing workspace by name→id and opens ORIENTED: durable
214
- arrival rows replay as user messages, named by their source when another actor caused them ({§message-causal-source}), the model worker's current PLAN activity and SEND speech
215
- replay chronologically, and the one validated current Run user message follows them under a
275
+ arrival rows replay as user messages, named by their source when another actor caused them ({§message-causal-source}), the model worker's SEND speech
276
+ replays chronologically, and the one validated current Run user message follows them under a
216
277
  Run-owned identity in the authoritative `MESSAGES_SNAPSHOT`. Client-claimed earlier history is not
217
278
  imported. A client already carrying any durable assistant identity receives no repeated snapshot.
218
279
  Everything else stays
@@ -233,11 +294,15 @@ every other daemon surface.
233
294
  ## §agui-first-party-client-conformance First-party client conformance
234
295
 
235
296
  §agui-official-client-conformance The ordinary integration gate runs the official
236
- `@ag-ui/client` 0.0.59 against the real daemon and a deterministic HTTP model fixture.
297
+ `@ag-ui/client` against the real daemon and a deterministic HTTP model fixture.
237
298
  Its verifier and message builder exercise lifecycle, state, streaming reasoning,
238
- assistant speech, PLAN activity, and provider refusals. The optional real-model test adds provider
239
- evidence; it does not substitute for the deterministic gate. Wire shapes derive
299
+ assistant speech, and provider refusals. The explicit real-model tier adds provider
300
+ evidence through the shared service live runner; it does not substitute for the
301
+ deterministic gate. Wire shapes derive
240
302
  from the installed `@ag-ui/core` schemas ({§agui-run-authority}).
303
+ Deterministic daemon fixtures use the isolated mock-tier bootstrap
304
+ ({§operator-config-real-model-profile}); operator configuration must not start
305
+ external resources during the integration gate.
241
306
 
242
307
  The one-shot CLI and interactive terminal consume one AG-UI+
243
308
  semantic contract. Each surface verifies the contracts-owned conformance corpus
@@ -247,7 +312,7 @@ host owns; decoration and layout are not cross-client protocol facts.
247
312
  | Shared semantic fact | One-shot CLI | Interactive terminal | Intentional host-owned divergence |
248
313
  | -------------------- | ------------ | -------------------- | --------------------------------- |
249
314
  | lifecycle, model, packet status | structured output and Unix status trace | mutable prompt status | process and terminal lifecycle idioms |
250
- | PLAN and reasoning | structured record and trace | streaming waterfall blocks | host-native persistence and navigation |
315
+ | reasoning | structured record and trace | streaming waterfall blocks | host-native persistence and navigation |
251
316
  | operation receipts and turn disposition | stdout plus structured operation record | scrollback waterfall | Unix streams versus visual surfaces |
252
317
  | cancellation, proposals, and interactions | explicit noninteractive policy and exit | terminal review or input | each host owns human interaction |
253
318
  | Problems and Notices | RFC 9457 JSON or stderr | terminal rows | presentation only; exact semantics survive |
@@ -273,19 +338,25 @@ Every client-owned daemon proposal—file edits and `[300]` operator questions
273
338
  every contracts-owned client interaction emits an AG-UI tool call and terminates AG-UI Run A with
274
339
  `RUN_FINISHED.outcome.type = "interrupt"`. The durable loop remains paused indefinitely
275
340
  by default; absence is not an answer. AG-UI Run B on the same thread supplies standard
276
- `RunAgentInput.resume` entries. Each entry correlates through `interruptId = toolCallId`, using
277
- `prop:<logEntryId>` for proposals and `int:<interactionId>` for client interactions. The module
341
+ `RunAgentInput.resume` entries. Each entry echoes the supplied opaque `Interrupt.id`;
342
+ `Interrupt.toolCallId` separately identifies the underlying tool call (`prop:<logEntryId>`
343
+ for proposals, `int:<interactionId>` for client interactions). Separate presentations of
344
+ one gate have separate interrupt IDs, so an observer cannot inherit another Run's
345
+ cancellation responsibility ({§agui-run-disconnect}). Unknown presentations require
346
+ rediscovery; pending proposals and interactions remain durable in Core. The module
278
347
  resolves the complete pending interrupt set for one worker, restores the thread's live projection
279
348
  state, and only then releases it. The pending Worker's persisted Worker and Loop remain the exact
280
- resolution identity. When that Worker is a descendant without its own live Run, its nearest live
281
- ancestor conversation is the controlling Run: Run A presents the descendant gate and Run B remains
282
- bound to the ancestor conversation while releasing the exact descendant. Reconnect discovers the
283
- same descendant set from Core's authoritative Worker topology. A terminal published after a
349
+ resolution identity. Owner-addressed gates route under {§agui-worker-owner}: when an owning
350
+ conversation presents another worker's gate, its resume stays bound to that conversation while
351
+ releasing the exact requesting worker. Reconnect discovers pending gates from Core by recorded
352
+ owner, not inferred ancestry. A terminal published after a
284
353
  descendant gate remains ordered behind that gate's topology resolution and presentation; it cannot
285
354
  settle Run A before the interrupt is emitted. Concurrent descendant gates are
286
355
  presented one Worker at a time; resolving one re-surfaces the next without admitting a new prompt.
287
356
  Sibling and unrelated conversations never receive one another's gates. A resume containing foreign, partial, unknown, duplicate, or multi-worker
288
- interrupt sets fails before any stopped operation is released.
357
+ interrupt sets fails before any stopped operation is released. Mixing presentations or
358
+ conversations produces `interrupt-binding-invalid`; a connection closed before validated
359
+ resolution produces `connection-closed` without releasing the stopped work.
289
360
  Loop terminals received while a resume is being validated or resolved are held:
290
361
  successful resolution delivers the bound Loop's terminal once; rejected resolution
291
362
  emits its exact `RUN_ERROR`, never success from the previously interrupted Loop.
@@ -319,14 +390,11 @@ interrupt carries its optional `message` and `responseSchema`. A resolved resume
319
390
  the generic resolved payload, while AG-UI cancellation becomes interaction cancellation. AG-UI
320
391
  never sees or reconstructs an upstream protocol's continuation state.
321
392
 
322
- §agui-proposal-disposition **AG-UI consumes disposition; it does not infer policy.** Both the live `loop/proposal` payload and `ApplicationPort.pendingProposals()` return the contracts-owned `ProposalProjection`. `disposition.owner` is the sole presentation branch:
323
-
324
- | Disposition owner | AG-UI behavior |
325
- | ----------------- | ----------------------------------------------------------------------------- |
326
- | `client` | Emit/re-surface the proposal tool call and standard interrupt |
327
- | `loop` | Emit no tool call; core applies the carried decision and the Run continues |
328
-
329
- The complete loop policy, operation, attrs, and stale-target facts remain visible evidence but are not re-evaluated here. Reconnect filters by the same disposition, so an internal policy failure cannot silently turn client presentation into an accidental fallback.
393
+ §agui-proposal-disposition AG-UI consumes Core's `ProposalProjection` identically
394
+ for live delivery and reconnect. A `review` disposition becomes a tool call and
395
+ standard interrupt only for the matching owner. `accept` and `reject` remain
396
+ Core's automatic settlements and never become client review work. Operation,
397
+ attrs and stale-target facts remain evidence, not authority inputs.
330
398
 
331
399
  §agui-provider-policy-forwarding A textual Run forwards `selector` and
332
400
  `childSelector` from `forwardedProps.plurnk` unchanged to `ApplicationPort.runLoop`.
@@ -337,8 +405,7 @@ selection.
337
405
  ## §agui-management-plane The action surface
338
406
 
339
407
  PLURNK has three inputs through the one AG-UI Run endpoint. A normal user message
340
- and a standard interrupt resume are not management actions and have no invented
341
- `loop.run` or `loop.resolve` action names.
408
+ and a standard interrupt resume are not management actions.
342
409
 
343
410
  ```mermaid
344
411
  flowchart LR
@@ -384,6 +451,7 @@ successfully transported management Run; it does not turn the Run into
384
451
  | `workspace.prompts` | Workspace | `workerId?`, `limit?` | `ApplicationPort.listPrompts` scoped like `log.read`: the thread's conversation worker unless `workerId` pins another. |
385
452
  | `workspace.rename` | Workspace | `name` | `ApplicationPort.renameWorkspace`. |
386
453
  | `workspace.share` | Workspace | `folder` | `ApplicationPort.shareWorkspace` shares the bound workspace ({§share}) into an absolute `folder` on the service host; returns `{ folder }`. |
454
+ | `workspace.rollback` | Workspace | `to`, `workerId?` | `ApplicationPort.rollback` ({§rollback}) reverses the settled file mutations after log coordinate `to` of the thread's conversation worker (or `workerId`), latest first, as the client worker's own operations; returns the `RollbackReport`. |
387
455
  | `entry.read` | Workspace | `target`, `workerId?`, `channel?`, `offset?` | Calls `ApplicationPort.readEntry` from the explicit worker perspective or the thread conversation by default, preserving validated {§entry-read-result}. |
388
456
  | `op.exec` | Workspace | `command` | Constructs one execution statement on the default `sh` runtime and calls `ApplicationPort.dispatchClientAction` on the client worker, attached to the conversation Worker (`conversationWorkerId`, else the workspace's model worker) for Functionality. |
389
457
  | `op.parse` | Workspace | `text` | Parses and projects PLURNK text under {§agui-op-parse}. |
@@ -529,9 +597,8 @@ nor hide updates from the producer ({§notifications-stream-event-on-channel-cha
529
597
  `loop.cancel` is its counterpart: the addressable spelling of the SSE-hangup
530
598
  abort. An action that opens a stream remains one live AG-UI Run; its result is
531
599
  held until every observed stream emits `stream/concluded`, then the result and
532
- `RUN_FINISHED` close that Run. A client disconnect before settlement cancels
533
- the action worker with reason `client_disconnected`; it never silently converts
534
- the action into detached background work.
600
+ `RUN_FINISHED` close that Run. Executing actions retain their cancellation
601
+ responsibility through interrupts under {§agui-run-disconnect}.
535
602
 
536
603
  ## §agui-topology-scope Topology scope
537
604
 
@@ -563,20 +630,16 @@ One in-process subscription receives Core events; AG-UI routes each event to the
563
630
  Run that owns it. A message AG-UI Run binds to the Worker selected by its thread
564
631
  and then to the exact `loopId` returned by `ApplicationPort.runLoop`; an
565
632
  interrupt-resume Run restores its predecessor's projection and notification
566
- scope. An exact-owner interrupt remains bound to the pending item's Worker and
567
- Loop. A descendant interrupt keeps the controlling ancestor's Worker and Loop
568
- binding while using the pending item's Worker and Loop only as its release
569
- identity. Only the controlling Run's bound Loop terminal may emit
633
+ scope. A same-worker interrupt remains bound to the pending item's Worker and
634
+ Loop. A foreign-worker interrupt preserves the owner's controlling Run binding,
635
+ using the pending item's Worker and Loop only as its release identity. Only the
636
+ controlling Run's bound Loop terminal may emit
570
637
  `plurnk.terminated` and close the SSE.
571
638
  The custom event preserves the daemon's exact universal `result`; failures use
572
639
  the Problem `type` as the AG-UI error code and `detail` as its message. The
573
640
  module never reconstructs a failure from a status, summary, or exception text.
574
- Stopped-world tool calls and interrupt outcomes first route to open Runs bound to
575
- their persisted loop. When no Run owns that loop, they route to their owning
576
- Worker's Runs so an action-produced interrupt can settle its initiating Run. When
577
- neither exists, they route to the nearest live ancestor conversation according to
578
- Core's Worker topology. They never interrupt a concurrent Run while an exact loop
579
- owner is live, and a gate that reaches a Run inside an open reasoning lifecycle waits for
641
+ Gate routing follows {§agui-worker-owner}; topology does not confer authority.
642
+ A gate that reaches a Run inside an open reasoning lifecycle waits for
580
643
  it ({§agui-gate-deferral}). Terminations
581
644
  that race ahead of the `runLoop` acknowledgement are held until the loop identity
582
645
  is known. Sibling and concurrent loops therefore cannot end, relabel, or duplicate
@@ -589,7 +652,8 @@ this Run.
589
652
  | Every other action | None; the Run carries only its direct state snapshot and action result. | This action result. |
590
653
 
591
654
  An operation Run owns an execution from the row that announces it: a started or
592
- queued execution row carries `attrs.stream`, and that address stays open for the Run
655
+ queued execution receipt (`200` or `202`) carries `attrs.stream`. A failed receipt's
656
+ proposed address opens no stream. An admitted address stays open for the Run
593
657
  until its `stream/concluded`, so the action result is deferred even when the
594
658
  command writes late or never (a `stream/event` is a race the result must not
595
659
  win). A detached execution (`<-1>`) is nobody's obligation and never defers the
@@ -618,13 +682,13 @@ address is the daemon's.
618
682
 
619
683
  ## §agui-run-endpoint The AG-UI Run endpoint
620
684
 
621
- `POST /` (or `/agui`) accepts a schema-valid AG-UI `RunAgentInput`: the last textual
685
+ `POST /agui` accepts a schema-valid AG-UI `RunAgentInput`: the last textual
622
686
  `user` message becomes the
623
- `ApplicationPort.runLoop` prompt (`maxTurns` and the general loop `policy` from
624
- the forwarded PLURNK properties or module defaults); the response is `text/event-stream`,
687
+ `ApplicationPort.runLoop` prompt (`maxTurns` from
688
+ the forwarded PLURNK properties); the response is `text/event-stream`,
625
689
  one `data:` line per event, ending after `RUN_FINISHED`/`RUN_ERROR`. Multimodal user content
626
690
  is rejected until the model-loop seam supports it deliberately. Proposal
627
- disposition remains Core policy; the module forwards it without reinterpretation.
691
+ disposition remains Core policy; this module routes review to the worker's owner.
628
692
 
629
693
  §agui-run-source The run's user message is the causal actor behind its inbound SEND
630
694
  ({§message-causal-source}). The module supplies its canonical address as the loop's `source`:
@@ -682,11 +746,15 @@ reconstruct one from `RUN_ERROR`.
682
746
  | `workspace-required` | 400 | forwardedProps.plurnk.workspace must name a workspace. Recovery: Provide a non-empty workspace name. |
683
747
  | `interrupt-duplicate` | 400 | The resume contains the same interrupt more than once. Recovery: Include each pending interrupt exactly once. |
684
748
  | `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. |
685
- | `interrupt-not-pending` | 409 | The resume addresses an interrupt that is not pending. Recovery: Refresh pending interrupts before resuming. |
749
+ | `interrupt-not-pending` | 409 | The resume addresses an interrupt that is not pending, or an unknown interrupt presentation. Recovery: Refresh pending interrupts before resuming. |
750
+ | `interrupt-binding-invalid` | 400 | The resume combines interrupts from different Runs, or does not match its interrupt's conversation. |
751
+ | `connection-closed` | 499 | The connection closed before the interrupt was resolved. |
686
752
  | `worker-scope-invalid` | 400 | One resume must address interrupts for exactly one worker. Recovery: Resume each worker separately. |
687
753
  | `interrupt-set-incomplete` | 409 | The resume does not address every pending interrupt for worker *id*. Recovery: Resolve every pending interrupt for this worker in one resume. |
688
754
  | `invalid-json` | 400 | The request body is not valid JSON. |
689
755
  | `invalid-run-input` | 400 | The request body does not satisfy the AG-UI RunAgentInput contract. |
756
+ | `control-invalid` | 400 | control must be a boolean. |
757
+ | `interactive-invalid` | 400 | interactive must be a boolean. |
690
758
  | `unsupported-run-mode` | 400 | forwardedProps.plurnk.mode must be "sync" when present. |
691
759
  | `invalid-sync-input` | 400 | Conversation synchronization cannot include messages, an action, or an interrupt resume. |
692
760
  | `user-message-required` | 400 | A new AG-UI Run requires a non-empty textual user message. Recovery: Provide a non-empty user message. |
package/dist/AguiPlus.js CHANGED
@@ -27,7 +27,7 @@ export const proposalToolCall = (p) => {
27
27
  const toolCallId = proposalToolCallId(p.logEntryId);
28
28
  return [
29
29
  { type: EventType.TOOL_CALL_START, toolCallId, toolCallName: proposalToolName(p.op) },
30
- { type: EventType.TOOL_CALL_ARGS, toolCallId, delta: JSON.stringify({ op: p.op, target: p.target, body: p.body, attrs: p.attrs, policy: p.policy }) },
30
+ { type: EventType.TOOL_CALL_ARGS, toolCallId, delta: JSON.stringify({ op: p.op, target: p.target, body: p.body, attrs: p.attrs, owner: p.owner }) },
31
31
  { type: EventType.TOOL_CALL_END, toolCallId },
32
32
  ];
33
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AguiPlus.js","sourceRoot":"","sources":["../src/AguiPlus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AguiPlus.js","sourceRoot":"","sources":["../src/AguiPlus.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export declare const AGUI_BUILTIN_ACTIONS: Readonly<{
23
23
  "workspace.prompts": AguiActionContract;
24
24
  "workspace.share": AguiActionContract;
25
25
  "workspace.rename": AguiActionContract;
26
+ "workspace.rollback": AguiActionContract;
26
27
  "entry.read": AguiActionContract;
27
28
  "op.exec": AguiActionContract;
28
29
  "op.parse": AguiActionContract;
@@ -1 +1 @@
1
- {"version":3,"file":"AguiSurface.d.ts","sourceRoot":"","sources":["../src/AguiSurface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAM3D,KAAK,eAAe,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;CACrC;AAED,MAAM,WAAW,wBAAwB;IACrC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC;CACtC;AA6DD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkFwB,CAAC;AA6B1D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EA2EgC,CAAC"}
1
+ {"version":3,"file":"AguiSurface.d.ts","sourceRoot":"","sources":["../src/AguiSurface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAM3D,KAAK,eAAe,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;CACrC;AAED,MAAM,WAAW,wBAAwB;IACrC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC;CACtC;AA8DD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoFwB,CAAC;AA6B1D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EA2EgC,CAAC"}
@@ -33,11 +33,12 @@ const worker = object({
33
33
  id: POSITIVE,
34
34
  name: NONEMPTY,
35
35
  created_at: NONEMPTY,
36
+ owner: NONEMPTY,
36
37
  origin: { enum: ["model", "client", "_plurnk"] },
37
38
  parentWorkerId: nullable(POSITIVE),
38
39
  kind: { enum: ["conversation", "fork", "work"] },
39
40
  lifecycle: { enum: ["idle", "queued", "running", "parked", "completed", "failed"] },
40
- }, ["id", "name", "created_at", "origin", "parentWorkerId", "kind", "lifecycle"]);
41
+ }, ["id", "name", "created_at", "owner", "origin", "parentWorkerId", "kind", "lifecycle"]);
41
42
  const capabilityProjection = ref("CapabilityProjection");
42
43
  // {§worker-effort-source} — `source` says whether the effort was chosen or seeded.
43
44
  const effortResult = object({
@@ -94,6 +95,8 @@ export const AGUI_BUILTIN_ACTIONS = Object.freeze({
94
95
  "workspace.prompts": action("workspace", object({ workerId: POSITIVE, limit: POSITIVE }), object({ prompts: array(string()) }, ["prompts"])),
95
96
  "workspace.share": action("workspace", object({ folder: NONEMPTY }, ["folder"]), object({ folder: NONEMPTY }, ["folder"])),
96
97
  "workspace.rename": action("workspace", object({ name: NONEMPTY }, ["name"]), object({ id: POSITIVE, name: NONEMPTY }, ["id", "name"])),
98
+ // {§rollback} — undo the bound worker's file mutations after a log coordinate, through ordinary operations.
99
+ "workspace.rollback": action("workspace", object({ to: NONEMPTY, workerId: POSITIVE }, ["to"]), ref("RollbackReport")),
97
100
  "entry.read": action("workspace", object({
98
101
  target: NONEMPTY,
99
102
  workerId: POSITIVE,
@@ -1 +1 @@
1
- {"version":3,"file":"AguiSurface.js","sourceRoot":"","sources":["../src/AguiSurface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AguiSurface.js","sourceRoot":"","sources":["../src/AguiSurface.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type ActionOutcome } from "./AguiPlus.ts";
2
2
  import { type AguiDiscovery, type ApplicationPort, type ClientEnvelope } from "@plurnk/plurnk-contracts";
3
3
  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" | "runLoop" | "setWorkerEffort" | "setWorkerModel" | "setWorkerSpawnModel" | "setWorkspaceCapabilities" | "shareWorkspace">;
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
5
  export default class BuiltinActions {
6
6
  #private;
7
7
  constructor({ seam, capabilities, envelope, requireWorkspace }: {
@@ -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,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,CAgYxB;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,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"}
@@ -132,6 +132,23 @@ export default class BuiltinActions {
132
132
  }
133
133
  return { ok: true, result: await this.#seam().renameWorkspace(world.workspaceId, p.name) };
134
134
  }
135
+ // {§rollback} — the bound conversation's log, or a named worker's; the reversals are this
136
+ // client's own operations in its worker.
137
+ case "workspace.rollback": {
138
+ if (typeof p.to !== "string" || p.to.length === 0) {
139
+ return actionFailure("invalid-action-parameters", "workspace.rollback requires a log coordinate.", 400, { field: "to", recovery: "Name the coordinate as <loop>/<turn>/<item>." });
140
+ }
141
+ if (Object.hasOwn(p, "workerId")
142
+ && (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." });
144
+ }
145
+ 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,
149
+ to: p.to,
150
+ }) };
151
+ }
135
152
  case "entry.read": {
136
153
  if (typeof p.target !== "string") {
137
154
  return actionFailure("invalid-action-parameters", "entry.read requires a string target.", 400, { field: "target", recovery: "Provide an entry URI." });