@plurnk/plurnk-agui 1.3.12 → 1.5.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/.env.defaults +8 -6
  2. package/README.md +11 -3
  3. package/SPEC.md +295 -88
  4. package/dist/AguiPlus.d.ts +2 -1
  5. package/dist/AguiPlus.d.ts.map +1 -1
  6. package/dist/AguiPlus.js +7 -7
  7. package/dist/AguiPlus.js.map +1 -1
  8. package/dist/DaemonSeam.d.ts +15 -26
  9. package/dist/DaemonSeam.d.ts.map +1 -1
  10. package/dist/DaemonSeam.js +1 -1
  11. package/dist/DaemonSeam.js.map +1 -1
  12. package/dist/EventRouter.d.ts.map +1 -1
  13. package/dist/EventRouter.js +16 -5
  14. package/dist/EventRouter.js.map +1 -1
  15. package/dist/Module.d.ts +5 -7
  16. package/dist/Module.d.ts.map +1 -1
  17. package/dist/Module.js +440 -163
  18. package/dist/Module.js.map +1 -1
  19. package/dist/Portal.d.ts +6 -0
  20. package/dist/Portal.d.ts.map +1 -1
  21. package/dist/Portal.js +12 -8
  22. package/dist/Portal.js.map +1 -1
  23. package/dist/ProposalHitl.d.ts.map +1 -1
  24. package/dist/ProposalHitl.js +48 -39
  25. package/dist/ProposalHitl.js.map +1 -1
  26. package/dist/Translator.d.ts +1 -1
  27. package/dist/Translator.d.ts.map +1 -1
  28. package/dist/Translator.js +114 -70
  29. package/dist/Translator.js.map +1 -1
  30. package/dist/config.d.ts +17 -0
  31. package/dist/config.d.ts.map +1 -0
  32. package/dist/config.js +30 -0
  33. package/dist/config.js.map +1 -0
  34. package/dist/index.d.ts +1 -1
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/observe.d.ts +8 -0
  37. package/dist/observe.d.ts.map +1 -0
  38. package/dist/observe.js +56 -0
  39. package/dist/observe.js.map +1 -0
  40. package/dist/types.d.ts +11 -21
  41. package/dist/types.d.ts.map +1 -1
  42. package/dist/types.js +1 -1
  43. package/dist/types.js.map +1 -1
  44. package/package.json +13 -8
@@ -1,8 +1,10 @@
1
1
  // The projection — plurnk's log-shaped wire onto AG-UI's event vocabulary. PURE: one daemon
2
2
  // notification in, zero-or-more AG-UI events out, with per-worker turn tracking as the only state.
3
- // The mapping (§agui-projection):
4
- // log/entry op=PLAN (model) → REASONING_MESSAGE triple (the model's stated intent)
3
+ // The mapping ({§agui-projection}):
4
+ // log/entry op=PLAN (model) → ACTIVITY_SNAPSHOT (the model's stated goals)
5
5
  // log/entry op=SEND (model) → TEXT_MESSAGE triple (assistant speech; the signal rides plurnk.send)
6
+ // log/entry actionless model emission → no conversational event (encrypted reasoning may
7
+ // attach to the turn's assistant message)
6
8
  // log/entry other (model) → TOOL_CALL_START/ARGS/END + TOOL_CALL_RESULT (an op row IS a
7
9
  // tool call: tx is the args, rx the result, coordinate the id)
8
10
  // log/entry (plurnk) → CUSTOM plurnk.ambient (foists, deltas, narrations — the
@@ -11,12 +13,14 @@
11
13
  // loop/proposal → owned by ProposalHitl (tool call + AG-UI interrupt)
12
14
  // loop/terminated → STATE_DELTA (budget truth) + RUN_FINISHED or RUN_ERROR
13
15
  // Numbers are passed through verbatim, never recomputed — the daemon's gauge is the gauge
14
- // (§agui-numbers-passthrough).
15
- import { EventType } from "./types.js";
16
+ // ({§agui-numbers-passthrough}).
17
+ import { EventType, } from "./types.js";
18
+ import { Validator } from "@plurnk/plurnk-contracts";
16
19
  export default class Translator {
17
20
  #threadId;
18
- #runId; // AG-UI's run id (echoed from RunAgentInput.runId) — the standard face
21
+ #runId; // AG-UI's Run id (echoed from RunAgentInput.runId) — the standard face
19
22
  #currentTurn = null;
23
+ #assistantMessage = null;
20
24
  #modelWorkerId;
21
25
  #workspaceId;
22
26
  constructor(args) {
@@ -35,18 +39,18 @@ export default class Translator {
35
39
  logEntry(n) {
36
40
  const e = n.entry;
37
41
  const events = [];
38
- // §agui-topology-scope — the workspace broadcast carries EVERY worker's rows (workers, the
42
+ // {§agui-topology-scope} — the workspace broadcast carries EVERY worker's rows (workers, the
39
43
  // plurnk worker, siblings); only the THREAD's model worker projects onto the core vocabulary.
40
44
  // Everything else rides plurnk.row/plurnk.ambient — visible to rich clients as topology,
41
45
  // never interleaved into the conversation a generic frontend renders.
42
46
  const workerId = e.worker_id;
43
47
  // Lazy binding: workspace.create returns the CLIENT worker's id — the model worker is born at
44
- // loop.worker's drain, so a fresh thread adopts its FIRST model-origin row's run as the
48
+ // loop worker's drain, so a fresh thread adopts its first model-origin row's worker as the
45
49
  // model worker (workers spawn FROM it later; reattach seeds it from workspace.workers instead).
46
50
  if (this.#modelWorkerId === null && e.origin === "model" && typeof workerId === "number")
47
51
  this.#modelWorkerId = workerId;
48
52
  const foreign = this.#modelWorkerId !== null && typeof workerId === "number" && workerId !== this.#modelWorkerId;
49
- // §agui-row-channel — the FULL wire row rides plurnk.row alongside the core projection:
53
+ // {§agui-row-channel} — the FULL wire row rides plurnk.row alongside the core projection:
50
54
  // fold state, tags-in-signal, tokens, coordinates — everything the TUI/nvim render that
51
55
  // the core vocabulary can't hold. Rich clients render from plurnk.row; generic clients
52
56
  // never see the difference. This is the metadata channel the exclusive-portal migration
@@ -60,6 +64,7 @@ export default class Translator {
60
64
  if (this.#currentTurn !== null)
61
65
  events.push({ type: EventType.STEP_FINISHED, stepName: `turn-${this.#currentTurn}` });
62
66
  this.#currentTurn = e.turn_id;
67
+ this.#assistantMessage = null;
63
68
  events.push({ type: EventType.STEP_STARTED, stepName: `turn-${e.turn_id}` });
64
69
  }
65
70
  if (e.origin !== "model") {
@@ -68,21 +73,20 @@ export default class Translator {
68
73
  }
69
74
  const id = e.coordinate ?? String(e.id);
70
75
  if (e.op === "PLAN") {
71
- // The model's reasoning (§475: current AG-UI — THINKING_* was deprecated for
72
- // REASONING_*, removed at 1.0.0). The message triple lives inside a
73
- // REASONING_START/END span; every reasoning event carries a messageId tying
74
- // the span together (the coordinate/id of the PLAN row).
75
76
  const text = Translator.#txBody(e.tx);
76
- events.push({ type: EventType.REASONING_START, messageId: id });
77
- events.push({ type: EventType.REASONING_MESSAGE_START, messageId: id, role: "reasoning" });
78
- if (text.length > 0)
79
- events.push({ type: EventType.REASONING_MESSAGE_CONTENT, messageId: id, delta: text });
80
- events.push({ type: EventType.REASONING_MESSAGE_END, messageId: id });
81
- events.push({ type: EventType.REASONING_END, messageId: id });
77
+ events.push({
78
+ type: EventType.ACTIVITY_SNAPSHOT,
79
+ messageId: id,
80
+ activityType: "PLAN",
81
+ content: { goals: text },
82
+ replace: true,
83
+ });
82
84
  return events;
83
85
  }
84
86
  if (e.op === "SEND") {
85
87
  const text = Translator.#txBody(e.tx);
88
+ if (typeof e.turn_id === "number")
89
+ this.#assistantMessage = { turnId: e.turn_id, id };
86
90
  events.push({ type: EventType.TEXT_MESSAGE_START, messageId: id, role: "assistant" });
87
91
  if (text.length > 0)
88
92
  events.push({ type: EventType.TEXT_MESSAGE_CONTENT, messageId: id, delta: text });
@@ -90,25 +94,23 @@ export default class Translator {
90
94
  events.push({ type: EventType.CUSTOM, name: "plurnk.send", value: { signal: e.signal, status: e.status_rx, coordinate: e.coordinate } });
91
95
  return events;
92
96
  }
93
- if (e.op === "model") {
94
- // The mirror row is forensic EXCEPT the reasoning-item core is REQUIRED to surface
95
- // (#482, DIVERGENCES row 3 = reasoning CONVERGED, no exception for its representation).
96
- // agui consumes the OpenAI/AG-UI reasoning-item shape VERBATIM — this is a hard
97
- // interface to the standard, deliberately BROKEN against the bespoke {data,format}
98
- // carrier: it lights up only when the seam delivers { id, subtype, encrypted } (the
99
- // forcing function — the gap is core's to close, not agui's to translate around).
100
- // The standard is a LIST of reasoning items (a turn can carry N, each its own
101
- // entity/id) — agui consumes the array. A single item object is tolerated as a
102
- // one-element list (core's current single-object write, #482 residual); the array
103
- // is the target core must relay to serve multi-item turns. Each well-formed item
104
- // projects its OWN correlated span; the id/subtype come from the seam, never invented.
105
- for (const r of Translator.#reasoningItems(e.attrs)) {
106
- if (r.encrypted.length === 0)
107
- continue;
108
- events.push({ type: EventType.REASONING_START, messageId: r.id });
109
- for (const blob of r.encrypted)
110
- events.push({ type: EventType.REASONING_ENCRYPTED_VALUE, subtype: r.subtype, entityId: r.id, encryptedValue: blob.data });
111
- events.push({ type: EventType.REASONING_END, messageId: r.id });
97
+ if (e.op === null) {
98
+ if (!Translator.#isModelEmission(e.attrs)) {
99
+ throw new TypeError("An actionless model-origin row must carry attrs.kind=model_emission.");
100
+ }
101
+ const assistant = this.#assistantMessage;
102
+ this.#assistantMessage = null;
103
+ const encrypted = Translator.#messageEncryptedValues(e.attrs);
104
+ if (assistant !== null
105
+ && typeof e.turn_id === "number"
106
+ && assistant.turnId === e.turn_id
107
+ && encrypted.length === 1) {
108
+ events.push({
109
+ type: EventType.REASONING_ENCRYPTED_VALUE,
110
+ subtype: "message",
111
+ entityId: assistant.id,
112
+ encryptedValue: encrypted[0],
113
+ });
112
114
  }
113
115
  return events;
114
116
  }
@@ -122,6 +124,7 @@ export default class Translator {
122
124
  return events;
123
125
  }
124
126
  terminated(n) {
127
+ const result = Validator.assertOperationResult(n.result);
125
128
  const events = [];
126
129
  if (this.#currentTurn !== null) {
127
130
  events.push({ type: EventType.STEP_FINISHED, stepName: `turn-${this.#currentTurn}` });
@@ -137,10 +140,10 @@ export default class Translator {
137
140
  ],
138
141
  });
139
142
  // Family channel — the full terminal truth the core STATE_DELTA can't hold
140
- // (loopId, turnIds, costUsd, usage meta) PLUS the daemon workspaceId, so a
143
+ // (loopId, turnIds, costUsd, usage meta, attribution) PLUS the daemon workspaceId, so a
141
144
  // plurnk client rebuilds its json record from the stream with ONE schema
142
145
  // across transports (WS or bridge) — no second round-trip. Numbers verbatim
143
- // (§agui-numbers-passthrough). Generic frontends ignore it; the RUN_FINISHED/
146
+ // ({§agui-numbers-passthrough}). Generic frontends ignore it; the RUN_FINISHED/
144
147
  // RUN_ERROR below is their terminal signal.
145
148
  events.push({ type: EventType.CUSTOM, name: "plurnk.terminated", value: { ...n, workspaceId: this.#workspaceId } });
146
149
  // The standard RAW channel (§475): the provider's NATIVE completion frame rides
@@ -150,36 +153,70 @@ export default class Translator {
150
153
  if (n.usage.meta !== undefined && n.usage.meta !== null && Object.keys(n.usage.meta).length > 0) {
151
154
  events.push({ type: EventType.RAW, event: n.usage.meta, source: "provider" });
152
155
  }
153
- if (n.finalStatus === 200) {
156
+ if (result.status === 200) {
154
157
  events.push({ type: EventType.RUN_FINISHED, threadId: this.#threadId, runId: this.#runId, outcome: { type: "success" } });
155
158
  }
156
159
  else {
157
- events.push({ type: EventType.RUN_ERROR, message: `loop terminated ${n.finalStatus}${n.hitMaxTurns ? " (maxTurns)" : ""}`, code: String(n.finalStatus) });
160
+ events.push({
161
+ type: EventType.RUN_ERROR,
162
+ message: result.problem.detail,
163
+ code: result.problem.type,
164
+ });
158
165
  }
159
166
  return events;
160
167
  }
161
- // §agui-replay — the workspace log as AG-UI history: model SENDs become assistant messages
162
- // (the conversation's spine); everything else stays reachable through live plurnk.row
163
- // rendering, not duplicated into message history. Wire rows arrive as the log.read
164
- // projection (tx parsed).
168
+ // {§agui-replay} — the workspace log as AG-UI history: model PLANs retain their
169
+ // activity identity and model SENDs become assistant messages. Everything else
170
+ // stays reachable through live plurnk.row rendering. Wire rows arrive as the
171
+ // log.read projection (tx parsed).
165
172
  replay(entries) {
166
173
  const messages = [];
174
+ const assistantByTurn = new Map();
175
+ const encryptedByTurn = new Map();
167
176
  for (const e of entries) {
168
- if (e.op === "SEND" && e.origin === "model") {
169
- const text = Translator.#txBody(e.tx);
170
- if (text.length > 0)
171
- messages.push({ id: String(e.coordinate ?? e.id), role: "assistant", content: text });
177
+ if (e.origin !== "model")
178
+ continue;
179
+ const id = String(e.coordinate ?? e.id);
180
+ const text = Translator.#txBody(e.tx);
181
+ if (e.op === "PLAN")
182
+ messages.push({ id, role: "activity", activityType: "PLAN", content: { goals: text } });
183
+ if (e.op === "SEND") {
184
+ const message = { id, role: "assistant", content: text };
185
+ messages.push(message);
186
+ if (typeof e.turn_id === "number") {
187
+ const sequence = typeof e.sequence === "number" ? e.sequence : Number.NEGATIVE_INFINITY;
188
+ const prior = assistantByTurn.get(e.turn_id);
189
+ if (prior === undefined || sequence >= prior.sequence) {
190
+ assistantByTurn.set(e.turn_id, { message, sequence });
191
+ }
192
+ }
172
193
  }
194
+ if (e.op === null) {
195
+ if (!Translator.#isModelEmission(e.attrs)) {
196
+ throw new TypeError("An actionless model-origin replay row must carry attrs.kind=model_emission.");
197
+ }
198
+ }
199
+ if (e.op === null && typeof e.turn_id === "number") {
200
+ const values = Translator.#messageEncryptedValues(e.attrs);
201
+ if (values.length > 0) {
202
+ encryptedByTurn.set(e.turn_id, [...(encryptedByTurn.get(e.turn_id) ?? []), ...values]);
203
+ }
204
+ }
205
+ }
206
+ for (const [turnId, values] of encryptedByTurn) {
207
+ const assistant = assistantByTurn.get(turnId)?.message;
208
+ if (assistant !== undefined && values.length === 1)
209
+ assistant.encryptedValue = values[0];
173
210
  }
174
211
  return [{ type: EventType.MESSAGES_SNAPSHOT, messages }];
175
212
  }
176
- telemetry(event) {
177
- return [{ type: EventType.CUSTOM, name: "plurnk.telemetry", value: event }];
213
+ notice(notice) {
214
+ return [{ type: EventType.CUSTOM, name: "plurnk.notice", value: notice }];
178
215
  }
179
- // Core carries an array of OpenAI/AG-UI reasoning items because a turn can
180
- // contain multiple reasoning entities. Invalid shapes and uncorrelatable
181
- // items are dropped; the projection never invents an id or subtype.
182
- static #reasoningItems(attrs) {
216
+ // {§agui-encrypted-reasoning} Preserve detail identity/cardinality on the
217
+ // row; return only nonempty values whose provider classification can target
218
+ // an assistant message. The caller projects only a singular result.
219
+ static #messageEncryptedValues(attrs) {
183
220
  const parsed = typeof attrs === "string" ? (() => { try {
184
221
  return JSON.parse(attrs);
185
222
  }
@@ -188,21 +225,28 @@ export default class Translator {
188
225
  } })() : attrs;
189
226
  const raw = parsed?.reasoning;
190
227
  const list = Array.isArray(raw) ? raw : [];
191
- const out = [];
192
- for (const e of list) {
193
- const r = e;
194
- // id null/absent (core allows `id: string | null`) or an unknown subtype = uncorrelatable
195
- // → DROP the item: agui never coins an id or coerces a subtype to fake a conformant event.
196
- if (typeof r.id !== "string" || r.id.length === 0)
197
- continue;
198
- if (r.subtype !== "message" && r.subtype !== "tool-call")
199
- continue;
200
- const encrypted = Array.isArray(r.encrypted)
201
- ? r.encrypted.filter((b) => typeof b?.data === "string" && b.data.length > 0)
202
- : [];
203
- out.push({ id: r.id, subtype: r.subtype, encrypted });
204
- }
205
- return out;
228
+ return list.flatMap((value) => {
229
+ const item = value;
230
+ if (item.subtype !== "message" || !Array.isArray(item.encrypted))
231
+ return [];
232
+ return item.encrypted.flatMap((blob) => {
233
+ const data = blob?.data;
234
+ return typeof data === "string" && data.length > 0 ? [data] : [];
235
+ });
236
+ });
237
+ }
238
+ static #isModelEmission(attrs) {
239
+ const parsed = typeof attrs === "string"
240
+ ? (() => { try {
241
+ return JSON.parse(attrs);
242
+ }
243
+ catch {
244
+ return null;
245
+ } })()
246
+ : attrs;
247
+ return parsed !== null
248
+ && typeof parsed === "object"
249
+ && parsed.kind === "model_emission";
206
250
  }
207
251
  // The model-facing statement body out of the tx — SEND/PLAN carry their text here. The real
208
252
  // wire ships tx PARSED (an object); a string is tolerated and parsed for robustness.
@@ -1 +1 @@
1
- {"version":3,"file":"Translator.js","sourceRoot":"","sources":["../src/Translator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Translator.js","sourceRoot":"","sources":["../src/Translator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export interface ModuleOptions {
2
+ readonly host: string;
3
+ readonly port: number;
4
+ readonly token?: string;
5
+ readonly maxTurns?: number;
6
+ readonly heartbeatMs?: number;
7
+ readonly env?: NodeJS.ProcessEnv;
8
+ }
9
+ export interface ResolvedModuleOptions {
10
+ readonly host: string;
11
+ readonly port: number;
12
+ readonly token: string;
13
+ readonly maxTurns?: number;
14
+ readonly heartbeatMs: number;
15
+ }
16
+ export declare const resolveModuleOptions: (options: ModuleOptions) => ResolvedModuleOptions;
17
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAChC;AAsBD,eAAO,MAAM,oBAAoB,YAAa,aAAa,KAAG,qBAoB7D,CAAC"}
package/dist/config.js ADDED
@@ -0,0 +1,30 @@
1
+ const MAX_TIMER_MS = 2_147_483_647;
2
+ const safeInteger = (raw, name, minimum, maximum = Number.MAX_SAFE_INTEGER) => {
3
+ const value = typeof raw === "number" ? raw : typeof raw === "string" && raw.length > 0 ? Number(raw) : Number.NaN;
4
+ if (!Number.isSafeInteger(value) || value < minimum || value > maximum) {
5
+ throw new Error(`${name} must be a safe integer from ${minimum} through ${maximum}; got ${JSON.stringify(raw)}.`);
6
+ }
7
+ return value;
8
+ };
9
+ const environmentMaxTurns = (raw) => {
10
+ if (raw === undefined || raw === "")
11
+ return undefined;
12
+ return safeInteger(raw, "PLURNK_AGUI_MAX_TURNS", -1);
13
+ };
14
+ export const resolveModuleOptions = (options) => {
15
+ const env = options.env === undefined ? process.env : options.env;
16
+ const token = options.token === undefined ? env.PLURNK_AGUI_TOKEN ?? "" : options.token;
17
+ if (typeof token !== "string") {
18
+ throw new Error(`ModuleOptions.token must be a string; got ${JSON.stringify(token)}.`);
19
+ }
20
+ return {
21
+ host: options.host,
22
+ port: options.port,
23
+ token,
24
+ maxTurns: options.maxTurns === undefined
25
+ ? environmentMaxTurns(env.PLURNK_AGUI_MAX_TURNS)
26
+ : safeInteger(options.maxTurns, "ModuleOptions.maxTurns", -1),
27
+ heartbeatMs: safeInteger(options.heartbeatMs === undefined ? env.PLURNK_AGUI_HEARTBEAT_MS : options.heartbeatMs, options.heartbeatMs === undefined ? "PLURNK_AGUI_HEARTBEAT_MS" : "ModuleOptions.heartbeatMs", 0, MAX_TIMER_MS),
28
+ };
29
+ };
30
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAiBA,MAAM,YAAY,GAAG,aAAa,CAAC;AAEnC,MAAM,WAAW,GAAG,CAChB,GAAY,EACZ,IAAY,EACZ,OAAe,EACf,OAAO,GAAW,MAAM,CAAC,gBAAgB,EACnC,EAAE;IACR,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACnH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,OAAO,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,gCAAgC,OAAO,YAAY,OAAO,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtH,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,GAAuB,EAAsB,EAAE;IACxE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACtD,OAAO,WAAW,CAAC,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAsB,EAAyB,EAAE;IAClF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACxF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,6CAA6C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO;QACH,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,SAAS;YACpC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,qBAAqB,CAAC;YAChD,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;QACjE,WAAW,EAAE,WAAW,CACpB,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EACtF,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,2BAA2B,EAC5F,CAAC,EACD,YAAY,CACf;KACJ,CAAC;AACN,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { default as Module } from "./Module.ts";
2
- export type { ModuleOptions } from "./Module.ts";
2
+ export type { ModuleOptions, ModuleRegistration } from "./Module.ts";
3
3
  export type { DaemonSeam, ClientEnvelope, PendingProposal, ProposalResolution, PlurnkStatement, LogEntryWire } from "./DaemonSeam.ts";
4
4
  export { default as Portal } from "./Portal.ts";
5
5
  export { default as EventRouter } from "./EventRouter.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACtI,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,mBAAmB,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACrE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACtI,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,mBAAmB,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { trace, type Span } from "@opentelemetry/api";
2
+ export declare const TRACER_NAME = "plurnk.agui";
3
+ export declare const aguiTracer: () => ReturnType<typeof trace.getTracer>;
4
+ export type AguiRouteTemplate = "/agui" | "preflight" | "unmatched";
5
+ export declare const aguiRouteTemplate: (method: string | undefined, url: string | undefined) => AguiRouteTemplate;
6
+ export declare const observed: <T>(name: string, attributes: Record<string, unknown>, fn: (span: Span) => Promise<T>) => Promise<T>;
7
+ export declare const observedSync: <T>(name: string, attributes: Record<string, unknown>, fn: () => T) => T;
8
+ //# sourceMappingURL=observe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":"AAKA,OAAO,EAA2B,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/E,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC,eAAO,MAAM,UAAU,QAAO,UAAU,CAAC,OAAO,KAAK,CAAC,SAAS,CAAiC,CAAC;AAEjG,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC;AAEpE,eAAO,MAAM,iBAAiB,WAClB,MAAM,GAAG,SAAS,OACrB,MAAM,GAAG,SAAS,KACxB,iBAIF,CAAC;AAiBF,eAAO,MAAM,QAAQ,GAAU,CAAC,QACtB,MAAM,cACA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAC/B,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAC/B,OAAO,CAAC,CAAC,CAUX,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,CAAC,QACpB,MAAM,cACA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAC/B,MAAM,CAAC,KACZ,CAUF,CAAC"}
@@ -0,0 +1,56 @@
1
+ // The AG-UI observational boundary ({§observability-boundary}). This package
2
+ // depends only on the OTel API; the daemon initializes any SDK. Default state is
3
+ // the no-op API. Attributes carry identifiers/statuses only — prompts, payloads,
4
+ // and arbitrary URLs never enter spans here.
5
+ import { context, SpanStatusCode, trace } from "@opentelemetry/api";
6
+ export const TRACER_NAME = "plurnk.agui";
7
+ export const aguiTracer = () => trace.getTracer(TRACER_NAME);
8
+ export const aguiRouteTemplate = (method, url) => {
9
+ if (method === "OPTIONS")
10
+ return "preflight";
11
+ if (method === "POST" && (url === "/" || url === "/agui"))
12
+ return "/agui";
13
+ return "unmatched";
14
+ };
15
+ const MAX_STRING_LENGTH = 300;
16
+ const sanitize = (attributes) => {
17
+ const out = {};
18
+ for (const [key, value] of Object.entries(attributes)) {
19
+ if (value === undefined)
20
+ continue;
21
+ if (typeof value === "string") {
22
+ out[key] = value.length <= MAX_STRING_LENGTH ? value : value.slice(0, MAX_STRING_LENGTH);
23
+ }
24
+ else if (typeof value === "number" || typeof value === "boolean") {
25
+ out[key] = value;
26
+ }
27
+ }
28
+ return out;
29
+ };
30
+ export const observed = async (name, attributes, fn) => {
31
+ const span = aguiTracer().startSpan(name, { attributes: sanitize(attributes) });
32
+ try {
33
+ return await context.with(trace.setSpan(context.active(), span), () => fn(span));
34
+ }
35
+ catch (err) {
36
+ span.setStatus({ code: SpanStatusCode.ERROR });
37
+ throw err;
38
+ }
39
+ finally {
40
+ span.end();
41
+ }
42
+ };
43
+ export const observedSync = (name, attributes, fn) => {
44
+ const span = aguiTracer().startSpan(name, { attributes: sanitize(attributes) });
45
+ try {
46
+ return fn();
47
+ }
48
+ catch (err) {
49
+ span.setStatus({ code: SpanStatusCode.ERROR });
50
+ throw err;
51
+ }
52
+ finally {
53
+ span.end();
54
+ }
55
+ };
56
+ //# sourceMappingURL=observe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observe.js","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  export { EventType } from "@ag-ui/core";
2
- export type { AGUIEvent as AguiEvent, RunAgentInput } from "@ag-ui/core";
2
+ export type { AGUIEvent as AguiEvent, ActivityMessage, AssistantMessage, RunAgentInput, } from "@ag-ui/core";
3
+ import type { OperationResult, ProposalProjection, ProviderCost } from "@plurnk/plurnk-contracts";
3
4
  export interface LogEntryNotification {
4
5
  entry: {
5
6
  id: number;
6
7
  coordinate?: string;
7
- op: string;
8
+ op: string | null;
8
9
  origin: string;
9
10
  suffix?: string;
10
11
  signal?: unknown;
@@ -15,35 +16,24 @@ export interface LogEntryNotification {
15
16
  status_rx?: number;
16
17
  turn_id?: number;
17
18
  expanded?: number;
18
- attrs?: string | null;
19
+ attrs?: unknown;
19
20
  };
20
21
  }
21
- export interface ProposalNotification {
22
- logEntryId: number;
23
- workspaceId: number;
24
- workerId: number;
25
- loopId: number;
26
- turnId: number;
27
- op: string;
28
- target: {
29
- scheme: string | null;
30
- pathname: string | null;
31
- };
32
- body: string;
33
- attrs: Record<string, unknown>;
34
- flags: Record<string, unknown>;
35
- staleClobberRisk?: boolean;
36
- }
22
+ export type ProposalNotification = ProposalProjection;
37
23
  export interface TerminatedNotification {
38
24
  workerId: number;
39
25
  loopId: number;
40
- finalStatus: number;
26
+ result: OperationResult;
41
27
  hitMaxTurns: boolean;
42
28
  turnIds: number[];
29
+ attributions: string[];
43
30
  usage: {
44
31
  promptTokens: number;
45
32
  completionTokens: number;
46
- costUsd: number;
33
+ reasoningTokens: number;
34
+ cachedTokens: number;
35
+ costUsd: number | null;
36
+ costs: ProviderCost[];
47
37
  contextTokens: number;
48
38
  promptBudget: number | null;
49
39
  meta: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,SAAS,IAAI,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIzE,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAEzB,EAAE,CAAC,EAAE,OAAO,CAAC;QACb,EAAE,CAAC,EAAE,OAAO,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,CAAC;CACL;AAED,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE;QACH,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC;CACL"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EACR,SAAS,IAAI,SAAS,EACtB,eAAe,EACf,gBAAgB,EAChB,aAAa,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlG,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAEzB,EAAE,CAAC,EAAE,OAAO,CAAC;QACb,EAAE,CAAC,EAAE,OAAO,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACL;AAED,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEtD,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,eAAe,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE;QACH,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,EAAE,YAAY,EAAE,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC;CACL"}
package/dist/types.js CHANGED
@@ -3,6 +3,6 @@
3
3
  //
4
4
  // Plurnk-specific richness the core vocabulary can't hold (fold state, coordinates, tags,
5
5
  // proposals) rides CUSTOM events under the `plurnk.` namespace — generic frontends skip them,
6
- // plurnk-aware frontends render them richly (§agui-custom-namespace).
6
+ // plurnk-aware frontends render them richly ({§agui-custom-namespace}).
7
7
  export { EventType } from "@ag-ui/core";
8
8
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,qDAAqD;AACrD,EAAE;AACF,0FAA0F;AAC1F,8FAA8F;AAC9F,sEAAsE;AAEtE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,qDAAqD;AACrD,EAAE;AACF,0FAA0F;AAC1F,8FAA8F;AAC9F,wEAAwE;AAExE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}