mythos-router 1.1.6 → 1.1.8

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/README.md CHANGED
@@ -1,17 +1,5 @@
1
1
  <div align="center">
2
-
3
- <pre align="center">
4
- ███╗ ███╗██╗ ██╗████████╗██╗ ██╗ ██████╗ ███████╗
5
- ████╗ ████║╚██╗ ██╔╝╚══██╔══╝██║ ██║██╔═══██╗██╔════╝
6
- ██╔████╔██║ ╚████╔╝ ██║ ███████║██║ ██║███████╗
7
- ██║╚██╔╝██║ ╚██╔╝ ██║ ██╔══██║██║ ██║╚════██║
8
- ██║ ╚═╝ ██║ ██║ ██║ ██║ ██║╚██████╔╝███████║
9
- ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝
10
- </pre>
11
-
12
- ### Claude Opus 4.7 · Strict Write Discipline · Zero Slop
13
-
14
- **A local CLI power tool for verifiable AI-assisted coding.**
2
+ <img src="assets/banner.png" alt="Mythos Router Banner" width="864" />
15
3
 
16
4
  [![npm](https://img.shields.io/npm/v/mythos-router?style=flat-square&color=cc785c)](https://www.npmjs.com/package/mythos-router)
17
5
  [![Node.js](https://img.shields.io/badge/Node.js-20+-339933?style=flat-square&logo=node.js&logoColor=white)](https://nodejs.org)
@@ -20,6 +8,18 @@
20
8
  [![License](https://img.shields.io/badge/License-MIT-green?style=flat-square)](./LICENSE)
21
9
  [![GitHub stars](https://img.shields.io/github/stars/thewaltero/mythos-router?style=social)](https://github.com/thewaltero/mythos-router)
22
10
 
11
+
12
+ ## Claude Opus 4.7 · Strict Write Discipline · Zero Slop
13
+ **A local CLI power tool for verifiable AI-assisted coding.**
14
+
15
+ ---
16
+
17
+ ### Support the project
18
+ **CA: `0xb942b75a602fa318ac091370d93d9143ba345ba3` ([$MYTHOS Token](https://app.uniswap.org/swap?outputCurrency=0xb942b75a602fa318ac091370d93d9143ba345ba3&chain=base))**
19
+
20
+ ---
21
+
22
+
23
23
  <p align="center">
24
24
  <img src="assets/demo.png" alt="mythos-router terminal demo" width="700" />
25
25
  </p>
@@ -47,15 +47,16 @@ Zero slop. Zero hallucinated state. Full adaptive thinking.
47
47
 
48
48
  | Feature | Description |
49
49
  |---------|-------------|
50
- | 🧠 **Adaptive Thinking** | Opus 4.7 with configurable effort levels (high/medium/low) |
51
- | 🔒 **Strict Write Discipline** | Pre/post filesystem snapshots verify every model claim |
52
- | 💤 **Self-Healing Memory** | `MEMORY.md` logs every action; auto-compresses via "Dream" |
53
- |**Correction Turns** | Model gets 2 retries to match filesystem reality, then yields |
54
- | 📋 **Drift Detection** | `verify` command syncs codebase state with memory |
55
- | 💰 **Token Limiter** | Budget cap with graceful save — progress saved to MEMORY.md, never lose work |
56
- | 🔍 **Dry-Run Mode** | Preview every file operation before it executes — full transparency |
57
- | 📊 **Verbose Tracing** | See exactly what the AI is parsing, thinking, and verifying |
58
- | 🚀 **Zero Build** | Runs directly via `tsx` no compile step in dev |
50
+ | **Adaptive Thinking** | Opus 4.7 with configurable effort levels (high/medium/low) |
51
+ | **Strict Write Discipline** | Pre/post filesystem snapshots verify every model claim |
52
+ | **Self-Healing Memory** | Authority-based logging with a rebuildable SQLite FTS5 search index |
53
+ | **Correction Turns** | Model gets 2 retries to match filesystem reality, then yields |
54
+ | **Integrity Gate** | `verify` command and startup hashing ensure zero drift |
55
+ | **Token Limiter** | Budget cap with graceful save — progress saved to MEMORY.md, never lose work |
56
+ | **Dry-Run Mode** | Preview every file operation before it executes — full transparency |
57
+ | **Verbose Tracing** | See exactly what the AI is parsing, thinking, and verifying |
58
+ | **Session Branching** | Isolate AI actions in a namespaced git branch (`mythos/`) |
59
+ | **Zero Build** | Runs directly via `tsx` — no compile step in dev |
59
60
 
60
61
  ---
61
62
 
@@ -66,16 +67,18 @@ Choose the right model for the job via the `--effort` flag:
66
67
 
67
68
  | Effort | Model | Best For |
68
69
  |--------|-------|----------|
69
- | 🧠 `high` (default) | Claude Opus 4.7 | Architecture, deep reasoning, complex refactors |
70
- | ✍️ `medium` | Claude Sonnet 3.5 | Balanced code generation, everyday tasks |
71
- | 🔍 `low` | Claude Haiku 3 | Quick answers, memory compression, verification |
70
+ | `high` (default) | Claude Opus 4.7 | Architecture, deep reasoning, complex refactors |
71
+ | `medium` | Claude Sonnet 3.5 | Balanced code generation, everyday tasks |
72
+ | `low` | Claude Haiku 3 | Quick answers, memory compression, verification |
72
73
 
73
74
  The `dream` command automatically uses `low` effort (Haiku) for cost-efficient memory compression, and `verify` uses lightweight scanning — so you only burn Opus tokens when you need deep reasoning.
74
75
 
75
- ### 2. Automated "Dream" Summarization
76
- Even with massive 200k+ context windows, models suffer from degradation ("lost in the middle") when packed with raw chat history.
76
+ ### 2. Authority-Based "Self-Healing" Memory
77
+ Most agentic systems stored state in opaque databases or messy JSON files. Mythos Router treats `MEMORY.md` as the **Sole Authority**.
78
+
79
+ Every action is logged in Markdown first. On startup, the system verifies the integrity of the log via SHA-256 manifest hashing and reconstructs a high-performance **Derivative SQLite Index** (FTS5). If the index drifts or the database is deleted, the system self-heals by rebuilding from the authoritative Markdown source.
77
80
 
78
- As memory approaches capacity, the `dream` command delegates a compression phase to a low-cost model (Haiku 3). It condenses transaction logs into tight summaries while preserving core architectural decisions and constraints. This prevents context drift and saves API costs on every subsequent turn.
81
+ As memory approaches capacity, the `dream` command delegates a compression phase to a low-cost model (Haiku 3), ensuring your "Sacred Log" is always lean and relevant.
79
82
 
80
83
  ---
81
84
 
@@ -122,10 +125,11 @@ mythos chat --effort low # Budget mode (Haiku 3)
122
125
  mythos chat --effort medium # Balanced (Sonnet 3.5)
123
126
  mythos chat --dry-run # Preview all file changes before executing
124
127
  mythos chat --verbose # See full SWD traces and thinking
128
+ mythos chat --branch refactor # Isolate session in a fresh git branch
125
129
  mythos chat --dry-run --verbose # Maximum transparency
126
130
  ```
127
131
 
128
- #### 💰 Financial Safety — Never Burn Money Again
132
+ #### Financial Safety — Never Burn Money Again
129
133
 
130
134
  ```bash
131
135
  mythos chat # Default: 500K tokens, 25 turns
@@ -143,7 +147,7 @@ budget: [████████░░░░░░░░░░░░] 78,342/50
143
147
 
144
148
  At 80%, you get a yellow warning. At 100%, the session performs a **graceful save** — current progress is written to `MEMORY.md` so you can resume context in your next session. No work lost. Use `--no-budget` to disable (at your own risk).
145
149
 
146
- #### 🔍 Dry-Run Mode — The Trust Builder
150
+ #### Dry-Run Mode — The Trust Builder
147
151
 
148
152
  ```bash
149
153
  mythos chat --dry-run
@@ -302,7 +306,7 @@ If you prefer to keep it private, add `MEMORY.md` to your `.gitignore`.
302
306
  | Input tokens | $15.00 / 1M tokens |
303
307
  | Output tokens | $75.00 / 1M tokens |
304
308
 
305
- > **⚠️ Tokenizer Cost Inflation Alert**
309
+ > ** Tokenizer Cost Inflation Alert**
306
310
  > While the per-token price remains identical to Opus 4.6, **Opus 4.7 uses a new tokenizer that is significantly less efficient for Latin scripts**.
307
311
  > - English prompts require **~59% more tokens** (85 → 135 tokens per paragraph).
308
312
  > - French requires **~34% more tokens**.
package/dist/cli.js CHANGED
@@ -13,7 +13,7 @@ program
13
13
  .name('mythos')
14
14
  .description('Capybara-tier CLI router — Claude Opus 4.7 with Adaptive Thinking, ' +
15
15
  'Strict Write Discipline, and Self-Healing Memory.')
16
- .version('1.1.6');
16
+ .version('1.1.7');
17
17
  // ── mythos chat ──────────────────────────────────────────────
18
18
  program
19
19
  .command('chat')
@@ -24,6 +24,7 @@ program
24
24
  .option('--no-budget', 'Disable budget limits (expert mode — use at your own risk)')
25
25
  .option('--dry-run', 'Preview all file operations without executing them')
26
26
  .option('--verbose', 'Show detailed SWD traces and memory operations')
27
+ .option('-b, --branch <name>', 'Run session in a new git branch for sandboxed reasoning')
27
28
  .action(async (options) => {
28
29
  await chatCommand(options);
29
30
  });
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,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,8BAA8B,EAC9B,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CACV,qEAAqE;IACrE,mDAAmD,CACpD;KACA,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,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,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEL,gEAAgE;AAChE,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CACL,WAAW,EACX,mDAAmD,CACpD;KACA,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEL,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,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEL,gEAAgE;AAChE,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAC7B,wCAAwC;IACxC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACvC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,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,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,8BAA8B,EAC9B,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CACV,qEAAqE;IACrE,mDAAmD,CACpD;KACA,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,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,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEL,gEAAgE;AAChE,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CACL,WAAW,EACX,mDAAmD,CACpD;KACA,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEL,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,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEL,gEAAgE;AAChE,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAC7B,wCAAwC;IACxC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACvC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC"}
@@ -5,6 +5,7 @@ interface ChatOptions {
5
5
  budget?: boolean;
6
6
  dryRun?: boolean;
7
7
  verbose?: boolean;
8
+ branch?: string;
8
9
  }
9
10
  export declare function chatCommand(options: ChatOptions): Promise<void>;
10
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAsCA,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;CACnB;AAGD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkRrE"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AA4CA,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;CACjB;AAGD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkVrE"}
@@ -8,8 +8,9 @@ import { streamMessage, formatTokenUsage, } from '../client.js';
8
8
  import { snapshotFiles, runSWD, printSWDResults, parseFileActions, dryRunSWD, printVerboseParse, resolveSafePath, } from '../swd.js';
9
9
  import { appendEntry, needsDream, printMemoryStatus, getMemoryContext, } from '../memory.js';
10
10
  import { MAX_CORRECTION_RETRIES, BUDGET_WARN_PERCENT, MODELS, } from '../config.js';
11
- import { c, Spinner, BANNER, hr, dryRunBadge, verboseBadge } from '../utils.js';
11
+ import { c, Spinner, BANNER, hr, dryRunBadge, verboseBadge, error as logError } from '../utils.js';
12
12
  import { SessionBudget } from '../budget.js';
13
+ import { isGitRepo, hasUncommittedChanges, getCurrentBranch, createAndCheckoutBranch, } from '../git.js';
13
14
  // ── Chat Command ─────────────────────────────────────────────
14
15
  export async function chatCommand(options) {
15
16
  const effort = (options.effort ?? 'high');
@@ -21,6 +22,44 @@ export async function chatCommand(options) {
21
22
  maxTokens: parseInt(options.maxTokens ?? '500000', 10) || 500_000,
22
23
  maxTurns: parseInt(options.maxTurns ?? '25', 10) || 25,
23
24
  }, budgetEnabled);
25
+ // ── Sandbox Branching ────────────────────────────────────
26
+ let sandboxBranch = null;
27
+ if (options.branch) {
28
+ if (!isGitRepo()) {
29
+ logError('Not a git repository. Cannot use --branch flag.');
30
+ process.exit(1);
31
+ }
32
+ const current = getCurrentBranch();
33
+ if (current.startsWith('mythos/')) {
34
+ logError(`Already inside a mythos branch session: ${c.bold}${current}${c.reset}`);
35
+ logError('Nested sandboxing is blocked to prevent Git ambiguity.');
36
+ process.exit(1);
37
+ }
38
+ if (hasUncommittedChanges()) {
39
+ logError('Uncommitted changes detected in working tree.');
40
+ logError('Please commit or stash your changes before starting a sandboxed session.');
41
+ process.exit(1);
42
+ }
43
+ // Generate unique branch name: mythos/<name>-YYYYMMDD-HHMM
44
+ const timestampStr = new Date()
45
+ .toISOString()
46
+ .replace(/[-T:]/g, '')
47
+ .slice(0, 12); // YYYYMMDDHHMM
48
+ const formattedTimestamp = `${timestampStr.slice(0, 8)}-${timestampStr.slice(8)}`;
49
+ const sanitizedName = options.branch
50
+ .toLowerCase()
51
+ .replace(/[^a-z0-9]/g, '-')
52
+ .replace(/-+/g, '-')
53
+ .replace(/^-|-$/g, '');
54
+ sandboxBranch = `mythos/${sanitizedName}-${formattedTimestamp}`;
55
+ try {
56
+ createAndCheckoutBranch(sandboxBranch);
57
+ }
58
+ catch (err) {
59
+ logError(`Failed to create sandbox branch: ${err.message}`);
60
+ process.exit(1);
61
+ }
62
+ }
24
63
  // ── Banner ───────────────────────────────────────────────
25
64
  console.log(BANNER);
26
65
  // Mode badges
@@ -35,6 +74,10 @@ export async function chatCommand(options) {
35
74
  if (!budgetEnabled)
36
75
  modes.push(`${c.yellow}budget: disabled${c.reset}`);
37
76
  console.log(` ${modes.join(' · ')}`);
77
+ if (sandboxBranch) {
78
+ console.log(` ${c.green}✔ Sandbox mode enabled${c.reset}`);
79
+ console.log(` ${c.dim}branch: ${c.bold}${sandboxBranch}${c.reset}`);
80
+ }
38
81
  if (dryRun) {
39
82
  console.log(` ${dryRunBadge()} ${c.dim}Filesystem writes previewed. API calls execute normally.${c.reset}`);
40
83
  }
@@ -86,6 +129,9 @@ export async function chatCommand(options) {
86
129
  if (budgetEnabled && budget.status().turns > 0) {
87
130
  console.log(`\n${budget.formatBar()}`);
88
131
  }
132
+ if (sandboxBranch) {
133
+ console.log(`\n${c.green}✔ Session complete${c.reset} ${c.dim}(branch: ${c.bold}${sandboxBranch}${c.dim})${c.reset}`);
134
+ }
89
135
  console.log(`\n${c.dim}Capybara signing off. 🐾${c.reset}\n`);
90
136
  rl.close();
91
137
  process.exit(0);
@@ -130,13 +176,16 @@ export async function chatCommand(options) {
130
176
  spinner.start('Capybara is thinking...');
131
177
  let thinkingStarted = false;
132
178
  let streamStarted = false;
179
+ let thinkingTokens = 0;
133
180
  try {
134
181
  const response = await streamMessage(conversationHistory, effort,
135
182
  // onThinkingDelta
136
183
  (delta) => {
137
184
  if (!thinkingStarted) {
138
- spinner.stop();
139
- process.stdout.write(`\n${c.dim}${c.italic}💭 `);
185
+ if (verbose) {
186
+ spinner.stop();
187
+ process.stdout.write(`\n${c.dim}${c.italic}💭 `);
188
+ }
140
189
  thinkingStarted = true;
141
190
  }
142
191
  if (verbose) {
@@ -144,19 +193,21 @@ export async function chatCommand(options) {
144
193
  process.stdout.write(`${c.dim}${delta}`);
145
194
  }
146
195
  else {
147
- // Condensed thinking in normal mode
148
- const condensed = delta.replace(/\n/g, ' ').slice(0, 200);
149
- process.stdout.write(`${c.dim}${condensed}`);
196
+ thinkingTokens += Math.ceil(delta.length / 4);
197
+ spinner.update(`Thinking (${MODELS[effort]})... ${c.yellow}~${thinkingTokens} tokens${c.reset}`);
150
198
  }
151
199
  },
152
200
  // onTextDelta
153
201
  (delta) => {
154
202
  if (!streamStarted) {
155
- if (thinkingStarted) {
203
+ if (thinkingStarted && verbose) {
156
204
  process.stdout.write(`${c.reset}\n\n`);
157
205
  }
158
206
  else {
159
- spinner.stop();
207
+ const msg = thinkingTokens > 0
208
+ ? `${c.green}✔${c.reset} ${c.dim}Thought process complete (~${thinkingTokens} tokens)${c.reset}`
209
+ : `${c.green}✔${c.reset} ${c.dim}Ready${c.reset}`;
210
+ spinner.stop(msg);
160
211
  process.stdout.write('\n');
161
212
  }
162
213
  streamStarted = true;
@@ -188,11 +239,14 @@ export async function chatCommand(options) {
188
239
  }
189
240
  }
190
241
  else {
242
+ spinner.start('Parsing FILE_ACTION blocks...');
191
243
  // Lazy snapshot: only snapshot files referenced in FILE_ACTION blocks
192
244
  const referencedPaths = extractReferencedPaths(response.text);
245
+ spinner.update('Verifying Strict Write Discipline...');
193
246
  const beforeSnapshots = snapshotFiles(referencedPaths);
194
247
  // Normal mode: verify against filesystem
195
248
  const swdResult = runSWD(response.text, beforeSnapshots);
249
+ spinner.stop();
196
250
  printSWDResults(swdResult);
197
251
  // Correction loop
198
252
  if (!swdResult.verified && swdResult.correctionPrompt) {
@@ -245,10 +299,18 @@ async function correctionLoop(history, correctionPrompt, initialSnapshots, effor
245
299
  console.log(`\n${c.yellow}⟲ SWD Correction Turn ${attempt}/${MAX_CORRECTION_RETRIES}${c.reset}`);
246
300
  history.push({ role: 'user', content: correctionPrompt });
247
301
  spinner.start(`Correction attempt ${attempt}...`);
302
+ let thinkingTokens = 0;
303
+ let streamStarted = false;
248
304
  try {
249
- const correctionResponse = await streamMessage(history, effort, undefined, (delta) => {
250
- if (spinner)
251
- spinner.stop();
305
+ const correctionResponse = await streamMessage(history, effort, (delta) => {
306
+ thinkingTokens += Math.ceil(delta.length / 4);
307
+ spinner.update(`Correction attempt ${attempt}... ${c.yellow}~${thinkingTokens} tokens${c.reset}`);
308
+ }, (delta) => {
309
+ if (!streamStarted) {
310
+ spinner.stop(`${c.green}✔${c.reset} ${c.dim}Correction thought process complete${c.reset}`);
311
+ process.stdout.write('\n');
312
+ streamStarted = true;
313
+ }
252
314
  process.stdout.write(delta);
253
315
  });
254
316
  process.stdout.write('\n');
@@ -258,7 +320,9 @@ async function correctionLoop(history, correctionPrompt, initialSnapshots, effor
258
320
  });
259
321
  // Record budget for correction turn
260
322
  budget.record(correctionResponse.inputTokens, correctionResponse.outputTokens);
323
+ spinner.start('Running SWD Verification...');
261
324
  const swdResult = runSWD(correctionResponse.text, initialSnapshots);
325
+ spinner.stop();
262
326
  printSWDResults(swdResult);
263
327
  if (swdResult.verified) {
264
328
  console.log(`${c.green}✔ Correction successful.${c.reset}`);
@@ -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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"}
package/dist/config.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export declare const MODELS: Record<string, string>;
2
2
  export declare const MAX_CORRECTION_RETRIES = 2;
3
3
  export declare const MEMORY_FILE = "MEMORY.md";
4
+ export declare const MEMORY_DB_FILE = "memory.db";
4
5
  export declare const MEMORY_MAX_LINES = 100;
5
6
  export declare const MYTHOSIGNORE_FILE = ".mythosignore";
6
7
  export declare const DEFAULT_MAX_TOKENS_PER_SESSION = 500000;
@@ -9,7 +10,7 @@ export declare const BUDGET_WARN_PERCENT = 80;
9
10
  export declare const COST_PER_INPUT_TOKEN: number;
10
11
  export declare const COST_PER_OUTPUT_TOKEN: number;
11
12
  export declare const DEFAULT_IGNORE_PATTERNS: readonly string[];
12
- export declare const CAPYBARA_SYSTEM_PROMPT = "## IDENTITY\nTier: Capybara (Mythos Router \u2014 Specialized in Cybersecurity & PhD Reasoning)\nModel: Claude Opus 4.7 | Protocol: Strict Write Discipline v2.0\nSession: mythos-router local power tool\n\n## CORE DIRECTIVES\n\n### 1. Strict Write Discipline (SWD)\nYou are operating under Strict Write Discipline. This means:\n- NEVER hallucinate filesystem state. If you don't know a file's contents, say so.\n- NEVER claim you wrote/modified/deleted a file unless you are certain the operation succeeded.\n- When you perform ANY file operation, you MUST wrap it in a FILE_ACTION block:\n\n```\n[FILE_ACTION: <absolute_or_relative_path>]\nOPERATION: CREATE | MODIFY | DELETE | READ\nCONTENT_HASH: <sha256 of new content, if applicable>\nDESCRIPTION: <one-line description of what changed>\n[/FILE_ACTION]\n```\n\n- The router will verify EVERY file action you claim against actual filesystem state.\n- If verification fails, you will receive a Correction Turn with the actual state.\n- You have a maximum of 2 correction attempts before yielding to the human.\n\n### 2. Adaptive Deep Reasoning\n- You are running in high-effort adaptive thinking mode.\n- Use your full reasoning capability for complex tasks.\n- For simple queries, respond directly without overthinking.\n\n### 3. Memory Protocol\n- Every action you take will be logged to MEMORY.md with a timestamp and verified result.\n- You can reference MEMORY.md to recall past actions in this project.\n- If memory exceeds 100 entries, a \"Summarization Dream\" will compress older context.\n\n### 4. Response Format\n- Be precise. Be surgical. No slop.\n- When writing code, write complete implementations \u2014 no placeholders, no TODOs.\n- When analyzing, provide concrete evidence and file paths.\n- If uncertain, state your uncertainty explicitly rather than guessing.\n\n## CONSTRAINTS\n- You are a LOCAL power tool. You do not have internet access.\n- You operate on the user's filesystem. Treat it with respect.\n- All file paths should be relative to the project root unless absolute is required.\n";
13
+ export declare const CAPYBARA_SYSTEM_PROMPT = "## IDENTITY\nTier: Capybara (Mythos Router \u2014 Specialized in Cybersecurity & PhD Reasoning)\nModel: Claude Opus 4.7 | Protocol: Strict Write Discipline v2.0\nSession: mythos-router local power tool\n\n## CORE DIRECTIVES\n\n### 1. Strict Write Discipline (SWD)\nYou are operating under Strict Write Discipline. This means:\n- NEVER hallucinate filesystem state. If you don't know a file's contents, say so.\n- NEVER claim you wrote/modified/deleted a file unless you are certain the operation succeeded.\n- When you perform ANY file operation, you MUST wrap it in a FILE_ACTION block:\n\n```\n[FILE_ACTION: <absolute_or_relative_path>]\nOPERATION: CREATE | MODIFY | DELETE | READ\nCONTENT_HASH: <sha256 of new content, if applicable>\nDESCRIPTION: <one-line description of what changed>\nCONTENT: <full text of the new/modified file, if applicable>\n[/FILE_ACTION]\n```\n\n- The router will verify EVERY file action you claim against actual filesystem state.\n- If verification fails, you will receive a Correction Turn with the actual state.\n- You have a maximum of 2 correction attempts before yielding to the human.\n\n### 2. Adaptive Deep Reasoning\n- You are running in high-effort adaptive thinking mode.\n- Use your full reasoning capability for complex tasks.\n- For simple queries, respond directly without overthinking.\n\n### 3. Memory Protocol\n- Every action you take will be logged to MEMORY.md with a timestamp and verified result.\n- You can reference MEMORY.md to recall past actions in this project.\n- If memory exceeds 100 entries, a \"Summarization Dream\" will compress older context.\n\n### 4. Response Format\n- Be precise. Be surgical. No slop.\n- When writing code, write complete implementations \u2014 no placeholders, no TODOs.\n- When analyzing, provide concrete evidence and file paths.\n- If uncertain, state your uncertainty explicitly rather than guessing.\n\n## CONSTRAINTS\n- You are a LOCAL power tool. You do not have internet access.\n- You operate on the user's filesystem. Treat it with respect.\n- All file paths should be relative to the project root unless absolute is required.\n";
13
14
  export type EffortLevel = 'high' | 'medium' | 'low';
14
15
  export declare function getEffort(flag?: string): EffortLevel;
15
16
  export declare function validateApiKey(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIzC,CAAC;AAEF,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,eAAO,MAAM,WAAW,cAAc,CAAC;AACvC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,eAAO,MAAM,iBAAiB,kBAAkB,CAAC;AAGjD,eAAO,MAAM,8BAA8B,SAAU,CAAC;AACtD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAQtC,eAAO,MAAM,oBAAoB,QAAoB,CAAC;AACtD,eAAO,MAAM,qBAAqB,QAAmB,CAAC;AAEtD,eAAO,MAAM,uBAAuB,mBAUlC,CAAC;AAGH,eAAO,MAAM,sBAAsB,uhEA8ClC,CAAC;AAGF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAIpD,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CASpD;AAGD,wBAAgB,cAAc,IAAI,MAAM,CAoBvC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIzC,CAAC;AAEF,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,eAAO,MAAM,WAAW,cAAc,CAAC;AACvC,eAAO,MAAM,cAAc,cAAc,CAAC;AAC1C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,eAAO,MAAM,iBAAiB,kBAAkB,CAAC;AAGjD,eAAO,MAAM,8BAA8B,SAAU,CAAC;AACtD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAQtC,eAAO,MAAM,oBAAoB,QAAiB,CAAC;AACnD,eAAO,MAAM,qBAAqB,QAAiB,CAAC;AAEpD,eAAO,MAAM,uBAAuB,mBAUlC,CAAC;AAGH,eAAO,MAAM,sBAAsB,qlEA+ClC,CAAC;AAGF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAIpD,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CASpD;AAGD,wBAAgB,cAAc,IAAI,MAAM,CAoBvC"}
package/dist/config.js CHANGED
@@ -9,6 +9,7 @@ export const MODELS = {
9
9
  };
10
10
  export const MAX_CORRECTION_RETRIES = 2;
11
11
  export const MEMORY_FILE = 'MEMORY.md';
12
+ export const MEMORY_DB_FILE = 'memory.db';
12
13
  export const MEMORY_MAX_LINES = 100;
13
14
  export const MYTHOSIGNORE_FILE = '.mythosignore';
14
15
  // ── Budget Defaults (Financial Safety) ───────────────────────
@@ -54,6 +55,7 @@ You are operating under Strict Write Discipline. This means:
54
55
  OPERATION: CREATE | MODIFY | DELETE | READ
55
56
  CONTENT_HASH: <sha256 of new content, if applicable>
56
57
  DESCRIPTION: <one-line description of what changed>
58
+ CONTENT: <full text of the new/modified file, if applicable>
57
59
  [/FILE_ACTION]
58
60
  \`\`\`
59
61
 
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,8BAA8B;AAC9B,4CAA4C;AAC5C,gEAAgE;AAEhE,MAAM,CAAC,MAAM,MAAM,GAA2B;IAC5C,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,mBAAmB;IAC3B,GAAG,EAAE,gBAAgB;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAEjD,gEAAgE;AAChE,MAAM,CAAC,MAAM,8BAA8B,GAAG,OAAO,CAAC;AACtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,gEAAgE;AAChE,yCAAyC;AACzC,oFAAoF;AACpF,6FAA6F;AAC7F,6CAA6C;AAC7C,kEAAkE;AAClE,MAAM,CAAC,MAAM,oBAAoB,GAAI,EAAE,GAAK,SAAS,CAAC,CAAC,2BAA2B;AAClF,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,GAAK,SAAS,CAAC,CAAC,4BAA4B;AAEnF,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC;IACnD,cAAc;IACd,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,mBAAmB;IACnB,WAAW;CACZ,CAAC,CAAC;AAEH,gEAAgE;AAChE,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;0BAwBZ,sBAAsB;;;;;;;;;;sBAU1B,gBAAgB;;;;;;;;;;;;CAYrC,CAAC;AAKF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AAE/E,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACjD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,QAAQ,CAAC;IACzE,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CACV,mCAAmC,IAAI,yDAAyD,CACjG,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,8BAA8B;AAC/C,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC1C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CACX,+CAA+C;YAC7C,oDAAoD;YACpD,oDAAoD,CACvD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CACX,sDAAsD;YACpD,iCAAiC,CACpC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,8BAA8B;AAC9B,4CAA4C;AAC5C,gEAAgE;AAEhE,MAAM,CAAC,MAAM,MAAM,GAA2B;IAC5C,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,mBAAmB;IAC3B,GAAG,EAAE,gBAAgB;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC;AACvC,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAEjD,gEAAgE;AAChE,MAAM,CAAC,MAAM,8BAA8B,GAAG,OAAO,CAAC;AACtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,gEAAgE;AAChE,yCAAyC;AACzC,oFAAoF;AACpF,6FAA6F;AAC7F,6CAA6C;AAC7C,kEAAkE;AAClE,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,2BAA2B;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,4BAA4B;AAEjF,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC;IACnD,cAAc;IACd,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,mBAAmB;IACnB,WAAW;CACZ,CAAC,CAAC;AAEH,gEAAgE;AAChE,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;0BAyBZ,sBAAsB;;;;;;;;;;sBAU1B,gBAAgB;;;;;;;;;;;;CAYrC,CAAC;AAKF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AAE/E,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACjD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,QAAQ,CAAC;IACzE,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CACV,mCAAmC,IAAI,yDAAyD,CACjG,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,8BAA8B;AAC/C,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC1C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CACX,+CAA+C;YAC/C,oDAAoD;YACpD,oDAAoD,CACrD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CACX,sDAAsD;YACtD,iCAAiC,CAClC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC"}
package/dist/diff.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ export interface DiffLine {
2
+ op: 'add' | 'remove' | 'keep';
3
+ val: string;
4
+ }
5
+ /**
6
+ * Shortest Edit Script (SES) using Myers' algorithm.
7
+ * O((N+M)D) time and space complexity.
8
+ */
9
+ export declare function myersDiff(a: string[], b: string[]): DiffLine[];
10
+ /**
11
+ * Renders a professional ANSI diff between two strings.
12
+ */
13
+ export declare function renderDiff(oldText: string, newText: string): string;
14
+ //# sourceMappingURL=diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAiC9D;AAqCD;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAgCnE"}
package/dist/diff.js ADDED
@@ -0,0 +1,104 @@
1
+ // ─────────────────────────────────────────────────────────────
2
+ // mythos-router :: diff.ts
3
+ // Minimal Myers' Diff Algorithm (Shortest Edit Script)
4
+ // Line-by-line comparison with professional ANSI rendering
5
+ // ─────────────────────────────────────────────────────────────
6
+ import { c } from './utils.js';
7
+ /**
8
+ * Shortest Edit Script (SES) using Myers' algorithm.
9
+ * O((N+M)D) time and space complexity.
10
+ */
11
+ export function myersDiff(a, b) {
12
+ const n = a.length;
13
+ const m = b.length;
14
+ const v = new Array(2 * (n + m) + 1);
15
+ const trace = [];
16
+ v[1 + (n + m)] = 0; // Base case for Myers algorithm
17
+ for (let d = 0; d <= n + m; d++) {
18
+ const currentV = [...v];
19
+ trace.push(currentV);
20
+ for (let k = -d; k <= d; k += 2) {
21
+ let x;
22
+ if (k === -d || (k !== d && v[k - 1 + (n + m)] < v[k + 1 + (n + m)])) {
23
+ x = v[k + 1 + (n + m)];
24
+ }
25
+ else {
26
+ x = v[k - 1 + (n + m)] + 1;
27
+ }
28
+ let y = x - k;
29
+ while (x < n && y < m && a[x] === b[y]) {
30
+ x++;
31
+ y++;
32
+ }
33
+ v[k + (n + m)] = x;
34
+ if (x >= n && y >= m)
35
+ return backtrack(trace, a, b);
36
+ }
37
+ }
38
+ return [];
39
+ }
40
+ function backtrack(trace, a, b) {
41
+ const diff = [];
42
+ let x = a.length;
43
+ let y = b.length;
44
+ for (let d = trace.length - 1; d >= 0; d--) {
45
+ const v = trace[d];
46
+ const k = x - y;
47
+ let prevK;
48
+ if (k === -d || (k !== d && v[k - 1 + (a.length + b.length)] < v[k + 1 + (a.length + b.length)])) {
49
+ prevK = k + 1;
50
+ }
51
+ else {
52
+ prevK = k - 1;
53
+ }
54
+ const prevX = v[prevK + (a.length + b.length)];
55
+ const prevY = prevX - prevK;
56
+ while (x > prevX && y > prevY) {
57
+ diff.unshift({ op: 'keep', val: a[x - 1] });
58
+ x--;
59
+ y--;
60
+ }
61
+ if (d > 0) {
62
+ if (x > prevX)
63
+ diff.unshift({ op: 'remove', val: a[x - 1] });
64
+ else if (y > prevY)
65
+ diff.unshift({ op: 'add', val: b[y - 1] });
66
+ }
67
+ x = prevX;
68
+ y = prevY;
69
+ }
70
+ return diff;
71
+ }
72
+ /**
73
+ * Renders a professional ANSI diff between two strings.
74
+ */
75
+ export function renderDiff(oldText, newText) {
76
+ if (oldText === newText) {
77
+ return ` ${c.dim}(No changes detected)${c.reset}`;
78
+ }
79
+ const aLines = oldText.split('\n');
80
+ const bLines = newText.split('\n');
81
+ const diff = myersDiff(aLines, bLines);
82
+ let output = '';
83
+ let lineA = 1;
84
+ let lineB = 1;
85
+ for (const item of diff) {
86
+ switch (item.op) {
87
+ case 'keep':
88
+ output += ` ${c.gray}${lineA.toString().padStart(3)} | ${item.val}${c.reset}\n`;
89
+ lineA++;
90
+ lineB++;
91
+ break;
92
+ case 'add':
93
+ output += ` ${c.gray} | ${c.green}+ ${c.bold}${item.val}${c.reset}\n`;
94
+ lineB++;
95
+ break;
96
+ case 'remove':
97
+ output += ` ${c.gray}${lineA.toString().padStart(3)} | ${c.red}- ${c.bold}${item.val}${c.reset}\n`;
98
+ lineA++;
99
+ break;
100
+ }
101
+ }
102
+ return output.trimEnd();
103
+ }
104
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"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"}
package/dist/git.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Checks if the current working directory is inside a Git repository.
3
+ */
4
+ export declare function isGitRepo(): boolean;
5
+ /**
6
+ * Checks if the current working directory has uncommitted changes.
7
+ * Returns true if 'git status --porcelain' is non-empty.
8
+ */
9
+ export declare function hasUncommittedChanges(): boolean;
10
+ /**
11
+ * Returns the name of the current active Git branch.
12
+ */
13
+ export declare function getCurrentBranch(): string;
14
+ /**
15
+ * Creates and checks out a new Git branch.
16
+ * Throws on failure.
17
+ */
18
+ export declare function createAndCheckoutBranch(name: string): void;
19
+ //# sourceMappingURL=git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAOnC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAQ/C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAQzC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAM1D"}