@plurnk/plurnk 0.71.4 → 0.72.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 (48) hide show
  1. package/README.md +4 -4
  2. package/dist/agui.d.ts +13 -0
  3. package/dist/agui.d.ts.map +1 -1
  4. package/dist/agui.js +54 -9
  5. package/dist/agui.js.map +1 -1
  6. package/dist/agui_cli.d.ts +12 -15
  7. package/dist/agui_cli.d.ts.map +1 -1
  8. package/dist/agui_cli.js +67 -34
  9. package/dist/agui_cli.js.map +1 -1
  10. package/dist/build-info.json +1 -1
  11. package/dist/cli.d.ts +6 -5
  12. package/dist/cli.d.ts.map +1 -1
  13. package/dist/cli.js +18 -7
  14. package/dist/cli.js.map +1 -1
  15. package/dist/completion.js +1 -1
  16. package/dist/completion.js.map +1 -1
  17. package/dist/diagnostics.d.ts +65 -0
  18. package/dist/diagnostics.d.ts.map +1 -0
  19. package/dist/diagnostics.js +228 -0
  20. package/dist/diagnostics.js.map +1 -0
  21. package/dist/dispatcher.d.ts +2 -5
  22. package/dist/dispatcher.d.ts.map +1 -1
  23. package/dist/dispatcher.js +85 -84
  24. package/dist/dispatcher.js.map +1 -1
  25. package/dist/render.d.ts +22 -5
  26. package/dist/render.d.ts.map +1 -1
  27. package/dist/render.js +37 -34
  28. package/dist/render.js.map +1 -1
  29. package/dist/stream.d.ts +4 -1
  30. package/dist/stream.d.ts.map +1 -1
  31. package/dist/stream.js +5 -4
  32. package/dist/stream.js.map +1 -1
  33. package/dist/subcommands.d.ts.map +1 -1
  34. package/dist/subcommands.js +16 -22
  35. package/dist/subcommands.js.map +1 -1
  36. package/dist/transport.d.ts +20 -7
  37. package/dist/transport.d.ts.map +1 -1
  38. package/dist/transport.js +141 -40
  39. package/dist/transport.js.map +1 -1
  40. package/dist/tui.d.ts +7 -4
  41. package/dist/tui.d.ts.map +1 -1
  42. package/dist/tui.js +129 -97
  43. package/dist/tui.js.map +1 -1
  44. package/package.json +6 -4
  45. package/dist/telemetry.d.ts +0 -48
  46. package/dist/telemetry.d.ts.map +0 -1
  47. package/dist/telemetry.js +0 -246
  48. package/dist/telemetry.js.map +0 -1
@@ -14,7 +14,7 @@ import { BridgeTransport } from "./transport.js";
14
14
  import { actionViaBridge, resolveWorld } from "./agui.js";
15
15
  import { runTui } from "./tui.js";
16
16
  import { runModels, runWorkspaceList, runWorkspaceWorkers, runWorkspaceRename, runLogRead, runRead } from "./subcommands.js";
17
- import { TelemetryError, report, clientConnectionRefused, isUnreachable, clientFlagInvalid, clientFlagMissingDependency, clientRuntimeError, clientSubcommandMissingArgument, clientSubcommandUnknownVerb, } from "./telemetry.js";
17
+ import { ProblemError, report, clientConnectionRefused, isUnreachable, clientProblem, clientFlagInvalid, clientFlagMissingDependency, clientRuntimeError, clientSubcommandMissingArgument, clientSubcommandUnknownVerb, clientWorkerNotFound, } from "./diagnostics.js";
18
18
  import { formatBuildInfo, getBuildInfo } from "./build-info.js";
19
19
  // Read all of stdin to EOF. Called when stdin is piped (not a TTY) — never
20
20
  // blocks an interactive workspace because we gate on isTTY upstream.
@@ -36,10 +36,10 @@ export const resolveLoopFlags = (rawJson, auto = false) => {
36
36
  parsed = JSON.parse(rawJson);
37
37
  }
38
38
  catch {
39
- throw new TelemetryError(clientFlagInvalid("--flags", rawJson, "must be valid JSON"));
39
+ throw new ProblemError(clientFlagInvalid("--flags", rawJson, "must be valid JSON"));
40
40
  }
41
41
  if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
42
- throw new TelemetryError(clientFlagInvalid("--flags", rawJson, "must be a JSON object"));
42
+ throw new ProblemError(clientFlagInvalid("--flags", rawJson, "must be a JSON object"));
43
43
  }
44
44
  return { ...parsed, ...(auto ? { auto: true } : {}) };
45
45
  };
@@ -56,20 +56,22 @@ export const resolveModelSpec = (alias, env = process.env) => {
56
56
  const match = parseAliasesFromEnv(env).find((a) => a.alias === alias.toLowerCase());
57
57
  return match !== undefined ? `${match.provider}/${match.model}` : undefined;
58
58
  };
59
- // #132 — the client's per-workspace exec-policy layer: forward the PLURNK_EXECS_*
59
+ // #132 — the client's per-workspace exec-policy layer: forward the closed
60
60
  // enable/disable grammar (PLURNK_EXECS_ONLY, PLURNK_EXECS_<TAG>=0|false) so the
61
61
  // daemon intersects it with its own ceiling (service ∧ client — subtractive,
62
- // can never re-enable a service-disabled tag). Forwarded VERBATIM: the daemon's
63
- // execs Policy is the single interpreter (pull-don't-copy). EXCLUDES
64
- // PLURNK_EXECS_MCP_* those are MCP SERVER configs (URLs, header bearer tokens),
65
- // not policy, and must never ride the wire. The bare PLURNK_EXECS_MCP tag toggle
66
- // (no trailing `_`) stays. Workspace-scoped: a per-workspace .env carries its own.
62
+ // can never re-enable a service-disabled tag). The key grammar is the executor
63
+ // contract's canonical lowercase URI-scheme tag syntax, matched case-insensitively
64
+ // for environment convention. Plugin configuration under the same broad prefix
65
+ // is not policy and must never ride the wire. Values are forwarded verbatim; the
66
+ // daemon's execs Policy remains the interpreter. Workspace-scoped: a per-workspace
67
+ // .env carries its own.
68
+ const EXECS_POLICY_KEY = /^PLURNK_EXECS_(?:ONLY|[A-Z][A-Z0-9+.-]*)$/i;
67
69
  export const collectExecsPolicy = (env = process.env) => {
68
70
  const out = {};
69
71
  for (const [k, v] of Object.entries(env)) {
70
72
  if (v === undefined)
71
73
  continue;
72
- if (!k.startsWith("PLURNK_EXECS_") || k.startsWith("PLURNK_EXECS_MCP_"))
74
+ if (!EXECS_POLICY_KEY.test(k))
73
75
  continue;
74
76
  out[k] = v;
75
77
  }
@@ -83,7 +85,7 @@ export const resolveProjectRoot = (raw) => {
83
85
  if (raw.length === 0)
84
86
  return null;
85
87
  if (!isAbsolute(raw))
86
- throw new TelemetryError(clientFlagInvalid("--project-root", raw, "must be an absolute path"));
88
+ throw new ProblemError(clientFlagInvalid("--project-root", raw, "must be an absolute path"));
87
89
  return raw;
88
90
  };
89
91
  const USAGE = `usage: plurnk [--json] [--workspace <name>] [--worker <name>] [--model <alias>] [prompt...]
@@ -111,6 +113,8 @@ env (cascade, highest first: shell < --env-file < ./.env < ~/.plurnk/.env
111
113
  PLURNK_MODEL model alias to use for every loop.run on this invocation.
112
114
  Shared with the daemon (user-level preference). --model
113
115
  overrides for this invocation only.
116
+ PLURNK_MODEL_CHILD optional WORK/FORK provider alias. Unset = inherit the
117
+ spawning loop's provider; interactive /child overrides.
114
118
  PLURNK_CLIENT_PROJECT_ROOT absolute path passed to workspace.create as the workspace's
115
119
  project_root (workspace for file ops). Default: cwd.
116
120
  Empty string = headless (no project_root, file ops 400).
@@ -125,9 +129,10 @@ env (cascade, highest first: shell < --env-file < ./.env < ~/.plurnk/.env
125
129
  instead of raw daemon WS (the exclusive-portal path).
126
130
  PLURNK_AGUI_TOKEN is the bearer if the bridge requires one.
127
131
  Scripts + subcommands stay on the daemon.
128
- PLURNK_EXECS_* per-workspace exec-runtime policy, sent to the daemon at
129
- workspace.create (PLURNK_EXECS_ONLY=a,b allowlist;
130
- PLURNK_EXECS_<tag>=0 kill one). Subtractive only the
132
+ PLURNK_EXECS_ONLY / per-workspace exec-runtime policy, sent to the daemon at
133
+ PLURNK_EXECS_<tag> workspace.create (ONLY=a,b allowlist; <tag>=0 kills one).
134
+ Plugin configuration with longer underscore suffixes is
135
+ never forwarded. Subtractive only — the
131
136
  daemon intersects with its ceiling; the client can narrow,
132
137
  never re-enable. Shares the daemon's grammar; a workspace's
133
138
  .env carries its own. (MCP server configs are NOT sent.)
@@ -137,8 +142,8 @@ options:
137
142
  -v, --version print executable provenance and exit
138
143
  --json json OUTPUT MODE: one complete structured document on
139
144
  stdout (the whole client-observed record — turns/ops,
140
- telemetry, the answer at .response, usage), stderr
141
- silent, errors emitted as {"error":…}. Drill into one
145
+ notices, the answer at .response, usage), stderr
146
+ silent, Problems emitted under "problem". Drill into one
142
147
  op's content with: plurnk read <coord> --json. CLI only.
143
148
  --workspace <name> resume the named workspace, or create it under that name
144
149
  if none exists (attach-or-create). Without it, a fresh
@@ -173,8 +178,6 @@ options:
173
178
  source when headless). Repeatable.
174
179
  --hide <glob> membership: block file(s) from manifest. Repeatable.
175
180
  --view <glob> membership: track file(s) in manifest (read-only). Repeatable.
176
- --repo <glob> membership: track a git repo folder (its ls-files join
177
- the manifest), relative to project root. Repeatable.
178
181
  --files-items <n> workspace-open preview of the TRACKED-FILE list
179
182
  (FIND(file:///**)): -1 full / 0 off / N first-N. Memory
180
183
  (known/unknown/worker/plurnk) always foists full. Create-time.
@@ -182,10 +185,8 @@ options:
182
185
  merges with operator PLURNK_MD_*. Repeatable. Create-time.
183
186
  --max-commands <n> ceiling on ops per emission for the workspace (min with the
184
187
  daemon's PLURNK_MAX_COMMANDS — can only tighten). Create-time.
185
- --no-git deny git membership + telemetry for the workspace (never
188
+ --no-git deny git membership + working-tree status for the workspace (never
186
189
  re-enables past the operator lockout). Create-time.
187
- --no-agents-md turn off the service's AGENTS.md auto-load for this
188
- workspace (overrides PLURNK_AGENTS_AUTO). Create-time.
189
190
  --loop <id> (log read) filter to a single loop id
190
191
  --turn <id> (log read) filter to a single turn id
191
192
  --since <id> (log read) return entries with id > <id>
@@ -203,17 +204,14 @@ subcommands:
203
204
  /--project-root + membership flags. The daemon owns the
204
205
  grammar; the client just feeds the file.
205
206
  `;
206
- // Render a telemetry event to stderr and exit. Single egress point so every
207
- // fatal client signal uses the unified shape from telemetry.ts.
208
- const dieWith = (code, event) => {
209
- report(event);
207
+ // Render a Problem to stderr and exit.
208
+ const dieWith = (code, problem) => {
209
+ report(problem);
210
210
  process.exit(code);
211
211
  };
212
- // json-mode failure: a valid JSON error document on stdout (the consumer's
213
- // parser never chokes), paired with a non-zero exit. The json counterpart of
214
- // dieWith — text mode narrates errors to stderr, json mode emits structured.
215
- const dieJson = (code, kind, message, extra) => {
216
- process.stdout.write(`${JSON.stringify(buildJsonError(kind, message, extra))}\n`);
212
+ // JSON mode embeds the exact RFC 9457 Problem document rendered in text mode.
213
+ const dieJson = (code, problem) => {
214
+ process.stdout.write(`${JSON.stringify(buildJsonError(problem))}\n`);
217
215
  process.exit(code);
218
216
  };
219
217
  // Env cascade, aligned with plurnk-service's ~/.plurnk layering so the two share
@@ -244,41 +242,37 @@ const loadEnvCascade = (envFiles, envFilesIfExists) => {
244
242
  ifExists(join(home, ".env.defaults"));
245
243
  loadFloor();
246
244
  };
247
- // Map the repeatable membership flags (--pick/--hide/--view/--repo) to
248
- // constraints. repo (svc#242) declares a git repo folder (its ls-files join
249
- // membership), addressed relative to the project root.
245
+ // Map repeatable membership flags to workspace constraints.
250
246
  export const buildConstraints = (values) => [
251
247
  ...(values.pick ?? []).map((glob) => ({ effect: "pick", glob })),
252
248
  ...(values.hide ?? []).map((glob) => ({ effect: "hide", glob })),
253
249
  ...(values.view ?? []).map((glob) => ({ effect: "view", glob })),
254
- ...(values.repo ?? []).map((glob) => ({ effect: "repo", glob })),
255
250
  ];
256
- export const buildSettings = async (values, cwd) => {
251
+ export const buildSettings = async (values, cwd, env = process.env) => {
257
252
  const settings = {};
253
+ const execs = collectExecsPolicy(env);
254
+ if (Object.keys(execs).length > 0)
255
+ settings.execs = execs;
258
256
  // svc#346 — enable model→user SEND[300] questions (per-workspace; the daemon
259
257
  // injects questions.md teaching + intersects its PLURNK_QUESTIONS ceiling).
260
258
  // Flag or bare env (shared user intent). The daemon owns refusal when off.
261
- if (values.questions === true || ["1", "true", "yes", "on"].includes((process.env.PLURNK_QUESTIONS ?? "").toLowerCase()))
259
+ if (values.questions === true || ["1", "true", "yes", "on"].includes((env.PLURNK_QUESTIONS ?? "").toLowerCase()))
262
260
  settings.questions = true;
263
261
  const mc = values["max-commands"];
264
262
  if (mc !== undefined) {
265
263
  const n = Number(mc);
266
264
  if (!Number.isInteger(n) || n < 1) {
267
- throw new TelemetryError(clientFlagInvalid("--max-commands", mc, "must be a positive integer"));
265
+ throw new ProblemError(clientFlagInvalid("--max-commands", mc, "must be a positive integer"));
268
266
  }
269
267
  settings.maxCommands = n;
270
268
  }
271
269
  if (values["no-git"] === true)
272
270
  settings.git = false;
273
- // #268 — pure passthrough of the per-workspace AGENTS auto-load override (the
274
- // service does the picking + reading; the client just forces it off here).
275
- if (values["no-agents-md"] === true)
276
- settings.autoReadAgents = false;
277
271
  const fi = values["files-items"];
278
272
  if (fi !== undefined) {
279
273
  const n = Number(fi);
280
274
  if (!Number.isInteger(n) || n < -1) {
281
- throw new TelemetryError(clientFlagInvalid("--files-items", fi, "must be -1 (full), 0 (off), or a positive integer"));
275
+ throw new ProblemError(clientFlagInvalid("--files-items", fi, "must be -1 (full), 0 (off), or a positive integer"));
282
276
  }
283
277
  settings.filesItems = n;
284
278
  }
@@ -288,7 +282,7 @@ export const buildSettings = async (values, cwd) => {
288
282
  for (const spec of mdSpecs) {
289
283
  const eq = spec.indexOf("=");
290
284
  if (eq <= 0)
291
- throw new TelemetryError(clientFlagInvalid("--md", spec, "must be NAME=path"));
285
+ throw new ProblemError(clientFlagInvalid("--md", spec, "must be NAME=path"));
292
286
  const alias = spec.slice(0, eq);
293
287
  const raw = spec.slice(eq + 1);
294
288
  const abs = isAbsolute(raw) ? raw : resolve(cwd, raw);
@@ -296,7 +290,7 @@ export const buildSettings = async (values, cwd) => {
296
290
  mdDocs.push({ alias, content: await readFile(abs, "utf8") });
297
291
  }
298
292
  catch (cause) {
299
- throw new TelemetryError(clientFlagInvalid("--md", spec, `file not readable: ${cause instanceof Error ? cause.message : String(cause)}`));
293
+ throw new ProblemError(clientFlagInvalid("--md", spec, `file not readable: ${cause instanceof Error ? cause.message : String(cause)}`));
300
294
  }
301
295
  }
302
296
  settings.mdDocs = mdDocs;
@@ -313,7 +307,7 @@ export const CLIENT_VERSION = createRequire(import.meta.url)("../package.json").
313
307
  // every other provider). The 'plurnk.nvim/1.4.0' shape; nvim sends its own.
314
308
  // #71 — one id per FRONTEND, name/version form, workspace-stable. CLI and TUI are
315
309
  // distinct frontends of this package (nvim self-ids separately as plurnk.nvim);
316
- // splitting them lets service telemetry attribute usage per surface.
310
+ // splitting them lets the service attribute usage per surface.
317
311
  export const CLIENT_ID_CLI = `@plurnk/plurnk-cli/${CLIENT_VERSION}`;
318
312
  export const CLIENT_ID_TUI = `@plurnk/plurnk-tui/${CLIENT_VERSION}`;
319
313
  const isOlder = (a, b) => {
@@ -347,7 +341,7 @@ export const resolveWorkerId = async (rpc, workerName) => {
347
341
  const { workers } = await rpc.call("workspace.workers");
348
342
  const hit = workers.find((r) => r.name === workerName);
349
343
  if (hit === undefined)
350
- throw new Error(`--worker ${workerName}: no such worker in the workspace`);
344
+ throw new ProblemError(clientWorkerNotFound(workerName));
351
345
  return hit.id;
352
346
  };
353
347
  const parseIntFlag = (raw, name) => {
@@ -355,7 +349,7 @@ const parseIntFlag = (raw, name) => {
355
349
  return undefined;
356
350
  const n = Number(raw);
357
351
  if (!Number.isInteger(n) || n < 0)
358
- throw new TelemetryError(clientFlagInvalid(name, raw, "must be a non-negative integer"));
352
+ throw new ProblemError(clientFlagInvalid(name, raw, "must be a non-negative integer"));
359
353
  return n;
360
354
  };
361
355
  // Dispatch a positional-driven subcommand over the action surface. Returns the
@@ -365,24 +359,24 @@ const runSubcommand = async (rpc, positionals, opts) => {
365
359
  const sub = positionals[1];
366
360
  if (verb === "models") {
367
361
  if (positionals.length > 1) {
368
- throw new TelemetryError(clientSubcommandUnknownVerb(`models ${positionals.slice(1).join(" ")}`));
362
+ throw new ProblemError(clientSubcommandUnknownVerb(`models ${positionals.slice(1).join(" ")}`));
369
363
  }
370
364
  return await runModels(rpc, { json: opts.json });
371
365
  }
372
366
  if (verb === "workspace") {
373
367
  if (sub === "list") {
374
368
  if (positionals.length > 2) {
375
- throw new TelemetryError(clientSubcommandUnknownVerb(`workspace list ${positionals.slice(2).join(" ")}`));
369
+ throw new ProblemError(clientSubcommandUnknownVerb(`workspace list ${positionals.slice(2).join(" ")}`));
376
370
  }
377
371
  return await runWorkspaceList(rpc, { json: opts.json });
378
372
  }
379
373
  if (sub === "workers") {
380
374
  const name = positionals[2];
381
375
  if (name === undefined) {
382
- throw new TelemetryError(clientSubcommandMissingArgument("plurnk workspace workers", "<name>"));
376
+ throw new ProblemError(clientSubcommandMissingArgument("plurnk workspace workers", "<name>"));
383
377
  }
384
378
  if (positionals.length > 3) {
385
- throw new TelemetryError(clientSubcommandUnknownVerb(`workspace workers ${positionals.slice(3).join(" ")}`));
379
+ throw new ProblemError(clientSubcommandUnknownVerb(`workspace workers ${positionals.slice(3).join(" ")}`));
386
380
  }
387
381
  return await runWorkspaceWorkers(rpc, name, { json: opts.json });
388
382
  }
@@ -390,21 +384,21 @@ const runSubcommand = async (rpc, positionals, opts) => {
390
384
  const name = positionals[2];
391
385
  const newName = positionals[3];
392
386
  if (name === undefined || newName === undefined) {
393
- throw new TelemetryError(clientSubcommandMissingArgument("plurnk workspace rename", "<name> <newname>"));
387
+ throw new ProblemError(clientSubcommandMissingArgument("plurnk workspace rename", "<name> <newname>"));
394
388
  }
395
389
  if (positionals.length > 4) {
396
- throw new TelemetryError(clientSubcommandUnknownVerb(`workspace rename ${positionals.slice(4).join(" ")}`));
390
+ throw new ProblemError(clientSubcommandUnknownVerb(`workspace rename ${positionals.slice(4).join(" ")}`));
397
391
  }
398
392
  return await runWorkspaceRename(rpc, name, newName, { json: opts.json });
399
393
  }
400
- throw new TelemetryError(clientSubcommandUnknownVerb(`workspace ${sub ?? "(missing)"}`, ["list", "workers", "rename"]));
394
+ throw new ProblemError(clientSubcommandUnknownVerb(`workspace ${sub ?? "(missing)"}`, ["list", "workers", "rename"]));
401
395
  }
402
396
  if (verb === "log") {
403
397
  if (sub !== "read") {
404
- throw new TelemetryError(clientSubcommandUnknownVerb(`log ${sub ?? "(missing)"}`, ["read"]));
398
+ throw new ProblemError(clientSubcommandUnknownVerb(`log ${sub ?? "(missing)"}`, ["read"]));
405
399
  }
406
400
  if (opts.workspaceName === undefined) {
407
- throw new TelemetryError(clientFlagMissingDependency("plurnk log read", "--workspace (or PLURNK_CLIENT_WORKSPACE)"));
401
+ throw new ProblemError(clientFlagMissingDependency("plurnk log read", "--workspace (or PLURNK_CLIENT_WORKSPACE)"));
408
402
  }
409
403
  // The caller's threadId (--workspace) scopes the action to that workspace; the
410
404
  // module defaults reads to the conversation (model worker); --worker pins by name.
@@ -426,19 +420,19 @@ const runSubcommand = async (rpc, positionals, opts) => {
426
420
  if (verb === "read") {
427
421
  const coord = positionals[1];
428
422
  if (coord === undefined) {
429
- throw new TelemetryError(clientSubcommandMissingArgument("plurnk read", "<loop>/<turn>/<seq>"));
423
+ throw new ProblemError(clientSubcommandMissingArgument("plurnk read", "<loop>/<turn>/<seq>"));
430
424
  }
431
425
  if (positionals.length > 2) {
432
- throw new TelemetryError(clientSubcommandUnknownVerb(`read ${positionals.slice(2).join(" ")}`));
426
+ throw new ProblemError(clientSubcommandUnknownVerb(`read ${positionals.slice(2).join(" ")}`));
433
427
  }
434
428
  if (opts.workspaceName === undefined) {
435
- throw new TelemetryError(clientFlagMissingDependency("plurnk read", "--workspace (or PLURNK_CLIENT_WORKSPACE)"));
429
+ throw new ProblemError(clientFlagMissingDependency("plurnk read", "--workspace (or PLURNK_CLIENT_WORKSPACE)"));
436
430
  }
437
431
  // The coordinate is worker-relative; the module defaults to the conversation
438
432
  // (model worker) — --worker pins by name via params, no connection state.
439
433
  return await runRead(rpc, coord, { json: opts.json, workerId: await resolveWorkerId(rpc, opts.workerName) });
440
434
  }
441
- throw new TelemetryError(clientSubcommandUnknownVerb(verb ?? "(missing)"));
435
+ throw new ProblemError(clientSubcommandUnknownVerb(verb ?? "(missing)"));
442
436
  };
443
437
  export const main = async (argv) => {
444
438
  const { positionals, values } = parseArgs({
@@ -462,17 +456,15 @@ export const main = async (argv) => {
462
456
  questions: { type: "boolean" }, // --questions: allow the model to ask via SEND[300]
463
457
  "max-turns": { type: "string" },
464
458
  timeout: { type: "string" },
465
- // membership overlay (svc#200/#242) — repeatable globs; service vocabulary
459
+ // membership overlay — repeatable globs; service vocabulary
466
460
  pick: { type: "string", multiple: true },
467
461
  hide: { type: "string", multiple: true },
468
462
  view: { type: "string", multiple: true },
469
- repo: { type: "string", multiple: true },
470
463
  // workspace-open settings (svc#231) + tighten-only ceilings (svc#232)
471
464
  "files-items": { type: "string" },
472
465
  md: { type: "string", multiple: true },
473
466
  "max-commands": { type: "string" },
474
467
  "no-git": { type: "boolean" },
475
- "no-agents-md": { type: "boolean" }, // #268 — override: AGENTS auto-load off for this workspace
476
468
  // log read filters
477
469
  loop: { type: "string" },
478
470
  turn: { type: "string" },
@@ -511,8 +503,9 @@ export const main = async (argv) => {
511
503
  ? `${positionalPrompt}\n\n${stdinPrompt}`
512
504
  : positionalPrompt || stdinPrompt;
513
505
  if (json && prompt.length === 0) {
514
- if (values.json === true)
515
- dieJson(64, "usage", "--json needs a prompt (CLI mode only)", { flag: "--json" });
506
+ if (values.json === true) {
507
+ dieJson(64, clientProblem("usage", "prompt-required", 400, "--json needs a prompt (CLI mode only)", { flag: "--json" }));
508
+ }
516
509
  // PLURNK_CLIENT_JSON with no prompt is the interactive TUI — env shouldn't force CLI mode.
517
510
  }
518
511
  }
@@ -520,6 +513,7 @@ export const main = async (argv) => {
520
513
  const workspaceName = values.workspace ?? process.env.PLURNK_CLIENT_WORKSPACE;
521
514
  const workerName = values.worker ?? process.env.PLURNK_CLIENT_WORKER;
522
515
  const modelAlias = values.model ?? process.env.PLURNK_MODEL;
516
+ const childAlias = process.env.PLURNK_MODEL_CHILD;
523
517
  const yolo = values.yolo === true || ["1", "true", "yes", "on"].includes((process.env.PLURNK_CLIENT_YOLO ?? "").toLowerCase());
524
518
  if (workerName !== undefined && workspaceName === undefined) {
525
519
  dieWith(64, clientFlagMissingDependency("--worker (or PLURNK_CLIENT_WORKER)", "--workspace (or PLURNK_CLIENT_WORKSPACE)"));
@@ -536,8 +530,8 @@ export const main = async (argv) => {
536
530
  timeoutSec = parseIntFlag(values.timeout, "--timeout");
537
531
  }
538
532
  catch (cause) {
539
- if (cause instanceof TelemetryError)
540
- dieWith(cause.exitCode, cause.event);
533
+ if (cause instanceof ProblemError)
534
+ dieWith(cause.exitCode, cause.problem);
541
535
  dieWith(64, clientRuntimeError(cause));
542
536
  }
543
537
  // --questions / PLURNK_QUESTIONS is a SESSION setting (settings.questions in
@@ -549,8 +543,8 @@ export const main = async (argv) => {
549
543
  return resolveProjectRoot(projectRootRaw);
550
544
  }
551
545
  catch (cause) {
552
- if (cause instanceof TelemetryError)
553
- return dieWith(cause.exitCode, cause.event);
546
+ if (cause instanceof ProblemError)
547
+ return dieWith(cause.exitCode, cause.problem);
554
548
  return dieWith(64, clientRuntimeError(cause));
555
549
  }
556
550
  })();
@@ -597,9 +591,9 @@ export const main = async (argv) => {
597
591
  // thread == world (the model worker).
598
592
  const w = await world();
599
593
  const { constraints, settings } = await workspaceOptions();
600
- const code = await runCliViaBridge({ bridgeUrl, token: process.env.PLURNK_AGUI_TOKEN }, prompt, { threadId: workerName ?? w, workspace: w, ...(modelAlias !== undefined ? { alias: modelAlias } : {}), ...(resolveModelSpec(modelAlias) !== undefined ? { model: resolveModelSpec(modelAlias) } : {}), ...(loopFlags !== undefined ? { flags: loopFlags } : {}), ...(maxTurns !== undefined ? { maxTurns } : {}), ...(timeoutSec !== undefined ? { timeoutSec } : {}), yolo, json, projectRoot, constraints, settings });
594
+ const code = await runCliViaBridge({ bridgeUrl, token: process.env.PLURNK_AGUI_TOKEN }, prompt, { threadId: workerName ?? w, workspace: w, ...(modelAlias !== undefined ? { alias: modelAlias } : {}), ...(resolveModelSpec(modelAlias) !== undefined ? { model: resolveModelSpec(modelAlias) } : {}), ...(childAlias !== undefined ? { childAlias } : {}), ...(resolveModelSpec(childAlias) !== undefined ? { childModel: resolveModelSpec(childAlias) } : {}), ...(loopFlags !== undefined ? { flags: loopFlags } : {}), ...(maxTurns !== undefined ? { maxTurns } : {}), ...(timeoutSec !== undefined ? { timeoutSec } : {}), yolo, json, projectRoot, constraints, settings });
601
595
  // Let Node drain stdout before termination. A forced exit truncated large
602
- // --json records mid-string when telemetry made the pipe exceed its buffer.
596
+ // --json records mid-string when notices made the pipe exceed its buffer.
603
597
  process.exitCode = code;
604
598
  return;
605
599
  }
@@ -609,9 +603,18 @@ export const main = async (argv) => {
609
603
  // a bridge that ANSWERED with an error surfaces its real cause — claiming
610
604
  // "no daemon running" over a 500 would lie. json mode still emits ONE
611
605
  // valid document on stdout either way.
606
+ if (cause instanceof ProblemError) {
607
+ if (json)
608
+ dieJson(cause.exitCode, cause.problem);
609
+ dieWith(cause.exitCode, cause.problem);
610
+ }
612
611
  const detail = cause instanceof Error ? cause.message : String(cause);
613
- if (json)
614
- dieJson(1, isUnreachable(cause) ? "connection_refused" : "bridge_error", detail, { bridge: bridgeUrl });
612
+ if (json) {
613
+ const problem = isUnreachable(cause)
614
+ ? clientConnectionRefused(bridgeUrl, cause)
615
+ : clientProblem("bridge", "error", 502, detail, { bridge: bridgeUrl });
616
+ dieJson(1, problem);
617
+ }
615
618
  if (isUnreachable(cause))
616
619
  dieWith(1, clientConnectionRefused(bridgeUrl, cause));
617
620
  dieWith(1, clientRuntimeError(new Error(`plurnk-agui bridge (${bridgeUrl}) — ${detail}`)));
@@ -627,7 +630,7 @@ export const main = async (argv) => {
627
630
  const threadId = workerName ?? w;
628
631
  const { constraints, settings } = await workspaceOptions();
629
632
  // Workspace options ride the thread's first run (forwardedProps.plurnk): the
630
- // same constraints (--pick/hide/view/repo) + settings every AG-UI+ run sends on
633
+ // Same constraints (--pick/hide/view) + settings every AG-UI+ run sends on
631
634
  // workspace.create, so a bridge TUI is configured identically. (When the world
632
635
  // was daemon-minted above, it was created WITH these already; a re-send on the
633
636
  // first run is idempotent — the workspace exists, options apply at creation only.)
@@ -637,8 +640,7 @@ export const main = async (argv) => {
637
640
  constraints,
638
641
  settings,
639
642
  });
640
- const autoReadAgents = values["no-agents-md"] === true ? false : undefined;
641
- await runTui(transport, { id: 0, name: w }, { modelAlias, model: resolveModelSpec(modelAlias), resolveModel: (a) => resolveModelSpec(a), yolo, loopFlags, maxTurns, projectRoot, workerName, client: CLIENT_ID_TUI, autoReadAgents });
643
+ await runTui(transport, { id: 0, name: w }, { modelAlias, model: resolveModelSpec(modelAlias), childAlias, childModel: resolveModelSpec(childAlias), resolveModel: (a) => resolveModelSpec(a), yolo, loopFlags, maxTurns, projectRoot, workerName, client: CLIENT_ID_TUI });
642
644
  process.exitCode = 0;
643
645
  return;
644
646
  }
@@ -653,10 +655,10 @@ export const main = async (argv) => {
653
655
  if (subcommand === "script") {
654
656
  const filePath = positionals[1];
655
657
  if (filePath === undefined) {
656
- throw new TelemetryError(clientSubcommandMissingArgument("plurnk script", "<file.plk>"));
658
+ throw new ProblemError(clientSubcommandMissingArgument("plurnk script", "<file.plk>"));
657
659
  }
658
660
  if (positionals.length > 2) {
659
- throw new TelemetryError(clientSubcommandUnknownVerb(`script ${positionals.slice(2).join(" ")}`));
661
+ throw new ProblemError(clientSubcommandUnknownVerb(`script ${positionals.slice(2).join(" ")}`));
660
662
  }
661
663
  const text = await readFile(resolve(filePath), "utf8"); // fail-hard on a missing file
662
664
  const exitCode = await runScriptViaBridge(target, text, { threadId: callerThread, yolo, json, projectRoot });
@@ -678,13 +680,12 @@ export const main = async (argv) => {
678
680
  // json mode: a structured error document on stdout (valid JSON even on
679
681
  // failure), paired with the right exit code. Text mode narrates to stderr.
680
682
  if (json) {
681
- const kind = cause instanceof TelemetryError ? cause.event.kind : "runtime_error";
682
- const extra = undefined;
683
- const code = cause instanceof TelemetryError ? cause.exitCode : 1;
684
- dieJson(code, kind, cause instanceof Error ? cause.message : String(cause), extra);
683
+ const problem = cause instanceof ProblemError ? cause.problem : clientRuntimeError(cause);
684
+ const code = cause instanceof ProblemError ? cause.exitCode : 1;
685
+ dieJson(code, problem);
685
686
  }
686
- if (cause instanceof TelemetryError) {
687
- report(cause.event);
687
+ if (cause instanceof ProblemError) {
688
+ report(cause.problem);
688
689
  process.exit(cause.exitCode);
689
690
  }
690
691
  // A daemon-rejected RPC arrives as a typed RpcError carrying the failed
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../src/dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../src/dispatcher.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yEAAyE;AACzE,mCAAmC;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE7H,OAAO,EACH,YAAY,EACZ,MAAM,EACN,uBAAuB,EACvB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,2BAA2B,EAC3B,kBAAkB,EAClB,+BAA+B,EAG/B,2BAA2B,EAC3B,oBAAoB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEhE,2EAA2E;AAC3E,qEAAqE;AACrE,MAAM,SAAS,GAAG,KAAK,IAAqB,EAAE;IAC1C,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK;QAAE,GAAG,IAAI,KAAK,CAAC;IACtD,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAEF,0EAA0E;AAC1E,2EAA2E;AAC3E,yEAAyE;AACzE,oDAAoD;AACpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAA2B,EAAE,IAAI,GAAG,KAAK,EAAuC,EAAE;IAC/G,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QACzC,MAAM,IAAI,YAAY,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,YAAY,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,EAAE,GAAI,MAAkC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACvF,CAAC,CAAC;AAEF,mFAAmF;AACnF,0EAA0E;AAC1E,kFAAkF;AAClF,iFAAiF;AACjF,mFAAmF;AACnF,kFAAkF;AAClF,sFAAsF;AACtF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAyB,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG,EAAsB,EAAE;IACpH,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACpF,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAChF,CAAC,CAAC;AAEF,0EAA0E;AAC1E,gFAAgF;AAChF,6EAA6E;AAC7E,+EAA+E;AAC/E,mFAAmF;AACnF,+EAA+E;AAC/E,iFAAiF;AACjF,mFAAmF;AACnF,wBAAwB;AACxB,MAAM,gBAAgB,GAAG,4CAA4C,CAAC;AAEtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG,EAA0B,EAAE;IAC/F,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,SAAS;QACxC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAEF,2EAA2E;AAC3E,oEAAoE;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAuB,EAAiB,EAAE;IACzE,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,GAAG,EAAE,0BAA0B,CAAC,CAAC,CAAC;IACnH,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmHb,CAAC;AAEF,uCAAuC;AACvC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,OAAuB,EAAS,EAAE;IAC7D,MAAM,CAAC,OAAO,CAAC,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,8EAA8E;AAC9E,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,OAAuB,EAAS,EAAE;IAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,iFAAiF;AACjF,yEAAyE;AACzE,mCAAmC;AACnC,wEAAwE;AACxE,qEAAqE;AACrE,4EAA4E;AAC5E,gEAAgE;AAChE,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAE,gBAA0B,EAAQ,EAAE;IAC5E,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAQ,EAAE,GAAG,IAAI,CAAC;QAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;IACzG,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC;YAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAC/B,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,EAAE,iBAAiB,CAAC,YAAY,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAAC,CAAC;IAChF,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,gBAAgB;QAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;IACtC,SAAS,EAAE,CAAC;AAChB,CAAC,CAAC;AAYF,4DAA4D;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAEhC,EAAgB,EAAE,CAAC;IAChB,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAc,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAc,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAc,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;CAC/E,CAAC;AAmBF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAC9B,MAAmH,EACnH,GAAW,EACX,GAAG,GAAsB,OAAO,CAAC,GAAG,EACnB,EAAE;IACnB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IAC1D,6EAA6E;IAC7E,4EAA4E;IAC5E,2EAA2E;IAC3E,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;IAC5I,MAAM,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAClC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,YAAY,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAC;QAClG,CAAC;QACD,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI;QAAE,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC;IACpD,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IACjC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,YAAY,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE,EAAE,mDAAmD,CAAC,CAAC,CAAC;QACxH,CAAC;QACD,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;IAChC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,MAAM,GAA8C,EAAE,CAAC;QAC7D,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,EAAE,IAAI,CAAC;gBAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC;YAC1F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACtD,IAAI,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,IAAI,YAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5I,CAAC;QACL,CAAC;QACD,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IAC7B,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,iFAAiF;AACjF,8EAA8E;AAC9E,yEAAyE;AACzE,gFAAgF;AAChF,MAAM,CAAC,MAAM,cAAc,GAAI,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAyB,CAAC,OAAO,CAAC;AAEjH,mFAAmF;AACnF,4EAA4E;AAC5E,4EAA4E;AAC5E,kFAAkF;AAClF,gFAAgF;AAChF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,aAAa,GAAG,sBAAsB,cAAc,EAAE,CAAC;AACpE,MAAM,CAAC,MAAM,aAAa,GAAG,sBAAsB,cAAc,EAAE,CAAC;AAIpE,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,CAAS,EAAW,EAAE;IAC9C,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAsC,EAAE,eAAuB,EAAsB,EAAE;IACtH,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IACxC,MAAM,KAAK,GAAG,CAAC,kBAAkB,eAAe,EAAE,CAAC,CAAC;IACpD,IAAI,GAAG,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;WAClG,CAAC,GAAG,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9G,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,yFAAyF;AACzF,+FAA+F;AAC/F,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,GAAW,EAAE,UAA8B,EAA+B,EAAE;IAC9G,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAqD,CAAC;IAC5G,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACvD,IAAI,GAAG,KAAK,SAAS;QAAE,MAAM,IAAI,YAAY,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;IAChF,OAAO,GAAG,CAAC,EAAE,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,GAAuB,EAAE,IAAY,EAAsB,EAAE;IAC/E,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,gCAAgC,CAAC,CAAC,CAAC;IAC1H,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AASF,+EAA+E;AAC/E,6CAA6C;AAC7C,MAAM,aAAa,GAAG,KAAK,EAAE,GAAW,EAAE,WAAqB,EAAE,IAAoB,EAAmB,EAAE;IACtG,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAE3B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,UAAU,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpG,CAAC;QACD,OAAO,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACvB,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACjB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,kBAAkB,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5G,CAAC;YACD,OAAO,MAAM,gBAAgB,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,MAAM,IAAI,YAAY,CAAC,+BAA+B,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC,CAAC;YAClG,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,qBAAqB,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/G,CAAC;YACD,OAAO,MAAM,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC9C,MAAM,IAAI,YAAY,CAAC,+BAA+B,CAAC,yBAAyB,EAAE,kBAAkB,CAAC,CAAC,CAAC;YAC3G,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,oBAAoB,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9G,CAAC;YACD,OAAO,MAAM,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,aAAa,GAAG,IAAI,WAAW,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1H,CAAC;IAED,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACjB,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,OAAO,GAAG,IAAI,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,iBAAiB,EAAE,0CAA0C,CAAC,CAAC,CAAC;QACvH,CAAC;QACD,+EAA+E;QAC/E,mFAAmF;QACnF,MAAM,OAAO,GAAmB,EAAE,GAAG,CAAC,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACpK,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAA0B,EAAE,QAAQ,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAA0B,EAAE,QAAQ,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAA2B,EAAE,SAAS,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAA2B,EAAE,SAAS,CAAC,CAAC;QAC/E,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAClD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAClD,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QACrD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QAC/C,OAAO,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,YAAY,CAAC,+BAA+B,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,QAAQ,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,aAAa,EAAE,0CAA0C,CAAC,CAAC,CAAC;QACnH,CAAC;QACD,6EAA6E;QAC7E,0EAA0E;QAC1E,OAAO,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACjH,CAAC;IAED,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,IAAc,EAAiB,EAAE;IACxD,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACtC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACnB,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE;YACL,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YACrC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YACxC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACzB,gEAAgE;YAChE,+DAA+D;YAC/D,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC9C,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACxD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACzB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAI,oDAAoD;YACtF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,4DAA4D;YAC5D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACxC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACxC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACxC,sEAAsE;YACtE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACjC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACtC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7B,mBAAmB;YACnB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5B;KACJ,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAClE,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;IACvC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,8EAA8E;IAC9E,cAAc,CAAE,MAAM,CAAC,UAAU,CAA0B,IAAI,EAAE,EAAG,MAAM,CAAC,oBAAoB,CAA0B,IAAI,EAAE,CAAC,CAAC;IAEjI,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/H,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAE3E,0EAA0E;IAC1E,yEAAyE;IACzE,4CAA4C;IAC5C,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;IAC9E,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,YAAY,GAAG,UAAU,KAAK,SAAS,IAAK,WAAiC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAEzG,8DAA8D;IAC9D,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACnF,MAAM,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAC1D,CAAC,CAAC,GAAG,gBAAgB,OAAO,WAAW,EAAE;YACzC,CAAC,CAAC,gBAAgB,IAAI,WAAW,CAAC;QACtC,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACvB,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,uCAAuC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC7H,CAAC;YACD,2FAA2F;QAC/F,CAAC;IACL,CAAC;IAED,iDAAiD;IACjD,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IAC9E,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IACrE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/H,IAAI,UAAU,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC1D,OAAO,CAAC,EAAE,EAAE,2BAA2B,CAAC,oCAAoC,EAAE,0CAA0C,CAAC,CAAC,CAAC;IAC/H,CAAC;IAED,yEAAyE;IACzE,wEAAwE;IACxE,IAAI,SAA8C,CAAC;IACnD,IAAI,QAA4B,CAAC;IACjC,IAAI,UAA8B,CAAC;IACnC,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACxH,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjD,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,CAAC;QAC5D,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,KAAK,YAAY,YAAY;YAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1E,OAAO,CAAC,EAAE,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,6EAA6E;IAC7E,+EAA+E;IAC/E,8EAA8E;IAE9E,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACxF,MAAM,WAAW,GAAkB,CAAC,GAAG,EAAE;QACrC,IAAI,CAAC;YAAC,OAAO,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAAC,CAAC;QAClD,OAAO,KAAK,EAAE,CAAC;YACX,IAAI,KAAK,YAAY,YAAY;gBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACjF,OAAO,OAAO,CAAC,EAAE,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;IAEL,yEAAyE;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,kFAAkF;IAClF,+EAA+E;IAC/E,yCAAyC;IACzC,kFAAkF;IAClF,+EAA+E;IAC/E,qFAAqF;IACrF,qCAAqC;IACrC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;IACvD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,MAAM,EAAE,CAAC;IACnJ,IAAI,uBAA+F,CAAC;IACpG,MAAM,gBAAgB,GAAG,GAA+D,EAAE;QACtF,uBAAuB,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACtC,WAAW,EAAE,gBAAgB,CAAC,MAA+D,CAAC;YAC9F,QAAQ,EAAE,MAAM,aAAa,CAAC,MAAqH,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SACtK,CAAC,CAAC,EAAE,CAAC;QACN,OAAO,uBAAuB,CAAC;IACnC,CAAC,CAAC;IAEF,wFAAwF;IACxF,gFAAgF;IAChF,+EAA+E;IAC/E,8EAA8E;IAC9E,IAAI,aAAiC,CAAC;IACtC,MAAM,KAAK,GAAG,KAAK,IAAqB,EAAE;QACtC,IAAI,aAAa,KAAK,SAAS;YAAE,OAAO,aAAa,CAAC;QACtD,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAC3D,aAAa,GAAG,MAAM,YAAY,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,aAAa,EAAE;YACnG,GAAG,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACzB,CAAC,CAAC;IACF,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnH,IAAI,CAAC;YACD,+EAA+E;YAC/E,oFAAoF;YACpF,sCAAsC;YACtC,MAAM,CAAC,GAAG,MAAM,KAAK,EAAE,CAAC;YACxB,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;YAC3D,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;YACnpB,0EAA0E;YAC1E,0EAA0E;YAC1E,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,OAAO;QACX,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,2EAA2E;YAC3E,yEAAyE;YACzE,0EAA0E;YAC1E,sEAAsE;YACtE,uCAAuC;YACvC,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;gBAChC,IAAI,IAAI;oBAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACjD,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC;YACD,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC;oBAChC,CAAC,CAAC,uBAAuB,CAAC,SAAS,EAAE,KAAK,CAAC;oBAC3C,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC3E,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,aAAa,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC,EAAE,uBAAuB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,CAAC,EAAE,kBAAkB,CAAC,IAAI,KAAK,CAAC,uBAAuB,SAAS,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/F,CAAC;IACL,CAAC;IAED,iFAAiF;IACjF,gFAAgF;IAChF,sFAAsF;IACtF,2EAA2E;IAC3E,wEAAwE;IACxE,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrH,MAAM,CAAC,GAAG,MAAM,KAAK,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,UAAU,IAAI,CAAC,CAAC;QACjC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAC3D,6EAA6E;QAC7E,2EAA2E;QAC3E,+EAA+E;QAC/E,+EAA+E;QAC/E,mFAAmF;QACnF,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE;YACjG,SAAS,EAAE,CAAC;YACZ,WAAW;YACX,WAAW;YACX,QAAQ;SACX,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;QACpR,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACX,CAAC;IAED,8EAA8E;IAC9E,wDAAwD;IACxD,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;IACnE,MAAM,YAAY,GAAG,aAAa,IAAI,KAAK,CAAC;IAC5C,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,MAAc,EAAE,MAAe,EAAE,EAAE,CAAC,eAAe,CAAU,MAAM,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAEjJ,IAAI,CAAC;QACD,yEAAyE;QACzE,0EAA0E;QAC1E,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,YAAY,CAAC,+BAA+B,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,UAAU,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACpG,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAG,8BAA8B;YACxF,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YAC7G,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE;gBACtD,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM;aACvD,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,uEAAuE;QACvE,kEAAkE;QAClE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,uEAAuE;QACvE,2EAA2E;QAC3E,IAAI,IAAI,EAAE,CAAC;YACP,MAAM,OAAO,GAAG,KAAK,YAAY,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1F,MAAM,IAAI,GAAG,KAAK,YAAY,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QACD,wEAAwE;QACxE,yEAAyE;QACzE,2EAA2E;QAC3E,kEAAkE;QAClE,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,MAAM,CAAC,uBAAuB,CAAC,SAAS,IAAI,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QACjH,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC,CAAC"}
package/dist/render.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { OperationResult, ProviderCost } from "@plurnk/plurnk-contracts";
1
2
  export declare const OP_GLYPHS: Record<string, string>;
2
3
  export declare const ORIGIN_GLYPHS: Record<string, string>;
3
4
  export declare const modelSendGlyph: (status: number) => string;
@@ -31,13 +32,29 @@ export declare const renderLogEntry: (entry: LogEntryWire) => string;
31
32
  export interface LoopUsage {
32
33
  promptTokens: number;
33
34
  completionTokens: number;
34
- costPico: number;
35
- sessionCostPico?: number;
36
- balancePico?: number;
35
+ costUsd: number | null;
36
+ projectedCostUsd: number | null;
37
+ costs: ProviderCost[];
38
+ accounting: null | {
39
+ scopeId: string;
40
+ status: "open";
41
+ } | {
42
+ scopeId: string;
43
+ status: "pending";
44
+ reason: string;
45
+ evaluatedAt?: string;
46
+ } | {
47
+ scopeId: string;
48
+ status: "settled";
49
+ charge: Extract<ProviderCost, {
50
+ kind: "authoritative";
51
+ }>;
52
+ evaluatedAt: string;
53
+ };
37
54
  contextTokens?: number;
38
55
  promptBudget?: number | null;
39
56
  }
40
57
  export declare const contextGauge: (contextTokens?: number, promptBudget?: number | null) => string;
41
- export declare const terminalStatusLabel: (status: number) => string;
42
- export declare const renderSummary: (turns: number, wallMs: number, finalStatus: number, hitMaxTurns: boolean, usage?: LoopUsage, promptBudget?: number | null) => string;
58
+ export declare const terminalStatusLabel: (result: OperationResult) => string;
59
+ export declare const renderSummary: (turns: number, wallMs: number, result: OperationResult, hitMaxTurns: boolean, usage?: LoopUsage, promptBudget?: number | null) => string;
43
60
  //# sourceMappingURL=render.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAa5C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKhD,CAAC;AAUF,eAAO,MAAM,cAAc,WAAY,MAAM,KAAG,MAQ/C,CAAC;AAEF,eAAO,MAAM,YAAY,WAAY,MAAM,KAAG,MAY7C,CAAC;AA2EF,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,OAAO,CAAC;IACZ,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAGhB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAKD,eAAO,MAAM,sBAAsB,UAAW,YAAY,KAAG,OAO5D,CAAC;AAMF,eAAO,MAAM,UAAU,YAAa,MAAM,WAAW,MAAM,YAAY,MAAM,KAAG,MAG/E,CAAC;AAKF,eAAO,MAAM,aAAa,YAAa,MAAM,KAAG,MAC8C,CAAC;AAsC/F,eAAO,MAAM,eAAe,cAAe,OAAO,YAAY,OAAO,KAAG,MAYvE,CAAC;AAuDF,eAAO,MAAM,aAAa,UAAW,YAAY,KAAG,OACA,CAAC;AAerD,eAAO,MAAM,WAAW,UAAW,YAAY,KAAG,MAAM,GAAG,IAK1D,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,YAAY,KAAG,MAgDpD,CAAC;AAEF,MAAM,WAAW,SAAS;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IAIjB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAOrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AASD,eAAO,MAAM,YAAY,mBAAoB,MAAM,iBAAiB,MAAM,GAAG,IAAI,KAAG,MAInF,CAAC;AASF,eAAO,MAAM,mBAAmB,WAAY,MAAM,KAAG,MAON,CAAC;AAEhD,eAAO,MAAM,aAAa,UAAW,MAAM,UAAU,MAAM,eAAe,MAAM,eAAe,OAAO,UAAU,SAAS,iBAAiB,MAAM,GAAG,IAAI,KAAG,MAezJ,CAAC"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}