mythos-router 1.6.0 → 1.7.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 (41) hide show
  1. package/CHANGELOG.md +29 -2
  2. package/LICENSE +21 -21
  3. package/README.md +16 -2
  4. package/dist/cli.js +18 -1
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/chat.d.ts.map +1 -1
  7. package/dist/commands/chat.js +115 -35
  8. package/dist/commands/chat.js.map +1 -1
  9. package/dist/commands/dream.d.ts.map +1 -1
  10. package/dist/commands/dream.js +12 -10
  11. package/dist/commands/dream.js.map +1 -1
  12. package/dist/commands/receipts.d.ts +7 -0
  13. package/dist/commands/receipts.d.ts.map +1 -0
  14. package/dist/commands/receipts.js +142 -0
  15. package/dist/commands/receipts.js.map +1 -0
  16. package/dist/commands/verify.d.ts.map +1 -1
  17. package/dist/commands/verify.js +179 -116
  18. package/dist/commands/verify.js.map +1 -1
  19. package/dist/config.js +53 -53
  20. package/dist/index.d.ts +2 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +2 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/memory.d.ts.map +1 -1
  25. package/dist/memory.js +39 -0
  26. package/dist/memory.js.map +1 -1
  27. package/dist/providers/anthropic.js +2 -2
  28. package/dist/providers/anthropic.js.map +1 -1
  29. package/dist/providers/orchestrator.d.ts +3 -1
  30. package/dist/providers/orchestrator.d.ts.map +1 -1
  31. package/dist/providers/orchestrator.js +5 -1
  32. package/dist/providers/orchestrator.js.map +1 -1
  33. package/dist/receipts.d.ts +118 -0
  34. package/dist/receipts.d.ts.map +1 -0
  35. package/dist/receipts.js +321 -0
  36. package/dist/receipts.js.map +1 -0
  37. package/dist/swd.d.ts +9 -0
  38. package/dist/swd.d.ts.map +1 -1
  39. package/dist/swd.js +24 -12
  40. package/dist/swd.js.map +1 -1
  41. package/package.json +73 -72
package/CHANGELOG.md CHANGED
@@ -7,6 +7,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ---
9
9
 
10
+ ## [1.7.0] — 2026-05-11
11
+
12
+ ### Added
13
+ - **SWD Trust Receipts** — Added persistent receipts for SWD runs, recording verified file outcomes, request summaries, provider/model metadata, token usage, git context, test status, and an integrity hash for later audit.
14
+ - **`mythos receipts` Command** — Added receipt listing, inspection, and drift verification through `mythos receipts`, `mythos receipts show <id|latest>`, and `mythos receipts verify <id|latest>`, with `--json` output for automation.
15
+ - **Receipt Regression Coverage** — Added tests for receipt save/list/read/verify behavior, drift detection, symlinked project roots, built CLI receipt commands, and Node 20/24-compatible test discovery.
16
+
17
+ ### Fixed
18
+ - **Receipt Path Normalization** — Receipt snapshots now store stable project-relative paths even when CI temp directories resolve through platform-specific symlinks such as macOS `/var` and `/private/var`.
19
+ - **Machine-Readable JSON Output** — Terminal cursor restoration no longer contaminates redirected stdout, keeping `--json` output parseable in CI and shell pipelines.
20
+
21
+ ---
22
+
23
+ ## [1.6.1] — 2026-05-06
24
+
25
+ ### Fixed
26
+ - **SWD Metadata Accuracy** — File hash metadata is now written only after successful, non-rolled-back SWD runs, preventing stale verification data after failed writes or rollbacks.
27
+ - **Dream Metadata Preservation** — Memory compression now preserves `mythos:file` metadata, keeping SHA-256 drift detection intact after `mythos dream`.
28
+ - **Test-Healing Drift Tracking** — Successful SWD fixes produced during test-healing now record file metadata for later verification.
29
+ - **Anthropic Timeout Handling** — Anthropic requests now receive abort signals directly, improving watchdog timeout and fallback reliability during stalled streams.
30
+
31
+ ---
32
+
10
33
  ## [1.6.0] — 2026-05-03
11
34
 
12
35
  ### Added
@@ -34,7 +57,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
34
57
  - **SWD Content Preservation** — Replaced `.trim()` with precise boundary-newline removal in `parseActions()` so file content whitespace (leading spaces, trailing newlines, blank lines) is preserved exactly.
35
58
  - **Verify False Positives** — Fixed regex in `extractMentionedPaths()` that was including `chat:` entries and trailing semicolons as file paths, causing phantom "missing file" reports.
36
59
  - **Session Resume Turn Count** — Added `SessionBudget.restore()` so resumed sessions correctly hydrate token and turn counts instead of resetting to 1.
37
- - **Retry Metrics Double-Count** — Removed duplicate `recordFailure()` call from `retryWithBackoff()` that was inflating provider failure rates.
38
60
 
39
61
  ### Security
40
62
  - **Shell Safety** — `git.ts` uses `execFileSync` with argument arrays instead of string interpolation.
@@ -238,9 +260,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
238
260
  - **Correction Turns** — max 2 retries before yielding to human.
239
261
  - **Dream/Verify Commands** — memory compression and drift detection.
240
262
 
241
-
263
+ [1.7.0]: https://github.com/thewaltero/mythos-router/releases/tag/v1.7.0
264
+ [1.6.1]: https://github.com/thewaltero/mythos-router/releases/tag/v1.6.1
242
265
  [1.6.0]: https://github.com/thewaltero/mythos-router/releases/tag/v1.6.0
243
266
  [1.5.3]: https://github.com/thewaltero/mythos-router/releases/tag/v1.5.3
267
+ [1.5.0]: https://github.com/thewaltero/mythos-router/releases/tag/v1.5.0
268
+ [1.4.0]: https://github.com/thewaltero/mythos-router/releases/tag/v1.4.0
269
+ [1.3.1]: https://github.com/thewaltero/mythos-router/releases/tag/v1.3.1
270
+ [1.3.0]: https://github.com/thewaltero/mythos-router/releases/tag/v1.3.0
244
271
  [1.2.1]: https://github.com/thewaltero/mythos-router/releases/tag/v1.2.1
245
272
  [1.2.0]: https://github.com/thewaltero/mythos-router/releases/tag/v1.2.0
246
273
  [1.1.9]: https://github.com/thewaltero/mythos-router/releases/tag/v1.1.9
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 thewaltero
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 thewaltero
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -15,7 +15,7 @@
15
15
 
16
16
  <br />
17
17
 
18
- [What is this?](#what-is-this) • [Features](#features) • [Installation](#installation) • [Usage](#usage) • [Architecture](#architecture) • [Token Budget](#token-usage--budget) • [SDK](#-sdk-usage-for-agentic-systems)
18
+ [What is this?](#what-is-this) • [Features](#features) • [Installation](#installation) • [Usage](#usage) • [Architecture](#architecture) • [Token Budget](#token-usage--budget) • [SDK](#-sdk-usage-for-agentic-systems) • [SWD Protocol](#the-swd-protocol)
19
19
 
20
20
 
21
21
  ---
@@ -59,6 +59,7 @@ Zero slop. Zero hallucinated state. Full adaptive thinking.
59
59
  | **Deterministic Caching** | SQLite-backed caching for reasoning (SDK only) *(Node 22+)* |
60
60
  | **Adaptive Thinking** | Opus 4.7 with configurable effort levels (high/medium/low) |
61
61
  | **Strict Write Discipline** | Pre/post filesystem snapshots verify every model claim |
62
+ | **SWD Receipts** | Per-run trust receipts record touched files, hashes, provider, budget, git state, and verification result |
62
63
  | **Self-Healing Memory** | Authority-based logging with a rebuildable SQLite FTS5 search index *(Node 22+)* |
63
64
  | **Auto-Healing TDD** | Pass `--test-cmd` for bounded, error-driven autonomous repair loops |
64
65
  | **Correction Turns** | Model gets 2 retries to match filesystem reality, then yields |
@@ -202,6 +203,17 @@ In dry-run mode, every file operation is previewed before execution:
202
203
  In-session commands:
203
204
  - `/exit`, `/q` or `quit` — End session (shows final budget summary)
204
205
 
206
+ ### `mythos receipts` — SWD Trust Receipts
207
+
208
+ ```bash
209
+ mythos receipts # List recent SWD receipts
210
+ mythos receipts show latest # Inspect the newest receipt
211
+ mythos receipts verify latest # Re-check current files against receipt hashes
212
+ mythos receipts --json # Machine-readable output for tooling
213
+ ```
214
+
215
+ Every non-dry-run SWD file operation writes a local receipt to `.mythos/receipts/`. Receipts include the user request summary, provider/model, token usage, budget snapshot, git branch/commit, per-file before/after hashes, rollback status, and optional `--test-cmd` result. `verify` turns those receipts into a quick drift check for "did the files still match what SWD verified?" Receipts are gitignored by default; force-add only when you want a shared audit trail.
216
+
205
217
  ### `mythos verify` — Codebase ↔ Memory Existence Scan
206
218
 
207
219
  ```bash
@@ -281,6 +293,7 @@ mythos-router/
281
293
  │ ├── budget.ts # Session budget limiter (token cap, turn cap, progress bar)
282
294
  │ ├── swd.ts # SWD execution kernel (engine, types, parsing, snapshots)
283
295
  │ ├── swd-cli.ts # SWD terminal presentation (verification output, dry-run)
296
+ │ ├── receipts.ts # SWD trust receipt creation, storage, and verification
284
297
  │ ├── memory.ts # MEMORY.md self-healing manager (SQLite FTS5 index)
285
298
  │ ├── metrics.ts # Global metrics store (persistent budget tracking)
286
299
  │ ├── diff.ts # Myers' diff algorithm (zero-dependency)
@@ -290,6 +303,7 @@ mythos-router/
290
303
  │ └── commands/
291
304
  │ ├── chat.ts # Interactive REPL (ChatSession + ChatUI abstraction)
292
305
  │ ├── verify.ts # Codebase ↔ Memory scanner (dry-run aware)
306
+ │ ├── receipts.ts # SWD receipt list/show/verify command
293
307
  │ ├── dream.ts # Memory compression (dry-run aware)
294
308
  │ └── stats.ts # Budget analytics reporter
295
309
  ├── src/providers/ # Multi-Provider Orchestration Engine
@@ -304,7 +318,7 @@ mythos-router/
304
318
  └── AGENTS.md # Project conventions
305
319
  ```
306
320
 
307
- ### The SWD Protocol
321
+ ## The SWD Protocol
308
322
 
309
323
  ```
310
324
  User Input
package/dist/cli.js CHANGED
@@ -23,6 +23,7 @@ import { dreamCommand } from './commands/dream.js';
23
23
  import { statsCommand } from './commands/stats.js';
24
24
  import { providersCommand } from './commands/providers.js';
25
25
  import { initCommand } from './commands/init.js';
26
+ import { receiptsCommand } from './commands/receipts.js';
26
27
  import { DEFAULT_MAX_TOKENS_PER_SESSION, DEFAULT_MAX_TURNS, } from './config.js';
27
28
  import { BANNER } from './utils.js';
28
29
  // ── Read version from package.json (single source of truth) ──
@@ -36,7 +37,14 @@ const program = new Command();
36
37
  // which breaks non-chat commands (e.g. providers --watch).
37
38
  // - 'uncaughtExceptionMonitor' observes crashes without preempting
38
39
  // command-level shutdown (chat.ts has its own finalize/save logic).
39
- const restoreCursor = () => process.stdout.write('\x1b[?25h');
40
+ const restoreCursor = () => {
41
+ if (process.stdout.isTTY) {
42
+ process.stdout.write('\x1b[?25h');
43
+ }
44
+ else if (process.stderr.isTTY) {
45
+ process.stderr.write('\x1b[?25h');
46
+ }
47
+ };
40
48
  process.on('exit', restoreCursor);
41
49
  process.on('uncaughtExceptionMonitor', restoreCursor);
42
50
  program
@@ -86,6 +94,15 @@ program
86
94
  .option('-w, --watch', 'Auto-refresh the dashboard when metrics change')
87
95
  .option('--verbose', 'Show full error stacks for recent failures')
88
96
  .action(providersCommand);
97
+ // SWD receipt inspection and drift verification
98
+ program
99
+ .command('receipts')
100
+ .description('List, inspect, and verify SWD trust receipts')
101
+ .argument('[action]', 'list | show | verify | latest')
102
+ .argument('[target]', 'receipt id or latest')
103
+ .option('-n, --limit <n>', 'Number of receipts to show when listing', '10')
104
+ .option('--json', 'Print machine-readable JSON')
105
+ .action(receiptsCommand);
89
106
  // ── mythos init ──────────────────────────────────────────────
90
107
  program
91
108
  .command('init')
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,MAAM;IACrB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,IAAI,IAAI,CAAC;CACjB;AAkjBD,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAiLrE"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,MAAM;IACrB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,IAAI,IAAI,CAAC;CACjB;AAkoBD,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAOD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAiLrE"}
@@ -11,6 +11,7 @@ import { SessionBudget } from '../budget.js';
11
11
  import { buildSkillPrompt } from '../skills.js';
12
12
  import { isGitRepo, hasUncommittedChanges, getCurrentBranch, commitChanges, getLatestHash, createAndCheckoutBranch } from '../git.js';
13
13
  import { saveSession, loadSession, formatResumeInfo } from '../session.js';
14
+ import { createSWDReceipt, saveSWDReceipt, } from '../receipts.js';
14
15
  // ── Chat Session Manager ─────────────────────────────────────
15
16
  class ChatSession {
16
17
  history = [];
@@ -196,7 +197,19 @@ class ChatSession {
196
197
  this.budget.record(response.usage.inputTokens, response.usage.outputTokens);
197
198
  if (this.options.verbose)
198
199
  printVerboseParse(response.text);
199
- await this.handleSWD(response.text, input);
200
+ await this.handleSWD(response.text, input, {
201
+ provider: {
202
+ providerId: response.metadata.providerId,
203
+ modelId: response.metadata.modelId,
204
+ fallbackTriggered: response.metadata.fallbackTriggered,
205
+ incomplete: response.metadata.incomplete,
206
+ latencyMs: response.usage.latencyMs,
207
+ },
208
+ usage: {
209
+ inputTokens: response.usage.inputTokens,
210
+ outputTokens: response.usage.outputTokens,
211
+ },
212
+ });
200
213
  // formatTokenUsage takes MythosResponse, so we map it here
201
214
  this.ui.log(`\n${formatTokenUsage({
202
215
  thinking: response.thinking,
@@ -222,7 +235,7 @@ class ChatSession {
222
235
  this.history.pop();
223
236
  }
224
237
  }
225
- async handleSWD(responseText, userInput) {
238
+ async handleSWD(responseText, userInput, receiptContext) {
226
239
  const actions = parseActions(responseText);
227
240
  if (actions.length === 0) {
228
241
  appendEntry(`chat: ${userInput.slice(0, 80)}`, '✅ clear', this.options.dryRun);
@@ -241,41 +254,92 @@ class ChatSession {
241
254
  if (!result.success) {
242
255
  finalResult = await this.runCorrectionLoop(result);
243
256
  }
257
+ let testResult;
244
258
  if (this.options.testCmd) {
245
- if (this.options.dryRun) {
246
- this.ui.warn('Skipping test execution in dry-run mode.');
259
+ if (!finalResult.success || finalResult.rolledBack) {
260
+ this.ui.warn('Skipping test execution because SWD did not finish cleanly.');
261
+ testResult = summarizeTestResult(this.options.testCmd, false, 0, 'skipped-swd-failed', '');
247
262
  }
248
263
  else {
249
- await this.runTestHealingLoop(this.options.testCmd);
264
+ testResult = await this.runTestHealingLoop(this.options.testCmd);
250
265
  }
251
266
  }
252
267
  const status = finalResult.success ? '✅ verified' : `⚠️ ${finalResult.results.filter(r => r.status !== 'verified').length} issues`;
253
- appendEntry(summarizeActions(responseText, userInput), status, false);
254
- // Append file metadata blocks for drift detection
255
- if (!this.options.dryRun) {
256
- for (const res of finalResult.results) {
257
- if (res.status === 'verified' || res.status === 'noop') {
258
- const op = res.action.operation;
259
- if (op === 'READ')
260
- continue;
261
- try {
262
- const absPath = resolveSafePath(res.action.path);
263
- const snap = snapshotFile(absPath);
264
- const meta = {
265
- op,
266
- path: res.action.path,
267
- exists: snap.exists ? 'true' : 'false'
268
- };
269
- if (snap.exists) {
270
- meta.sha256 = snap.hash;
271
- meta.size = snap.size.toString();
272
- }
273
- appendMetadataBlock(meta, 'file', false);
274
- }
275
- catch (err) {
276
- // Ignore path resolution errors for deleted files or weird paths
277
- }
268
+ const summary = summarizeActions(responseText, userInput);
269
+ appendEntry(summary, status, false);
270
+ // Append file metadata only after a fully successful, non-rolled-back SWD run.
271
+ // This prevents stale hash metadata from being recorded after failed or rolled-back writes.
272
+ if (finalResult.success && !finalResult.rolledBack) {
273
+ this.appendFileMetadata(finalResult);
274
+ }
275
+ this.saveReceipt(userInput, summary, finalResult, receiptContext, testResult);
276
+ }
277
+ saveReceipt(userInput, summary, result, receiptContext, testResult) {
278
+ if (this.options.dryRun)
279
+ return;
280
+ try {
281
+ const snap = this.budget.status();
282
+ const receipt = createSWDReceipt({
283
+ request: userInput,
284
+ summary,
285
+ result,
286
+ provider: receiptContext.provider,
287
+ usage: receiptContext.usage,
288
+ budget: {
289
+ sessionInputTokens: snap.inputTokens,
290
+ sessionOutputTokens: snap.outputTokens,
291
+ sessionTotalTokens: snap.totalTokens,
292
+ sessionTurns: snap.turns,
293
+ estimatedCostUSD: snap.estimatedCostUSD,
294
+ },
295
+ git: this.currentGitContext(),
296
+ test: testResult,
297
+ });
298
+ saveSWDReceipt(receipt, false);
299
+ this.ui.log(`${c.dim}Receipt: ${c.cyan}mythos receipts show ${receipt.id}${c.reset}`);
300
+ }
301
+ catch (err) {
302
+ this.ui.warn(`Receipt save failed: ${err.message}`);
303
+ }
304
+ }
305
+ currentGitContext() {
306
+ if (!isGitRepo())
307
+ return undefined;
308
+ const branch = getCurrentBranch();
309
+ const commit = getLatestHash();
310
+ const git = {};
311
+ if (branch && branch !== 'unknown')
312
+ git.branch = branch;
313
+ if (commit && commit !== 'unknown')
314
+ git.commit = commit;
315
+ return Object.keys(git).length > 0 ? git : undefined;
316
+ }
317
+ appendFileMetadata(result) {
318
+ if (this.options.dryRun || !result.success || result.rolledBack)
319
+ return;
320
+ for (const res of result.results) {
321
+ if (res.status !== 'verified' && res.status !== 'noop')
322
+ continue;
323
+ const op = res.action.operation;
324
+ if (op === 'READ')
325
+ continue;
326
+ try {
327
+ const absPath = resolveSafePath(res.action.path);
328
+ const snap = snapshotFile(absPath);
329
+ const meta = {
330
+ op,
331
+ path: res.action.path,
332
+ exists: snap.exists ? 'true' : 'false',
333
+ };
334
+ if (snap.exists) {
335
+ meta.sha256 = snap.hash;
336
+ meta.size = snap.size.toString();
278
337
  }
338
+ appendMetadataBlock(meta, 'file', false);
339
+ }
340
+ catch {
341
+ // Metadata is non-authoritative. It improves drift detection,
342
+ // but must never break an otherwise successful SWD run.
279
343
  }
280
344
  }
281
345
  }
@@ -344,6 +408,7 @@ class ChatSession {
344
408
  const maxRetries = parseInt(this.options.maxTestRetries || '3', 10);
345
409
  let lastOutput = '';
346
410
  let lastFailureCount = Infinity;
411
+ let attempts = 0;
347
412
  // Targeted normalization for identical output detection
348
413
  const normalizeOutput = (str) => str.replace(/\d+\.?\d*ms/g, '')
349
414
  .replace(/\d+\.?\d*s/g, '')
@@ -351,21 +416,22 @@ class ChatSession {
351
416
  for (let attempt = 1; attempt <= maxRetries; attempt++) {
352
417
  if (!this.budget.check().ok) {
353
418
  this.ui.warn('TDD loop aborted — budget exhausted.');
354
- return;
419
+ return summarizeTestResult(cmd, false, attempts, 'budget-exhausted', lastOutput);
355
420
  }
356
421
  this.ui.startLoading(`Running tests: ${c.cyan}${cmd}${c.reset}...`);
357
422
  const { passed, output } = await runTestCommand(cmd);
423
+ attempts = attempt;
358
424
  if (passed) {
359
425
  this.ui.stopLoading();
360
426
  this.ui.success(`Tests passed!`);
361
- return;
427
+ return summarizeTestResult(cmd, true, attempts, 'passed', output);
362
428
  }
363
429
  this.ui.stopLoading();
364
430
  this.ui.error(`Tests failed (Attempt ${attempt}/${maxRetries})`);
365
431
  // 1. Precise Thrashing Guard
366
432
  if (attempt > 1 && normalizeOutput(output) === normalizeOutput(lastOutput)) {
367
433
  this.ui.warn('Test output is effectively unchanged from previous attempt. Stopping loop to prevent token drain.');
368
- return;
434
+ return summarizeTestResult(cmd, false, attempts, 'unchanged-output', output);
369
435
  }
370
436
  lastOutput = output;
371
437
  // 2. Regression Detection
@@ -414,7 +480,7 @@ class ChatSession {
414
480
  const actions = parseActions(response.text);
415
481
  if (actions.length === 0) {
416
482
  this.ui.warn('No actionable changes returned by the model. Stopping loop.');
417
- break;
483
+ return summarizeTestResult(cmd, false, attempts, 'no-actions', lastOutput);
418
484
  }
419
485
  // 6. Execute Claude's fix via SWD
420
486
  this.ui.startLoading('Applying test fixes...');
@@ -423,11 +489,13 @@ class ChatSession {
423
489
  printSWDResults(fixResult);
424
490
  if (!fixResult.success) {
425
491
  this.ui.error('SWD failed while attempting to fix tests. Yielding.');
426
- break;
492
+ return summarizeTestResult(cmd, false, attempts, 'swd-failed', lastOutput);
427
493
  }
494
+ this.appendFileMetadata(fixResult);
428
495
  }
429
496
  this.ui.error(`Max test retries (${maxRetries}) reached. Yielding to human.`);
430
497
  this.ui.log(`\n${c.dim}--- Final Test Output ---${c.reset}\n${lastOutput}`);
498
+ return summarizeTestResult(cmd, false, attempts, 'max-retries', lastOutput);
431
499
  }
432
500
  async finalize(sandboxBranch) {
433
501
  let commitHash = 'none';
@@ -673,4 +741,16 @@ function formatElapsedMs(ms) {
673
741
  const mins = minutes % 60;
674
742
  return `${hours}h ${mins}m`;
675
743
  }
744
+ function summarizeTestResult(command, passed, attempts, status, output) {
745
+ const trimmed = output.trim();
746
+ const result = {
747
+ command,
748
+ passed,
749
+ attempts,
750
+ status,
751
+ };
752
+ if (trimmed)
753
+ result.outputTail = trimmed.slice(-1000);
754
+ return result;
755
+ }
676
756
  //# sourceMappingURL=chat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAqC,MAAM,cAAc,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAqB,MAAM,WAAW,CAAC;AACxH,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAChI,OAAO,EAAoB,sBAAsB,EAAE,MAAM,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACxH,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,IAAI,QAAQ,EAAE,IAAI,IAAI,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,KAAK,EAAkD,MAAM,aAAa,CAAC;AAC/P,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACtI,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAe3E,gEAAgE;AAChE,MAAM,WAAW;IACR,OAAO,GAAc,EAAE,CAAC;IACxB,MAAM,CAAgB;IACtB,MAAM,CAAY;IAClB,OAAO,CAAc;IACrB,iBAAiB,GAAW,EAAE,CAAC;IAC/B,eAAe,CAAU;IACzB,aAAa,CAAU;IACvB,aAAa,CAAW;IACxB,SAAS,CAAU;IACnB,aAAa,CAAW;IACvB,EAAE,CAAS;IAEnB,YAAY,OAAoB,EAAE,EAAU;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,sBAAsB;QACtB,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,IAAI,QAAQ,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC;QAC7E,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAE9D,cAAc;QACd,IAAI,gBAAgB,GAAG,GAAG,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC3F,MAAM,WAAW,GAAG,gBAAgB,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;YACrE,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC;YAC5C,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC;YACnD,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;YAC/C,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;YAC/C,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;YACvC,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC;YAEhD,uEAAuE;YACvE,wEAAwE;YACxE,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;gBAC9B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gHAAgH,CAAC,CAAC;gBAC/H,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC3D,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;oBACvC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBACzH,CAAC;gBACD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAC7B;YACE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACvD,QAAQ;SACT,EACD,OAAO,CAAC,MAAM,KAAK,KAAK,CACzB,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC;YAC1B,MAAM,EAAE,IAAI;YACZ,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;YACnG,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;YACxE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;gBACtB,IAAI,CAAC;oBAAE,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;;oBAC7C,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/E,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,MAAM,OAAO,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACzC,IAAI,OAAO,EAAE,CAAC;YACZ,+FAA+F;YAC/F,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CAAC,iBAAiB,GAAG,6BAA6B,OAAO,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/F,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,6BAA6B,OAAO,EAAE,EAAE,CAAC,CAAC;gBACrF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,oDAAoD,EAAE,CAAC,CAAC;YAC1G,CAAC;QACH,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,YAAY;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEtC,IAAI,CAAC,SAAS,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrF,IAAI,qBAAqB,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAExH,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,8BAA8B,CAAC,CAAC;QAE7H,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG,UAAU,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;QAEnE,UAAU,CAAC,4BAA4B,CAAC,CAAC,IAAI,GAAG,UAAU,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACxE,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACpC,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,aAAa,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QACtC,CAAC;QAED,kDAAkD;QAClD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAExF,2CAA2C;QAC3C,MAAM,eAAe,GAAG,IAAI,CAAC;QAC7B,MAAM,cAAc,GAAG,OAAO,GAAG,kBAAkB,GAAG,eAAe,CAAC;QAEtE,8BAA8B;QAC9B,MAAM,YAAY,GAAG,GAAG,CAAC;QACzB,MAAM,cAAc,GAAG,aAAa,GAAG,cAAc,CAAC;QACtD,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC;QAE5D,IAAI,CAAC,cAAc,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAEjD,+DAA+D;QAC/D,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,EACrC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CACzC,CAAC;QAEF,IAAI,kBAAkB,GAAG,CAAC;YAAE,OAAO;QAEnC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,YAAY,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACzF,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,uBAAuB,MAAM,wBAAwB,kBAAkB,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAExH,MAAM,MAAM,GAAG,yMAAyM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC;QAE1Q,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,CAC7C,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EACnC;gBACE,YAAY,EAAE,2EAA2E;gBACzF,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa;gBACnC,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC,CACF,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAE5E,IAAI,CAAC,OAAO,GAAG;gBACb,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,wCAAwC,QAAQ,CAAC,IAAI,EAAE,EAAE;gBAClF,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,0EAA0E,EAAE;gBAC1G,GAAG,MAAM;aACV,CAAC;YAEF,WAAW,CAAC,qBAAqB,EAAE,cAAc,kBAAkB,qCAAqC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjI,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,yBAAyB,GAAG,CAAC,OAAO,sCAAsC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5G,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,WAAW,CAAC,qBAAqB,EAAE,sBAAsB,kBAAkB,gCAAgC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpI,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,KAAa;QACrC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;YACzF,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAEvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;QAEhD,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,aAAa,CAC/C,IAAI,CAAC,OAAO,EACZ;gBACE,YAAY,EAAE,IAAI,CAAC,iBAAiB,IAAI,EAAE;gBAC1C,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAqB;gBAC1C,SAAS,EAAE,IAAI,CAAC,eAAe;gBAC/B,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa;gBACnC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;oBACzB,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC9C,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,MAAM,IAAI,cAAc,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;oBACpF,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK;wBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC1E,CAAC;gBACD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;oBACrB,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;wBACpF,aAAa,GAAG,IAAI,CAAC;oBACvB,CAAC;oBACD,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK;wBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxD,CAAC;aACF,CACF,CAAC;YAEF,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAE5E,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE3D,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE3C,2DAA2D;YAC3D,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,gBAAgB,CAAC;gBAChC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW;gBACvC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;gBACzC,cAAc,EAAE;oBACd,GAAG,QAAQ,CAAC,QAAQ;oBACpB,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS;iBACpC;aACF,CAAC,EAAE,CAAC,CAAC;YACN,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YAErC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC5C,IAAI,OAAO;gBAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;YAE1C,IAAI,UAAU,EAAE,EAAE,CAAC;gBACjB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,uCAAuC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,MAAM,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3H,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,YAAoB,EAAE,SAAiB;QAC7D,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,WAAW,CAAC,SAAS,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;YAC3C,WAAW,CACT,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAC,EACzC,gBAAgB,SAAS,CAAC,QAAQ,CAAC,MAAM,cAAc,SAAS,CAAC,QAAQ,CAAC,MAAM,WAAW,EAC3F,IAAI,CACL,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,mCAAmC,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QACtB,eAAe,CAAC,MAAM,CAAC,CAAC;QAExB,IAAI,WAAW,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACxB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,SAAS,CAAC;QACnI,WAAW,CAAC,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAEtE,kDAAkD;QAClD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACzB,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACtC,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBACvD,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;oBAChC,IAAI,EAAE,KAAK,MAAM;wBAAE,SAAS;oBAC5B,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBACjD,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;wBACnC,MAAM,IAAI,GAA2B;4BACnC,EAAE;4BACF,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI;4BACrB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;yBACvC,CAAC;wBACF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;4BAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;4BACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACnC,CAAC;wBACD,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,iEAAiE;oBACnE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,UAAwB;QACtD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,sBAAsB,EAAE,OAAO,EAAE,EAAE,CAAC;YACnE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;gBACpB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;gBACvD,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,yBAAyB,OAAO,IAAI,sBAAsB,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAEjG,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO;iBAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;iBACnD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;iBAC7F,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,MAAM,MAAM,GAAG,6DAA6D,QAAQ,yDAAyD,sBAAsB,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;YAEtL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,sBAAsB,OAAO,KAAK,CAAC,CAAC;YAEzD,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,aAAa,CAC/C,IAAI,CAAC,OAAO,EACZ;oBACE,YAAY,EAAE,IAAI,CAAC,iBAAiB,IAAI,EAAE;oBAC1C,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAqB;oBAC1C,SAAS,EAAE,IAAI,CAAC,eAAe;oBAC/B,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa;oBACnC,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,iBAAiB;oBAC7C,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;wBACrB,IAAI,CAAC,aAAa,EAAE,CAAC;4BACnB,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;4BAC1B,aAAa,GAAG,IAAI,CAAC;wBACvB,CAAC;wBACD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACvB,CAAC;iBACF,CACF,CAAC;gBAEF,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAE5E,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,gCAAgC,CAAC,CAAC;gBACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;gBACtB,eAAe,CAAC,MAAM,CAAC,CAAC;gBAExB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;oBAC1C,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAED,IAAI,OAAO,IAAI,sBAAsB,EAAE,CAAC;oBACtC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;oBAC7D,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,UAAU,GAAG,MAAM,CAAC;YACtB,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnD,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,GAAW;QAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,gBAAgB,GAAG,QAAQ,CAAC;QAEhC,wDAAwD;QACxD,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE,CACtC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;aAC5B,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;aAC1B,IAAI,EAAE,CAAC;QAEZ,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;YACpE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;YAErD,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,yBAAyB,OAAO,IAAI,UAAU,GAAG,CAAC,CAAC;YAEjE,6BAA6B;YAC7B,IAAI,OAAO,GAAG,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3E,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,mGAAmG,CAAC,CAAC;gBAClH,OAAO;YACT,CAAC;YACD,UAAU,GAAG,MAAM,CAAC;YAEpB,0BAA0B;YAC1B,MAAM,mBAAmB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,IAAI,mBAAmB,GAAG,gBAAgB,EAAE,CAAC;gBAC1D,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,iDAAiD,gBAAgB,MAAM,mBAAmB,iBAAiB,CAAC,CAAC;YAC5H,CAAC;YACD,gBAAgB,GAAG,mBAAmB,CAAC;YAEvC,yBAAyB;YACzB,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7C,IAAI,GAAG,yBAAyB,CAAC;YACnC,CAAC;iBAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1C,IAAI,GAAG,wCAAwC,CAAC;YAClD,CAAC;YAED,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,0CAA0C,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAEzE,0BAA0B;YAC1B,MAAM,MAAM,GAAG,+BAA+B,GAAG,0FAA0F,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,gCAAgC,MAAM,uJAAuJ,CAAC;YAEtW,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAC;YAEpD,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,aAAa,CAC/C,IAAI,CAAC,OAAO,EACZ;gBACE,YAAY,EAAE,IAAI,CAAC,iBAAiB,IAAI,EAAE;gBAC1C,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAqB;gBAC1C,SAAS,EAAE,IAAI,CAAC,eAAe;gBAC/B,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa;gBACnC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC;gBAC1B,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;oBACrB,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBAC1B,aAAa,GAAG,IAAI,CAAC;oBACvB,CAAC;oBACD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;aACF,CACF,CAAC;YAEF,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAE5E,iBAAiB;YACjB,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;gBAC5E,MAAM;YACR,CAAC;YAED,kCAAkC;YAClC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;YACtB,eAAe,CAAC,SAAS,CAAC,CAAC;YAE3B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBACrE,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,UAAU,+BAA+B,CAAC,CAAC;QAC9E,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC,CAAC;IAC9E,CAAC;IAGM,KAAK,CAAC,QAAQ,CAAC,aAA4B;QAChD,IAAI,UAAU,GAAG,MAAM,CAAC;QACxB,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;QACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,gEAAgE;gBAChE,kEAAkE;gBAClE,kEAAkE;gBAClE,IAAI,aAAa,IAAI,qBAAqB,EAAE,EAAE,CAAC;oBAC7C,aAAa,CAAC,qBAAqB,CAAC,CAAC;gBACvC,CAAC;gBACD,UAAU,GAAG,aAAa,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAAC,OAAO,CAAC,uBAAuB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAAC,CAAC;QACvE,CAAC;QACD,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QAChJ,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;QAEpE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YACzB,iBAAiB,CAAC;gBAChB,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,gBAAgB;gBAC9B,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;QAED,+BAA+B;QAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE;oBACxB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,gEAAgE;AAChE,MAAM,UAAU;IACN,OAAO,CAAU;IAEzB,YAAY,OAAgB;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,YAAY,CAAC,GAAW,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,aAAa,CAAC,GAAW,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxD,WAAW,CAAC,GAAY,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrD,KAAK,CAAC,IAAY,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnD,GAAG,CAAC,GAAW,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtC,IAAI,CAAC,GAAW,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnC,KAAK,CAAC,GAAW,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,GAAW,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzC,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;CACjC;AAiBD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAoB;IACpD,cAAc,EAAE,CAAC;IACjB,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAE7C,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEf,2DAA2D;IAC3D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAChC,0DAA0D;YAC1D,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChG,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;QAC7C,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,2DAA2D;IAC3D,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACrC,MAAM,UAAU,GAAsB;QACpC,QAAQ,EAAE,OAAO,CAAC,aAAa,IAAI,MAAM;QACzC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI;QACtD,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;QAC/B,aAAa,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK;QACvC,MAAM,EAAE,aAAa,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7D,aAAa,EAAE,aAAa,EAAE;QAC9B,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC;QACjC,UAAU,EAAE,IAAI,CAAC,WAAW;QAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,KAAK;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;IACF,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;IAEtC,0DAA0D;IAC1D,MAAM,MAAM,GAAG,cAAc,CAAC;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,aAAa,IAAI,SAAS;QAClC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK;KACnC,CAAC,CAAC;IACH,IAAI,MAAM;QAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE3B,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,4DAA4D,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5F,EAAE,CAAC,OAAO,EAAE,CAAC;IAEb,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,KAAK,EAAE;KACnD,CAAC,CAAC;IAEH,qDAAqD;IACrD,MAAM,kBAAkB,GAAG,aAAa,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE;QAClC,IAAI,SAAS;YAAE,OAAO;QACtB,SAAS,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,oBAAoB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,yDAAyD;QACzD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,UAAU,GAAsB;YACpC,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACjD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,WAAW;YACxB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,gBAAgB;YAC3B,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAAC;YACrE,KAAK,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;SACrD,CAAC;QACF,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YACzB,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5C,QAAQ,CAAC,qBAAqB,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,MAAM,EAAE,CAAC;IAEZ,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,EAAE,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAEpC,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAEhC,uDAAuD;QACvD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAEjE,uDAAuD;QACvD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,gBAAgB,EAAE,CAAC,CAAC;YAClC,EAAE,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,SAAS,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAsB;gBACpC,QAAQ,EAAE,OAAO,CAAC,aAAa,IAAI,MAAM;gBACzC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI;gBACtD,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;gBAC/B,aAAa,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK;gBACvC,MAAM,EAAE,aAAa,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;gBACpE,aAAa,EAAE,aAAa,EAAE;gBAC9B,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC;gBACjC,UAAU,EAAE,WAAW,CAAC,WAAW;gBACnC,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,SAAS,EAAE,WAAW,CAAC,KAAK;gBAC5B,QAAQ,EAAE,WAAW,CAAC,QAAQ;aAC/B,CAAC;YACF,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7C,EAAE,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC/C,IAAI,OAAO;gBAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,EAAE,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,iBAAiB,EAAE,CAAC;YACpB,EAAE,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBACvC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;gBACrB,EAAE,CAAC,OAAO,CAAC,WAAW,OAAO,sCAAsC,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACpF,CAAC;YACD,EAAE,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClC,EAAE,CAAC,OAAO,EAAE,CAAC;QACb,EAAE,CAAC,MAAM,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED,gEAAgE;AAChE,SAAS,eAAe,CAAC,EAAU;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACtC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC;IAC1B,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,KAAK,IAAI,GAAG,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC;IAC1B,OAAO,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dream.d.ts","sourceRoot":"","sources":["../../src/commands/dream.ts"],"names":[],"mappings":"AAqBA,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkIhB"}
1
+ {"version":3,"file":"dream.d.ts","sourceRoot":"","sources":["../../src/commands/dream.ts"],"names":[],"mappings":"AAqBA,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoIhB"}
@@ -85,16 +85,18 @@ export async function dreamCommand(options) {
85
85
  else {
86
86
  costUSD = (response.inputTokens * COST_PER_INPUT_TOKEN) + (response.outputTokens * COST_PER_OUTPUT_TOKEN);
87
87
  }
88
- saveSessionMetric({
89
- command: 'dream',
90
- project: path.basename(process.cwd()),
91
- inputTokens: response.inputTokens,
92
- outputTokens: response.outputTokens,
93
- turns: 1,
94
- costUSD,
95
- durationMs: 0, // Not easily trackable without start time, 0 is fine
96
- timestamp: new Date().toISOString(),
97
- });
88
+ if (!dryRun) {
89
+ saveSessionMetric({
90
+ command: 'dream',
91
+ project: path.basename(process.cwd()),
92
+ inputTokens: response.inputTokens,
93
+ outputTokens: response.outputTokens,
94
+ turns: 1,
95
+ costUSD,
96
+ durationMs: 0, // Not easily trackable without start time, 0 is fine
97
+ timestamp: new Date().toISOString(),
98
+ });
99
+ }
98
100
  }
99
101
  catch (err) {
100
102
  spinner.stop();