agent-nuvira 3.2.0 → 3.3.1

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 (150) hide show
  1. package/.agents/skills/code-assessment/SKILL.md +10 -1
  2. package/.agents/skills/index.json +1 -1
  3. package/README.md +42 -1
  4. package/dist/agents/agents/writer.d.ts.map +1 -1
  5. package/dist/agents/agents/writer.js +7 -1
  6. package/dist/agents/agents/writer.js.map +1 -1
  7. package/dist/cli/chat.d.ts +6 -0
  8. package/dist/cli/chat.d.ts.map +1 -1
  9. package/dist/cli/chat.js +45 -1
  10. package/dist/cli/chat.js.map +1 -1
  11. package/dist/cli/cli-program.d.ts.map +1 -1
  12. package/dist/cli/cli-program.js +6 -2
  13. package/dist/cli/cli-program.js.map +1 -1
  14. package/dist/cli/commands.d.ts +2 -1
  15. package/dist/cli/commands.d.ts.map +1 -1
  16. package/dist/cli/commands.js +3 -2
  17. package/dist/cli/commands.js.map +1 -1
  18. package/dist/cli/config.js +2 -2
  19. package/dist/cli/config.js.map +1 -1
  20. package/dist/cli/dashboard.d.ts +26 -0
  21. package/dist/cli/dashboard.d.ts.map +1 -1
  22. package/dist/cli/dashboard.js +123 -3
  23. package/dist/cli/dashboard.js.map +1 -1
  24. package/dist/cli/execute.d.ts.map +1 -1
  25. package/dist/cli/execute.js +48 -3
  26. package/dist/cli/execute.js.map +1 -1
  27. package/dist/cli/intent.d.ts +1 -1
  28. package/dist/cli/intent.js +2 -2
  29. package/dist/cli/intent.js.map +1 -1
  30. package/dist/cli/loop-executor.d.ts +24 -0
  31. package/dist/cli/loop-executor.d.ts.map +1 -1
  32. package/dist/cli/loop-executor.js +161 -1
  33. package/dist/cli/loop-executor.js.map +1 -1
  34. package/dist/cli/process-control.d.ts +15 -0
  35. package/dist/cli/process-control.d.ts.map +1 -1
  36. package/dist/cli/process-control.js +38 -14
  37. package/dist/cli/process-control.js.map +1 -1
  38. package/dist/cli/trace.d.ts +19 -0
  39. package/dist/cli/trace.d.ts.map +1 -1
  40. package/dist/cli/trace.js +82 -2
  41. package/dist/cli/trace.js.map +1 -1
  42. package/dist/forwarded.d.ts +2 -0
  43. package/dist/forwarded.d.ts.map +1 -0
  44. package/dist/forwarded.js +2 -0
  45. package/dist/forwarded.js.map +1 -0
  46. package/dist/gateway/registry.d.ts.map +1 -1
  47. package/dist/gateway/registry.js +22 -3
  48. package/dist/gateway/registry.js.map +1 -1
  49. package/dist/inference/tool-call-utils.d.ts +54 -0
  50. package/dist/inference/tool-call-utils.d.ts.map +1 -1
  51. package/dist/inference/tool-call-utils.js +216 -4
  52. package/dist/inference/tool-call-utils.js.map +1 -1
  53. package/dist/learning/autonomy-policy.d.ts +42 -0
  54. package/dist/learning/autonomy-policy.d.ts.map +1 -1
  55. package/dist/learning/autonomy-policy.js +115 -19
  56. package/dist/learning/autonomy-policy.js.map +1 -1
  57. package/dist/learning/cost-tracker.d.ts +14 -0
  58. package/dist/learning/cost-tracker.d.ts.map +1 -1
  59. package/dist/learning/cost-tracker.js +22 -0
  60. package/dist/learning/cost-tracker.js.map +1 -1
  61. package/dist/learning/deliverable-class.d.ts +48 -0
  62. package/dist/learning/deliverable-class.d.ts.map +1 -1
  63. package/dist/learning/deliverable-class.js +72 -0
  64. package/dist/learning/deliverable-class.js.map +1 -1
  65. package/dist/learning/engine-router.d.ts +12 -1
  66. package/dist/learning/engine-router.d.ts.map +1 -1
  67. package/dist/learning/engine-router.js +28 -0
  68. package/dist/learning/engine-router.js.map +1 -1
  69. package/dist/learning/eval-framework.d.ts +24 -0
  70. package/dist/learning/eval-framework.d.ts.map +1 -1
  71. package/dist/learning/eval-framework.js +291 -0
  72. package/dist/learning/eval-framework.js.map +1 -1
  73. package/dist/learning/intent-envelope.d.ts +162 -0
  74. package/dist/learning/intent-envelope.d.ts.map +1 -0
  75. package/dist/learning/intent-envelope.js +235 -0
  76. package/dist/learning/intent-envelope.js.map +1 -0
  77. package/dist/learning/long-form.d.ts.map +1 -1
  78. package/dist/learning/long-form.js +12 -1
  79. package/dist/learning/long-form.js.map +1 -1
  80. package/dist/learning/reasoning-trace.d.ts +89 -0
  81. package/dist/learning/reasoning-trace.d.ts.map +1 -1
  82. package/dist/learning/reasoning-trace.js +49 -0
  83. package/dist/learning/reasoning-trace.js.map +1 -1
  84. package/dist/learning/run-trace.d.ts +164 -0
  85. package/dist/learning/run-trace.d.ts.map +1 -0
  86. package/dist/learning/run-trace.js +342 -0
  87. package/dist/learning/run-trace.js.map +1 -0
  88. package/dist/learning/skill-store.d.ts.map +1 -1
  89. package/dist/learning/skill-store.js +5 -1
  90. package/dist/learning/skill-store.js.map +1 -1
  91. package/dist/learning/skill-types.d.ts +14 -0
  92. package/dist/learning/skill-types.d.ts.map +1 -1
  93. package/dist/learning/skill-types.js +19 -0
  94. package/dist/learning/skill-types.js.map +1 -1
  95. package/dist/learning/unattended-job.d.ts +57 -0
  96. package/dist/learning/unattended-job.d.ts.map +1 -1
  97. package/dist/learning/unattended-job.js +92 -0
  98. package/dist/learning/unattended-job.js.map +1 -1
  99. package/dist/nlu/conversation-gate.d.ts +9 -0
  100. package/dist/nlu/conversation-gate.d.ts.map +1 -1
  101. package/dist/nlu/conversation-gate.js +38 -17
  102. package/dist/nlu/conversation-gate.js.map +1 -1
  103. package/dist/resources/command-manifest.json +10 -10
  104. package/dist/skills/bundled-skills.d.ts.map +1 -1
  105. package/dist/skills/bundled-skills.js +13 -2
  106. package/dist/skills/bundled-skills.js.map +1 -1
  107. package/dist/tools/coding-tools.d.ts.map +1 -1
  108. package/dist/tools/coding-tools.js +33 -8
  109. package/dist/tools/coding-tools.js.map +1 -1
  110. package/dist/tools/edit-verification.d.ts +95 -0
  111. package/dist/tools/edit-verification.d.ts.map +1 -1
  112. package/dist/tools/edit-verification.js +238 -16
  113. package/dist/tools/edit-verification.js.map +1 -1
  114. package/dist/tools/registry.d.ts +31 -2
  115. package/dist/tools/registry.d.ts.map +1 -1
  116. package/dist/tools/registry.js +44 -5
  117. package/dist/tools/registry.js.map +1 -1
  118. package/dist/tools/run-cli.d.ts.map +1 -1
  119. package/dist/tools/run-cli.js +15 -2
  120. package/dist/tools/run-cli.js.map +1 -1
  121. package/dist/tools/run-terminal.d.ts.map +1 -1
  122. package/dist/tools/run-terminal.js +23 -4
  123. package/dist/tools/run-terminal.js.map +1 -1
  124. package/dist/tools/skill-tool.d.ts.map +1 -1
  125. package/dist/tools/skill-tool.js +5 -0
  126. package/dist/tools/skill-tool.js.map +1 -1
  127. package/dist/tools/tool-loop.d.ts +102 -1
  128. package/dist/tools/tool-loop.d.ts.map +1 -1
  129. package/dist/tools/tool-loop.js +480 -13
  130. package/dist/tools/tool-loop.js.map +1 -1
  131. package/dist/web-dashboard/chat-console.d.ts +7 -0
  132. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  133. package/dist/web-dashboard/chat-console.js +41 -3
  134. package/dist/web-dashboard/chat-console.js.map +1 -1
  135. package/dist/web-dashboard/server.d.ts +46 -0
  136. package/dist/web-dashboard/server.d.ts.map +1 -1
  137. package/dist/web-dashboard/server.js +115 -1
  138. package/dist/web-dashboard/server.js.map +1 -1
  139. package/dist/web-dashboard/src/admin-auth.d.ts +49 -2
  140. package/dist/web-dashboard/src/admin-auth.d.ts.map +1 -1
  141. package/dist/web-dashboard/src/admin-auth.js +64 -3
  142. package/dist/web-dashboard/src/admin-auth.js.map +1 -1
  143. package/dist/web-dashboard/src/types.d.ts +41 -0
  144. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  145. package/package.json +5 -2
  146. package/src/web-dashboard/public/assets/index-CjvoBhlz.js +207 -0
  147. package/src/web-dashboard/public/assets/index-CjvoBhlz.js.map +1 -0
  148. package/src/web-dashboard/public/index.html +1 -1
  149. package/src/web-dashboard/public/assets/index-kCUkORm7.js +0 -207
  150. package/src/web-dashboard/public/assets/index-kCUkORm7.js.map +0 -1
@@ -37,7 +37,44 @@ import { resolveModelHarnessProfile } from '../learning/model-harness.js';
37
37
  import { hasCredentials } from '../learning/model-selection.js';
38
38
  import { resolveEngine } from '../learning/engine-router.js';
39
39
  import { logger } from '../utils/logger.js';
40
+ import { beginTrace, endTrace, recordStep, recordTraceEvent, buildTraceOutcome, } from '../learning/reasoning-trace.js';
41
+ import { estimateTokens } from '../learning/cost-tracker.js';
42
+ import { createHash } from 'node:crypto';
40
43
  import { toUserFacingGenerationError, detectAnswerQualityFailure, answerQualityError, } from '../inference/tool-call-utils.js';
44
+ /**
45
+ * Serialize the loop's thread the way the chat transport does, so the SAME
46
+ * layer splitter (and therefore the same per-layer digests) applies to both
47
+ * (G18). Without the role markers a loop prompt lands in the "unknown shape"
48
+ * branch and the stable layer is the whole thread — which grows every step, so
49
+ * the one question the layers exist to answer (did the system layer stay byte-
50
+ * stable?) could never be answered for an `execute` run.
51
+ */
52
+ function serializeLoopThread(messages) {
53
+ const marker = {
54
+ system: '[System]',
55
+ user: '[User]',
56
+ assistant: '[Assistant]',
57
+ tool: '[Tool result]',
58
+ };
59
+ return messages
60
+ .map((m) => `${marker[m.role] ?? `[${m.role}]`}\n${m.content ?? ''}`)
61
+ .join('\n');
62
+ }
63
+ /** sha256 hex prefix — the same digest shape the store uses. */
64
+ function digestOf(text) {
65
+ try {
66
+ return createHash('sha256').update(text).digest('hex').slice(0, 16);
67
+ }
68
+ catch {
69
+ return String(text.length);
70
+ }
71
+ }
72
+ /** One bounded line, for the verbose console echo of a tool result. */
73
+ function previewLine(text, max = 200) {
74
+ const first = (text || '').split(/\r?\n/).find((l) => l.trim() !== '') ?? '';
75
+ const flat = first.replace(/\s+/g, ' ').trim();
76
+ return flat.length > max ? `${flat.slice(0, max)}\u2026` : flat;
77
+ }
41
78
  /** The system prompt for the execute-loop arm (verification-first). */
42
79
  function buildExecuteLoopSystemPrompt(toolContractJson) {
43
80
  return [
@@ -60,6 +97,32 @@ function buildExecuteLoopSystemPrompt(toolContractJson) {
60
97
  */
61
98
  export async function runLoopExecutor(goal, configManager, opts = {}) {
62
99
  const startedAt = Date.now();
100
+ // ── G18 — THE LOOP LEAVES A TRACE ────────────────────────────────────────
101
+ // Recorded from the FIRST line of the run (before routing) on purpose: a run
102
+ // that dies in routing is exactly the one a reader needs to see, and a trace
103
+ // that only exists for successful runs cannot explain a failure. `source:
104
+ // 'loop'` distinguishes these from pipeline ('orchestrator') and 'chat'
105
+ // traces in `nuvira trace list` — the old gap was that an `execute` run
106
+ // wrote NOTHING here, so the engine that runs by default was the one
107
+ // engine with no evidence trail.
108
+ const traceId = beginTrace({ goal, source: 'loop' });
109
+ /** Refusals/gates recorded this turn — reported in the CLI summary. */
110
+ const recorded = { refusals: 0, gateDecisions: 0 };
111
+ /**
112
+ * G18 — one sink for the loop's non-LLM facts: persisted to the trace store,
113
+ * and (only under `-v`) echoed to the console so a live run is readable
114
+ * without opening the JSON. Timestamps/ordering are the store's job.
115
+ */
116
+ const onTraceEvent = (event) => {
117
+ recordTraceEvent(traceId, event);
118
+ if (event.kind === 'refusal')
119
+ recorded.refusals += 1;
120
+ if (event.kind === 'gate')
121
+ recorded.gateDecisions += 1;
122
+ if (!opts.quiet && opts.verbose && (event.kind === 'tool' || event.kind === 'refusal')) {
123
+ logger.info(` ${event.ok ? '↳' : '⛔'} ${event.tool}: ${previewLine(event.result ?? event.summary)}`);
124
+ }
125
+ };
63
126
  // ── Route: explicit provider/model wins; otherwise the AutoModelRouter ──
64
127
  let providerType = 'auto';
65
128
  let model = 'default';
@@ -245,12 +308,15 @@ export async function runLoopExecutor(goal, configManager, opts = {}) {
245
308
  }
246
309
  }
247
310
  catch (err) {
311
+ // G18 — a routing failure is a FAILED trace, not a missing one.
312
+ endTrace(traceId, false, { kind: 'failed', tools: [] });
248
313
  return failureResult(
249
314
  // User-facing reason is sanitized (no provider wire text); the raw error
250
315
  // rides along as the technical explanation below.
251
316
  toUserFacingGenerationError(err), startedAt, opts.provider ?? 'auto', opts.model ?? 'default', `routing failed before an engine decision was possible: ${err instanceof Error ? err.message : String(err)}`);
252
317
  }
253
318
  if (!provider) {
319
+ endTrace(traceId, false, { kind: 'failed', tools: [] });
254
320
  return failureResult('No available provider for the loop engine (check API keys / local runner).', startedAt, opts.provider ?? 'auto', opts.model ?? 'default', 'no available provider after the candidate walk');
255
321
  }
256
322
  // ── Engine decision (Phase 2): audit-trail echo for the caller/telemetry ──
@@ -525,9 +591,80 @@ export async function runLoopExecutor(goal, configManager, opts = {}) {
525
591
  configManager,
526
592
  loadedExtraTools,
527
593
  cwd: process.cwd(),
594
+ // G18 — the autonomy gates report their DECISIONS on this bus
595
+ // (`autonomy:write-applied`, emitted by write_file/edit_file/
596
+ // run_terminal/run_cli/git). Forwarding them here is what makes "the
597
+ // gate proceeded on the request's own authorization, and here is its
598
+ // reason" reviewable after the fact instead of inferred from a missing
599
+ // round trip.
600
+ emit: (event, data) => {
601
+ if (event !== 'autonomy:write-applied')
602
+ return;
603
+ const d = data;
604
+ onTraceEvent({
605
+ kind: 'gate',
606
+ gate: 'autonomy',
607
+ ...(d?.tool ? { tool: d.tool } : {}),
608
+ summary: d?.reason
609
+ ? `proceeded without asking — ${d.reason}`
610
+ : 'proceeded without asking — the request itself was the authorization',
611
+ });
612
+ },
528
613
  },
529
614
  deps: {
530
- callModel,
615
+ // G18 — the LLM steps of the loop are recorded like every other
616
+ // engine's, so the Trace tab can show WHY the loop answered as it did
617
+ // (prompt digests, per-layer stability, model, tokens, latency).
618
+ callModel: async (messages, schemas, onToken, signal) => {
619
+ const started = Date.now();
620
+ const promptText = serializeLoopThread(messages);
621
+ try {
622
+ const resp = await callModel(messages, schemas, onToken, signal);
623
+ // G10 — an EMPTY step is not a success: a step with neither content
624
+ // nor a tool call produced nothing, and must not read as one.
625
+ const produced = resp.content.trim().length > 0 || resp.toolCalls.length > 0;
626
+ recordStep(traceId, {
627
+ agentType: 'loop',
628
+ description: `${schemas.length} tool schema(s) exposed`,
629
+ promptFull: promptText,
630
+ provider: providerType,
631
+ model,
632
+ promptDigest: digestOf(promptText),
633
+ // The TAIL is the ask + the most recent tool results — the part a
634
+ // reader needs; the head is the system prompt (kept once, whole,
635
+ // as the trace's stable layer).
636
+ promptPreview: promptText.length > 800 ? `…${promptText.slice(-800)}` : promptText,
637
+ responsePreview: resp.content.slice(0, 1000),
638
+ responseLength: resp.content.length,
639
+ inputTokens: estimateTokens(promptText),
640
+ outputTokens: estimateTokens(resp.content),
641
+ latencyMs: Date.now() - started,
642
+ success: produced,
643
+ ...(produced ? {} : { error: 'empty step — no answer text and no tool call' }),
644
+ });
645
+ return resp;
646
+ }
647
+ catch (err) {
648
+ const message = err instanceof Error ? err.message : String(err);
649
+ recordStep(traceId, {
650
+ agentType: 'loop',
651
+ description: `${schemas.length} tool schema(s) exposed`,
652
+ promptFull: promptText,
653
+ provider: providerType,
654
+ model,
655
+ promptDigest: digestOf(promptText),
656
+ promptPreview: promptText.length > 800 ? `…${promptText.slice(-800)}` : promptText,
657
+ responsePreview: '',
658
+ responseLength: 0,
659
+ inputTokens: estimateTokens(promptText),
660
+ outputTokens: 0,
661
+ latencyMs: Date.now() - started,
662
+ success: false,
663
+ error: message,
664
+ });
665
+ throw err;
666
+ }
667
+ },
531
668
  executeTool: async (name, args, ctx) => {
532
669
  const tool = getTool(name);
533
670
  if (!tool)
@@ -548,7 +685,25 @@ export async function runLoopExecutor(goal, configManager, opts = {}) {
548
685
  },
549
686
  onEvent: opts.quiet ? undefined : (line) => logger.info(line),
550
687
  },
688
+ // G18 — the loop's tool calls, gate decisions and refusals all reach the
689
+ // trace store through this one sink (an OPTION, not a dep: the loop
690
+ // describes, the surface records).
691
+ onTraceEvent,
551
692
  });
693
+ // G18 — WHAT ACTUALLY HAPPENED, in the same shape the chat and gateway
694
+ // paths record: a declined call, an unverified edit, an unsatisfied
695
+ // deliverable and a dropped promise are all facts about the turn, and the
696
+ // outcome is what the Trace tab reads instead of "the model answered".
697
+ endTrace(traceId, !result.generationFailed, buildTraceOutcome({
698
+ generationFailed: result.generationFailed,
699
+ cancelled: result.cancelled,
700
+ tools: result.successfulToolCalls ?? result.toolCalls,
701
+ unverifiedActionClaim: result.unverifiedActionClaim,
702
+ unfulfilledPromise: result.unfulfilledPromise,
703
+ unverifiedEdit: result.unverifiedEdit,
704
+ unverifiedEditClaim: result.unverifiedEditClaim,
705
+ undeliveredArtifact: result.undeliveredArtifact,
706
+ }));
552
707
  return {
553
708
  content: result.content,
554
709
  generationFailed: result.generationFailed ?? false,
@@ -559,9 +714,14 @@ export async function runLoopExecutor(goal, configManager, opts = {}) {
559
714
  provider: providerType,
560
715
  model,
561
716
  engineExplanation,
717
+ traceId,
718
+ refusals: recorded.refusals,
719
+ gateDecisions: recorded.gateDecisions,
720
+ ...(result.runTrace ? { runTrace: result.runTrace } : {}),
562
721
  };
563
722
  }
564
723
  catch (err) {
724
+ endTrace(traceId, false, { kind: 'failed', tools: [] });
565
725
  return failureResult(toUserFacingGenerationError(err), startedAt, providerType, model, `loop execution failed: ${err instanceof Error ? err.message : String(err)}`);
566
726
  }
567
727
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loop-executor.js","sourceRoot":"","sources":["../../src/cli/loop-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC3G,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAErG,OAAO,EAAE,mBAAmB,EAA4B,MAAM,oCAAoC,CAAC;AACnG,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,kBAAkB,GAEnB,MAAM,iCAAiC,CAAC;AAkDzC,uEAAuE;AACvE,SAAS,4BAA4B,CAAC,gBAAwB;IAC5D,OAAO;QACL,iOAAiO;QACjO,uMAAuM;QACvM,oHAAoH;QACpH,EAAE;QACF,uMAAuM;QACvM,EAAE;QACF,gBAAgB;KACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAY,EACZ,aAA4B,EAC5B,OAA4B,EAAE;IAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,2EAA2E;IAC3E,IAAI,YAAY,GAAG,MAAM,CAAC;IAC1B,IAAI,KAAK,GAAG,SAAS,CAAC;IACtB,IAAI,QAAQ,GAA6B,IAAI,CAAC;IAE9C,2EAA2E;IAC3E,4EAA4E;IAC5E,yEAAyE;IACzE,4EAA4E;IAC5E,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,cAAc,GAA+C,EAAE,CAAC;IACtE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,GAAY,EAAQ,EAAE;QACzD,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QACrD,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;QAC3B,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QACnC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC;IACF;;;;OAIG;IACH,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E;;;;;;OAMG;IACH,IAAI,eAAe,GAAsD,IAAI,CAAC;IAC9E,MAAM,sBAAsB,GAAG,GAA+C,EAAE;QAC9E,IAAI,eAAe;YAAE,OAAO,eAAe,CAAC;QAC5C,MAAM,GAAG,GAA+C,EAAE,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,mBAAmB,CAAC,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;iBAC9E,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAClC,oEAAoE;YACpE,wEAAwE;YACxE,wEAAwE;YACxE,wEAAwE;YACxE,0EAA0E;YAC1E,gDAAgD;YAChD,MAAM,OAAO,GAAG,KAAK;iBAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,IAAI,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBACtE,kEAAkE;gBAClE,qEAAqE;gBACrE,oEAAoE;gBACpE,+DAA+D;gBAC/D,kEAAkE;gBAClE,gEAAgE;iBAC/D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACZ,MAAM,OAAO,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,CAAC;YACzB,CAAC,CAAC,CAAC;YACL,gEAAgE;YAChE,uEAAuE;YACvE,kEAAkE;YAClE,wEAAwE;YACxE,mEAAmE;YACnE,IAAI,OAAO,GAAG,OAAO,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,6BAA6B,EAAE,CAAC;gBACnD,OAAO,GAAG;oBACR,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBACxC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;iBACxC,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,iEAAiE;YACnE,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,OAAO;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;YACzE,0DAA0D;QAC5D,CAAC;QACD,eAAe,GAAG,GAAG,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,2EAA2E;IAC3E,MAAM,cAAc,GAAwB;QAC1C,sBAAsB,EAAE,IAAI,GAAG,EAAE;QACjC,+BAA+B,EAAE,IAAI,GAAG,EAAE;QAC1C,mBAAmB,EAAE,IAAI,GAAG,EAAE;KAC/B,CAAC;IAEF,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/D,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC7B,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAC7B,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC5C,CAAC,CAAC,IAAI,CAAC,KAAK;gBACZ,CAAC,CAAC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YACjE,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACnC,wEAAwE;YACxE,kEAAkE;YAClE,sEAAsE;YACtE,wEAAwE;YACxE,oEAAoE;YACpE,qEAAqE;YACrE,0EAA0E;YAC1E,yEAAyE;YACzE,iDAAiD;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,aAAa,CAAC,CAAC;YACvG,sEAAsE;YACtE,yEAAyE;YACzE,oEAAoE;YACpE,0EAA0E;YAC1E,0EAA0E;YAC1E,gCAAgC;YAChC,MAAM,KAAK,GAA+C,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,GAAY,EAAQ,EAAE;gBAChD,IAAI,CAAC,IAAI;oBAAE,OAAO;gBAClB,MAAM,KAAK,GAAG,GAAG,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;gBACzD,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO;gBAC1B,6EAA6E;gBAC7E,wEAAwE;gBACxE,yEAAyE;gBACzE,yEAAyE;gBACzE,+DAA+D;gBAC/D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACxC,CAAC,CAAC;YACF,uEAAuE;YACvE,wEAAwE;YACxE,kEAAkE;YAClE,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,EAAE;gBACzC,eAAe,EAAE,IAAI;gBACrB,aAAa;aACd,CAAC,CAAC;YACH,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAEhD,wEAAwE;YACxE,0EAA0E;YAC1E,oEAAoE;YACpE,2EAA2E;YAC3E,2EAA2E;YAC3E,+DAA+D;YAC/D,yEAAyE;YACzE,2BAA2B;YAC3B,MAAM,UAAU,GAAG,6BAA6B,EAAE,CAAC;YACnD,MAAM,OAAO,GAAG;gBACd,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACxD,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aACxD,CAAC;YACF,qDAAqD;YACrD,KAAK,MAAM,IAAI,IAAI,OAAO;gBAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAErE,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC/D,IAAI,MAAM,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;wBAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS;4BACtC,CAAC,CAAC,IAAI,CAAC,KAAK;4BACZ,CAAC,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;wBAC1E,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;wBAC7B,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;wBAC7B,KAAK,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;wBAC7E,MAAM;oBACR,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,kBAAkB;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,aAAa;QAClB,yEAAyE;QACzE,kDAAkD;QAClD,2BAA2B,CAAC,GAAG,CAAC,EAChC,SAAS,EACT,IAAI,CAAC,QAAQ,IAAI,MAAM,EACvB,IAAI,CAAC,KAAK,IAAI,SAAS,EACvB,0DAA0D,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC7G,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,aAAa,CAClB,4EAA4E,EAC5E,SAAS,EACT,IAAI,CAAC,QAAQ,IAAI,MAAM,EACvB,IAAI,CAAC,KAAK,IAAI,SAAS,EACvB,gDAAgD,CACjD,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,wEAAwE;IACxE,2EAA2E;IAC3E,IAAI,iBAAiB,GAAG,EAAE,CAAC;IAC3B,IAAI,CAAC;QACH,iBAAiB,GAAG,aAAa,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB,GAAG,6BAA6B,CAAC;IACpD,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK;QAAE,MAAM,CAAC,KAAK,CAAC,WAAW,iBAAiB,EAAE,CAAC,CAAC;IAE9D,8EAA8E;IAC9E,IAAI,cAAkC,CAAC;IACvC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3D,IAAI,KAAK;gBAAE,cAAc,GAAG,KAAK,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,cAAc,GAAG,SAAS,CAAC,CAAC,sCAAsC;QACpE,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,0EAA0E;IAC1E,+DAA+D;IAC/D,oEAAoE;IACpE,wEAAwE;IACxE,kEAAkE;IAClE,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YAC9F,MAAM,QAAQ,GAA+E,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAC7G,SAAS,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACpE,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,KAAK,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,KAAK;oBAAE,MAAM,CAAC,IAAI,CAAC,wBAAwB,QAAQ,CAAC,KAAK,CAAC,IAAI,gDAAgD,CAAC,CAAC;YAC5H,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,GAAG,EAAE,CAAC,CAAC,sCAAsC;QACxD,CAAC;IACH,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC9D,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAE7E,MAAM,MAAM,GAAkB;QAC5B,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,4BAA4B,CAAC,kBAAkB,CAAC,GAAG,SAAS,EAAE;QACzF,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,sBAAsB,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;KAChC,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,+DAA+D;IAC/D,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA6B,CAAC;IAC/D,MAAM,cAAc,GAAG,KAAK,EAAE,IAAY,EAA8B,EAAE;QACxE,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,QAAQ,GAAG,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACtD,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/C,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC,CAAC;IACF,+EAA+E;IAC/E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAE9D,6EAA6E;IAC7E,MAAM,OAAO,GAAG,KAAK,EACnB,IAAuB,EACvB,GAAW,EACX,QAAuB,EACvB,OAAyB,EACzB,KAA8B,EAC9B,EAAE;QACF,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnE,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnE,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAClG,CAAC;YACD,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,oEAAoE;QACpE,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;QACpF,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,GAAW,CAAC;QAChB,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;gBACrE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;YACH,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC7C,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,EACrB,QAAuB,EACvB,OAAyB,EACzB,YAAsC,EACtC,UAAwB,EACxB,EAAE;QACF,KAAK,YAAY,CAAC;QAClB,MAAM,KAAK,GAAG,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC;QACxC,uEAAuE;QACvE,qEAAqE;QACrE,0EAA0E;QAC1E,2BAA2B;QAC3B,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QAClD,MAAM,GAAG,GAA+C,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAAG;YACX,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACpE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;SACpE,CAAC;QACF;;;;;;WAMG;QACH,MAAM,yBAAyB,GAAG,GAAS,EAAE;YAC3C,IAAI,CAAC,SAAS;gBAAE,OAAO;YACvB,KAAK,MAAM,EAAE,IAAI,sBAAsB,EAAE,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,SAAS;gBAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,OAAgB,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,KAAK,EAAE,OAAO;gBAAE,MAAM;YAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjD,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC1E,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACrB,gEAAgE;oBAChE,iDAAiD;oBACjD,yBAAyB,EAAE,CAAC;oBAC5B,SAAS;gBACX,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS;oBACtC,CAAC,CAAC,IAAI,CAAC,KAAK;oBACZ,CAAC,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBAC1E,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACpE,uEAAuE;gBACvE,mEAAmE;gBACnE,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC7B,QAAQ,GAAG,IAAI,CAAC;gBAChB,KAAK,GAAG,GAAG,CAAC;gBACZ,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBAChE,oEAAoE;gBACpE,qEAAqE;gBACrE,qEAAqE;gBACrE,oEAAoE;gBACpE,gEAAgE;gBAChE,uEAAuE;gBACvE,4DAA4D;gBAC5D,oDAAoD;gBACpD,uEAAuE;gBACvE,8CAA8C;gBAC9C,qEAAqE;gBACrE,qEAAqE;gBACrE,EAAE;gBACF,oEAAoE;gBACpE,sEAAsE;gBACtE,kEAAkE;gBAClE,0CAA0C;gBAC1C,EAAE;gBACF,uEAAuE;gBACvE,wEAAwE;gBACxE,sEAAsE;gBACtE,qEAAqE;gBACrE,uEAAuE;gBACvE,iEAAiE;gBACjE,wEAAwE;gBACxE,wDAAwD;gBACxD,MAAM,OAAO,GAAG,0BAA0B,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;oBACnF,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;iBAC7C,CAAC,CAAC;gBACH,IAAI,OAAO;oBAAE,MAAM,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7D,uEAAuE;gBACvE,kEAAkE;gBAClE,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;gBACrD,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,uEAAuE;gBACvE,yDAAyD;gBACzD,IAAI,KAAK,EAAE,OAAO;oBAAE,MAAM,GAAG,CAAC;gBAC9B,OAAO,GAAG,GAAG,CAAC;gBACd,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrB;;;;;;;;;mBASG;gBACH,MAAM,WAAW,GAAI,GAAmD,CAAC,WAAW,CAAC;gBACrF,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,mEAAmE;oBACnE,oEAAoE;oBACpE,qEAAqE;oBACrE,2DAA2D;oBAC3D,IAAI,CAAC;wBACH,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE;4BACrE,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;4BACpD,MAAM,EAAE,SAAS;yBAClB,CAAC,CAAC;oBACL,CAAC;oBAAC,MAAM,CAAC;wBACP,kEAAkE;oBACpE,CAAC;oBACD,oEAAoE;oBACpE,qEAAqE;oBACrE,gEAAgE;oBAChE,sEAAsE;oBACtE,qEAAqE;oBACrE,iEAAiE;oBACjE,uEAAuE;oBACvE,sDAAsD;oBACtD,IAAI,SAAS,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;wBAC/D,MAAM,GAAG,CAAC;oBACZ,CAAC;gBACH,CAAC;gBACD,yBAAyB,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAChB,MAAM,CAAC,IAAI,CACT,WAAW;wBACT,CAAC,CAAC,mBAAmB,IAAI,CAAC,QAAQ,kBAC9B,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,yBACtD,0DAA0D;wBAC5D,CAAC,CAAC,mBAAmB,IAAI,CAAC,QAAQ,6CAA6C,CAClF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,OAAO,IAAI,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC1E,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,qEAAqE;QACrE,wEAAwE;QACxE,2BAA2B;QAC3B,MAAM,OAAO,GAAG,0BAA0B,CAAC;YACzC,KAAK;YACL,cAAc,EAAE,mBAAmB,CAAC,aAAa,CAAC;SACnD,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;YAC7B,qEAAqE;YACrE,mEAAmE;YACnE,qEAAqE;YACrE,iBAAiB,EAAE,wBAAwB,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;YAC9E,YAAY,EAAE,OAAO,CAAC,QAAQ;YAC9B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE;gBACP,aAAa;gBACb,gBAAgB;gBAChB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;aACnB;YACD,IAAI,EAAE;gBACJ,SAAS;gBACT,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;oBACrC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC3B,IAAI,CAAC,IAAI;wBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;oBACpD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACtC,mEAAmE;oBACnE,oEAAoE;oBACpE,mEAAmE;oBACnE,oEAAoE;oBACpE,oEAAoE;oBACpE,qEAAqE;oBACrE,kEAAkE;oBAClE,IACE,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;wBACxB,IAAI,MAAM,CAAC,IAAI,IAAI,kCAAkC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAChE,CAAC;wBACD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC1B,CAAC;oBACD,OAAO,GAAG,CAAC;gBACb,CAAC;gBACD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aAC9D;SACF,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,KAAK;YAClD,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,YAAY;YACZ,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,QAAQ,EAAE,YAAY;YACtB,KAAK;YACL,iBAAiB;SAClB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,aAAa,CAClB,2BAA2B,CAAC,GAAG,CAAC,EAChC,SAAS,EACT,YAAY,EACZ,KAAK,EACL,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC7E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,SAAS,aAAa,CAAC,OAAe,EAAE,SAAiB,EAAE,QAAgB,EAAE,KAAa,EAAE,iBAAyB;IACnH,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;QAClC,QAAQ;QACR,KAAK;QACL,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"loop-executor.js","sourceRoot":"","sources":["../../src/cli/loop-executor.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,21 @@ export interface StopResult {
39
39
  * `--supervise` parent and the child it spawned.
40
40
  */
41
41
  export declare function findPidsByCommandLine(pattern: RegExp): number[];
42
+ /**
43
+ * Is a gateway already running?
44
+ *
45
+ * `nuvira dashboard` auto-starts the gateway, and auto-start MUST be
46
+ * idempotent: a second gateway cannot bind the webhook port (default 8787) and
47
+ * the user would be left with two competing processes and a stale one holding
48
+ * the port. Shares `findGatewayPids` with {@link stopGateway} so "is it up?" and
49
+ * "stop it" can never disagree.
50
+ */
51
+ export declare function isGatewayRunning(opts?: {
52
+ port?: number;
53
+ }): Promise<{
54
+ running: boolean;
55
+ pid?: number;
56
+ }>;
42
57
  /**
43
58
  * Stop a running gateway: locate the `gateway start` process (command-line
44
59
  * match first, then the webhook receiver port, default 8787) and SIGTERM it.
@@ -1 +1 @@
1
- {"version":3,"file":"process-control.d.ts","sourceRoot":"","sources":["../../src/cli/process-control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH;kFACkF;AAClF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkDnE;AAID,0EAA0E;AAC1E,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CA2C/E;AAED,gCAAgC;AAChC,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAmB/D;AAcD;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAgC/E;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAcjF"}
1
+ {"version":3,"file":"process-control.d.ts","sourceRoot":"","sources":["../../src/cli/process-control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH;kFACkF;AAClF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkDnE;AAID,0EAA0E;AAC1E,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CA2C/E;AAED,gCAAgC;AAChC,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAmB/D;AA0CD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAG7C;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAe/E;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAcjF"}
@@ -176,15 +176,14 @@ function isNodeProcess(command) {
176
176
  return /(?:^|\s)\S*(?:\/|^)node(?:js)?\s/.test(command) || /^[^\s]*node(?:js)?\s/.test(command);
177
177
  }
178
178
  /**
179
- * Stop a running gateway: locate the `gateway start` process (command-line
180
- * match first, then the webhook receiver port, default 8787) and SIGTERM it.
179
+ * Locate the processes that ARE the gateway: a `gateway start` command-line
180
+ * match (node processes preferred over the shells/tmux wrappers that merely
181
+ * mention it), falling back to whatever is bound to the webhook port.
181
182
  *
182
- * `--supervise` runs TWO processes (a parent that restarts the child), so every
183
- * matching node process is stopped — the supervisor forwards SIGTERM to its
184
- * child, and an orphaned child (supervisor already gone) is caught directly.
183
+ * Shared by {@link stopGateway} and {@link isGatewayRunning} so "is it up?" and
184
+ * "stop it" can never disagree.
185
185
  */
186
- export async function stopGateway(opts) {
187
- const port = opts?.port ?? 8787;
186
+ async function findGatewayPids(port) {
188
187
  const pattern = /\bgateway\s+start\b/;
189
188
  const candidates = findPidsByCommandLine(pattern);
190
189
  // Prefer the node processes; fall back to whatever matched (a non-node
@@ -198,14 +197,39 @@ export async function stopGateway(opts) {
198
197
  return false;
199
198
  }
200
199
  });
201
- let targets = nodePids.length > 0 ? nodePids : candidates;
200
+ const targets = nodePids.length > 0 ? nodePids : candidates;
201
+ if (targets.length > 0)
202
+ return targets;
203
+ const { findPidOnPort } = await import('./dashboard-restart.js');
204
+ const onPort = await findPidOnPort(port);
205
+ return onPort === null ? [] : [onPort];
206
+ }
207
+ /**
208
+ * Is a gateway already running?
209
+ *
210
+ * `nuvira dashboard` auto-starts the gateway, and auto-start MUST be
211
+ * idempotent: a second gateway cannot bind the webhook port (default 8787) and
212
+ * the user would be left with two competing processes and a stale one holding
213
+ * the port. Shares `findGatewayPids` with {@link stopGateway} so "is it up?" and
214
+ * "stop it" can never disagree.
215
+ */
216
+ export async function isGatewayRunning(opts) {
217
+ const targets = await findGatewayPids(opts?.port ?? 8787);
218
+ return targets.length > 0 ? { running: true, pid: targets[0] } : { running: false };
219
+ }
220
+ /**
221
+ * Stop a running gateway: locate the `gateway start` process (command-line
222
+ * match first, then the webhook receiver port, default 8787) and SIGTERM it.
223
+ *
224
+ * `--supervise` runs TWO processes (a parent that restarts the child), so every
225
+ * matching node process is stopped — the supervisor forwards SIGTERM to its
226
+ * child, and an orphaned child (supervisor already gone) is caught directly.
227
+ */
228
+ export async function stopGateway(opts) {
229
+ const port = opts?.port ?? 8787;
230
+ const targets = await findGatewayPids(port);
202
231
  if (targets.length === 0) {
203
- const { findPidOnPort } = await import('./dashboard-restart.js');
204
- const onPort = await findPidOnPort(port);
205
- if (onPort === null) {
206
- return { stopped: false, reason: `no running gateway process found (port ${port} or \`gateway start\`)` };
207
- }
208
- targets = [onPort];
232
+ return { stopped: false, reason: `no running gateway process found (port ${port} or \`gateway start\`)` };
209
233
  }
210
234
  let stoppedAny = false;
211
235
  let last;
@@ -1 +1 @@
1
- {"version":3,"file":"process-control.js","sourceRoot":"","sources":["../../src/cli/process-control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-control.js","sourceRoot":"","sources":["../../src/cli/process-control.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@
17
17
  * the assessment P0 closes).
18
18
  */
19
19
  import { Command } from 'commander';
20
+ import { type TraceEvent } from '../learning/reasoning-trace.js';
20
21
  export declare class TraceCommand {
21
22
  create(): Command;
22
23
  private listTraces;
@@ -24,4 +25,22 @@ export declare class TraceCommand {
24
25
  private replayTrace;
25
26
  private clear;
26
27
  }
28
+ /** Per-kind counts, so a section header states the composition, not just a total. */
29
+ declare function countEvents(events: readonly TraceEvent[]): {
30
+ tool: number;
31
+ gate: number;
32
+ refusal: number;
33
+ decision: number;
34
+ };
35
+ /** The icon names the KIND first — a refusal must never look like a call. */
36
+ declare function eventIcon(event: TraceEvent): string;
37
+ /** One line per event: subject, the args the gate saw, timing, and the verdict. */
38
+ declare function eventLine(event: TraceEvent): string;
39
+ /** Exported for tests — the rendering is pure, so it can be asserted directly. */
40
+ export declare const traceEventRender: {
41
+ countEvents: typeof countEvents;
42
+ eventIcon: typeof eventIcon;
43
+ eventLine: typeof eventLine;
44
+ };
45
+ export {};
27
46
  //# sourceMappingURL=trace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../src/cli/trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,qBAAa,YAAY;IACvB,MAAM,IAAI,OAAO;IAiCjB,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,SAAS;IA8DjB,OAAO,CAAC,WAAW;IAsEnB,OAAO,CAAC,KAAK;CAId"}
1
+ {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../src/cli/trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,gCAAgC,CAAC;AAExC,qBAAa,YAAY;IACvB,MAAM,IAAI,OAAO;IAiCjB,OAAO,CAAC,UAAU;IA2ClB,OAAO,CAAC,SAAS;IAiFjB,OAAO,CAAC,WAAW;IAiFnB,OAAO,CAAC,KAAK;CAId;AAID,qFAAqF;AACrF,iBAAS,WAAW,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAOA;AAED,6EAA6E;AAC7E,iBAAS,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAwB5C;AAED,mFAAmF;AACnF,iBAAS,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAK5C;AAED,kFAAkF;AAClF,eAAO,MAAM,gBAAgB;;;;CAAwC,CAAC"}
package/dist/cli/trace.js CHANGED
@@ -17,7 +17,7 @@
17
17
  * the assessment P0 closes).
18
18
  */
19
19
  import { Command } from 'commander';
20
- import { getTrace, listTraces, clearTraces, getTraceStats } from '../learning/reasoning-trace.js';
20
+ import { getTrace, listTraces, clearTraces, getTraceStats, } from '../learning/reasoning-trace.js';
21
21
  export class TraceCommand {
22
22
  create() {
23
23
  const command = new Command('trace')
@@ -51,6 +51,11 @@ export class TraceCommand {
51
51
  console.log(`🔍 Reasoning Traces — ${stats.total} trace(s), ${stats.totalSteps} LLM call(s) recorded\n`);
52
52
  console.log(` Total estimated tokens: ${stats.totalTokens.toLocaleString()}`);
53
53
  console.log(` Avg per-call latency: ${stats.avgLatencyMs}ms`);
54
+ // G18 — the non-LLM half: what the loops actually DID (tool calls, gate
55
+ // decisions) and what they DECLINED. Reported at the top level because
56
+ // "0 refusals" used to be unanswerable: the store could not see refusals at
57
+ // all, so it could not tell "none were declined" from "nothing is looking".
58
+ console.log(` Events: ${stats.totalEvents} (${stats.gateDecisions} gate decision(s), ${stats.refusals} refusal(s))`);
54
59
  console.log('');
55
60
  if (traces.length === 0) {
56
61
  console.log(' No traces yet. Run `${getCliName()} execute` (or auto-routed chat) — every LLM call is recorded.');
@@ -62,9 +67,11 @@ export class TraceCommand {
62
67
  const duration = trace.durationMs !== undefined ? `${(trace.durationMs / 1000).toFixed(1)}s` : 'running…';
63
68
  const started = new Date(trace.startedAt).toLocaleString();
64
69
  const agents = [...new Set(trace.steps.map((s) => s.agentType))].join(', ');
70
+ const eventCount = trace.events?.length ?? 0;
71
+ const refusals = (trace.events ?? []).filter((e) => e.kind === 'refusal').length;
65
72
  console.log(` ${successIcon} ${trace.id}`);
66
73
  console.log(` ${trace.goal.slice(0, 90)}`);
67
- console.log(` ${trace.steps.length} call(s) · ${duration} · started ${started}`);
74
+ console.log(` ${trace.steps.length} call(s) · ${eventCount} event(s)${refusals > 0 ? ` (${refusals} refused)` : ''} · ${duration} · started ${started}`);
68
75
  if (agents)
69
76
  console.log(` agents: ${agents}`);
70
77
  console.log('');
@@ -128,6 +135,22 @@ export class TraceCommand {
128
135
  console.log(` ⚠️ ${step.error.slice(0, 120)}`);
129
136
  }
130
137
  console.log('');
138
+ // G18 — the loop's non-LLM facts. Printed for EVERY trace that has them,
139
+ // including pipeline traces: a refusal or a gate decision is the same kind
140
+ // of fact whichever engine produced it.
141
+ if ((trace.events?.length ?? 0) > 0) {
142
+ const counts = countEvents(trace.events ?? []);
143
+ console.log(` ── Events (${trace.events.length}: ${counts.tool} tool call(s), ${counts.gate} gate decision(s), ` +
144
+ `${counts.refusal} refusal(s), ${counts.decision} decision(s)) ──`);
145
+ for (const event of trace.events) {
146
+ console.log(` ${String(event.seq).padStart(3)}. ${eventIcon(event)} ${eventLine(event)}`);
147
+ }
148
+ console.log('');
149
+ }
150
+ else if (trace.steps.length > 0) {
151
+ console.log(' (no non-LLM events recorded — the run predates event capture)');
152
+ console.log('');
153
+ }
131
154
  console.log(' Run `${getCliName()} trace replay <id>` for the full step-by-step reasoning replay.');
132
155
  }
133
156
  replayTrace(id, full) {
@@ -153,6 +176,18 @@ export class TraceCommand {
153
176
  console.log(` ── System prompt (stable layer, ${total} chars) ──`);
154
177
  console.log(body.split('\n').map((l) => ` │ ${l}`).join('\n'));
155
178
  }
179
+ // G18 — the non-LLM half of the run, BEFORE the LLM steps: what the turn
180
+ // actually did (and declined) is the first thing an audit needs, and the
181
+ // step list below explains what the model was asked.
182
+ if ((trace.events?.length ?? 0) > 0) {
183
+ console.log('');
184
+ console.log(` ── Loop events (${trace.events.length}) ──`);
185
+ for (const event of trace.events) {
186
+ console.log(` ${String(event.seq).padStart(4)} ${eventIcon(event)} ${eventLine(event)}`);
187
+ if (event.result)
188
+ console.log(` ↳ ${event.result}`);
189
+ }
190
+ }
156
191
  console.log('');
157
192
  if (trace.steps.length === 0) {
158
193
  console.log(' (no LLM calls recorded)');
@@ -202,4 +237,49 @@ export class TraceCommand {
202
237
  console.log('🗑️ All reasoning traces cleared.');
203
238
  }
204
239
  }
240
+ // ─── Event rendering (G18) ──────────────────────────────────────────────────
241
+ /** Per-kind counts, so a section header states the composition, not just a total. */
242
+ function countEvents(events) {
243
+ return {
244
+ tool: events.filter((e) => e.kind === 'tool').length,
245
+ gate: events.filter((e) => e.kind === 'gate').length,
246
+ refusal: events.filter((e) => e.kind === 'refusal').length,
247
+ decision: events.filter((e) => e.kind === 'decision').length,
248
+ };
249
+ }
250
+ /** The icon names the KIND first — a refusal must never look like a call. */
251
+ function eventIcon(event) {
252
+ switch (event.kind) {
253
+ case 'tool':
254
+ return event.ok === false ? '⚠️' : '🔧';
255
+ case 'refusal':
256
+ return '⛔';
257
+ case 'gate':
258
+ switch (event.gate) {
259
+ case 'autonomy':
260
+ return '🤖';
261
+ case 'verification':
262
+ return '🔎';
263
+ case 'deliverable':
264
+ return '📄';
265
+ case 'promise':
266
+ return '🔁';
267
+ case 'permission':
268
+ return '🛡️';
269
+ default:
270
+ return '🚦';
271
+ }
272
+ default:
273
+ return '🧭';
274
+ }
275
+ }
276
+ /** One line per event: subject, the args the gate saw, timing, and the verdict. */
277
+ function eventLine(event) {
278
+ const subject = event.tool ?? (event.gate ? `${event.gate} gate` : event.kind);
279
+ const args = event.args && event.args !== '{}' ? ` ${event.args}` : '';
280
+ const timing = event.durationMs !== undefined ? ` (${(event.durationMs / 1000).toFixed(2)}s)` : '';
281
+ return `${subject.padEnd(16)}${args}${timing} — ${event.summary}`;
282
+ }
283
+ /** Exported for tests — the rendering is pure, so it can be asserted directly. */
284
+ export const traceEventRender = { countEvents, eventIcon, eventLine };
205
285
  //# sourceMappingURL=trace.js.map