@plurnk/plurnk-agui 1.14.2 → 1.16.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.
@@ -0,0 +1,290 @@
1
+ // The AG-UI Run endpoint: one client run resolved to its worker, streamed, and settled. Split out of the module, which keeps the delegating entry point.
2
+ import {} from "node:http";
3
+ import Portal from "./Portal.js";
4
+ import { stateDelta, stateSnapshot, parseAction, actionResult } from "./AguiPlus.js";
5
+ import { EventType } from "./types.js";
6
+ import { RunAgentInputSchema } from "@ag-ui/core";
7
+ import {} from "@plurnk/plurnk-contracts";
8
+ import {} from "./config.js";
9
+ import { HttpProblemError, actionFailure, problemFromError } from "./action-results.js";
10
+ import { httpProblem, runErrorEvents } from "./run-events.js";
11
+ export default class RunHandler {
12
+ #seam;
13
+ #opts;
14
+ #portal;
15
+ #requiresWorkspace;
16
+ #controlRun;
17
+ #envelope;
18
+ #conversationWorker;
19
+ #workerStatus;
20
+ #action;
21
+ constructor({ seam, opts, portal, requiresWorkspace, controlRun, envelope, conversationWorker, workerStatus, action }) {
22
+ this.#seam = seam;
23
+ this.#opts = opts;
24
+ this.#portal = portal;
25
+ this.#requiresWorkspace = requiresWorkspace;
26
+ this.#controlRun = controlRun;
27
+ this.#envelope = envelope;
28
+ this.#conversationWorker = conversationWorker;
29
+ this.#workerStatus = workerStatus;
30
+ this.#action = action;
31
+ }
32
+ async run(req, res) {
33
+ let decoded;
34
+ try {
35
+ decoded = JSON.parse(await RunHandler.#body(req));
36
+ }
37
+ catch {
38
+ throw new HttpProblemError(httpProblem("invalid-json", 400, "The request body is not valid JSON.", { stage: "request-validation", retryable: false }));
39
+ }
40
+ const parsed = RunAgentInputSchema.safeParse(decoded);
41
+ if (!parsed.success) {
42
+ throw new HttpProblemError(httpProblem("invalid-run-input", 400, "The request body does not satisfy the AG-UI RunAgentInput contract.", {
43
+ stage: "request-validation",
44
+ issues: parsed.error.issues,
45
+ retryable: false,
46
+ }));
47
+ }
48
+ const input = parsed.data;
49
+ const forwarded = input.forwardedProps?.plurnk;
50
+ const mode = forwarded?.mode;
51
+ if (mode !== undefined && mode !== "sync") {
52
+ throw new HttpProblemError(httpProblem("unsupported-run-mode", 400, 'forwardedProps.plurnk.mode must be "sync" when present.', { stage: "request-validation", retryable: false }));
53
+ }
54
+ const synchronize = mode === "sync";
55
+ // Control plane FIRST: a management action that doesn't live in a world (and an
56
+ // unknown kind, which is no worker at all) answers without binding — or forging — a
57
+ // workspace. Only world-scoped actions and conversations reach #envelope below.
58
+ const action = parseAction(input.forwardedProps);
59
+ if (synchronize && (action !== null || input.resume !== undefined || input.messages.length > 0)) {
60
+ throw new HttpProblemError(httpProblem("invalid-sync-input", 400, "Conversation synchronization cannot include messages, an action, or an interrupt resume.", { stage: "request-validation", retryable: false }));
61
+ }
62
+ if (action !== null && !this.#requiresWorkspace(action.kind)) {
63
+ return await this.#controlRun(action, input, res);
64
+ }
65
+ let prompt = null;
66
+ let currentUser = null;
67
+ if (!synchronize && action === null && input.resume === undefined) {
68
+ const lastUser = [...input.messages].reverse().find((message) => message.role === "user");
69
+ if (lastUser === undefined || typeof lastUser.content !== "string" || lastUser.content.length === 0) {
70
+ throw new HttpProblemError(httpProblem("user-message-required", 400, "A new AG-UI Run requires a non-empty textual user message.", {
71
+ stage: "request-validation",
72
+ recovery: "Provide a non-empty user message.",
73
+ retryable: false,
74
+ }));
75
+ }
76
+ prompt = lastUser.content;
77
+ currentUser = lastUser;
78
+ }
79
+ const { env, reattached } = await this.#envelope(input.threadId, forwarded);
80
+ const workspaceId = env.workspaceId;
81
+ // {§agui-thread-binding} The threadId is the conversation over the
82
+ // world. threadId == workspace name binds the model worker (the default conversation);
83
+ // a distinct threadId names its own worker: found by name, else minted via
84
+ // createConversationWorker. The name is the identity at BOTH levels.
85
+ const workerId = await this.#conversationWorker(input.threadId, env);
86
+ res.writeHead(200, { "content-type": "text/event-stream", "cache-control": "no-cache", "connection": "keep-alive" });
87
+ let finished = false;
88
+ const interrupts = [];
89
+ // {§agui-configuration}: long generations can emit no events; SSE comments keep
90
+ // consumers fed without adding protocol events.
91
+ const cadence = this.#opts().heartbeatMs;
92
+ const heartbeat = cadence > 0 ? setInterval(() => { res.write(": hb\n\n"); }, cadence) : null;
93
+ const finish = () => {
94
+ if (finished)
95
+ return;
96
+ finished = true;
97
+ if (heartbeat !== null)
98
+ clearInterval(heartbeat);
99
+ this.#portal().closeRun(workspaceId, boundRun);
100
+ res.end();
101
+ };
102
+ const emit = (events) => {
103
+ for (const e of events) {
104
+ res.write(`data: ${JSON.stringify(e)}\n\n`);
105
+ // Terminate-resume, the terminate half: a stopped-world tool call
106
+ // ends this AG-UI Run while its core owner remains paused.
107
+ if (e.type === "TOOL_CALL_END") {
108
+ const interrupt = this.#portal().interruptForToolCall(e.toolCallId);
109
+ if (interrupt !== null)
110
+ interrupts.push(interrupt);
111
+ }
112
+ if (e.type === "RUN_FINISHED" || e.type === "RUN_ERROR")
113
+ finish();
114
+ }
115
+ if (interrupts.length > 0 && !finished) {
116
+ res.write(`data: ${JSON.stringify({
117
+ type: EventType.RUN_FINISHED,
118
+ threadId: input.threadId,
119
+ runId: input.runId,
120
+ outcome: { type: "interrupt", interrupts: interrupts.splice(0) },
121
+ })}\n\n`);
122
+ finish();
123
+ }
124
+ };
125
+ const lifecycleWorkerId = action?.kind === "op.exec" || action?.kind === "op.parse" ? env.workerId : workerId;
126
+ const notificationScope = action === null
127
+ ? "conversation"
128
+ : action.kind === "op.exec" || action.kind === "op.parse"
129
+ ? "operation"
130
+ : "result";
131
+ const boundRun = this.#portal().openThread({
132
+ workspaceId,
133
+ workerId: lifecycleWorkerId,
134
+ threadId: input.threadId,
135
+ notificationScope,
136
+ emit,
137
+ modelWorkerId: workerId,
138
+ inputRunId: input.runId,
139
+ ...(input.resume === undefined ? {} : { resume: input.resume }),
140
+ });
141
+ const status = await this.#workerStatus(workspaceId, workerId);
142
+ emit(this.#portal().runStarted(boundRun, stateSnapshot({ providers: this.#seam().listProviders().aliases, workspace: { id: workspaceId, name: env.workspaceName, projectRoot: env.projectRoot }, status })));
143
+ if (finished)
144
+ return;
145
+ try {
146
+ // {§agui-conversation-sync} — the existing Run endpoint can project the
147
+ // daemon's durable conversation without admitting a prompt or starting inference.
148
+ // A live Loop remains observed; an idle one settles after its snapshot.
149
+ if (synchronize) {
150
+ const history = await this.#seam().readLog({ workspaceId, workerId, limit: 1000 });
151
+ emit(this.#portal().replay(boundRun, history));
152
+ if (finished)
153
+ return;
154
+ const observing = await this.#portal().synchronize(workspaceId, boundRun);
155
+ if (observing) {
156
+ // This Run observes work it did not start. Disconnect detaches the
157
+ // observer; it must not cancel the independently-owned Loop.
158
+ res.on("close", finish);
159
+ }
160
+ return;
161
+ }
162
+ // §3 — a management-action AG-UI Run (forwardedProps.plurnk.action): execute via the
163
+ // seam; the outcome rides the workspace's CURRENT thread binding (Portal.finishRun),
164
+ // never this closure — a proposal-gated action (op.exec → 202) terminates THIS
165
+ // AG-UI Run and completes after the resume AG-UI Run rebinds the stream.
166
+ if (action !== null) {
167
+ const finishAction = (outcome) => {
168
+ const events = [actionResult(action.kind, outcome)];
169
+ // Plain action (stream still open): answer on OUR OWN stream — concurrent
170
+ // actions share a workspace, and the workspace binding is whoever bound last
171
+ // (results would cross streams). Only a proposal-pause (this stream already
172
+ // terminated) hands off to the workspace binding, which the resume AG-UI Run rebinds.
173
+ if (!finished) {
174
+ this.#portal().finishThread(boundRun, events);
175
+ return;
176
+ }
177
+ this.#portal().finishRun(workspaceId, lifecycleWorkerId, input.threadId, events);
178
+ };
179
+ void this.#action(action, env, workerId)
180
+ // One queue barrier: a dispatch's channel notifies are enqueued but not yet
181
+ // delivered when its promise resolves — drain them so Portal's stream
182
+ // bookkeeping arms BEFORE the finish decision (then stream/concluded,
183
+ // not a timer, releases any deferral).
184
+ .then(async (outcome) => { await new Promise((r) => setImmediate(r)); finishAction(outcome); })
185
+ .catch((err) => {
186
+ console.error(`AG-UI action '${action.kind}' failed:`, err);
187
+ const problem = problemFromError(err);
188
+ finishAction(problem === null
189
+ ? actionFailure("action-failed", "The action failed unexpectedly.", 500)
190
+ : { ok: false, problem });
191
+ });
192
+ res.on("close", () => {
193
+ if (finished)
194
+ return;
195
+ this.#seam().cancelDrain(lifecycleWorkerId, "client_disconnected");
196
+ finish();
197
+ });
198
+ return;
199
+ }
200
+ // AG-UI interrupt resume: this is a new AG-UI Run on the same thread. Bind it
201
+ // to the durable continuation before releasing the proposal.
202
+ if (input.resume !== undefined) {
203
+ await this.#portal().resolve(workspaceId, boundRun, input.resume);
204
+ res.on("close", finish); // client hangup on a resume just detaches; the loop is already active
205
+ return;
206
+ }
207
+ if (prompt === null)
208
+ throw new Error("conversation AG-UI Run reached dispatch without a validated prompt");
209
+ if (reattached) {
210
+ const history = await this.#seam().readLog({ workspaceId, workerId, limit: 1000 }).catch(() => null);
211
+ if (history !== null && !RunHandler.#isOriented(input, history)) {
212
+ const replayUser = currentUser === null
213
+ ? undefined
214
+ : { ...currentUser, id: `${input.runId}/user` };
215
+ emit(this.#portal().replay(boundRun, history, replayUser));
216
+ }
217
+ }
218
+ const started = await this.#portal().run(boundRun, {
219
+ workspaceId, workerId, prompt,
220
+ ...(forwarded !== undefined && Object.hasOwn(forwarded, "maxTurns")
221
+ ? { maxTurns: forwarded.maxTurns }
222
+ : this.#opts().maxTurns !== undefined ? { maxTurns: this.#opts().maxTurns } : {}),
223
+ ...(forwarded !== undefined && Object.hasOwn(forwarded, "policy")
224
+ ? { policy: forwarded.policy }
225
+ : {}),
226
+ ...(forwarded !== undefined && Object.hasOwn(forwarded, "openPaths")
227
+ ? { openPaths: forwarded.openPaths }
228
+ : {}),
229
+ // {§methods-loop-run-model} The client may still forward one explicit
230
+ // alias-or-provider/model selector. The daemon
231
+ // persists an explicit selection onto the worker and snapshots it on the
232
+ // loop; an omitted selector continues the worker's durable model.
233
+ ...(forwarded !== undefined && Object.hasOwn(forwarded, "selector")
234
+ ? { selector: forwarded.selector }
235
+ : {}),
236
+ ...(forwarded !== undefined && Object.hasOwn(forwarded, "childSelector")
237
+ ? { childSelector: forwarded.childSelector }
238
+ : {}),
239
+ });
240
+ if (started !== null && !finished) {
241
+ const currentStatus = await this.#workerStatus(workspaceId, workerId);
242
+ if (!finished) {
243
+ emit([stateDelta([{
244
+ op: "replace",
245
+ path: "/plurnk/status",
246
+ value: currentStatus,
247
+ }])]);
248
+ }
249
+ }
250
+ // A dropped SSE on a live AG-UI Run cancels the loop (hangup is the abort). A stream we
251
+ // finished ourselves — terminal event or proposal-terminate — leaves the engine
252
+ // alone (the paused loop is exactly what the resume AG-UI Run needs).
253
+ res.on("close", () => {
254
+ if (finished)
255
+ return;
256
+ this.#seam().cancelDrain(workerId, "client_disconnected");
257
+ finish();
258
+ });
259
+ }
260
+ catch (err) {
261
+ // {§agui-http-failure} After headers, the frame alone is
262
+ // not enough — the heartbeat interval and the Portal binding are live, and a
263
+ // throw that escapes past finish() leaks them forever (the drill-hang). emit()
264
+ // writes the terminal frame AND finish()es on RUN_ERROR — one door out.
265
+ const exactProblem = problemFromError(err);
266
+ if (exactProblem === null)
267
+ console.error("AG-UI Run failed:", err);
268
+ const problem = exactProblem ?? httpProblem("run-failed", 500, "The AG-UI Run failed unexpectedly.", {
269
+ stage: "run",
270
+ retryable: false,
271
+ });
272
+ this.#portal().failThread(boundRun, runErrorEvents(problem));
273
+ }
274
+ }
275
+ static #isOriented(input, history) {
276
+ const durableMessageIds = new Set(history.flatMap((entry) => entry.origin === "model" && entry.op === "SEND"
277
+ ? [String(entry.coordinate ?? entry.id)]
278
+ : []));
279
+ return input.messages.some(({ id }) => durableMessageIds.has(id));
280
+ }
281
+ static #body(req) {
282
+ return new Promise((resolve, reject) => {
283
+ let data = "";
284
+ req.on("data", (c) => { data += c.toString(); });
285
+ req.on("end", () => resolve(data));
286
+ req.on("error", reject);
287
+ });
288
+ }
289
+ }
290
+ //# sourceMappingURL=RunHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RunHandler.js","sourceRoot":"","sources":["../src/RunHandler.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type AguiEvent, type LogEntryNotification, type ReasoningEventNotification, type TerminatedNotification } from "./types.ts";
1
+ import { type AguiEvent, type LogEntryNotification, type ReasoningEventNotification, type TerminatedNotification, type UserMessage } from "./types.ts";
2
2
  import { type ApplicationLoopPacket } from "@plurnk/plurnk-contracts";
3
3
  export interface TranslatorContinuation {
4
4
  readonly currentTurn: number | null;
@@ -18,12 +18,16 @@ export default class Translator {
18
18
  workspaceId?: number | null;
19
19
  continuation?: TranslatorContinuation;
20
20
  });
21
- continuation(): TranslatorContinuation;
22
- runStarted(snapshot?: unknown): AguiEvent[];
21
+ runStarted(state?: AguiEvent): AguiEvent[];
22
+ interrupt(): {
23
+ events: AguiEvent[];
24
+ continuation: TranslatorContinuation;
25
+ };
26
+ finish(): AguiEvent[];
23
27
  logEntry(n: LogEntryNotification): AguiEvent[];
24
28
  reasoning(event: ReasoningEventNotification): AguiEvent[];
25
29
  terminated(n: TerminatedNotification): AguiEvent[];
26
- replay(entries: Array<Record<string, unknown>>): AguiEvent[];
30
+ replay(entries: Array<Record<string, unknown>>, currentUser?: UserMessage): AguiEvent[];
27
31
  notice(notice: unknown): AguiEvent[];
28
32
  packet(packet: ApplicationLoopPacket): AguiEvent[];
29
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Translator.d.ts","sourceRoot":"","sources":["../src/Translator.ts"],"names":[],"mappings":"AAkBA,OAAO,EAGH,KAAK,SAAS,EAEd,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAE/B,KAAK,sBAAsB,EAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAyC,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAE7G,MAAM,WAAW,sBAAsB;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnF,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CACpF;AAED,MAAM,CAAC,OAAO,OAAO,UAAU;;IAW3B,YAAY,IAAI,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,YAAY,CAAC,EAAE,sBAAsB,CAAC;KACzC,EAcA;IAED,YAAY,IAAI,sBAAsB,CAUrC;IAED,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE,CAK1C;IAED,QAAQ,CAAC,CAAC,EAAE,oBAAoB,GAAG,SAAS,EAAE,CAmG7C;IAED,SAAS,CAAC,KAAK,EAAE,0BAA0B,GAAG,SAAS,EAAE,CAyCxD;IAED,UAAU,CAAC,CAAC,EAAE,sBAAsB,GAAG,SAAS,EAAE,CA6CjD;IAMD,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,CAoD3D;IAED,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,CAyCnC;IAED,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,SAAS,EAAE,CAWjD;CAmHJ"}
1
+ {"version":3,"file":"Translator.d.ts","sourceRoot":"","sources":["../src/Translator.ts"],"names":[],"mappings":"AAkBA,OAAO,EAGH,KAAK,SAAS,EAEd,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAE/B,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAyC,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAE7G,MAAM,WAAW,sBAAsB;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnF,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CACpF;AAED,MAAM,CAAC,OAAO,OAAO,UAAU;;IAY3B,YAAY,IAAI,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,YAAY,CAAC,EAAE,sBAAsB,CAAC;KACzC,EAcA;IAcD,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAczC;IAED,SAAS,IAAI;QAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAAC,YAAY,EAAE,sBAAsB,CAAA;KAAE,CAUzE;IAED,MAAM,IAAI,SAAS,EAAE,CAapB;IAED,QAAQ,CAAC,CAAC,EAAE,oBAAoB,GAAG,SAAS,EAAE,CAmG7C;IAED,SAAS,CAAC,KAAK,EAAE,0BAA0B,GAAG,SAAS,EAAE,CAyCxD;IAED,UAAU,CAAC,CAAC,EAAE,sBAAsB,GAAG,SAAS,EAAE,CA8CjD;IAMD,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,CAgEtF;IAED,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,CAyCnC;IAED,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,SAAS,EAAE,CAWjD;CAqIJ"}
@@ -22,6 +22,7 @@ export default class Translator {
22
22
  #runId; // AG-UI's Run id (echoed from RunAgentInput.runId) — the standard face
23
23
  #planMessageId;
24
24
  #currentTurn = null;
25
+ #stepOpen = false;
25
26
  #assistantMessage = null;
26
27
  #modelWorkerId;
27
28
  #workspaceId;
@@ -40,7 +41,7 @@ export default class Translator {
40
41
  this.#completedReasoning = new Map(args.continuation?.completedReasoning.map(([turnId, values]) => [turnId, [...values]]) ?? []);
41
42
  this.#workspaceId = args.workspaceId ?? null;
42
43
  }
43
- continuation() {
44
+ #continuation() {
44
45
  if (this.#activeReasoning.size > 0) {
45
46
  throw new TypeError("An AG-UI interrupt cannot split an active readable-reasoning lifecycle.");
46
47
  }
@@ -51,11 +52,44 @@ export default class Translator {
51
52
  completedReasoning: [...this.#completedReasoning].map(([turnId, values]) => [turnId, [...values]]),
52
53
  };
53
54
  }
54
- runStarted(snapshot) {
55
+ runStarted(state) {
55
56
  const events = [{ type: EventType.RUN_STARTED, threadId: this.#threadId, runId: this.#runId }];
56
57
  // Spec flow: SNAPSHOT then DELTAs — the frontend's state gauge starts true, not blank.
57
- if (snapshot !== undefined)
58
- events.push({ type: EventType.STATE_SNAPSHOT, snapshot });
58
+ if (state !== undefined) {
59
+ if (state.type !== EventType.STATE_SNAPSHOT) {
60
+ throw new TypeError("An AG-UI Run's initial state must be a STATE_SNAPSHOT event.");
61
+ }
62
+ events.push(state);
63
+ }
64
+ if (this.#currentTurn !== null && !this.#stepOpen) {
65
+ events.push({ type: EventType.STEP_STARTED, stepName: `turn-${this.#currentTurn}` });
66
+ this.#stepOpen = true;
67
+ }
68
+ return events;
69
+ }
70
+ interrupt() {
71
+ if (this.#activeReasoning.size > 0) {
72
+ throw new TypeError("An AG-UI interrupt cannot split an active readable-reasoning lifecycle.");
73
+ }
74
+ const events = [];
75
+ if (this.#currentTurn !== null && this.#stepOpen) {
76
+ events.push({ type: EventType.STEP_FINISHED, stepName: `turn-${this.#currentTurn}` });
77
+ this.#stepOpen = false;
78
+ }
79
+ return { events, continuation: this.#continuation() };
80
+ }
81
+ finish() {
82
+ if (this.#activeReasoning.size > 0) {
83
+ throw new TypeError("An AG-UI Run cannot finish during an active readable-reasoning lifecycle.");
84
+ }
85
+ const events = [];
86
+ if (this.#currentTurn !== null && this.#stepOpen) {
87
+ events.push({ type: EventType.STEP_FINISHED, stepName: `turn-${this.#currentTurn}` });
88
+ }
89
+ this.#currentTurn = null;
90
+ this.#stepOpen = false;
91
+ this.#assistantMessage = null;
92
+ this.#completedReasoning.clear();
59
93
  return events;
60
94
  }
61
95
  logEntry(n) {
@@ -207,10 +241,11 @@ export default class Translator {
207
241
  terminated(n) {
208
242
  const result = Validator.assertOperationResult(n.result);
209
243
  const events = [];
210
- if (this.#currentTurn !== null) {
244
+ if (this.#currentTurn !== null && this.#stepOpen) {
211
245
  events.push({ type: EventType.STEP_FINISHED, stepName: `turn-${this.#currentTurn}` });
212
- this.#currentTurn = null;
213
246
  }
247
+ this.#currentTurn = null;
248
+ this.#stepOpen = false;
214
249
  this.#activeReasoning.clear();
215
250
  this.#completedReasoning.clear();
216
251
  events.push({
@@ -255,16 +290,25 @@ export default class Translator {
255
290
  // activity identity and model SENDs become assistant messages. Everything else
256
291
  // stays reachable through live plurnk.row rendering. Wire rows arrive as the
257
292
  // log.read projection (tx parsed).
258
- replay(entries) {
293
+ replay(entries, currentUser) {
259
294
  const messages = [];
260
295
  let currentPlan = null;
261
296
  let currentPlanPosition = 0;
262
297
  const assistantByTurn = new Map();
263
298
  const encryptedByTurn = new Map();
264
- for (const e of entries) {
299
+ const chronological = entries.toSorted((left, right) => {
300
+ const leftId = typeof left.id === "number" ? left.id : Number.MAX_SAFE_INTEGER;
301
+ const rightId = typeof right.id === "number" ? right.id : Number.MAX_SAFE_INTEGER;
302
+ return leftId - rightId;
303
+ });
304
+ for (const e of chronological) {
305
+ const id = String(e.coordinate ?? e.id);
306
+ if (e.origin === "_plurnk" && e.op === "prompt") {
307
+ messages.push({ id, role: "user", content: Translator.#resultContent(e.rx) });
308
+ continue;
309
+ }
265
310
  if (e.origin !== "model")
266
311
  continue;
267
- const id = String(e.coordinate ?? e.id);
268
312
  const text = Translator.#txBody(e.tx);
269
313
  if (e.op === "PLAN") {
270
314
  currentPlan = {
@@ -309,6 +353,9 @@ export default class Translator {
309
353
  }
310
354
  if (currentPlan !== null)
311
355
  messages.splice(currentPlanPosition, 0, currentPlan);
356
+ if (currentUser !== undefined && !messages.some(({ id }) => id === currentUser.id)) {
357
+ messages.push(currentUser);
358
+ }
312
359
  return [{ type: EventType.MESSAGES_SNAPSHOT, messages }];
313
360
  }
314
361
  notice(notice) {
@@ -361,16 +408,21 @@ export default class Translator {
361
408
  }];
362
409
  }
363
410
  #enterTurn(turnId) {
364
- if (turnId === this.#currentTurn)
365
- return [];
411
+ if (turnId === this.#currentTurn) {
412
+ if (this.#stepOpen)
413
+ return [];
414
+ this.#stepOpen = true;
415
+ return [{ type: EventType.STEP_STARTED, stepName: `turn-${turnId}` }];
416
+ }
366
417
  if (this.#activeReasoning.size > 0) {
367
418
  throw new TypeError("A new turn began while readable reasoning was still active.");
368
419
  }
369
420
  const events = [];
370
- if (this.#currentTurn !== null) {
421
+ if (this.#currentTurn !== null && this.#stepOpen) {
371
422
  events.push({ type: EventType.STEP_FINISHED, stepName: `turn-${this.#currentTurn}` });
372
423
  }
373
424
  this.#currentTurn = turnId;
425
+ this.#stepOpen = true;
374
426
  this.#assistantMessage = null;
375
427
  this.#completedReasoning.clear();
376
428
  events.push({ type: EventType.STEP_STARTED, stepName: `turn-${turnId}` });
@@ -483,6 +535,24 @@ export default class Translator {
483
535
  return "";
484
536
  return JSON.stringify(v);
485
537
  }
538
+ static #resultContent(value) {
539
+ let parsed = value;
540
+ if (typeof parsed === "string") {
541
+ const raw = parsed;
542
+ try {
543
+ parsed = JSON.parse(parsed);
544
+ }
545
+ catch {
546
+ return raw;
547
+ }
548
+ }
549
+ if (parsed !== null && typeof parsed === "object") {
550
+ const content = parsed.content;
551
+ if (typeof content === "string")
552
+ return content;
553
+ }
554
+ throw new TypeError("A prompt replay row must carry textual rx.content.");
555
+ }
486
556
  // Tool-call args: the op's addressing + body as one JSON string (AG-UI streams args as deltas;
487
557
  // a dispatched plurnk op is atomic, so the whole args object arrives as one delta).
488
558
  static #argsFor(e) {
@@ -1 +1 @@
1
- {"version":3,"file":"Translator.js","sourceRoot":"","sources":["../src/Translator.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,mGAAmG;AACnG,oCAAoC;AACpC,qFAAqF;AACrF,kGAAkG;AAClG,mFAAmF;AACnF,yFAAyF;AACzF,gFAAgF;AAChF,8FAA8F;AAC9F,+FAA+F;AAC/F,0FAA0F;AAC1F,2FAA2F;AAC3F,6DAA6D;AAC7D,sFAAsF;AACtF,yFAAyF;AACzF,0FAA0F;AAC1F,iCAAiC;AAEjC,OAAO,EACH,SAAS,GAQZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,SAAS,EAA4C,MAAM,0BAA0B,CAAC;AAS7G,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,SAAS,CAAS;IAClB,MAAM,CAAS,CAAG,uEAAuE;IACzF,cAAc,CAAS;IACvB,YAAY,GAAkB,IAAI,CAAC;IACnC,iBAAiB,GAA0C,IAAI,CAAC;IAChE,cAAc,CAAgB;IAC9B,YAAY,CAAgB;IAC5B,gBAAgB,GAAG,IAAI,GAAG,EAA2G,CAAC;IACtI,mBAAmB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAElD,YAAY,IAMX;QACG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,GAAG,IAAI,CAAC,QAAQ,OAAO,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,IAAI,IAAI,CAAC;QAC3D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,EAAE,gBAAgB,KAAK,IAAI;eAC9D,IAAI,CAAC,YAAY,EAAE,gBAAgB,KAAK,SAAS;YACpD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;QAChD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;QACrF,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,CAC9B,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAC/F,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;IACjD,CAAC;IAED,YAAY;QACR,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QACnG,CAAC;QACD,OAAO;YACH,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE;YACxF,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,kBAAkB,EAAE,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;SACrG,CAAC;IACN,CAAC;IAED,UAAU,CAAC,QAAkB;QACzB,MAAM,MAAM,GAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5G,uFAAuF;QACvF,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,QAAQ,CAAC,CAAuB;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QAClB,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,KAAK,MAAM;YAClC,CAAC,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,WAAW,GAAG,cAAc,KAAK,IAAI;YACvC,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC;QACtC,6FAA6F;QAC7F,8FAA8F;QAC9F,yFAAyF;QACzF,sEAAsE;QACtE,MAAM,QAAQ,GAAI,CAA4B,CAAC,SAAS,CAAC;QACzD,8FAA8F;QAC9F,2FAA2F;QAC3F,gGAAgG;QAChG,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QACzH,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,cAAc,CAAC;QACjH,uGAAuG;QACvG,+FAA+F;QAC/F,4FAA4F;QAC5F,mFAAmF;QACnF,wDAAwD;QACxD,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAW,CAAC;QACxF,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YACpF,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,2EAA2E;QAC3E,yEAAyE;QACzE,gFAAgF;QAChF,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC;QAC/D,IAAI,CAAC,cAAc;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YACpF,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,SAAS,CAAC,iBAAiB;gBACjC,SAAS,EAAE,IAAI,CAAC,cAAc;gBAC9B,YAAY,EAAE,MAAM;gBACpB,OAAO,EAAE,cAAc,CAAC,IAAI;gBAC5B,OAAO,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;gBAAE,IAAI,CAAC,iBAAiB,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;YACtF,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;gBAC1C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE;gBAC/C,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,gBAAgB,GAAG,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC;mBAC7C,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,gBAAgB,IAAI,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAChG,IAAI,CAAC,gBAAgB;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,wBAAwB,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5F,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;gBAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9E,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,kBAAkB,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YACtF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,oBAAoB,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACvG,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,gBAAgB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACzI,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,SAAS,CAAC,kFAAkF,CAAC,CAAC;YAC5G,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACzC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,MAAM,SAAS,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9D,IACI,SAAS,KAAK,IAAI;mBACf,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;mBAC7B,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO;mBAC9B,SAAS,CAAC,MAAM,KAAK,CAAC,EAC3B,CAAC;gBACC,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,SAAS,CAAC,yBAAyB;oBACzC,OAAO,EAAE,SAAS;oBAClB,QAAQ,EAAE,SAAS,CAAC,EAAE;oBACtB,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;iBAC/B,CAAC,CAAC;YACP,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,eAAe,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,cAAc,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/F,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,gBAAgB,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAClH,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,SAAS,CAAC,KAAiC;QACvC,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI;YAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC;QACvE,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,cAAc,KAAK,CAAC,WAAW,YAAY,KAAK,CAAC,eAAe,YAAY,CAAC;QAC/F,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,SAAS,CAAC,wBAAwB,KAAK,CAAC,WAAW,sCAAsC,CAAC,CAAC;YACzG,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE;gBACzC,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,SAAS;gBACT,OAAO,EAAE,EAAE;aACd,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CACP,EAAE,IAAI,EAAE,SAAS,CAAC,eAAe,EAAE,SAAS,EAAE,EAC9C,EAAE,IAAI,EAAE,SAAS,CAAC,uBAAuB,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAC5E,CAAC;YACF,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,KAAK,KAAK,CAAC,eAAe,EAAE,CAAC;YAC3E,MAAM,IAAI,SAAS,CAAC,wBAAwB,KAAK,CAAC,WAAW,YAAY,KAAK,CAAC,eAAe,YAAY,KAAK,CAAC,KAAK,mBAAmB,CAAC,CAAC;QAC9I,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YACnE,MAAM,IAAI,SAAS,CAAC,wBAAwB,KAAK,CAAC,WAAW,qCAAqC,CAAC,CAAC;QACxG,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC;YAC9B,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,yBAAyB,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5G,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACtD,OAAO;YACH,EAAE,IAAI,EAAE,SAAS,CAAC,qBAAqB,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE;YACtE,EAAE,IAAI,EAAE,SAAS,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE;SACjE,CAAC;IACN,CAAC;IAED,UAAU,CAAC,CAAyB;QAChC,MAAM,MAAM,GAAG,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACtF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,SAAS,CAAC,WAAW;YAC3B,KAAK,EAAE;gBACH,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC1G,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;gBACjE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,IAAI,EAAE;gBAC/D,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE;gBAChF,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE;gBAChF,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE;gBAC9E,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE;aACrF;SACJ,CAAC,CAAC;QACH,2EAA2E;QAC3E,4GAA4G;QAC5G,yEAAyE;QACzE,4EAA4E;QAC5E,gFAAgF;QAChF,4CAA4C;QAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACpH,gFAAgF;QAChF,mFAAmF;QACnF,6EAA6E;QAC7E,8EAA8E;QAC9E,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9F,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC9H,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,SAAS,CAAC,SAAS;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAQ,CAAC,MAAM;gBAC/B,IAAI,EAAE,MAAM,CAAC,OAAQ,CAAC,IAAI;aAC7B,CAAC,CAAC;QACP,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,gFAAgF;IAChF,+EAA+E;IAC/E,6EAA6E;IAC7E,mCAAmC;IACnC,MAAM,CAAC,OAAuC;QAC1C,MAAM,QAAQ,GAAiE,EAAE,CAAC;QAClF,IAAI,WAAW,GAA2B,IAAI,CAAC;QAC/C,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAC5B,MAAM,eAAe,GAAG,IAAI,GAAG,EAA2D,CAAC;QAC3F,MAAM,eAAe,GAAG,IAAI,GAAG,EAAoB,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO;gBAAE,SAAS;YACnC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;gBAClB,WAAW,GAAG;oBACV,EAAE,EAAE,IAAI,CAAC,cAAc;oBACvB,IAAI,EAAE,UAAU;oBAChB,YAAY,EAAE,MAAM;oBACpB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpC,CAAC;gBACF,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC1C,CAAC;YACD,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;gBAClB,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,MAAM,OAAO,GAAqB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC3E,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;oBACxF,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBAC7C,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACpD,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC1D,CAAC;gBACL,CAAC;YACL,CAAC;YACD,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtC,MAAM,IAAI,SAAS,CAAC,yFAAyF,CAAC,CAAC;gBACnH,CAAC;YACL,CAAC;YACD,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACjD,MAAM,MAAM,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC3D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;gBAC3F,CAAC;YACL,CAAC;QACL,CAAC;QACD,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;YACvD,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,WAAW,KAAK,IAAI;YAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;QAC/E,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,MAAe;QAClB,MAAM,MAAM,GAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/F,MAAM,KAAK,GAAG,MAQb,CAAC;QACF,IAAI,KAAK,CAAC,MAAM,KAAK,mBAAmB,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;YAAE,OAAO,MAAM,CAAC;QAC3F,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,CAAC;gBACX,IAAI,EAAE,SAAS,CAAC,WAAW;gBAC3B,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aAC3E,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,WAAW,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;eACpF,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;eACnC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;eAC/B,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;eACjC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,CAAC,OAAO,CAAC;gBACX,IAAI,EAAE,SAAS,CAAC,WAAW;gBAC3B,KAAK,EAAE,CAAC;wBACJ,EAAE,EAAE,SAAS;wBACb,IAAI,EAAE,yBAAyB;wBAC/B,KAAK,EAAE;4BACH,IAAI,EAAE,YAAY;4BAClB,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,OAAO,EAAE,KAAK,CAAC,OAAO;yBACzB;qBACJ,CAAC;aACL,CAAC,CAAC;QACP,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,MAA6B;QAChC,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI;YAAE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;QACxE,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,CAAC;QACvD,OAAO,CAAC;gBACJ,IAAI,EAAE,SAAS,CAAC,WAAW;gBAC3B,KAAK,EAAE;oBACH,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,SAAS,EAAE;oBACrE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;oBACtE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE;iBACnF;aACJ,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CAAC,MAAc;QACrB,IAAI,MAAM,KAAK,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,SAAS,CAAC,6DAA6D,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1E,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,qDAAqD;IACrD,MAAM,CAAC,wBAAwB,CAAC,MAAc,EAAE,KAAc;QAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC/D,MAAM,SAAS,GAAG,GAAG,MAAM,YAAY,CAAC;QACxC,OAAO;YACH,EAAE,IAAI,EAAE,SAAS,CAAC,eAAe,EAAE,SAAS,EAAE;YAC9C,EAAE,IAAI,EAAE,SAAS,CAAC,uBAAuB,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;YACzE,EAAE,IAAI,EAAE,SAAS,CAAC,yBAAyB,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;YACtE,EAAE,IAAI,EAAE,SAAS,CAAC,qBAAqB,EAAE,SAAS,EAAE;YACpD,EAAE,IAAI,EAAE,SAAS,CAAC,aAAa,EAAE,SAAS,EAAE;SAC/C,CAAC;IACN,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,CAAC,uBAAuB,CAAC,KAAc;QACzC,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1H,MAAM,GAAG,GAAI,MAAyC,EAAE,SAAS,CAAC;QAClE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,KAAmD,CAAC;YACjE,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC5E,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACnC,MAAM,IAAI,GAAI,IAA2B,EAAE,IAAI,CAAC;gBAChD,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,KAAc;QAChC,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ;YACpC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACxE,CAAC,CAAC,KAAK,CAAC;QACZ,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAChE,MAAM,IAAI,GAAI,MAA6B,CAAC,IAAI,CAAC;QACjD,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,iBAAiB,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,EAAW;QACtC,IAAI,MAAM,GAAY,EAAE,CAAC;QACzB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC;gBACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,IAAI,SAAS,CAAC,oDAAoD,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAChG,CAAC;QACL,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,WAAW,GAAG,MAAiC,CAAC;QACtD,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,SAAS,CAAC,yDAAyD,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACrG,CAAC;IACL,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,EAAW;QACtB,OAAO,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC;IAED,kEAAkE;IAClE,qFAAqF;IACrF,MAAM,CAAC,OAAO,CAAC,EAAW;QACtB,IAAI,MAAM,GAAY,EAAE,CAAC;QACzB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YACzB,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC;gBAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,EAAE,CAAC;YAAC,CAAC;QACzD,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAC7D,MAAM,IAAI,GAAI,MAA6B,CAAC,IAAI,CAAC;QACjD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC1C,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAQ,IAA0B,CAAC,GAAG,KAAK,QAAQ;YAAE,OAAQ,IAAwB,CAAC,GAAG,CAAC;QAC3I,OAAO,EAAE,CAAC;IACd,CAAC;IAED,mDAAmD;IACnD,MAAM,CAAC,OAAO,CAAC,CAAU;QACrB,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,+FAA+F;IAC/F,oFAAoF;IACpF,MAAM,CAAC,QAAQ,CAAC,CAAgC;QAC5C,OAAO,IAAI,CAAC,SAAS,CAAC;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC9G,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS;YAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS;SAChC,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"Translator.js","sourceRoot":"","sources":["../src/Translator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type ActionOutcome } from "./AguiPlus.ts";
2
+ import { type ProblemDetails } from "@plurnk/plurnk-contracts";
3
+ export declare class HttpProblemError extends Error {
4
+ readonly problem: ProblemDetails;
5
+ constructor(problem: ProblemDetails);
6
+ }
7
+ export declare const actionFailure: (code: string, detail: string, status?: number, extensions?: Readonly<Record<string, unknown>>) => ActionOutcome;
8
+ export declare const problemFromError: (error: unknown) => ProblemDetails | null;
9
+ //# sourceMappingURL=action-results.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-results.d.ts","sourceRoot":"","sources":["../src/action-results.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAA6C,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1G,qBAAa,gBAAiB,SAAQ,KAAK;IACvC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC,YAAY,OAAO,EAAE,cAAc,EAIlC;CACJ;AAED,eAAO,MAAM,aAAa,SAChB,MAAM,UACJ,MAAM,WACN,MAAM,eACF,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAC9C,aAOD,CAAC;AAEH,eAAO,MAAM,gBAAgB,UAAW,OAAO,KAAG,cAAc,GAAG,IAoBlE,CAAC"}