@plurnk/plurnk-agui 1.3.12 → 1.4.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 +285 -88
  4. package/dist/AguiPlus.d.ts +2 -1
  5. package/dist/AguiPlus.d.ts.map +1 -1
  6. package/dist/AguiPlus.js +5 -5
  7. package/dist/AguiPlus.js.map +1 -1
  8. package/dist/DaemonSeam.d.ts +13 -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 +425 -158
  18. package/dist/Module.js.map +1 -1
  19. package/dist/Portal.d.ts +1 -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 +90 -69
  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 +8 -20
  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,7 +1,7 @@
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
6
  // log/entry other (model) → TOOL_CALL_START/ARGS/END + TOOL_CALL_RESULT (an op row IS a
7
7
  // tool call: tx is the args, rx the result, coordinate the id)
@@ -11,12 +11,14 @@
11
11
  // loop/proposal → owned by ProposalHitl (tool call + AG-UI interrupt)
12
12
  // loop/terminated → STATE_DELTA (budget truth) + RUN_FINISHED or RUN_ERROR
13
13
  // Numbers are passed through verbatim, never recomputed — the daemon's gauge is the gauge
14
- // (§agui-numbers-passthrough).
15
- import { EventType } from "./types.js";
14
+ // ({§agui-numbers-passthrough}).
15
+ import { EventType, } from "./types.js";
16
+ import { Validator } from "@plurnk/plurnk-contracts";
16
17
  export default class Translator {
17
18
  #threadId;
18
- #runId; // AG-UI's run id (echoed from RunAgentInput.runId) — the standard face
19
+ #runId; // AG-UI's Run id (echoed from RunAgentInput.runId) — the standard face
19
20
  #currentTurn = null;
21
+ #assistantMessage = null;
20
22
  #modelWorkerId;
21
23
  #workspaceId;
22
24
  constructor(args) {
@@ -35,18 +37,18 @@ export default class Translator {
35
37
  logEntry(n) {
36
38
  const e = n.entry;
37
39
  const events = [];
38
- // §agui-topology-scope — the workspace broadcast carries EVERY worker's rows (workers, the
40
+ // {§agui-topology-scope} — the workspace broadcast carries EVERY worker's rows (workers, the
39
41
  // plurnk worker, siblings); only the THREAD's model worker projects onto the core vocabulary.
40
42
  // Everything else rides plurnk.row/plurnk.ambient — visible to rich clients as topology,
41
43
  // never interleaved into the conversation a generic frontend renders.
42
44
  const workerId = e.worker_id;
43
45
  // 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
46
+ // loop worker's drain, so a fresh thread adopts its first model-origin row's worker as the
45
47
  // model worker (workers spawn FROM it later; reattach seeds it from workspace.workers instead).
46
48
  if (this.#modelWorkerId === null && e.origin === "model" && typeof workerId === "number")
47
49
  this.#modelWorkerId = workerId;
48
50
  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:
51
+ // {§agui-row-channel} — the FULL wire row rides plurnk.row alongside the core projection:
50
52
  // fold state, tags-in-signal, tokens, coordinates — everything the TUI/nvim render that
51
53
  // the core vocabulary can't hold. Rich clients render from plurnk.row; generic clients
52
54
  // never see the difference. This is the metadata channel the exclusive-portal migration
@@ -60,6 +62,7 @@ export default class Translator {
60
62
  if (this.#currentTurn !== null)
61
63
  events.push({ type: EventType.STEP_FINISHED, stepName: `turn-${this.#currentTurn}` });
62
64
  this.#currentTurn = e.turn_id;
65
+ this.#assistantMessage = null;
63
66
  events.push({ type: EventType.STEP_STARTED, stepName: `turn-${e.turn_id}` });
64
67
  }
65
68
  if (e.origin !== "model") {
@@ -68,21 +71,20 @@ export default class Translator {
68
71
  }
69
72
  const id = e.coordinate ?? String(e.id);
70
73
  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
74
  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 });
75
+ events.push({
76
+ type: EventType.ACTIVITY_SNAPSHOT,
77
+ messageId: id,
78
+ activityType: "PLAN",
79
+ content: { goals: text },
80
+ replace: true,
81
+ });
82
82
  return events;
83
83
  }
84
84
  if (e.op === "SEND") {
85
85
  const text = Translator.#txBody(e.tx);
86
+ if (typeof e.turn_id === "number")
87
+ this.#assistantMessage = { turnId: e.turn_id, id };
86
88
  events.push({ type: EventType.TEXT_MESSAGE_START, messageId: id, role: "assistant" });
87
89
  if (text.length > 0)
88
90
  events.push({ type: EventType.TEXT_MESSAGE_CONTENT, messageId: id, delta: text });
@@ -91,24 +93,19 @@ export default class Translator {
91
93
  return events;
92
94
  }
93
95
  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 });
96
+ const assistant = this.#assistantMessage;
97
+ this.#assistantMessage = null;
98
+ const encrypted = Translator.#messageEncryptedValues(e.attrs);
99
+ if (assistant !== null
100
+ && typeof e.turn_id === "number"
101
+ && assistant.turnId === e.turn_id
102
+ && encrypted.length === 1) {
103
+ events.push({
104
+ type: EventType.REASONING_ENCRYPTED_VALUE,
105
+ subtype: "message",
106
+ entityId: assistant.id,
107
+ encryptedValue: encrypted[0],
108
+ });
112
109
  }
113
110
  return events;
114
111
  }
@@ -122,6 +119,7 @@ export default class Translator {
122
119
  return events;
123
120
  }
124
121
  terminated(n) {
122
+ const result = Validator.assertOperationResult(n.result);
125
123
  const events = [];
126
124
  if (this.#currentTurn !== null) {
127
125
  events.push({ type: EventType.STEP_FINISHED, stepName: `turn-${this.#currentTurn}` });
@@ -137,10 +135,10 @@ export default class Translator {
137
135
  ],
138
136
  });
139
137
  // 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
138
+ // (loopId, turnIds, costUsd, usage meta, attribution) PLUS the daemon workspaceId, so a
141
139
  // plurnk client rebuilds its json record from the stream with ONE schema
142
140
  // across transports (WS or bridge) — no second round-trip. Numbers verbatim
143
- // (§agui-numbers-passthrough). Generic frontends ignore it; the RUN_FINISHED/
141
+ // ({§agui-numbers-passthrough}). Generic frontends ignore it; the RUN_FINISHED/
144
142
  // RUN_ERROR below is their terminal signal.
145
143
  events.push({ type: EventType.CUSTOM, name: "plurnk.terminated", value: { ...n, workspaceId: this.#workspaceId } });
146
144
  // The standard RAW channel (§475): the provider's NATIVE completion frame rides
@@ -150,36 +148,65 @@ export default class Translator {
150
148
  if (n.usage.meta !== undefined && n.usage.meta !== null && Object.keys(n.usage.meta).length > 0) {
151
149
  events.push({ type: EventType.RAW, event: n.usage.meta, source: "provider" });
152
150
  }
153
- if (n.finalStatus === 200) {
151
+ if (result.status === 200) {
154
152
  events.push({ type: EventType.RUN_FINISHED, threadId: this.#threadId, runId: this.#runId, outcome: { type: "success" } });
155
153
  }
156
154
  else {
157
- events.push({ type: EventType.RUN_ERROR, message: `loop terminated ${n.finalStatus}${n.hitMaxTurns ? " (maxTurns)" : ""}`, code: String(n.finalStatus) });
155
+ events.push({
156
+ type: EventType.RUN_ERROR,
157
+ message: result.problem.detail,
158
+ code: result.problem.type,
159
+ });
158
160
  }
159
161
  return events;
160
162
  }
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).
163
+ // {§agui-replay} — the workspace log as AG-UI history: model PLANs retain their
164
+ // activity identity and model SENDs become assistant messages. Everything else
165
+ // stays reachable through live plurnk.row rendering. Wire rows arrive as the
166
+ // log.read projection (tx parsed).
165
167
  replay(entries) {
166
168
  const messages = [];
169
+ const assistantByTurn = new Map();
170
+ const encryptedByTurn = new Map();
167
171
  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 });
172
+ if (e.origin !== "model")
173
+ continue;
174
+ const id = String(e.coordinate ?? e.id);
175
+ const text = Translator.#txBody(e.tx);
176
+ if (e.op === "PLAN")
177
+ messages.push({ id, role: "activity", activityType: "PLAN", content: { goals: text } });
178
+ if (e.op === "SEND") {
179
+ const message = { id, role: "assistant", content: text };
180
+ messages.push(message);
181
+ if (typeof e.turn_id === "number") {
182
+ const sequence = typeof e.sequence === "number" ? e.sequence : Number.NEGATIVE_INFINITY;
183
+ const prior = assistantByTurn.get(e.turn_id);
184
+ if (prior === undefined || sequence >= prior.sequence) {
185
+ assistantByTurn.set(e.turn_id, { message, sequence });
186
+ }
187
+ }
172
188
  }
189
+ if (e.op === "model" && typeof e.turn_id === "number") {
190
+ const values = Translator.#messageEncryptedValues(e.attrs);
191
+ if (values.length > 0) {
192
+ encryptedByTurn.set(e.turn_id, [...(encryptedByTurn.get(e.turn_id) ?? []), ...values]);
193
+ }
194
+ }
195
+ }
196
+ for (const [turnId, values] of encryptedByTurn) {
197
+ const assistant = assistantByTurn.get(turnId)?.message;
198
+ if (assistant !== undefined && values.length === 1)
199
+ assistant.encryptedValue = values[0];
173
200
  }
174
201
  return [{ type: EventType.MESSAGES_SNAPSHOT, messages }];
175
202
  }
176
- telemetry(event) {
177
- return [{ type: EventType.CUSTOM, name: "plurnk.telemetry", value: event }];
203
+ notice(notice) {
204
+ return [{ type: EventType.CUSTOM, name: "plurnk.notice", value: notice }];
178
205
  }
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) {
206
+ // {§agui-encrypted-reasoning} Preserve detail identity/cardinality on the
207
+ // row; return only nonempty values whose provider classification can target
208
+ // an assistant message. The caller projects only a singular result.
209
+ static #messageEncryptedValues(attrs) {
183
210
  const parsed = typeof attrs === "string" ? (() => { try {
184
211
  return JSON.parse(attrs);
185
212
  }
@@ -188,21 +215,15 @@ export default class Translator {
188
215
  } })() : attrs;
189
216
  const raw = parsed?.reasoning;
190
217
  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;
218
+ return list.flatMap((value) => {
219
+ const item = value;
220
+ if (item.subtype !== "message" || !Array.isArray(item.encrypted))
221
+ return [];
222
+ return item.encrypted.flatMap((blob) => {
223
+ const data = blob?.data;
224
+ return typeof data === "string" && data.length > 0 ? [data] : [];
225
+ });
226
+ });
206
227
  }
207
228
  // The model-facing statement body out of the tx — SEND/PLAN carry their text here. The real
208
229
  // 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,5 +1,6 @@
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;
@@ -15,35 +16,22 @@ 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
+ costUsd: number | null;
34
+ costs: ProviderCost[];
47
35
  contextTokens: number;
48
36
  promptBudget: number | null;
49
37
  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,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,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,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"}
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-agui",
3
- "version": "1.3.12",
3
+ "version": "1.4.0",
4
4
  "description": "AG-UI HTTP and SSE interface for the PLURNK daemon",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "git+https://github.com/plurnk/plurnk-agui.git"
9
+ "url": "git+https://github.com/plurnk/plurnk-service.git",
10
+ "directory": "plurnk-agui"
10
11
  },
11
12
  "exports": {
12
13
  ".": {
@@ -27,18 +28,22 @@
27
28
  },
28
29
  "scripts": {
29
30
  "test": "npm run test:lint && npm run test:unit && npm run test:intg",
31
+ "test:artifacts:begin": "node ../scripts/test-artifacts.mjs begin",
32
+ "pretest:intg": "npm run test:artifacts:begin",
30
33
  "test:lint": "tsc --noEmit",
31
34
  "test:unit": "node --conditions=plurnk-dev --env-file-if-exists=.env.defaults --test src/*.test.ts",
32
35
  "test:intg": "node --conditions=plurnk-dev --env-file-if-exists=.env.defaults --test test/intg/*.test.ts",
36
+ "test:clean-tmp": "node ../scripts/test-artifacts.mjs clean",
33
37
  "prepublishOnly": "npm test",
38
+ "build:clean": "rm -rf dist",
34
39
  "build:dist": "tsc -p tsconfig.build.json",
35
- "build": "npm run build:dist",
40
+ "build": "npm run build:clean && npm run build:dist",
36
41
  "prepack": "npm run build"
37
42
  },
38
43
  "devDependencies": {
39
44
  "@ag-ui/client": "0.0.57",
40
45
  "@types/ws": "8.18.1",
41
- "ws": "8.21.1"
46
+ "ws": "8.21.2"
42
47
  },
43
48
  "keywords": [
44
49
  "plurnk",
@@ -49,9 +54,9 @@
49
54
  "sse",
50
55
  "human-in-the-loop"
51
56
  ],
52
- "homepage": "https://github.com/plurnk/plurnk-agui#readme",
57
+ "homepage": "https://github.com/plurnk/plurnk-service/tree/main/plurnk-agui#readme",
53
58
  "bugs": {
54
- "url": "https://github.com/plurnk/plurnk-agui/issues"
59
+ "url": "https://repo.possumtech.com/plurnk/plurnk-service/issues"
55
60
  },
56
61
  "author": "@wikitopian",
57
62
  "publishConfig": {
@@ -59,7 +64,7 @@
59
64
  },
60
65
  "dependencies": {
61
66
  "@ag-ui/core": "^0.0.57",
62
- "@plurnk/plurnk-execs-mcp": "1.3.12",
63
- "@plurnk/plurnk-grammar": "1.3.12"
67
+ "@opentelemetry/api": "^1.9.1",
68
+ "@plurnk/plurnk-contracts": "1.4.0"
64
69
  }
65
70
  }