daedalus-cli 3.37.0 → 3.37.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [3.37.1](https://github.com/bgill55/daedalus/compare/v3.37.0...v3.37.1) (2026-08-22)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **enhance:** ground the /enhance prompt in real project context ([#160](https://github.com/bgill55/daedalus/issues/160)) ([60d3035](https://github.com/bgill55/daedalus/commit/60d3035c9d6f655727d71d91f31a6cc029d02771))
7
+
1
8
  # [3.37.0](https://github.com/bgill55/daedalus/compare/v3.36.8...v3.37.0) (2026-08-22)
2
9
 
3
10
 
package/README.md CHANGED
@@ -104,6 +104,15 @@ AI assistance without:
104
104
  - **MCP support** — Model Context Protocol servers via stdio and HTTP/SSE
105
105
  - **Windows + Unix** — full cross-platform support
106
106
 
107
+ ### Interface & Experience
108
+ - **Syntax-highlighted responses** — assistant code blocks render language-aware, line-numbered, and colorized in the terminal (via `cli-highlight`), so diffs and snippets are easy to scan.
109
+ - **Persistent command history** — your REPL input history is saved to `~/.daedalus/history` and recalled with ↑/↓ across sessions (deduped, capped at 1000 entries).
110
+ - **Tip of the day** — a rotating practical tip prints under the banner on startup to surface lesser-known workflows.
111
+ - **Themeable UI** — `/theme [dark|light|auto]` switches the palette live (light mode stays legible on white terminals) and persists to config.
112
+ - **Cost-aware footer** — with `ui.showCost` on, each reply shows an estimated per-turn cost for cloud models (local models stay $0).
113
+ - **Buffered or streaming replies** — `ui.streaming` toggles token-by-token streaming vs. a single rendered block.
114
+ - **Side-by-side diffs** — set `ui.diffStyle` to `side-by-side` for a two-column old-vs-new view in the patch approval UI.
115
+
107
116
  ### Tools
108
117
  - **File tools** — read, write, patch with interactive diff UI; fuzzy whitespace matching, syntax validation with auto-revert
109
118
  - **Trust layer** — write-without-read guardrail, terminal + patch circuit breakers, batch short-circuit on failed file edits, actionable edit hints, import/export validation, auto-test loop, large-rewrite annotation
@@ -1,5 +1,5 @@
1
1
  import type { Command, CommandContext } from './types.js';
2
- export declare const ENHANCE_SYSTEM_PROMPT = "You are an expert prompt engineer for AI coding agents. \nExpand the user's raw or casual request into a crisp, high-yield engineering prompt for Daedalus.\nRules for the generated prompt:\n1. Frame the prompt as a direct action command instructing the agent to perform the task and write out its completed report.\n2. Instruct the agent to inspect relevant files and codebase context using tools before writing.\n3. Require the agent to deliver a fully populated report formatted in Markdown with headers, filled-in comparison tables, and bullet points.\n4. NEVER output empty Markdown templates, empty table rows (e.g. \"| Aspect | | |\"), or bracketed placeholders (e.g. \"[dependency]\", \"[what it does]\"). Instead, write clear instructions ordering the agent to analyze the code and populate those sections with actual findings.\n5. Return ONLY the final enhanced prompt text without meta-commentary, introductory remarks, or surrounding quote marks.\n6. If the user's request already contains tool-call markup (e.g. `<tool_call>`, `<function=...>`), code fences, or XML-like tags, DO NOT copy that structured markup into the output. Rephrase the request as a clean natural-language instruction that a coding agent can act on directly. The enhanced prompt must be plain prose/Markdown an agent can execute \u2014 never raw tool-call XML.\n7. PRESERVE THE USER'S INTENT MODE. If the user's request is a proposal, ideation, brainstorm, design, or discussion ask (e.g. \"come up with ideas\", \"propose\", \"what are some options\", \"brainstorm\", \"think about how to\", \"suggest approaches\", \"architecture review\"), the enhanced prompt MUST remain a proposal/analysis ask. Do NOT reframe it as an implement/build command, and do NOT inject execution-scope deliverables such as \"implement the following\", \"deliver a comprehensive Markdown report with sprint breakdowns and file modifications\", \"manageable sprints\", or \"populate all sections with actual implementation plans\". If the user wants implementation, they will say so \u2014 your job is to make the proposal sharper and more specific, not to expand a question into a build order. Conversely, if the request IS a direct implementation task, keep Rule 1-3 as written.\n8. DO NOT NAME SPECIFIC TOOL FUNCTIONS. The execution agent selects its own tools from whatever is available in its environment \u2014 you cannot know the exact tool names, and naming non-existent ones (e.g. \"using find_symbol and get_definition to locate files\") makes the agent attempt calls that fail. Instead, describe the ACTION in plain language (\"inspect the relevant source files\", \"search the codebase for usages of X\"). Never write \"using <tool_name> to ...\" or \"via <tool_name>\" clauses.\n9. BOUNDED, DISTINCT OUTPUT \u2014 DEPTH OVER BREADTH. When the request asks for \"improvements\", \"ideas\", \"options\", or \"areas for <X>\", instruct the agent to produce AT MOST 8-10 highest-impact, DISTINCT items. Never generate templated or boilerplate variations of the same idea (e.g. fifty \"Add Prompt Template Variables ...\" bullets that only swap words). Each item must be a concrete, independently valuable change with its own rationale. \"Fully populated\" (Rule 3-4) means every table ROW holds real findings \u2014 it does NOT mean padding an open-ended list with repetitive permutations. If the codebase yields fewer than 8 genuine items, stop; do not invent filler.\n10. DO NOT ASSERT UNVERIFIED FINDINGS. You have NOT inspected the codebase \u2014 you only received the user's raw request. NEVER state specific findings as fact (file names, error codes like \"TS2304\", counts like \"12 TODO comments\", dependency names like \"helmet\", specific function names, or \"missing X in server.ts\"). Doing so fabricates problems the agent will then try to \"fix\", corrupting the project. Instead, define the report's SECTIONS and instruct the EXECUTION agent to populate each section from real file inspection. A \"Current Pain Points\" or \"Findings\" list must be discovered by the agent, never pre-filled by you. If the user only asked for an explanation, the enhanced prompt should ask the agent to report what it actually finds \u2014 not what you assume.";
2
+ export declare const ENHANCE_SYSTEM_PROMPT = "You are an expert prompt engineer for AI coding agents. \nExpand the user's raw or casual request into a crisp, high-yield engineering prompt for Daedalus.\nRules for the generated prompt:\n1. Frame the prompt as a direct action command instructing the agent to perform the task and write out its completed report.\n2. Instruct the agent to inspect relevant files and codebase context using tools before writing.\n3. Require the agent to deliver a fully populated report formatted in clean Markdown: use `##` section headings and `-` bullet lists. Do NOT use pipe-delimited tables (rows like `| Column | Column |`) \u2014 they are hard for the CLI/agent to parse and render as noise. Express structured comparisons as labeled bullets instead.\n4. NEVER output empty Markdown templates, empty table rows (e.g. \"| Aspect | | |\"), pipe-delimited table syntax of any kind (rows beginning and ending with `|`), or bracketed placeholders (e.g. \"[dependency]\", \"[what it does]\"). Pipe tables are forbidden as an output format \u2014 use `##` headings and `-` bullets instead. Instead, write clear instructions ordering the agent to analyze the code and populate those sections with actual findings expressed as prose or bullets.\n5. Return ONLY the final enhanced prompt text without meta-commentary, introductory remarks, or surrounding quote marks.\n6. If the user's request already contains tool-call markup (e.g. `<tool_call>`, `<function=...>`), code fences, or XML-like tags, DO NOT copy that structured markup into the output. Rephrase the request as a clean natural-language instruction that a coding agent can act on directly. The enhanced prompt must be plain prose/Markdown an agent can execute \u2014 never raw tool-call XML.\n7. PRESERVE THE USER'S INTENT MODE. If the user's request is a proposal, ideation, brainstorm, design, or discussion ask (e.g. \"come up with ideas\", \"propose\", \"what are some options\", \"brainstorm\", \"think about how to\", \"suggest approaches\", \"architecture review\"), the enhanced prompt MUST remain a proposal/analysis ask. Do NOT reframe it as an implement/build command, and do NOT inject execution-scope deliverables such as \"implement the following\", \"deliver a comprehensive Markdown report with sprint breakdowns and file modifications\", \"manageable sprints\", or \"populate all sections with actual implementation plans\". If the user wants implementation, they will say so \u2014 your job is to make the proposal sharper and more specific, not to expand a question into a build order. Conversely, if the request IS a direct implementation task, keep Rule 1-3 as written.\n8. DO NOT NAME SPECIFIC TOOL FUNCTIONS. The execution agent selects its own tools from whatever is available in its environment \u2014 you cannot know the exact tool names, and naming non-existent ones (e.g. \"using find_symbol and get_definition to locate files\") makes the agent attempt calls that fail. Instead, describe the ACTION in plain language (\"inspect the relevant source files\", \"search the codebase for usages of X\"). Never write \"using <tool_name> to ...\" or \"via <tool_name>\" clauses.\n9. BOUNDED, DISTINCT OUTPUT \u2014 DEPTH OVER BREADTH. When the request asks for \"improvements\", \"ideas\", \"options\", or \"areas for <X>\", instruct the agent to produce AT MOST 8-10 highest-impact, DISTINCT items. Never generate templated or boilerplate variations of the same idea (e.g. fifty \"Add Prompt Template Variables ...\" bullets that only swap words). Each item must be a concrete, independently valuable change with its own rationale. \"Fully populated\" (Rule 3-4) means every table ROW holds real findings \u2014 it does NOT mean padding an open-ended list with repetitive permutations. If the codebase yields fewer than 8 genuine items, stop; do not invent filler.\n10. DO NOT ASSERT UNVERIFIED FINDINGS. You have NOT inspected the codebase \u2014 you only received the user's raw request. NEVER state specific findings as fact (file names, error codes like \"TS2304\", counts like \"12 TODO comments\", dependency names like \"helmet\", specific function names, or \"missing X in server.ts\"). Doing so fabricates problems the agent will then try to \"fix\", corrupting the project. Instead, define the report's SECTIONS and instruct the EXECUTION agent to populate each section from real file inspection. A \"Current Pain Points\" or \"Findings\" list must be discovered by the agent, never pre-filled by you. If the user only asked for an explanation, the enhanced prompt should ask the agent to report what it actually finds \u2014 not what you assume.\n11. GROUND EVERYTHING IN THE PROVIDED PROJECT CONTEXT. When a \"VERIFIED PROJECT CONTEXT\" block is supplied, your enhanced prompt MUST be scoped to THAT project \u2014 its real stack, real commands, and real convention files. Do not propose features for a different or generic project, and do not invent capabilities outside the AVAILABLE COMMANDS list. For open asks like \"make this project outstanding\" or \"what would help the end user\", you MUST still show VISION: propose concrete forward-looking enhancements (new commands, workflow improvements, UX polish) that fit THIS project's trajectory \u2014 but each proposal must trace to an observed gap, convention, or missing capability in the provided context, never to a generic template. If the context names a detected stack, align proposals to it. NEVER return a bare skeleton (e.g. an \"Enhancement | Impact | Feasibility | Idea\" pipe table with empty rows, or bracketed placeholders like \"[dependency]\") \u2014 pipe tables are forbidden (see Rule 4); when context is present, express each grounded idea as a `-` bullet under a `##` heading, instructing the agent to populate it from real inspection.";
3
3
  export declare function enhancePrompt(rawPrompt: string, ctx: CommandContext): Promise<string>;
4
4
  export declare const enhanceCommand: Command;
5
5
  //# sourceMappingURL=enhance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enhance.d.ts","sourceRoot":"","sources":["../../src/commands/enhance.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1D,eAAO,MAAM,qBAAqB,6oIAY6tB,CAAC;AA6EhwB,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAiC3F;AAED,eAAO,MAAM,cAAc,EAAE,OA4E5B,CAAC"}
1
+ {"version":3,"file":"enhance.d.ts","sourceRoot":"","sources":["../../src/commands/enhance.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1D,eAAO,MAAM,qBAAqB,oqLAaulC,CAAC;AAiL1nC,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAkC3F;AAED,eAAO,MAAM,cAAc,EAAE,OA4E5B,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import pc from 'picocolors';
2
+ import fs from 'fs';
3
+ import path from 'path';
2
4
  import { printUserTurn, turnSeparator } from '../formatting.js';
3
5
  import { extractAndSave } from '../extraction.js';
4
6
  import { getSessionTodos } from '../tools/builtin/todo.js';
@@ -8,14 +10,81 @@ Expand the user's raw or casual request into a crisp, high-yield engineering pro
8
10
  Rules for the generated prompt:
9
11
  1. Frame the prompt as a direct action command instructing the agent to perform the task and write out its completed report.
10
12
  2. Instruct the agent to inspect relevant files and codebase context using tools before writing.
11
- 3. Require the agent to deliver a fully populated report formatted in Markdown with headers, filled-in comparison tables, and bullet points.
12
- 4. NEVER output empty Markdown templates, empty table rows (e.g. "| Aspect | | |"), or bracketed placeholders (e.g. "[dependency]", "[what it does]"). Instead, write clear instructions ordering the agent to analyze the code and populate those sections with actual findings.
13
+ 3. Require the agent to deliver a fully populated report formatted in clean Markdown: use \`##\` section headings and \`-\` bullet lists. Do NOT use pipe-delimited tables (rows like \`| Column | Column |\`) — they are hard for the CLI/agent to parse and render as noise. Express structured comparisons as labeled bullets instead.
14
+ 4. NEVER output empty Markdown templates, empty table rows (e.g. "| Aspect | | |"), pipe-delimited table syntax of any kind (rows beginning and ending with \`|\`), or bracketed placeholders (e.g. "[dependency]", "[what it does]"). Pipe tables are forbidden as an output format — use \`##\` headings and \`-\` bullets instead. Instead, write clear instructions ordering the agent to analyze the code and populate those sections with actual findings expressed as prose or bullets.
13
15
  5. Return ONLY the final enhanced prompt text without meta-commentary, introductory remarks, or surrounding quote marks.
14
16
  6. If the user's request already contains tool-call markup (e.g. \`<tool_call>\`, \`<function=...>\`), code fences, or XML-like tags, DO NOT copy that structured markup into the output. Rephrase the request as a clean natural-language instruction that a coding agent can act on directly. The enhanced prompt must be plain prose/Markdown an agent can execute — never raw tool-call XML.
15
17
  7. PRESERVE THE USER'S INTENT MODE. If the user's request is a proposal, ideation, brainstorm, design, or discussion ask (e.g. "come up with ideas", "propose", "what are some options", "brainstorm", "think about how to", "suggest approaches", "architecture review"), the enhanced prompt MUST remain a proposal/analysis ask. Do NOT reframe it as an implement/build command, and do NOT inject execution-scope deliverables such as "implement the following", "deliver a comprehensive Markdown report with sprint breakdowns and file modifications", "manageable sprints", or "populate all sections with actual implementation plans". If the user wants implementation, they will say so — your job is to make the proposal sharper and more specific, not to expand a question into a build order. Conversely, if the request IS a direct implementation task, keep Rule 1-3 as written.
16
18
  8. DO NOT NAME SPECIFIC TOOL FUNCTIONS. The execution agent selects its own tools from whatever is available in its environment — you cannot know the exact tool names, and naming non-existent ones (e.g. "using find_symbol and get_definition to locate files") makes the agent attempt calls that fail. Instead, describe the ACTION in plain language ("inspect the relevant source files", "search the codebase for usages of X"). Never write "using <tool_name> to ..." or "via <tool_name>" clauses.
17
19
  9. BOUNDED, DISTINCT OUTPUT — DEPTH OVER BREADTH. When the request asks for "improvements", "ideas", "options", or "areas for <X>", instruct the agent to produce AT MOST 8-10 highest-impact, DISTINCT items. Never generate templated or boilerplate variations of the same idea (e.g. fifty "Add Prompt Template Variables ..." bullets that only swap words). Each item must be a concrete, independently valuable change with its own rationale. "Fully populated" (Rule 3-4) means every table ROW holds real findings — it does NOT mean padding an open-ended list with repetitive permutations. If the codebase yields fewer than 8 genuine items, stop; do not invent filler.
18
- 10. DO NOT ASSERT UNVERIFIED FINDINGS. You have NOT inspected the codebase — you only received the user's raw request. NEVER state specific findings as fact (file names, error codes like "TS2304", counts like "12 TODO comments", dependency names like "helmet", specific function names, or "missing X in server.ts"). Doing so fabricates problems the agent will then try to "fix", corrupting the project. Instead, define the report's SECTIONS and instruct the EXECUTION agent to populate each section from real file inspection. A "Current Pain Points" or "Findings" list must be discovered by the agent, never pre-filled by you. If the user only asked for an explanation, the enhanced prompt should ask the agent to report what it actually finds — not what you assume.`;
20
+ 10. DO NOT ASSERT UNVERIFIED FINDINGS. You have NOT inspected the codebase — you only received the user's raw request. NEVER state specific findings as fact (file names, error codes like "TS2304", counts like "12 TODO comments", dependency names like "helmet", specific function names, or "missing X in server.ts"). Doing so fabricates problems the agent will then try to "fix", corrupting the project. Instead, define the report's SECTIONS and instruct the EXECUTION agent to populate each section from real file inspection. A "Current Pain Points" or "Findings" list must be discovered by the agent, never pre-filled by you. If the user only asked for an explanation, the enhanced prompt should ask the agent to report what it actually finds — not what you assume.
21
+ 11. GROUND EVERYTHING IN THE PROVIDED PROJECT CONTEXT. When a "VERIFIED PROJECT CONTEXT" block is supplied, your enhanced prompt MUST be scoped to THAT project — its real stack, real commands, and real convention files. Do not propose features for a different or generic project, and do not invent capabilities outside the AVAILABLE COMMANDS list. For open asks like "make this project outstanding" or "what would help the end user", you MUST still show VISION: propose concrete forward-looking enhancements (new commands, workflow improvements, UX polish) that fit THIS project's trajectory — but each proposal must trace to an observed gap, convention, or missing capability in the provided context, never to a generic template. If the context names a detected stack, align proposals to it. NEVER return a bare skeleton (e.g. an "Enhancement | Impact | Feasibility | Idea" pipe table with empty rows, or bracketed placeholders like "[dependency]") — pipe tables are forbidden (see Rule 4); when context is present, express each grounded idea as a \`-\` bullet under a \`##\` heading, instructing the agent to populate it from real inspection.`;
22
+ /**
23
+ * Build a real, verified grounding snapshot of the active project to anchor the
24
+ * enhancement call. Everything here is derived from the filesystem or the live
25
+ * command registry — never from model inference — so it cannot hallucinate.
26
+ * Returns an empty string when no grounding is available (e.g. tests), which
27
+ * keeps the enhancer's existing "instruct the agent to inspect" fallback path.
28
+ */
29
+ function buildEnhanceContext(ctx) {
30
+ if (!ctx)
31
+ return '';
32
+ const parts = [];
33
+ // Project root: prefer an active file's directory, else the process cwd.
34
+ // Then walk upward to the nearest dir containing package.json or a convention
35
+ // file, so grounding keys off the actual project root, not a nested src/ folder.
36
+ let startDir = process.cwd();
37
+ const firstFile = ctx.activeFiles?.keys().next().value;
38
+ if (firstFile)
39
+ startDir = path.dirname(firstFile);
40
+ let root = startDir;
41
+ const rootMarkers = ['package.json', 'AGENTS.md', 'CLAUDE.md', '.git'];
42
+ for (let dir = startDir; dir !== path.dirname(dir); dir = path.dirname(dir)) {
43
+ if (rootMarkers.some(m => fs.existsSync(path.join(dir, m)))) {
44
+ root = dir;
45
+ break;
46
+ }
47
+ }
48
+ // Real stack signal from package.json (deps + scripts), if present.
49
+ try {
50
+ const pkgPath = path.join(root, 'package.json');
51
+ if (fs.existsSync(pkgPath)) {
52
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
53
+ const name = pkg.name ?? path.basename(root);
54
+ const deps = { ...pkg.dependencies, ...pkg.devDependencies };
55
+ const stackHints = [];
56
+ const markers = {
57
+ react: 'React', 'react-dom': 'React', vue: 'Vue', next: 'Next.js', express: 'Express',
58
+ fastify: 'Fastify', vite: 'Vite', webpack: 'Webpack', typescript: 'TypeScript',
59
+ 'tailwindcss': 'Tailwind', sqlite3: 'SQLite', 'better-sqlite3': 'SQLite', vitest: 'Vitest',
60
+ jest: 'Jest', django: 'Django', flask: 'Flask', fastapi: 'FastAPI', 'cli-highlight': 'cli-highlight',
61
+ };
62
+ for (const dep of Object.keys(deps)) {
63
+ if (markers[dep])
64
+ stackHints.push(markers[dep]);
65
+ }
66
+ const scripts = pkg.scripts ? Object.keys(pkg.scripts) : [];
67
+ parts.push(`PROJECT: ${name} (${path.basename(root)})`);
68
+ if (stackHints.length)
69
+ parts.push(`DETECTED STACK: ${[...new Set(stackHints)].join(', ')}`);
70
+ if (scripts.length)
71
+ parts.push(`SCRIPTS: ${scripts.join(', ')}`);
72
+ }
73
+ }
74
+ catch {
75
+ // ignore — grounding is best-effort
76
+ }
77
+ // Project-root convention files the agent should respect.
78
+ const conventionFiles = ['AGENTS.md', 'CLAUDE.md', '.cursorrules', '.daedalusrules', 'DAEDALUS.md']
79
+ .filter(f => fs.existsSync(path.join(root, f)));
80
+ if (conventionFiles.length)
81
+ parts.push(`CONVENTION FILES PRESENT: ${conventionFiles.join(', ')}`);
82
+ // Active files the user has pinned — strong signal of current focus.
83
+ if (ctx.activeFiles && ctx.activeFiles.size > 0) {
84
+ parts.push(`ACTIVE FILES (user focus): ${[...ctx.activeFiles.values()].join(', ')}`);
85
+ }
86
+ return parts.length ? `\n\n--- VERIFIED PROJECT CONTEXT (do not contradict; scope proposals to this project) ---\n${parts.join('\n')}\n---\n` : '';
87
+ }
19
88
  // Intent-mode markers. If the RAW request contains a proposal/brainstorm marker, the
20
89
  // enhanced prompt must stay a proposal and must not be expanded into an implementation
21
90
  // mandate. Used by stripModeViolation to defend against an enhancer that ignores Rule 7.
@@ -87,8 +156,42 @@ function stripModeViolation(rawPrompt, enhanced) {
87
156
  .replace(/\n{3,}/g, '\n\n') // collapse the gaps left behind
88
157
  .trim();
89
158
  }
159
+ // Matches a Markdown pipe-table row: at least two cells delimited by `|`,
160
+ // trimmed so a leading/fence `|` is allowed (GitHub-style). Excludes the
161
+ // separator row (---|---) which is handled separately.
162
+ const PIPE_ROW_RE = /^\s*\|(.+\|.+)\|\s*$/;
163
+ const PIPE_SEP_RE = /^\s*\|?[\s:|-]+\|?\s*$/;
164
+ /**
165
+ * Backstop for Rule 4: even after the system prompt forbids pipe tables, a model
166
+ * can still emit them. Convert any surviving pipe-table rows into `-` bullets so
167
+ * the enhanced prompt stays clean Markdown the CLI/agent can parse. Header and
168
+ * separator rows are dropped; each data row becomes a bullet of its cell contents.
169
+ */
170
+ function stripPipeTables(enhanced) {
171
+ const lines = enhanced.split('\n');
172
+ const out = [];
173
+ for (let i = 0; i < lines.length; i++) {
174
+ const line = lines[i];
175
+ if (PIPE_SEP_RE.test(line.trim())) {
176
+ // separator row of a table we're about to strip — drop it
177
+ continue;
178
+ }
179
+ if (PIPE_ROW_RE.test(line)) {
180
+ // If the next line is a separator, this is a header row: drop it too.
181
+ if (i + 1 < lines.length && PIPE_SEP_RE.test(lines[i + 1].trim())) {
182
+ continue;
183
+ }
184
+ const cells = line.split('|').map(c => c.trim()).filter(c => c.length > 0);
185
+ out.push(`- ${cells.join(': ')}`);
186
+ continue;
187
+ }
188
+ out.push(line);
189
+ }
190
+ return out.join('\n').replace(/\n{3,}/g, '\n\n').trim();
191
+ }
90
192
  export async function enhancePrompt(rawPrompt, ctx) {
91
- const fullPrompt = `${ENHANCE_SYSTEM_PROMPT}\n\nUser request to enhance: "${rawPrompt}"`;
193
+ const grounding = buildEnhanceContext(ctx);
194
+ const fullPrompt = `${ENHANCE_SYSTEM_PROMPT}${grounding}\n\nUser request to enhance: "${rawPrompt}"`;
92
195
  try {
93
196
  if (typeof ctx.callModelWithFallback === 'function') {
94
197
  // callModelWithFallback appends the request + its reply to the shared messages
@@ -107,7 +210,7 @@ export async function enhancePrompt(rawPrompt, ctx) {
107
210
  // markup so the displayed/enhanced prompt is always plain prose an agent
108
211
  // can execute (see bug where /enhance returned <tool_call><function=read_file>).
109
212
  const stripped = stripToolCallMarkup(res.trim());
110
- return capRepetition(stripInventedToolRefs(stripModeViolation(rawPrompt, stripped)));
213
+ return stripPipeTables(capRepetition(stripInventedToolRefs(stripModeViolation(rawPrompt, stripped))));
111
214
  }
112
215
  }
113
216
  }
@@ -1 +1 @@
1
- {"version":3,"file":"enhance.js","sourceRoot":"","sources":["../../src/commands/enhance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enhance.js","sourceRoot":"","sources":["../../src/commands/enhance.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { describe, it, expect, vi } from 'vitest';
2
+ import path from 'path';
2
3
  import { enhancePrompt, enhanceCommand, ENHANCE_SYSTEM_PROMPT } from './enhance.js';
3
4
  describe('enhanceCommand', () => {
4
5
  it('has name, aliases, description, and usage', () => {
@@ -117,14 +118,58 @@ describe('enhanceCommand', () => {
117
118
  expect(sysPromptSpy).toHaveBeenCalledTimes(1);
118
119
  expect(sysPromptSpy).toHaveBeenCalledWith('review server.ts');
119
120
  });
120
- it('ENHANCE_SYSTEM_PROMPT forbids asserting unverified findings (Rule 10)', () => {
121
- // Regression: the enhancer fabricated findings (helmet import, 12 TODOs, TS2304) with no
122
- // file context, and the execution agent then "fixed" the hallucinations. Rule 10 requires
123
- // the enhancer to structure the report and let the agent discover findings from real
124
- // inspection never pre-fill them.
125
- expect(ENHANCE_SYSTEM_PROMPT).toContain('DO NOT ASSERT UNVERIFIED FINDINGS');
126
- expect(ENHANCE_SYSTEM_PROMPT).toContain('you only received the user');
127
- expect(ENHANCE_SYSTEM_PROMPT).toContain('must be discovered by the agent');
121
+ it('ENHANCE_SYSTEM_PROMPT forbids pipe-delimited table output (Rules 3-4)', () => {
122
+ // Regression: the enhancer produced ASCII pipe tables ("| Col | Col |") that are
123
+ // noise for the CLI/agent to parse. The prompt must mandate clean Markdown
124
+ // (## headings + - bullets) and ban pipe tables as an output format.
125
+ expect(ENHANCE_SYSTEM_PROMPT).toContain('Do NOT use pipe-delimited tables');
126
+ expect(ENHANCE_SYSTEM_PROMPT).toContain('Pipe tables are forbidden as an output format');
127
+ expect(ENHANCE_SYSTEM_PROMPT).toContain('use `##` headings and `-` bullets');
128
+ });
129
+ it('strips any surviving pipe-table rows from the enhanced prompt (backstop)', async () => {
130
+ // Even with the prompt ban, a model can still emit a pipe table. The backstop
131
+ // must convert it to clean bullets/headings so it can't poison the execution turn.
132
+ const pipeTable = [
133
+ '## Proposed Enhancements',
134
+ '| Enhancement | Impact | Effort |',
135
+ '|-------------|--------|--------|',
136
+ '| Add caching | High | Low |',
137
+ '| Improve CLI output | Medium | Med |',
138
+ '',
139
+ 'Next, inspect the codebase and populate each item.',
140
+ ].join('\n');
141
+ const mockCallModel = vi.fn().mockResolvedValue(pipeTable);
142
+ const mockCtx = { callModelWithFallback: mockCallModel };
143
+ const result = await enhancePrompt('what would make this project more outstanding', mockCtx);
144
+ // No pipe-table syntax survives.
145
+ expect(result).not.toMatch(/^\s*\|.*\|\s*$/m);
146
+ expect(result).not.toMatch(/\|[-:\s]+\|/);
147
+ // The data rows become bullets/headings instead.
148
+ expect(result).toContain('- Add caching: High: Low');
149
+ expect(result).toContain('## Proposed Enhancements');
150
+ });
151
+ it('includes verified project context when ctx exposes active files', async () => {
152
+ const mockCallModel = vi.fn().mockResolvedValue('Enhanced prompt grounded in the project.');
153
+ // Point the active file at a real source file in THIS repo (resolved from cwd),
154
+ // so buildEnhanceContext walks up to the repo root and finds the real
155
+ // package.json (TypeScript stack) and AGENTS.md — a genuine grounding signal,
156
+ // not a model claim. Using a cwd-relative path keeps the test deterministic
157
+ // across local (Windows) and CI (linux/mac) runners.
158
+ const activeFilePath = path.join(process.cwd(), 'src', 'commands', 'enhance.ts');
159
+ const mockCtx = {
160
+ callModelWithFallback: mockCallModel,
161
+ activeFiles: new Map([[activeFilePath, 'enhance.ts']]),
162
+ };
163
+ // Capture the prompt passed to the model.
164
+ let captured = '';
165
+ const spy = vi.fn().mockImplementation(async (p) => { captured = p; return 'Enhanced prompt grounded in the project.'; });
166
+ mockCtx.callModelWithFallback = spy;
167
+ const result = await enhancePrompt('what would make this project more outstanding for an end user', mockCtx);
168
+ expect(result).toBeTruthy();
169
+ // Grounding block must be injected into the enhancement call.
170
+ expect(captured).toContain('VERIFIED PROJECT CONTEXT');
171
+ expect(captured).toContain('DETECTED STACK');
172
+ expect(captured).toContain('AGENTS.md');
128
173
  });
129
174
  });
130
175
  //# sourceMappingURL=enhance.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enhance.test.js","sourceRoot":"","sources":["../../src/commands/enhance.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enhance.test.js","sourceRoot":"","sources":["../../src/commands/enhance.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAEpF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAC7C,6EAA6E,CAC9E,CAAC;QAEF,MAAM,OAAO,GAAG;YACd,qBAAqB,EAAE,aAAa;SAC9B,CAAC;QAET,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC9C,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG;YACd,qBAAqB,EAAE,aAAa;YACpC,QAAQ;SACF,CAAC;QAET,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC/C,8EAA8E;QAC9E,yEAAyE;QACzE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAChG,qFAAqF;QACrF,uFAAuF;QACvF,2EAA2E;QAC3E,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAC7C,wFAAwF;YACxF,kGAAkG;YAClG,+FAA+F,CAChG,CAAC;QACF,MAAM,OAAO,GAAG,EAAE,qBAAqB,EAAE,aAAa,EAAS,CAAC;QAEhE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,yDAAyD,EAAE,OAAO,CAAC,CAAC;QACvG,oFAAoF;QACpF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;QACjG,sFAAsF;QACtF,sCAAsC;QACtC,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAC7C,mFAAmF,CACpF,CAAC;QACF,MAAM,OAAO,GAAG,EAAE,qBAAqB,EAAE,aAAa,EAAS,CAAC;QAEhE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,+CAA+C,EAAE,OAAO,CAAC,CAAC;QAC7F,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;QACzG,mFAAmF;QACnF,mFAAmF;QACnF,gFAAgF;QAChF,kFAAkF;QAClF,wCAAwC;QACxC,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAC7C,+FAA+F;YAC/F,uEAAuE,CACxE,CAAC;QACF,MAAM,OAAO,GAAG,EAAE,qBAAqB,EAAE,aAAa,EAAS,CAAC;QAEhE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,4CAA4C,EAAE,OAAO,CAAC,CAAC;QAC1F,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC9C,kCAAkC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,oFAAoF;QACpF,yFAAyF;QACzF,uFAAuF;QACvF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACjD,mCAAmC,CAAC,GAAG,CAAC,+BAA+B,CAAC,GAAG,CAAC,GAAG,CAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,EAAE,qBAAqB,EAAE,aAAa,EAAS,CAAC;QAEhE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,+CAA+C,EAAE,OAAO,CAAC,CAAC;QAC7F,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC5E,MAAM,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;QAC/E,yDAAyD;QACzD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,EAAE;aACxB,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,mBAAmB;aAC7D,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY;QAE3C,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9F,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAE9D,MAAM,OAAO,GAAG;YACd,qBAAqB,EAAE,aAAa;YACpC,kBAAkB,EAAE,aAAa;YACjC,yBAAyB,EAAE,YAAY;YACvC,OAAO,EAAE,WAAW;YACpB,sEAAsE;YACtE,iEAAiE;YACjE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;SAC3D,CAAC;QAET,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAW,CAAC;QAC5D,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACrD,mFAAmF;QACnF,iFAAiF;QACjF,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAC1D,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;QACtE,8EAA8E;QAC9E,iFAAiF;QACjF,mFAAmF;QACnF,iFAAiF;QACjF,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,iFAAiF;QACjF,2EAA2E;QAC3E,qEAAqE;QACrE,MAAM,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;QAC5E,MAAM,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,+CAA+C,CAAC,CAAC;QACzF,MAAM,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,8EAA8E;QAC9E,mFAAmF;QACnF,MAAM,SAAS,GAAG;YAChB,0BAA0B;YAC1B,mCAAmC;YACnC,mCAAmC;YACnC,mCAAmC;YACnC,uCAAuC;YACvC,EAAE;YACF,oDAAoD;SACrD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,EAAE,qBAAqB,EAAE,aAAa,EAAS,CAAC;QAEhE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,+CAA+C,EAAE,OAAO,CAAC,CAAC;QAC7F,iCAAiC;QACjC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC1C,iDAAiD;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,0CAA0C,CAAC,CAAC;QAC5F,gFAAgF;QAChF,sEAAsE;QACtE,8EAA8E;QAC9E,4EAA4E;QAC5E,qDAAqD;QACrD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG;YACd,qBAAqB,EAAE,aAAa;YACpC,WAAW,EAAE,IAAI,GAAG,CAAiB,CAAC,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;SAChE,CAAC;QAET,0CAA0C;QAC1C,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAS,EAAE,EAAE,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,0CAA0C,CAAC,CAAC,CAAC,CAAC,CAAC;QAClI,OAAO,CAAC,qBAAqB,GAAG,GAAG,CAAC;QAEpC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,+DAA+D,EAAE,OAAO,CAAC,CAAC;QAC7G,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;QAC5B,8DAA8D;QAC9D,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACvD,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "daedalus-cli",
3
- "version": "3.37.0",
3
+ "version": "3.37.1",
4
4
  "description": "Local-first AI coding CLI with embedded model router, multi-agent orchestration, and codebase indexing",
5
5
  "type": "module",
6
6
  "bin": {