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.
- package/CHANGELOG.md +29 -2
- package/LICENSE +21 -21
- package/README.md +16 -2
- package/dist/cli.js +18 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +115 -35
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/dream.d.ts.map +1 -1
- package/dist/commands/dream.js +12 -10
- package/dist/commands/dream.js.map +1 -1
- package/dist/commands/receipts.d.ts +7 -0
- package/dist/commands/receipts.d.ts.map +1 -0
- package/dist/commands/receipts.js +142 -0
- package/dist/commands/receipts.js.map +1 -0
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +179 -116
- package/dist/commands/verify.js.map +1 -1
- package/dist/config.js +53 -53
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +39 -0
- package/dist/memory.js.map +1 -1
- package/dist/providers/anthropic.js +2 -2
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/orchestrator.d.ts +3 -1
- package/dist/providers/orchestrator.d.ts.map +1 -1
- package/dist/providers/orchestrator.js +5 -1
- package/dist/providers/orchestrator.js.map +1 -1
- package/dist/receipts.d.ts +118 -0
- package/dist/receipts.d.ts.map +1 -0
- package/dist/receipts.js +321 -0
- package/dist/receipts.js.map +1 -0
- package/dist/swd.d.ts +9 -0
- package/dist/swd.d.ts.map +1 -1
- package/dist/swd.js +24 -12
- package/dist/swd.js.map +1 -1
- 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
|
-
|
|
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 = () =>
|
|
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":";AACA,gEAAgE;AAChE,2BAA2B;AAC3B,+CAA+C;AAC/C,gEAAgE;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,+DAA+D;AAC/D,+DAA+D;AAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChD,uDAAuD;AACvD,OAAO,CAAC,IAAI,GAAG,UAAU,KAAa,EAAE,GAAG,IAAe;IACxD,IAAI,KAAK,KAAK,SAAS,IAAK,IAAI,CAAC,CAAC,CAAuB,EAAE,IAAI,KAAK,qBAAqB,EAAE,CAAC;QAC1F,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,YAAY,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;AACtC,CAAC,CAAC;AACF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACL,8BAA8B,EAC9B,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,gEAAgE;AAChE,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAExF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,gEAAgE;AAChE,kEAAkE;AAClE,0EAA0E;AAC1E,sEAAsE;AACtE,6DAA6D;AAC7D,mEAAmE;AACnE,sEAAsE;AACtE,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,gEAAgE;AAChE,2BAA2B;AAC3B,+CAA+C;AAC/C,gEAAgE;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,+DAA+D;AAC/D,+DAA+D;AAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChD,uDAAuD;AACvD,OAAO,CAAC,IAAI,GAAG,UAAU,KAAa,EAAE,GAAG,IAAe;IACxD,IAAI,KAAK,KAAK,SAAS,IAAK,IAAI,CAAC,CAAC,CAAuB,EAAE,IAAI,KAAK,qBAAqB,EAAE,CAAC;QAC1F,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,YAAY,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;AACtC,CAAC,CAAC;AACF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,8BAA8B,EAC9B,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,gEAAgE;AAChE,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAExF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,gEAAgE;AAChE,kEAAkE;AAClE,0EAA0E;AAC1E,sEAAsE;AACtE,6DAA6D;AAC7D,mEAAmE;AACnE,sEAAsE;AACtE,MAAM,aAAa,GAAG,GAAG,EAAE;IACzB,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;AACH,CAAC,CAAC;AACF,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,EAAE,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAC;AAEtD,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CACV,qEAAqE;IACrE,mDAAmD,CACpD;KACA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,gEAAgE;AAChE,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CACL,sBAAsB,EACtB,8CAA8C,EAC9C,MAAM,CACP;KACA,MAAM,CACL,kBAAkB,EAClB,oCAAoC,8BAA8B,CAAC,cAAc,EAAE,GAAG,EACtF,MAAM,CAAC,8BAA8B,CAAC,CACvC;KACA,MAAM,CACL,iBAAiB,EACjB,mCAAmC,iBAAiB,GAAG,EACvD,MAAM,CAAC,iBAAiB,CAAC,CAC1B;KACA,MAAM,CACL,aAAa,EACb,4DAA4D,CAC7D;KACA,MAAM,CACL,WAAW,EACX,oDAAoD,CACrD;KACA,MAAM,CACL,WAAW,EACX,gDAAgD,CACjD;KACA,MAAM,CACL,qBAAqB,EACrB,yDAAyD,CAC1D;KACA,MAAM,CACL,sBAAsB,EACtB,8HAA8H,CAC/H;KACA,MAAM,CACL,wBAAwB,EACxB,iEAAiE,EACjE,GAAG,CACJ;KACA,MAAM,CACL,wBAAwB,EACxB,uDAAuD,CACxD;KACA,MAAM,CACL,UAAU,EACV,wDAAwD,CACzD;KACA,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,gEAAgE;AAChE,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CACL,WAAW,EACX,mDAAmD,CACpD;KACA,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,gEAAgE;AAChE,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,gEAAgE,CAAC;KAC7E,MAAM,CAAC,aAAa,EAAE,mCAAmC,EAAE,KAAK,CAAC;KACjE,MAAM,CACL,WAAW,EACX,kDAAkD,CACnD;KACA,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,gEAAgE;AAChE,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,gBAAgB,EAAE,mCAAmC,CAAC;KAC7D,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,gEAAgE;AAChE,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,uEAAuE,CAAC;KACpF,MAAM,CAAC,aAAa,EAAE,gDAAgD,CAAC;KACvE,MAAM,CAAC,WAAW,EAAE,4CAA4C,CAAC;KACjE,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,gDAAgD;AAChD,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,QAAQ,CAAC,UAAU,EAAE,+BAA+B,CAAC;KACrD,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;KAC5C,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,EAAE,IAAI,CAAC;KAC1E,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAAC;KAC/C,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3B,gEAAgE;AAChE,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,aAAa,EAAE,8CAA8C,CAAC;KACrE,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,gEAAgE;AAChE,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/commands/chat.js
CHANGED
|
@@ -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 (
|
|
246
|
-
this.ui.warn('Skipping test execution
|
|
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
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":"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"}
|
|
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,
|
|
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"}
|
package/dist/commands/dream.js
CHANGED
|
@@ -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
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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();
|