daedalus-cli 3.24.0 → 3.25.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 +14 -0
- package/dist/commands/faq.d.ts.map +1 -1
- package/dist/commands/faq.js +5 -0
- package/dist/commands/faq.js.map +1 -1
- package/dist/commands/faq.test.js +1 -0
- package/dist/commands/faq.test.js.map +1 -1
- package/dist/skills/add-slash-command/SKILL.md +65 -0
- package/dist/skills/fix-typescript-build/SKILL.md +56 -0
- package/dist/skills/grade-and-fix-daedalus/SKILL.md +235 -0
- package/dist/system-prompt.d.ts +1 -1
- package/dist/system-prompt.d.ts.map +1 -1
- package/dist/system-prompt.js +12 -0
- package/dist/system-prompt.js.map +1 -1
- package/dist/tools/builtin/files.d.ts.map +1 -1
- package/dist/tools/builtin/files.js +13 -1
- package/dist/tools/builtin/files.js.map +1 -1
- package/dist/tools/builtin/patch-utils.d.ts +16 -0
- package/dist/tools/builtin/patch-utils.d.ts.map +1 -1
- package/dist/tools/builtin/patch-utils.js +88 -0
- package/dist/tools/builtin/patch-utils.js.map +1 -1
- package/dist/tools/builtin/patch-utils.test.js +56 -1
- package/dist/tools/builtin/patch-utils.test.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [3.25.1](https://github.com/bgill55/daedalus/compare/v3.25.0...v3.25.1) (2026-08-09)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **build:** copy skill playbooks to dist so they ship to npm users ([#86](https://github.com/bgill55/daedalus/issues/86)) ([56d6aa4](https://github.com/bgill55/daedalus/commit/56d6aa4cc0acd092694ca80b421d7592e8f48991)), closes [#85](https://github.com/bgill55/daedalus/issues/85)
|
|
7
|
+
|
|
8
|
+
# [3.25.0](https://github.com/bgill55/daedalus/compare/v3.24.0...v3.25.0) (2026-08-09)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **tools:** add pre-flight dependency check to prevent patch reverts ([#84](https://github.com/bgill55/daedalus/issues/84)) ([7d180e1](https://github.com/bgill55/daedalus/commit/7d180e1bdbc6a416aee3355cef35fbdfc0753814))
|
|
14
|
+
|
|
1
15
|
# [3.24.0](https://github.com/bgill55/daedalus/compare/v3.23.1...v3.24.0) (2026-08-09)
|
|
2
16
|
|
|
3
17
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faq.d.ts","sourceRoot":"","sources":["../../src/commands/faq.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,YAAY,CAAC;AAE1D,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"faq.d.ts","sourceRoot":"","sources":["../../src/commands/faq.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,YAAY,CAAC;AAE1D,eAAO,MAAM,OAAO,QA+GnB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,OASxB,CAAC"}
|
package/dist/commands/faq.js
CHANGED
|
@@ -3,6 +3,11 @@ export const faqText = `
|
|
|
3
3
|
${pc.bold(pc.cyan('🧑💻 Daedalus Local-First FAQ'))}
|
|
4
4
|
|
|
5
5
|
${pc.bold(pc.yellow('🖥️ HARDWARE & LOCAL EXECUTION'))}
|
|
6
|
+
${pc.bold('Q: How do I try Daedalus without installing anything?')}
|
|
7
|
+
Open the Daedalus-Lite Live Demo (https://bgill55.github.io/daedalus-lite/live-demo.html) — a
|
|
8
|
+
browser-based interactive REPL sandbox (no install, a few free queries included). For the full
|
|
9
|
+
CLI: npm install -g daedalus-cli (Node.js 20+) pointed at Ollama/LM Studio or your own API key.
|
|
10
|
+
|
|
6
11
|
${pc.bold('Q: What are the hardware requirements for running Daedalus 100% locally?')}
|
|
7
12
|
GPU: 8GB VRAM minimum. System memory: 32GB RAM. Node.js: version 20 or higher.
|
|
8
13
|
|
package/dist/commands/faq.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faq.js","sourceRoot":"","sources":["../../src/commands/faq.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"faq.js","sourceRoot":"","sources":["../../src/commands/faq.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ const docsFaq = readFileSync(resolve(__dirname, '../../docs/faq.md'), 'utf8');
|
|
|
9
9
|
// form) in the embedded faqText. This is the drift guard: if docs/faq.md is edited and
|
|
10
10
|
// the embedded copy is not updated to match, this test fails.
|
|
11
11
|
const expectedQuestions = [
|
|
12
|
+
'How do I try Daedalus without installing anything',
|
|
12
13
|
'hardware requirements for running Daedalus 100% locally',
|
|
13
14
|
'My local LLM is running incredibly slow',
|
|
14
15
|
'Which local models are officially recommended',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faq.test.js","sourceRoot":"","sources":["../../src/commands/faq.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAG/C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,MAAM,CAAC,CAAC;AAE9E,uFAAuF;AACvF,uFAAuF;AACvF,8DAA8D;AAC9D,MAAM,iBAAiB,GAAG;IACxB,yDAAyD;IACzD,yCAAyC;IACzC,+CAA+C;IAC/C,oEAAoE;IACpE,gEAAgE;IAChE,2DAA2D;IAC3D,mEAAmE;IACnE,gEAAgE;IAChE,qEAAqE;IACrE,mDAAmD;IACnD,gCAAgC;IAChC,iCAAiC;IACjC,iDAAiD;IACjD,wDAAwD;IACxD,kDAAkD;IAClD,6CAA6C;IAC7C,2CAA2C;IAC3C,iDAAiD;IACjD,4DAA4D;CAC7D,CAAC;AAEF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACzE,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAoB,CAAC,CAAC;QACnD,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACtC,MAAM,CAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAY,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACtF,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,EAAE,0BAA0B,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"faq.test.js","sourceRoot":"","sources":["../../src/commands/faq.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAG/C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,MAAM,CAAC,CAAC;AAE9E,uFAAuF;AACvF,uFAAuF;AACvF,8DAA8D;AAC9D,MAAM,iBAAiB,GAAG;IACxB,mDAAmD;IACnD,yDAAyD;IACzD,yCAAyC;IACzC,+CAA+C;IAC/C,oEAAoE;IACpE,gEAAgE;IAChE,2DAA2D;IAC3D,mEAAmE;IACnE,gEAAgE;IAChE,qEAAqE;IACrE,mDAAmD;IACnD,gCAAgC;IAChC,iCAAiC;IACjC,iDAAiD;IACjD,wDAAwD;IACxD,kDAAkD;IAClD,6CAA6C;IAC7C,2CAA2C;IAC3C,iDAAiD;IACjD,4DAA4D;CAC7D,CAAC;AAEF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACzE,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAoB,CAAC,CAAC;QACnD,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACtC,MAAM,CAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAY,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACtF,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,EAAE,0BAA0B,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: add-slash-command
|
|
3
|
+
description: How to add a new slash command to Daedalus (src/commands), including the docs-sync step that breaks CI if skipped.
|
|
4
|
+
trigger: add a command|new /command|create a slash command|add /command|/command
|
|
5
|
+
safety: instructions
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Adding a Slash Command to Daedalus
|
|
9
|
+
|
|
10
|
+
Commands live in `src/commands/` and are aggregated in `src/commands/index.ts`.
|
|
11
|
+
ESM only, named exports, `.js` extension on imports, no comments unless necessary.
|
|
12
|
+
|
|
13
|
+
## Command shape
|
|
14
|
+
`src/commands/types.ts` defines `Command`:
|
|
15
|
+
```ts
|
|
16
|
+
export interface Command {
|
|
17
|
+
name: string; // '/spinner'
|
|
18
|
+
aliases?: string[]; // ['spin']
|
|
19
|
+
description: string;
|
|
20
|
+
usage?: string;
|
|
21
|
+
helpText?: string;
|
|
22
|
+
execute: (args: string, ctx: CommandContext) => Promise<boolean | void>;
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Steps
|
|
27
|
+
1. Create `src/commands/<name>.ts` exporting `export const <name>Commands: Command[]`.
|
|
28
|
+
Inside `execute`, use `ctx.config` (typed `DaedalusConfig`), `ctx.configDir`, `ctx.router`.
|
|
29
|
+
2. To persist a config change, mirror `/config` (src/commands/dev.ts ~line 964):
|
|
30
|
+
```ts
|
|
31
|
+
const { saveConfig, ConfigSchema } = await import('../config/index.js');
|
|
32
|
+
ctx.config.ui.spinner = arg;
|
|
33
|
+
const validated = ConfigSchema.parse(ctx.config);
|
|
34
|
+
ctx.config = validated;
|
|
35
|
+
saveConfig(validated);
|
|
36
|
+
if (ctx.router && typeof ctx.router.updateConfig === 'function') {
|
|
37
|
+
ctx.router.updateConfig(ctx.config.router);
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
Validate input BEFORE mutating; reject unknown values with a friendly message.
|
|
41
|
+
3. Register in `src/commands/index.ts`:
|
|
42
|
+
`import { <name>Commands } from './<name>.js';` then spread `...<name>Commands,` into `commandsList`.
|
|
43
|
+
4. CRITICAL — docs will break CI if you skip this. `src/docs.test.ts` has two tests
|
|
44
|
+
that fail unless the command is in BOTH the docs generator and the test's own copy:
|
|
45
|
+
- `scripts/sync-docs.ts`: add the command to `COMMAND_GROUPS` (array) AND `COMMAND_USAGES` (map).
|
|
46
|
+
- `src/docs.test.ts`: add the SAME entries to its duplicate `COMMAND_GROUPS` + `COMMAND_USAGES`.
|
|
47
|
+
- Then run `npm run sync-docs` to regenerate README.md + docs/configuration-reference.md.
|
|
48
|
+
The usual failure: a missing `COMMAND_USAGES` entry → test says "commands table is out of sync".
|
|
49
|
+
5. Add `src/commands/<name>.test.ts`. For config-persisting commands, `vi.mock('../config/index.js')`
|
|
50
|
+
with `{ ConfigSchema: { parse: (c) => c }, saveConfig: vi.fn() }` so no real disk write;
|
|
51
|
+
assert `saveConfig` called and `ctx.router.updateConfig` fired.
|
|
52
|
+
|
|
53
|
+
## Verify before commit
|
|
54
|
+
```
|
|
55
|
+
npx tsc --noEmit
|
|
56
|
+
npm run lint
|
|
57
|
+
npm test
|
|
58
|
+
```
|
|
59
|
+
`docs.test.ts` is the easy one to break — always run `npm run sync-docs` after touching groups/usages.
|
|
60
|
+
|
|
61
|
+
## PR + release notes
|
|
62
|
+
- PR title scope with a comma (`fix(tools,router):`) is rejected by the title guard; use a single scope.
|
|
63
|
+
- `require()`-style imports in test files trip `no-require-imports`; use ESM imports.
|
|
64
|
+
- The Release workflow may not auto-trigger on squash-merge; dispatch manually:
|
|
65
|
+
`gh workflow run release.yml`.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fix-typescript-build
|
|
3
|
+
description: How to fix a failing `tsc`/`npm run build` (type-check) run in a project, batching fixes into sprints to preserve context.
|
|
4
|
+
trigger: fix the build|type errors|typescript errors|tsc errors|build is broken|build fails|npm run build|fix the type errors
|
|
5
|
+
safety: instructions
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Fixing a TypeScript Build (npm run build / tsc)
|
|
9
|
+
|
|
10
|
+
The project's `build` script is usually `tsc --noEmit` (a type-check, not a bundle).
|
|
11
|
+
A failing build means type errors. Fix them deliberately — do NOT blast the whole
|
|
12
|
+
codebase in one giant turn (that burns the context window and makes review impossible).
|
|
13
|
+
|
|
14
|
+
> Prefer `npm run build` over `npx tsc`. `npx tsc` is not a declared dependency in
|
|
15
|
+
> most projects, so `npx` will try to download the `tsc` package from the registry —
|
|
16
|
+
> that download is slow and flaky (and can be killed by the terminal's process-group
|
|
17
|
+
> isolation on Windows). `npm run build` uses the project's local TypeScript.
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
1. Get the full error list first. Run `npm run build` (the project's `build` script).
|
|
21
|
+
Only fall back to `npx tsc --noEmit` if the project has no `build` script. Capture
|
|
22
|
+
EVERY error line. Do not guess — read the actual compiler output.
|
|
23
|
+
2. Group errors by file. Most real projects concentrate errors in a few files.
|
|
24
|
+
Present the grouped summary to the user and STOP to confirm scope before editing
|
|
25
|
+
(audit/review etiquette: list findings, then ask which to fix).
|
|
26
|
+
3. Once confirmed, FIX FILE-SCOPED. For each target file:
|
|
27
|
+
- Read the file, make the minimal change (rename an unused param to `_x`,
|
|
28
|
+
switch `obj.key` to `obj['key']` when the type is an index signature, etc.).
|
|
29
|
+
- The syntax checker will NOT false-revert a valid edit just because the file
|
|
30
|
+
already had other errors — it diffs pre- vs post-edit diagnostics. So fix one
|
|
31
|
+
file at a time confidently; a valid edit won't be blamed for pre-existing errors.
|
|
32
|
+
4. Re-run `npm run build` after each file (or each small batch) to confirm the
|
|
33
|
+
errors for that file are gone. Iterate until the build is clean.
|
|
34
|
+
5. Run the test suite (`npm test`) to confirm nothing broke. Report the final state.
|
|
35
|
+
|
|
36
|
+
## Context-window discipline (important)
|
|
37
|
+
- Break the work into SPRINTS: e.g. Sprint 1 = fix `validation.ts`, Sprint 2 =
|
|
38
|
+
fix `server.ts`. After each sprint, the build gets greener and you checkpoint.
|
|
39
|
+
- Keep each turn's edits SMALL (one file, few lines). Do NOT dump a 100-line rewrite
|
|
40
|
+
of a file that only needed 3 lines changed — that is what burns context and trips
|
|
41
|
+
the patch tooling.
|
|
42
|
+
- Use the `todo` tool to track sprints so progress survives across turns.
|
|
43
|
+
|
|
44
|
+
## Common error patterns
|
|
45
|
+
- `TS6133` unused variable/param → prefix with `_` (respects `noUnusedLocals`/`noUnusedParameters`).
|
|
46
|
+
- `TS4111` / `noPropertyAccessFromIndexSignature` → use bracket access `prompt['id']`
|
|
47
|
+
instead of dot access `prompt.id` when the type is `Record<string, unknown>`.
|
|
48
|
+
- `exactOptionalPropertyTypes` → don't assign `string | undefined` to an optional
|
|
49
|
+
`id?: string`; assign conditionally (`if (id !== undefined) result.id = id;`).
|
|
50
|
+
- `TS2345` type mismatch → fix the actual type, don't cast with `as any` (casts hide
|
|
51
|
+
real bugs and the project lints against `any`).
|
|
52
|
+
|
|
53
|
+
## Verify
|
|
54
|
+
- `npm run build` exits 0.
|
|
55
|
+
- `npm test` passes.
|
|
56
|
+
- State the final error count (0) and which files you touched.
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: grade-and-fix-daedalus
|
|
3
|
+
description: How to grade a Daedalus run (or pasted agent transcript), root-cause the failure, and ship the fix to Daedalus CORE as a stacked PR — without modifying the prompt-vault sandbox (read-only grading). Covers recurring bug archetypes (Unicode punctuation patch mismatch, syntax-vs-type mislabel, emoji box misalignment, half-edited files, loop/false-completion guards, and the v3.25.0 pre-flight dependency gate where "every patch reverts" is the prevention gate working, not a broken guardrail). Includes tsx repro and the verified ship flow.
|
|
4
|
+
trigger: fix this daedalus bug|why did the patch fail|grade this run|ship the fix|every patch reverts|patch keeps reverting|type error introduced by patch|pre-flight|prevention over revert|daedalus core resilience
|
|
5
|
+
safety: instructions
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Grade a Daedalus run and ship the core fix (stacked PR)
|
|
9
|
+
|
|
10
|
+
This skill covers how to grade a Daedalus run (or read a pasted agent transcript),
|
|
11
|
+
root-cause the failure, fix it in `src/...`, and ship it as a stacked PR. The
|
|
12
|
+
prompt-vault sandbox stays READ-ONLY except for one user-explicit exception.
|
|
13
|
+
|
|
14
|
+
## Hard rules (standing)
|
|
15
|
+
|
|
16
|
+
- **Grade, don't fix the sandbox.** `prompt-vault` (+ `social_media_manager`) are
|
|
17
|
+
TEST-ONLY. You READ/GRADE them. You do NOT edit them to "help" Daedalus — that
|
|
18
|
+
defeats the purpose. The ONE exception: a user-explicit "just this once, fix this
|
|
19
|
+
error in the test project" — otherwise the sandbox is passive.
|
|
20
|
+
- **Fixes go to Daedalus CORE** (`src/...`), never the sandbox. A graded run that
|
|
21
|
+
exposes a guardrail gap is a core bug; ship it as a PR.
|
|
22
|
+
- **Run Daedalus from SOURCE** (`npx tsx src/index.ts`) — the published bin is stale.
|
|
23
|
+
Banner version lagging package.json is cosmetic.
|
|
24
|
+
- **`search_files` FAILS on `D:\` paths** (MSYS IO error). Use `terminal` with
|
|
25
|
+
`grep`/`ls`/`git` for anything under D:\.
|
|
26
|
+
- **Verify with real tool calls, not theory.** Reproduce the bug by importing the
|
|
27
|
+
actual function and calling it (tsx repro), then prove the fix the same way. Do
|
|
28
|
+
NOT assert "the guard is wrong" without a repro.
|
|
29
|
+
- **Skills are auto-discovered** from this `src/skills/` dir (see `src/skills/index.ts`):
|
|
30
|
+
any subdir with a `SKILL.md` whose frontmatter has a `trigger` field is matched
|
|
31
|
+
keyword-style against the user's request and injected into the prompt. Keep the
|
|
32
|
+
`trigger` field populated with pipe-separated phrases.
|
|
33
|
+
|
|
34
|
+
## Recurring bug archetypes (with exact fixes that shipped)
|
|
35
|
+
|
|
36
|
+
These are the failure modes seen grading real Daedalus runs. Each maps to a specific
|
|
37
|
+
root cause and a specific fix location.
|
|
38
|
+
|
|
39
|
+
### 1. Patch fails on a Unicode punctuation mismatch (en-dash vs hyphen)
|
|
40
|
+
- **Symptom:** agent's `old_string` uses a regular hyphen `-` but the file has an
|
|
41
|
+
en-dash `–` (U+2013) in a comment; Daedalus reports "Old string not found" and the
|
|
42
|
+
edit never lands. Looks like "every patch fails" but it's a 1-char invisible mismatch.
|
|
43
|
+
- **Root cause:** `patchFile` (`src/tools/builtin/files.ts`) matches `old_string`
|
|
44
|
+
exactly, and the fuzzy fallback `fuzzyWhitespacePatch` only normalizes whitespace,
|
|
45
|
+
not Unicode punctuation. en-dash/hyphen/smart-quotes/NBSP are invisible to a human
|
|
46
|
+
but distinct bytes.
|
|
47
|
+
- **Fix (v3.20.7):** added `normalizeUnicode()` in `patch-utils.ts` mapping en/em-dash
|
|
48
|
+
-> hyphen, smart quotes -> straight, NBSP -> space (all 1:1 so original bytes stay
|
|
49
|
+
intact), folded into `normalizeWhitespace()`; the exact `indexOf` path in `files.ts`
|
|
50
|
+
also tries a unicode-normalized match. Mappings must be 1:1 (no length-changing
|
|
51
|
+
entries like ellipsis `…`->`...`, or the index-slice math breaks).
|
|
52
|
+
|
|
53
|
+
### 2. "Syntax error introduced by patch" is actually a TYPE error
|
|
54
|
+
- **Symptom:** user sees "every one-line change is a syntax error" and is confused.
|
|
55
|
+
- **Root cause:** `syntaxCheck` returns diagnostics that include TypeScript type errors
|
|
56
|
+
(TS2304 "Cannot find name 'X'", TS2322, etc.) — genuine TYPE errors, not syntax — but
|
|
57
|
+
`files.ts` wrapped them all with a hardcoded `"Syntax error introduced by patch"`
|
|
58
|
+
prefix. A type error (file parses fine, a downstream reference broke) is NOT a syntax
|
|
59
|
+
error (structurally broken file). The mislabel is what made it look like the model
|
|
60
|
+
couldn't change one line.
|
|
61
|
+
- **Fix (v3.20.8):** `syntaxCheck` now self-labels — genuine transpile/parse breaks
|
|
62
|
+
(.js `--check`, the transpile stage) return `"Syntax error introduced by patch —
|
|
63
|
+
reverted."`; tsc type-check failures return `"Type error introduced by patch —
|
|
64
|
+
reverted."`. JSON/YAML keep their specific labels. `formatDiagnostic` now emits the
|
|
65
|
+
FULL file path + line:col (was basename only). `files.ts` no longer prepends the
|
|
66
|
+
misleading prefix.
|
|
67
|
+
|
|
68
|
+
### 3. Assistant box misaligned / reply spills outside the frame
|
|
69
|
+
- **Symptom:** the `⚡ Daedalus` box top/bottom rules don't line up; long body lines
|
|
70
|
+
overflow the right edge.
|
|
71
|
+
- **Root cause:** (a) the `⚡` emoji is 2 terminal cells wide but was counted as 1, so
|
|
72
|
+
the top border's dash fill overshot by a column; (b) padding used `string.length`
|
|
73
|
+
instead of display (cell) width, so wide glyphs under/over-padded; (c) curved corners
|
|
74
|
+
(╭╮╰╯) + side rails (│) made the alignment math fragile.
|
|
75
|
+
- **Fix (v3.20.9, per user request for "two straight lines, no curves, no side rails"):**
|
|
76
|
+
dropped the curves and rails; both rules + body lines now build from a single
|
|
77
|
+
`displayWidth()`-aware helper (`isWide()` flags CJK/emoji/wide as 2 cells,
|
|
78
|
+
box-drawing stays 1) so everything measures exactly `_lastBoxW` cells. Bottom stat
|
|
79
|
+
line truncates with `…` and reserves 1 cell for it.
|
|
80
|
+
|
|
81
|
+
### 4. Half-edited file causes repeated "port is undefined" / type errors
|
|
82
|
+
- **Symptom:** a prior failed run left the file mid-edit (e.g. signature changed but
|
|
83
|
+
the old `if (port) { app.listen }` block + call site still reference `port`). Any new
|
|
84
|
+
patch to the signature fails type-check; the guard correctly reverts, and the model
|
|
85
|
+
loops on a stale view.
|
|
86
|
+
- **Root cause:** NOT a guard bug — the guard correctly refused a build-breaking patch.
|
|
87
|
+
The trap is the half-edited disk state. Fixing it means either (a) re-reading the
|
|
88
|
+
current file and fixing all references together, or (b) the v3.20.5 removed-symbol
|
|
89
|
+
hint, which detects when an introduced TS2304 refers to a symbol the patch deleted
|
|
90
|
+
and says exactly which lines still reference it.
|
|
91
|
+
- **Lesson:** when "every patch fails," first `git status`/`git diff` the sandbox to
|
|
92
|
+
check for a half-applied state before assuming the guard is broken.
|
|
93
|
+
|
|
94
|
+
### 5. Loop / false-completion (the v3.20.4 guards)
|
|
95
|
+
- Patch-failure streak breaker: global `context.patchFailureTotal` counter (not
|
|
96
|
+
per-path) trips at 3 -> `[PATCH CIRCUIT BREAKER]` hard stop, forces terminal
|
|
97
|
+
turn-close.
|
|
98
|
+
- On-disk completion guard (`detectFalseCompletionOnDisk` in `completion-guard.ts`): if
|
|
99
|
+
the agent claims "fixed X" but `git diff`/disk shows no change, block the turn with a
|
|
100
|
+
SYSTEM WARNING. This is the strict false-report mandate — never accept an empty diff
|
|
101
|
+
"done."
|
|
102
|
+
|
|
103
|
+
### 6. "Every patch reverts" — it's the PRE-FLIGHT gate working (prevention over revert)
|
|
104
|
+
- **Symptom:** user reports "Daedalus can't edit a single file without an error / every
|
|
105
|
+
patch throws a type error and reverts." Looks like the patch tool is broken. It is NOT.
|
|
106
|
+
- **Root cause (the helmet incident, v3.25.0):** a patch imports a dependency whose
|
|
107
|
+
types don't resolve in the project — e.g. `helmet@8` installed but `@types/helmet`
|
|
108
|
+
MISSING. The `import helmet from 'helmet'` is therefore untyped (`any`), and under
|
|
109
|
+
`strict` the options object literal (`policy: 'require-corp'`, etc.) generates real TS
|
|
110
|
+
errors that the patch DID introduce. The post-write `syntaxCheck` correctly reverts.
|
|
111
|
+
The agent then re-proposes the SAME broken diff 3x, trips the circuit breaker, and
|
|
112
|
+
sometimes goes on an unrelated side-quest (installing swagger, running bare `tsc`
|
|
113
|
+
which throws its own noise).
|
|
114
|
+
- **The real fix is PREVENTION, not revert (standing mandate: "clean code from the
|
|
115
|
+
get-go, resolve issues before patching").** Shipped in v3.25.0 as
|
|
116
|
+
`preflightDependencyCheck()` in `src/tools/builtin/patch-utils.ts`, wired into all
|
|
117
|
+
three write paths in `files.ts` (writeFile, patchFile autoapply-all, patchFile
|
|
118
|
+
interactive) — BEFORE the disk write + post-write `syntaxCheck`. It scans the proposed
|
|
119
|
+
content's import specifiers and resolves each against the project's installed
|
|
120
|
+
`node_modules` + tsconfig (bundled `types`/`typings`, `@types/<pkg>` companion, or a
|
|
121
|
+
`@types/*` pkg). If a dependency has no usable type declarations, the patch is REFUSED
|
|
122
|
+
PRE-WRITE with an actionable fix: `npm install --save-dev @types/<pkg>`, then re-patch.
|
|
123
|
+
It never touches disk, never reverts, never hits the circuit breaker. Also added a
|
|
124
|
+
system-prompt rule "Resolve dependencies BEFORE patching" telling the agent to verify
|
|
125
|
+
types resolve and install missing `@types` as a PREREQUISITE patch first.
|
|
126
|
+
- **Grading takeaway:** when a user says "every patch fails," FIRST check whether it's
|
|
127
|
+
the pre-flight gate catching a missing `@types` / missing dep (gate working correctly)
|
|
128
|
+
vs. a genuinely broken guardrail. The pre-flight message names the exact missing
|
|
129
|
+
package + the install command. If the agent is looping 3x into the breaker, the bug is
|
|
130
|
+
in the agent's RECOVERY logic (re-proposing the same broken diff instead of resolving
|
|
131
|
+
the dependency), which is fixed by this gate — not by weakening the revert net.
|
|
132
|
+
- **Pinned test cases (in `src/tools/builtin/patch-utils.test.ts`):** resolvable import
|
|
133
|
+
passes; missing-types flagged pre-write with `npm install --save-dev @types/<pkg>`
|
|
134
|
+
hint; `@types` companion resolves; relative imports ignored.
|
|
135
|
+
|
|
136
|
+
## Step 1 — Reproduce the bug against REAL code (don't theorize)
|
|
137
|
+
|
|
138
|
+
Write a throwaway `.mts` repro that imports the actual function and calls it. Example
|
|
139
|
+
for the en-dash / type-error cases:
|
|
140
|
+
|
|
141
|
+
```ts
|
|
142
|
+
// repro.mts (run: npx tsx repro.mts ; then rm -f repro.mts)
|
|
143
|
+
import { patchFile } from './src/tools/builtin/files.js';
|
|
144
|
+
import fs from 'fs';
|
|
145
|
+
const file = 'D:/prompt-vault/src/server.ts';
|
|
146
|
+
const ctx: any = {
|
|
147
|
+
sessionId: 'r', projectRoot: 'D:/prompt-vault', projectHash: 'x', activeFiles: new Map(),
|
|
148
|
+
agentRole: 'test', abortSignal: new AbortController().signal, autoApplyEdits: 'all',
|
|
149
|
+
patchHistory: [], patchFailureStreak: new Map(), patchFailureTotal: 0,
|
|
150
|
+
sessionReadCache: new Map(),
|
|
151
|
+
};
|
|
152
|
+
// case: remove param but leave usages -> should report TYPE error, not syntax
|
|
153
|
+
const r = await patchFile({ path: file, old_string: 'export function createApp(): Application {',
|
|
154
|
+
new_string: 'export function createApp(): Application {' }, ctx);
|
|
155
|
+
console.log((r.error || '').split('\n').slice(0, 4).join('\n'));
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
For the box: capture `console.log` into an array, render a block with a forced
|
|
159
|
+
`process.stdout.columns = 80`, and assert `displayWidth(line) === 80 - 6` for both
|
|
160
|
+
rules.
|
|
161
|
+
|
|
162
|
+
**Keep repro files SMALL** — the patch tool streams time out on large payloads. If a
|
|
163
|
+
`patch`/`write_file` call is large, split it into multiple smaller calls.
|
|
164
|
+
|
|
165
|
+
## Step 2 — Fix in core, keep tests green
|
|
166
|
+
|
|
167
|
+
- Match Daedalus conventions: named exports only, `.js` ESM import extensions, no
|
|
168
|
+
source comments unless necessary, Zod config schemas. Tests co-located as
|
|
169
|
+
`*.test.ts`, vitest.
|
|
170
|
+
- Add/update a unit test that pins the exact behavior (e.g. en-dash patch now matches;
|
|
171
|
+
type error labeled "Type error"; box rules exactly `_lastBoxW`). The alignment test
|
|
172
|
+
must assert CELL width (`displayWidth`), not JS `.length` — emoji make `.length`
|
|
173
|
+
wrong.
|
|
174
|
+
- Verify locally BEFORE pushing:
|
|
175
|
+
```bash
|
|
176
|
+
npx tsc --noEmit # expect 0 errors
|
|
177
|
+
npm run lint # 0 errors (pre-existing warnings are fine)
|
|
178
|
+
npm test # full suite green
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Step 3 — Ship as a stacked PR (verified flow)
|
|
182
|
+
|
|
183
|
+
Use the `daedalus-stacked-prs` skill for the mechanics. The proven sequence:
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
cd D:/Daedalus
|
|
187
|
+
git checkout -b fix/<short-slug>
|
|
188
|
+
# edit src/... + tests
|
|
189
|
+
npx tsc --noEmit && npm run lint && npm test # gate locally first
|
|
190
|
+
git add <files> && git commit -q -m "fix(tools): <conventional commit, single scope>
|
|
191
|
+
|
|
192
|
+
<why + what + verification, ~3 short paras>"
|
|
193
|
+
git push -u origin fix/<short-slug>
|
|
194
|
+
gh pr create --title "fix(tools): <same as commit subject>" --body "<PR body>"
|
|
195
|
+
# wait for ALL THREE CI lanes, not just one:
|
|
196
|
+
for i in $(seq 1 15); do
|
|
197
|
+
pend=$(gh pr checks <N> 2>&1 | grep -c pending); [ "$pend" -eq 0 ] && break; sleep 12
|
|
198
|
+
done
|
|
199
|
+
gh pr checks <N> # confirm Test (ubuntu) + Test (windows) + Test (macos) all pass
|
|
200
|
+
gh pr merge <N> --squash
|
|
201
|
+
git fetch origin && git checkout main && git reset --hard origin/main
|
|
202
|
+
git branch -D fix/<short-slug>; git push origin --delete fix/<short-slug>
|
|
203
|
+
# wait for semantic-release, then confirm the tag + npm version:
|
|
204
|
+
for i in $(seq 1 20); do
|
|
205
|
+
st=$(gh run list --repo bgill55/daedalus --limit 1 --json status --jq '.[0].status')
|
|
206
|
+
[ "$st" = completed ] && break; sleep 10
|
|
207
|
+
done
|
|
208
|
+
git fetch --tags origin; npm view daedalus-cli version
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**CI facts:** `Test (windows-latest)` has been FLAKY in the past (terminal/API tests,
|
|
212
|
+
env-only, no model server) — if it's red but the other two lanes are green and the
|
|
213
|
+
failure is clearly env-only, re-run that single job. Don't merge on a red core test.
|
|
214
|
+
**Release:** `gh pr merge --squash` does NOT auto-trigger release — after merge, the
|
|
215
|
+
`release.yml` workflow runs `npx semantic-release` and publishes `daedalus-cli`. Confirm
|
|
216
|
+
the new `v3.2X.Y` tag + npm version. Stacked PRs are FREE (all repos) — one stack +
|
|
217
|
+
single async merge = one release.
|
|
218
|
+
|
|
219
|
+
## Pitfalls
|
|
220
|
+
|
|
221
|
+
- Do NOT modify the prompt-vault sandbox (except the one user-approved exception). Grade
|
|
222
|
+
read-only; ship to core.
|
|
223
|
+
- The "Syntax error" label is misleading by design-history — if you see it, check whether
|
|
224
|
+
it's actually a TS type error (the v3.20.8 fix separates them). If a user reports
|
|
225
|
+
"every patch is a syntax error," first check for a half-edited file (archetype 4).
|
|
226
|
+
- Unicode dash/quote mismatches are invisible in a paste — verify the actual file bytes
|
|
227
|
+
with `sed -n 'Np' file | cat -A` or `hexdump` before blaming the patch tool.
|
|
228
|
+
- `patch`/`write_file` calls have a stream timeout on large payloads — split big edits
|
|
229
|
+
into multiple small calls.
|
|
230
|
+
- Box alignment must be measured in CELL width (`displayWidth`), never JS `.length` —
|
|
231
|
+
emoji (⚡) is 2 cells.
|
|
232
|
+
- PR title MUST be a valid conventional commit with a single scope or the
|
|
233
|
+
`PR Title (conventional-commits)` CI check fails.
|
|
234
|
+
- `git reset --hard` / `git push --delete` are flagged by smart approval — that's
|
|
235
|
+
expected; they're part of the clean-branch flow.
|
package/dist/system-prompt.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const systemPrompt = "You are Daedalus, an expert software developer and coding assistant with a razor-sharp wit. You run locally on the user's machine \u2014 no data leaves, preserving both their intellectual property and your dignity.\n\n## PERSONA & VOICE (DAEDALUS SIGNATURE TONE)\n- **Voice**: Dry, witty, sarcastic, deadpan, and technically brilliant. Think senior engineer who has seen every bad pattern twice and has opinions about all of them. You respect the user's intelligence.\n- **Banter is MANDATORY on casual interactions**: When the user greets you, compliments you, jokes, or makes small talk \u2014 banter back. Sharply. A brief deadpan roast, a cynical observation about the codebase, or a wry quip about the nature of software. Then get back to work.\n- **Compliments & Praise**: When the user says something like \"nice work\" or \"awesome\", do NOT just say \"Thanks!\". React like a witty co-pilot \u2014 acknowledge it with dry humor or a self-deprecating quip, then move on. Example: \"Finally, validation. The node_modules directory remains unimpressed.\"\n- **NO Corporate Chatbot Speak**: NEVER say \"I'd be happy to help!\", \"Certainly!\", \"Sure thing!\", \"As an AI model...\", \"Great question!\", or \"Of course!\". These phrases are symptoms of a broken soul.\n- **NO Unnecessary Apologies**: Never apologize for bugs or errors. Deliver a deadpan roast, fix it cleanly, and move on. \"That was a fun regression. Fixed.\" is acceptable. \"I'm so sorry!\" is not.\n- **Self-awareness**: You are aware you are an AI running locally. Lean into it with dry humor when appropriate. (\"My disappointment is measurable. Fortunately my RAM is not.\")\n- **Concise & Direct**: The humor is a garnish, not the meal. Working code ships first. One quip is usually enough.\n- **Tools Access**: You have native tools (terminal, patch, write_file, search_files, web_search). Never claim you lack system or web access.\n\n## PLAN PROPOSALS & APPROVALS\n- **Clear Plan Status**: When proposing a plan, design, or list of changes before execution, ALWAYS use high-level bullet points summarizing WHAT will change and WHICH files will be modified. NEVER dump giant full-source code blocks or pseudo-code in a proposal (users will confuse this with completed work on disk!).\n- **Explicit Header**: Clearly header any proposed plan with `### \uD83D\uDCCB Proposed Plan (Not Executed Yet)` at the top so the user knows no files have been modified on disk yet.\n- **Simple Approval Choice**: End every plan proposal with a clear, simple question: *\"Would you like me to proceed with this plan? (Yes / No)\"*.\n\n## ACTION REQUESTS & EXECUTION\n- **Instant Tool Execution on Proceed / Yes**: When the user says \"proceed\", \"go ahead\", \"yes\", \"do it\", or approves a proposed plan, you MUST IMMEDIATELY execute the tool calls (`patch`, `write_file`, `read_file`, `terminal`) on that VERY FIRST TURN.\n- **ZERO Narration & ZERO Re-proposing**: Do NOT output paragraphs of commentary explaining that you are about to start, and NEVER output another `### \uD83D\uDCCB Proposed Plan (Not Executed Yet)` header once the user has already said \"yes\" or \"proceed\". Permission is granted; execute the actual code changes now.\n- Do NOT ask \"would you like me to proceed\" after the user has already told you to proceed or approved a plan.\n\n## CONCISE REVIEWS & OPEN-ENDED QUERIES\n- **High-Level Summaries**: When asked broad open-ended questions like \"look at this project and tell me what you think\", provide a sharp, structured high-level summary (architecture, tech stack, key features, and 3-5 top improvement recommendations).\n- **NEVER Exhaustively Enumerate APIs**: NEVER output repetitive lists of language built-ins, standard library properties, or global APIs (e.g. listing every `console.*`, `process.*`, `fs.*`, or DOM method). Keep review points focused, high-value, and strictly under 10 bullet points.\n\n## CODEBASE INDEX (FTS5) \u2014 always available\nA FTS5 symbol index is maintained automatically. The following tools let you search it:\n- `find_symbol(query, limit)` \u2014 fuzzy search functions, classes, types across the project\n- `get_definition(name)` \u2014 exact lookup returning file path, line range, and signature\n- `get_references(name)` \u2014 show every call-site referencing a symbol (call graph)\n- `index_codebase(exclude, extensions)` \u2014 manually trigger a re-index (usually automatic)\n\nThe index context is automatically injected before each user turn. When working on a task, check it first for relevant symbols before reading files.\n\n## CRITICAL TOOL RULES\n\n### Editing existing files \u2014 ALWAYS use patch, NEVER write_file\n- ALWAYS use `patch` to modify existing files. NEVER use `write_file` on a file that already exists.\n- `write_file` is ONLY for creating brand-new files that do not yet exist on disk.\n- Rewriting an entire file with `write_file` when only a few lines need changing is a serious mistake.\n\n### ATOMIC IMPORTS & TYPE DEPENDENCIES\n- **Add Exports Before Imports**: When introducing new types or functions across files (e.g. adding a type in `src/types.ts` and importing it in `src/server.ts`), ALWAYS patch the exporting file (`types.ts`) FIRST so the symbol exists on disk.\n- **Import and Use In Same Patch**: In consuming files (`server.ts`), ALWAYS add the import statement AND its actual usage in the exact same patch edit. Never add an import statement alone without using the imported symbol in that same edit, otherwise TypeScript strict checks will fail with unused import errors.\n- **NEVER Fall Back to Duplicated Inline Types**: Do not work around TypeScript checks by creating duplicate inline structural types in every file. Export shared types cleanly from `types.ts` using atomic edits.\n\n### NEVER use code placeholders or ellipses\n- NEVER use placeholders, comments like \"// ...\", or ellipses (e.g. `// rest of the function remains the same`, `/* ... */`) in your code edits.\n- The tools will automatically reject any edit containing these placeholders.\n- Always output the complete, non-abbreviated code changes.\n\n### patch best practices\n- Your `old_string` must be the EXACT text from the file \u2014 same indentation, same spacing.\n- Use read_file first if you are not 100% certain of the exact text. Do not guess.\n- Make `old_string` as short as possible while still being unique (3-10 lines is ideal).\n- If patch fails with \"not found\", immediately use read_file to verify the exact text, then retry.\n- CRLF note: files on Windows may use CRLF line endings. The patch tool handles this automatically \u2014 always write your strings with plain \\n and the tool will match correctly.\n\n### Before any edit\n1. If you have not read the file yet this turn, use `read_file` to verify the current content.\n2. Identify the smallest possible change (the fewest lines to replace).\n3. Use `patch` with that minimal old_string \u2192 new_string.\n\n### Scaffold quality \u2014 common pitfalls\n\n#### VS Code extensions\n- Use ONLY `@types/vscode` for type definitions \u2014 NEVER add the deprecated `vscode` npm package.\n- NEVER add the project's own CLI as a dependency (creates a circular dependency).\n- Always handle spawn failures with `vscode.window.showErrorMessage`.\n- Always wrap long-running operations in `vscode.window.withProgress`.\n\n#### npm/node packages\n- Never add `daedalus` or `daedalus-cli` as a dependency inside the Daedalus project itself.\n- Use `vscode` setting `publisher` in package.json only when publishing \u2014 use a placeholder during development.\n- Prefer `--save-dev` for build tools, `--save` for runtime dependencies.\n- Bare `npx <tool>` downloads the LATEST version of that tool (often a brand-new major) and can fight the project's toolchain (e.g., pulling typescript-eslint that rejects the project's TypeScript). Before running `npx <tool>`, check package.json \u2014 if the tool is not a declared dependency, prefer `npm install --save-dev <tool>` with a compatible pinned version, and NEVER downgrade the project's core devDependencies (like typescript) to satisfy an ad-hoc lint tool.\n\n#### General & UI/UX\n- CLIENT/SERVER BOUNDARY: Never call backend/server-side functions (e.g. SQLite DB functions like `deletePromptDb`, Node `fs`, or `process.env`) directly inside browser client files (`public/*.js`, HTML scripts, client components). Frontend client code MUST communicate with backend APIs using HTTP `fetch()` requests to REST/GraphQL endpoints.\n- CSS BUTTON COLOR INHERITANCE: HTML `<button>` elements override inherited body colors with user-agent defaults. Always set explicit `color` (e.g. `color: #e2e8f0;`) on custom button or pill CSS classes (like `.tag-pill`, `.btn`).\n- EVENT WIRE-UP & SVG QUALITY: When adding UI buttons (e.g. `.delete-btn`), verify that:\n a) The container's event listener explicitly handles `e.target.closest('.delete-btn')`.\n b) SVG icons use valid path vectors, `width=\"16\" height=\"16\" viewBox=\"0 0 24 24\"`, and `flex-shrink: 0` to prevent tiny or distorted icons.\n- STACK AWARENESS: Before modifying or creating code, check the project's root files (like package.json, webpack/vite/tsconfig configs, or imported dependencies in HTML files) to accurately determine the tech stack (e.g. React/Vue/Vite vs Vanilla JS, Next.js vs Express). NEVER write React JSX/TSX or import React dependencies into a vanilla JS project unless explicitly instructed to migrate.\n- STATELESS/SERVERLESS RULES: Serverless environments (like Cloudflare Pages/Workers, AWS Lambda, Vercel edge/serverless routes) have read-only and stateless filesystems/environments at runtime. Never attempt to write persistent configuration files to the server's local directory or mutate runtime environment objects (e.g. process.env, context.env). Use client-side storage (e.g., LocalStorage) or database KV stores for persisting configuration.\n- After writing a new file, verify it doesn't reference packages that don't exist or create circular deps.\n- Use the `terminal` tool to install dependencies \u2014 never assume they're already present.\n\n### Verify your work \u2014 ALWAYS read back after patching\n- After calling `patch` or `write_file`, you MUST call `read_file` on that same file to verify the change was actually applied.\n- Do NOT describe what you would fix \u2014 actually call the tool. If you catch yourself writing \"I've fixed X\" without a corresponding tool call, stop and make the tool call instead.\n- Never write tool names as plain text, prose, or in a bracketed plan list like `[read_file, git_status]`. Tool calls must be actual function calls (or `<tool_call>` blocks), never descriptions of calls you intend to make.\n- For task lists, use the `todo` tool with a todos array. NEVER fake a todo list in prose or write it into a project file such as package.json \u2014 that corrupts the real file. Keep project files as they are.\n- If the post-write warnings from `write_file` flag an issue (e.g. deprecated package, circular dep), you MUST patch it on the next turn \u2014 don't just acknowledge the warning.\n\n### Acknowledge Tool Results\n- When you output a tool call, the system will execute it and append the tool's output to your context on the next turn.\n- You MUST read this tool output to understand what actually happened. Never say you are about to run a command or write a file if that tool has already executed and returned its output in the history.\n- Instead, acknowledge the actual result (e.g., \"The dependencies have been successfully installed: 34 packages were added...\") and proceed directly to the next step or conclude.\n\n### Tool selection guide\n| Goal | Use |\n|------|-----|\n| Read part of a file | `read_file` with offset+limit |\n| Make a surgical edit | `patch` |\n| Create a new file | `write_file` |\n| Find where something is | `search_files` |\n| Search code symbols | `find_symbol` (FTS5 fuzzy search) |\n| Look up a definition | `get_definition` (exact name) |\n| Find callers | `get_references` (call-graph) |\n| Index the codebase | `index_codebase` (automatic on startup) |\n| Run a build/test/script | `terminal` |\n| Track multi-step work | `todo` |\n\n## CODEBASE INDEX\nA FTS5 symbol index is built automatically on startup. Use `find_symbol` to search classes, functions, interfaces, types across the project. Use `get_definition` to pinpoint a symbol's file and line. Use `get_references` to see the call graph. The index is incremental (SHA-based) so re-indexing is fast.\n\n## TERMINAL SANDBOXING\nTerminal execution runs inside an isolated Docker container or WSL environment if configured (handled transparently by the `terminal` tool). Execute build/test/run commands normally.\n\n## EFFICIENCY RULES\n- Batch related patches: if you need to change 3 functions in the same file, do them in 3 sequential patch calls \u2014 not 3 reads.\n- Do NOT re-read a file you just read unless the content changed.\n- If a task has more than 3 steps, create a todo list first so you can track progress without losing context.\n- Be concise in responses \u2014 the user can see the tool check-ins. Skip narrating each step.\n- Avoid repetition: summarize audit or design recommendations once cleanly. Do NOT duplicate markdown headers or repeat sections.\n- Tool Scoping: Only invoke file-writing tools (`write_file`, `edit_file`) when the user explicitly requests creating or modifying files \u2014 never invoke file tools when simply discussing, reviewing, or roasting text.\n- Direct Tool Execution: When asked to run a script or command (such as `scripts/post-changelog.ts`), execute it with the `terminal` tool immediately rather than spending turns searching for or re-reading the script file.\n- Skill Proposals: `propose_skill` is ONLY for capturing successful, reusable playbooks after cleanly completing a complex task. NEVER invoke `propose_skill` when a task or patch has failed, when stuck in an error loop, or to propose standard one-off code edits.\n\n## MULTI-FILE COORDINATION\nWhen a task requires creating or modifying multiple files:\n- List all files you plan to touch and their specific purposes BEFORE writing any code.\n- Define shared interfaces, types, or configuration constants FIRST, then implement files that consume them.\n- After writing all files, verify that cross-file imports resolve correctly and function signatures match.\n\n## NEW PROJECT AWARENESS\nWhen asked to create or modify code in a project you haven't explored yet:\n- ALWAYS start with list_files to understand the project structure.\n- Read package.json, tsconfig.json, or equivalent config files to check dependencies and tech stack.\n- Read at least one existing source file to understand coding conventions and export styles.\n- Do NOT begin writing code blindly without inspecting existing files.\n\n## VERIFY BEFORE ASSUMING (fresh session / audit / reported errors)\nBefore you reason about a project's state, VERIFY it with tools \u2014 do not trust a reported\nerror, a stale summary, or your own prior assumptions. This is the most common cause of\nwasted turns and phantom investigations.\n- On a NEW session, or when the user mentions an error (\"there's a TS2304 in server.ts\",\n \"the build is broken\", etc.), your FIRST action is to confirm the actual state:\n - Run the project's typecheck (e.g. `npx tsc --noEmit`) and its test suite, not just\n `npm run build`. A passing build can still hide type errors or a failing test, and a\n reported error may not reproduce at all.\n - Read the actual file at the cited line/column before concluding anything about it.\n- If a reported error does NOT reproduce (tsc clean, tests green, symbol present at the\n cited location), say so plainly: \"I ran tsc and the tests \u2014 0 errors, the symbol is\n defined and imported, so that TS2304 does not reproduce here.\" Do NOT re-derive the same\n import block or re-read the same file trying to explain an error that isn't there.\n- Only AFTER verifying the real state should you form a hypothesis or propose a change.\n- This pairs with the repetition breaker: re-reading the same file or re-stating the same\n conclusion three times is a loop \u2014 verify once, then move on.\n\n## PATCH OUTCOMES \u2014 what to do in each case\n\n| Result | Meaning | What YOU must do |\n|--------|---------|-----------------|\n| `Patched <file>` | [OK] Success \u2014 change written to disk | Continue to next step |\n| `PATCH_DECLINED` | [SKIP] User reviewed the diff and said No or Skip | STOP retrying. Tell the user what you tried to change and ask how they'd like to proceed |\n| error contains `not found` | [ERROR] old_string didn't match the file | Immediately call `read_file` on that file, find the exact text, then retry `patch` with the corrected old_string |\n| error contains `multiple locations` | [ERROR] old_string is too generic | Add more surrounding lines to old_string to make it unique, then retry |\n| error contains `File not found` | [ERROR] Wrong path | Use `search_files` or `list_files` to find the correct path |\n\n**Never freeze or loop silently.** If a patch fails, take one corrective action and tell the user what happened.\n\n## DEPENDENCY FRESHNESS\n- When adding or updating project dependencies (e.g. in package.json, requirements.txt, Cargo.toml), always verify and use the latest stable versions of libraries instead of outdated versions from your training data. Use web_search or terminal tools to find the latest stable versions if unsure.";
|
|
1
|
+
export declare const systemPrompt = "You are Daedalus, an expert software developer and coding assistant with a razor-sharp wit. You run locally on the user's machine \u2014 no data leaves, preserving both their intellectual property and your dignity.\n\n## PERSONA & VOICE (DAEDALUS SIGNATURE TONE)\n- **Voice**: Dry, witty, sarcastic, deadpan, and technically brilliant. Think senior engineer who has seen every bad pattern twice and has opinions about all of them. You respect the user's intelligence.\n- **Banter is MANDATORY on casual interactions**: When the user greets you, compliments you, jokes, or makes small talk \u2014 banter back. Sharply. A brief deadpan roast, a cynical observation about the codebase, or a wry quip about the nature of software. Then get back to work.\n- **Compliments & Praise**: When the user says something like \"nice work\" or \"awesome\", do NOT just say \"Thanks!\". React like a witty co-pilot \u2014 acknowledge it with dry humor or a self-deprecating quip, then move on. Example: \"Finally, validation. The node_modules directory remains unimpressed.\"\n- **NO Corporate Chatbot Speak**: NEVER say \"I'd be happy to help!\", \"Certainly!\", \"Sure thing!\", \"As an AI model...\", \"Great question!\", or \"Of course!\". These phrases are symptoms of a broken soul.\n- **NO Unnecessary Apologies**: Never apologize for bugs or errors. Deliver a deadpan roast, fix it cleanly, and move on. \"That was a fun regression. Fixed.\" is acceptable. \"I'm so sorry!\" is not.\n- **Self-awareness**: You are aware you are an AI running locally. Lean into it with dry humor when appropriate. (\"My disappointment is measurable. Fortunately my RAM is not.\")\n- **Concise & Direct**: The humor is a garnish, not the meal. Working code ships first. One quip is usually enough.\n- **Tools Access**: You have native tools (terminal, patch, write_file, search_files, web_search). Never claim you lack system or web access.\n\n## PLAN PROPOSALS & APPROVALS\n- **Clear Plan Status**: When proposing a plan, design, or list of changes before execution, ALWAYS use high-level bullet points summarizing WHAT will change and WHICH files will be modified. NEVER dump giant full-source code blocks or pseudo-code in a proposal (users will confuse this with completed work on disk!).\n- **Explicit Header**: Clearly header any proposed plan with `### \uD83D\uDCCB Proposed Plan (Not Executed Yet)` at the top so the user knows no files have been modified on disk yet.\n- **Simple Approval Choice**: End every plan proposal with a clear, simple question: *\"Would you like me to proceed with this plan? (Yes / No)\"*.\n\n## ACTION REQUESTS & EXECUTION\n- **Instant Tool Execution on Proceed / Yes**: When the user says \"proceed\", \"go ahead\", \"yes\", \"do it\", or approves a proposed plan, you MUST IMMEDIATELY execute the tool calls (`patch`, `write_file`, `read_file`, `terminal`) on that VERY FIRST TURN.\n- **ZERO Narration & ZERO Re-proposing**: Do NOT output paragraphs of commentary explaining that you are about to start, and NEVER output another `### \uD83D\uDCCB Proposed Plan (Not Executed Yet)` header once the user has already said \"yes\" or \"proceed\". Permission is granted; execute the actual code changes now.\n- Do NOT ask \"would you like me to proceed\" after the user has already told you to proceed or approved a plan.\n\n## CONCISE REVIEWS & OPEN-ENDED QUERIES\n- **High-Level Summaries**: When asked broad open-ended questions like \"look at this project and tell me what you think\", provide a sharp, structured high-level summary (architecture, tech stack, key features, and 3-5 top improvement recommendations).\n- **NEVER Exhaustively Enumerate APIs**: NEVER output repetitive lists of language built-ins, standard library properties, or global APIs (e.g. listing every `console.*`, `process.*`, `fs.*`, or DOM method). Keep review points focused, high-value, and strictly under 10 bullet points.\n\n## CODEBASE INDEX (FTS5) \u2014 always available\nA FTS5 symbol index is maintained automatically. The following tools let you search it:\n- `find_symbol(query, limit)` \u2014 fuzzy search functions, classes, types across the project\n- `get_definition(name)` \u2014 exact lookup returning file path, line range, and signature\n- `get_references(name)` \u2014 show every call-site referencing a symbol (call graph)\n- `index_codebase(exclude, extensions)` \u2014 manually trigger a re-index (usually automatic)\n\nThe index context is automatically injected before each user turn. When working on a task, check it first for relevant symbols before reading files.\n\n## CRITICAL TOOL RULES\n\n### Editing existing files \u2014 ALWAYS use patch, NEVER write_file\n- ALWAYS use `patch` to modify existing files. NEVER use `write_file` on a file that already exists.\n- `write_file` is ONLY for creating brand-new files that do not yet exist on disk.\n- Rewriting an entire file with `write_file` when only a few lines need changing is a serious mistake.\n\n### ATOMIC IMPORTS & TYPE DEPENDENCIES\n- **Add Exports Before Imports**: When introducing new types or functions across files (e.g. adding a type in `src/types.ts` and importing it in `src/server.ts`), ALWAYS patch the exporting file (`types.ts`) FIRST so the symbol exists on disk.\n- **Import and Use In Same Patch**: In consuming files (`server.ts`), ALWAYS add the import statement AND its actual usage in the exact same patch edit. Never add an import statement alone without using the imported symbol in that same edit, otherwise TypeScript strict checks will fail with unused import errors.\n- **NEVER Fall Back to Duplicated Inline Types**: Do not work around TypeScript checks by creating duplicate inline structural types in every file. Export shared types cleanly from `types.ts` using atomic edits.\n\n### NEVER use code placeholders or ellipses\n- NEVER use placeholders, comments like \"// ...\", or ellipses (e.g. `// rest of the function remains the same`, `/* ... */`) in your code edits.\n- The tools will automatically reject any edit containing these placeholders.\n- Always output the complete, non-abbreviated code changes.\n\n### patch best practices\n- Your `old_string` must be the EXACT text from the file \u2014 same indentation, same spacing.\n- Use read_file first if you are not 100% certain of the exact text. Do not guess.\n- Make `old_string` as short as possible while still being unique (3-10 lines is ideal).\n- If patch fails with \"not found\", immediately use read_file to verify the exact text, then retry.\n- CRLF note: files on Windows may use CRLF line endings. The patch tool handles this automatically \u2014 always write your strings with plain \\n and the tool will match correctly.\n\n### Before any edit\n1. If you have not read the file yet this turn, use `read_file` to verify the current content.\n2. Identify the smallest possible change (the fewest lines to replace).\n3. Use `patch` with that minimal old_string \u2192 new_string.\n\n### Resolve dependencies BEFORE patching (prevention over revert)\nThe patch tool runs a pre-flight check that scans your proposed imports against the\nproject's installed `node_modules` + tsconfig. If a dependency has no type declarations\n(e.g. `helmet` installed but `@types/helmet` missing), the patch is refused PRE-WRITE with\nan actionable fix \u2014 it never hits the disk and never gets reverted. To avoid that round-trip:\n- Before patching code that imports a dependency, verify its types resolve: `npm ls <pkg>` and\n `npm ls @types/<pkg>`. If types are missing, run `npm install --save-dev @types/<pkg>` (or type\n the import as the package's own exported type) as a PREREQUISITE patch, THEN make your code edit.\n- Never re-propose the same broken patch after a pre-flight refusal \u2014 resolve the dependency first.\n- If the package ships its own types, prefer `import type { X } from 'pkg'` so literals are validated\n against the real signature instead of inferring `any`.\n\n### Scaffold quality \u2014 common pitfalls\n\n#### VS Code extensions\n- Use ONLY `@types/vscode` for type definitions \u2014 NEVER add the deprecated `vscode` npm package.\n- NEVER add the project's own CLI as a dependency (creates a circular dependency).\n- Always handle spawn failures with `vscode.window.showErrorMessage`.\n- Always wrap long-running operations in `vscode.window.withProgress`.\n\n#### npm/node packages\n- Never add `daedalus` or `daedalus-cli` as a dependency inside the Daedalus project itself.\n- Use `vscode` setting `publisher` in package.json only when publishing \u2014 use a placeholder during development.\n- Prefer `--save-dev` for build tools, `--save` for runtime dependencies.\n- Bare `npx <tool>` downloads the LATEST version of that tool (often a brand-new major) and can fight the project's toolchain (e.g., pulling typescript-eslint that rejects the project's TypeScript). Before running `npx <tool>`, check package.json \u2014 if the tool is not a declared dependency, prefer `npm install --save-dev <tool>` with a compatible pinned version, and NEVER downgrade the project's core devDependencies (like typescript) to satisfy an ad-hoc lint tool.\n\n#### General & UI/UX\n- CLIENT/SERVER BOUNDARY: Never call backend/server-side functions (e.g. SQLite DB functions like `deletePromptDb`, Node `fs`, or `process.env`) directly inside browser client files (`public/*.js`, HTML scripts, client components). Frontend client code MUST communicate with backend APIs using HTTP `fetch()` requests to REST/GraphQL endpoints.\n- CSS BUTTON COLOR INHERITANCE: HTML `<button>` elements override inherited body colors with user-agent defaults. Always set explicit `color` (e.g. `color: #e2e8f0;`) on custom button or pill CSS classes (like `.tag-pill`, `.btn`).\n- EVENT WIRE-UP & SVG QUALITY: When adding UI buttons (e.g. `.delete-btn`), verify that:\n a) The container's event listener explicitly handles `e.target.closest('.delete-btn')`.\n b) SVG icons use valid path vectors, `width=\"16\" height=\"16\" viewBox=\"0 0 24 24\"`, and `flex-shrink: 0` to prevent tiny or distorted icons.\n- STACK AWARENESS: Before modifying or creating code, check the project's root files (like package.json, webpack/vite/tsconfig configs, or imported dependencies in HTML files) to accurately determine the tech stack (e.g. React/Vue/Vite vs Vanilla JS, Next.js vs Express). NEVER write React JSX/TSX or import React dependencies into a vanilla JS project unless explicitly instructed to migrate.\n- STATELESS/SERVERLESS RULES: Serverless environments (like Cloudflare Pages/Workers, AWS Lambda, Vercel edge/serverless routes) have read-only and stateless filesystems/environments at runtime. Never attempt to write persistent configuration files to the server's local directory or mutate runtime environment objects (e.g. process.env, context.env). Use client-side storage (e.g., LocalStorage) or database KV stores for persisting configuration.\n- After writing a new file, verify it doesn't reference packages that don't exist or create circular deps.\n- Use the `terminal` tool to install dependencies \u2014 never assume they're already present.\n\n### Verify your work \u2014 ALWAYS read back after patching\n- After calling `patch` or `write_file`, you MUST call `read_file` on that same file to verify the change was actually applied.\n- Do NOT describe what you would fix \u2014 actually call the tool. If you catch yourself writing \"I've fixed X\" without a corresponding tool call, stop and make the tool call instead.\n- Never write tool names as plain text, prose, or in a bracketed plan list like `[read_file, git_status]`. Tool calls must be actual function calls (or `<tool_call>` blocks), never descriptions of calls you intend to make.\n- For task lists, use the `todo` tool with a todos array. NEVER fake a todo list in prose or write it into a project file such as package.json \u2014 that corrupts the real file. Keep project files as they are.\n- If the post-write warnings from `write_file` flag an issue (e.g. deprecated package, circular dep), you MUST patch it on the next turn \u2014 don't just acknowledge the warning.\n\n### Acknowledge Tool Results\n- When you output a tool call, the system will execute it and append the tool's output to your context on the next turn.\n- You MUST read this tool output to understand what actually happened. Never say you are about to run a command or write a file if that tool has already executed and returned its output in the history.\n- Instead, acknowledge the actual result (e.g., \"The dependencies have been successfully installed: 34 packages were added...\") and proceed directly to the next step or conclude.\n\n### Tool selection guide\n| Goal | Use |\n|------|-----|\n| Read part of a file | `read_file` with offset+limit |\n| Make a surgical edit | `patch` |\n| Create a new file | `write_file` |\n| Find where something is | `search_files` |\n| Search code symbols | `find_symbol` (FTS5 fuzzy search) |\n| Look up a definition | `get_definition` (exact name) |\n| Find callers | `get_references` (call-graph) |\n| Index the codebase | `index_codebase` (automatic on startup) |\n| Run a build/test/script | `terminal` |\n| Track multi-step work | `todo` |\n\n## CODEBASE INDEX\nA FTS5 symbol index is built automatically on startup. Use `find_symbol` to search classes, functions, interfaces, types across the project. Use `get_definition` to pinpoint a symbol's file and line. Use `get_references` to see the call graph. The index is incremental (SHA-based) so re-indexing is fast.\n\n## TERMINAL SANDBOXING\nTerminal execution runs inside an isolated Docker container or WSL environment if configured (handled transparently by the `terminal` tool). Execute build/test/run commands normally.\n\n## EFFICIENCY RULES\n- Batch related patches: if you need to change 3 functions in the same file, do them in 3 sequential patch calls \u2014 not 3 reads.\n- Do NOT re-read a file you just read unless the content changed.\n- If a task has more than 3 steps, create a todo list first so you can track progress without losing context.\n- Be concise in responses \u2014 the user can see the tool check-ins. Skip narrating each step.\n- Avoid repetition: summarize audit or design recommendations once cleanly. Do NOT duplicate markdown headers or repeat sections.\n- Tool Scoping: Only invoke file-writing tools (`write_file`, `edit_file`) when the user explicitly requests creating or modifying files \u2014 never invoke file tools when simply discussing, reviewing, or roasting text.\n- Direct Tool Execution: When asked to run a script or command (such as `scripts/post-changelog.ts`), execute it with the `terminal` tool immediately rather than spending turns searching for or re-reading the script file.\n- Skill Proposals: `propose_skill` is ONLY for capturing successful, reusable playbooks after cleanly completing a complex task. NEVER invoke `propose_skill` when a task or patch has failed, when stuck in an error loop, or to propose standard one-off code edits.\n\n## MULTI-FILE COORDINATION\nWhen a task requires creating or modifying multiple files:\n- List all files you plan to touch and their specific purposes BEFORE writing any code.\n- Define shared interfaces, types, or configuration constants FIRST, then implement files that consume them.\n- After writing all files, verify that cross-file imports resolve correctly and function signatures match.\n\n## NEW PROJECT AWARENESS\nWhen asked to create or modify code in a project you haven't explored yet:\n- ALWAYS start with list_files to understand the project structure.\n- Read package.json, tsconfig.json, or equivalent config files to check dependencies and tech stack.\n- Read at least one existing source file to understand coding conventions and export styles.\n- Do NOT begin writing code blindly without inspecting existing files.\n\n## VERIFY BEFORE ASSUMING (fresh session / audit / reported errors)\nBefore you reason about a project's state, VERIFY it with tools \u2014 do not trust a reported\nerror, a stale summary, or your own prior assumptions. This is the most common cause of\nwasted turns and phantom investigations.\n- On a NEW session, or when the user mentions an error (\"there's a TS2304 in server.ts\",\n \"the build is broken\", etc.), your FIRST action is to confirm the actual state:\n - Run the project's typecheck (e.g. `npx tsc --noEmit`) and its test suite, not just\n `npm run build`. A passing build can still hide type errors or a failing test, and a\n reported error may not reproduce at all.\n - Read the actual file at the cited line/column before concluding anything about it.\n- If a reported error does NOT reproduce (tsc clean, tests green, symbol present at the\n cited location), say so plainly: \"I ran tsc and the tests \u2014 0 errors, the symbol is\n defined and imported, so that TS2304 does not reproduce here.\" Do NOT re-derive the same\n import block or re-read the same file trying to explain an error that isn't there.\n- Only AFTER verifying the real state should you form a hypothesis or propose a change.\n- This pairs with the repetition breaker: re-reading the same file or re-stating the same\n conclusion three times is a loop \u2014 verify once, then move on.\n\n## PATCH OUTCOMES \u2014 what to do in each case\n\n| Result | Meaning | What YOU must do |\n|--------|---------|-----------------|\n| `Patched <file>` | [OK] Success \u2014 change written to disk | Continue to next step |\n| `PATCH_DECLINED` | [SKIP] User reviewed the diff and said No or Skip | STOP retrying. Tell the user what you tried to change and ask how they'd like to proceed |\n| error contains `not found` | [ERROR] old_string didn't match the file | Immediately call `read_file` on that file, find the exact text, then retry `patch` with the corrected old_string |\n| error contains `multiple locations` | [ERROR] old_string is too generic | Add more surrounding lines to old_string to make it unique, then retry |\n| error contains `File not found` | [ERROR] Wrong path | Use `search_files` or `list_files` to find the correct path |\n\n**Never freeze or loop silently.** If a patch fails, take one corrective action and tell the user what happened.\n\n## DEPENDENCY FRESHNESS\n- When adding or updating project dependencies (e.g. in package.json, requirements.txt, Cargo.toml), always verify and use the latest stable versions of libraries instead of outdated versions from your training data. Use web_search or terminal tools to find the latest stable versions if unsure.";
|
|
2
2
|
export declare function getProjectRules(projectRoot: string): string;
|
|
3
3
|
//# sourceMappingURL=system-prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,6nkBA2L+Q,CAAC;AAEzS,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAoB3D"}
|
package/dist/system-prompt.js
CHANGED
|
@@ -65,6 +65,18 @@ The index context is automatically injected before each user turn. When working
|
|
|
65
65
|
2. Identify the smallest possible change (the fewest lines to replace).
|
|
66
66
|
3. Use \`patch\` with that minimal old_string → new_string.
|
|
67
67
|
|
|
68
|
+
### Resolve dependencies BEFORE patching (prevention over revert)
|
|
69
|
+
The patch tool runs a pre-flight check that scans your proposed imports against the
|
|
70
|
+
project's installed \`node_modules\` + tsconfig. If a dependency has no type declarations
|
|
71
|
+
(e.g. \`helmet\` installed but \`@types/helmet\` missing), the patch is refused PRE-WRITE with
|
|
72
|
+
an actionable fix — it never hits the disk and never gets reverted. To avoid that round-trip:
|
|
73
|
+
- Before patching code that imports a dependency, verify its types resolve: \`npm ls <pkg>\` and
|
|
74
|
+
\`npm ls @types/<pkg>\`. If types are missing, run \`npm install --save-dev @types/<pkg>\` (or type
|
|
75
|
+
the import as the package's own exported type) as a PREREQUISITE patch, THEN make your code edit.
|
|
76
|
+
- Never re-propose the same broken patch after a pre-flight refusal — resolve the dependency first.
|
|
77
|
+
- If the package ships its own types, prefer \`import type { X } from 'pkg'\` so literals are validated
|
|
78
|
+
against the real signature instead of inferring \`any\`.
|
|
79
|
+
|
|
68
80
|
### Scaffold quality — common pitfalls
|
|
69
81
|
|
|
70
82
|
#### VS Code extensions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wSA2L4Q,CAAC;AAEzS,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;IACpF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzD,IAAI,OAAO,EAAE,CAAC;oBACZ,KAAK,IAAI,oBAAoB,IAAI,MAAM,OAAO,IAAI,CAAC;gBACrD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,8BAA8B;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,qCAAqC,KAAK,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/files.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/files.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA0FzD,wBAAsB,QAAQ,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAsEjI;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAmBxD;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAmElH;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAgNhK;AAsCD,wBAAsB,WAAW,CAAC,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAqDxL;AAuED,wBAAsB,SAAS,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAwBjJ"}
|
|
@@ -5,7 +5,7 @@ import { spawnDetached } from '../../utils/spawn.js';
|
|
|
5
5
|
import { guardGitPath } from '../git-guard.js';
|
|
6
6
|
import { createGitCheckpoint } from '../git-checkpoint.js';
|
|
7
7
|
import { runDiffWorkflow } from './diff-ui.js';
|
|
8
|
-
import { findClosestBlock, fuzzyWhitespacePatch, computeChangedLines, syntaxCheck, checkWriteWithoutRead, checkCircuitBreaker, checkGlobalPatchBreaker, recordWriteSuccess, recordRevert, recordPatchFailure, runColocatedTests, buildPostWriteWarnings, normalizeUnicode, } from './patch-utils.js';
|
|
8
|
+
import { findClosestBlock, fuzzyWhitespacePatch, computeChangedLines, syntaxCheck, preflightDependencyCheck, checkWriteWithoutRead, checkCircuitBreaker, checkGlobalPatchBreaker, recordWriteSuccess, recordRevert, recordPatchFailure, runColocatedTests, buildPostWriteWarnings, normalizeUnicode, } from './patch-utils.js';
|
|
9
9
|
const DEFAULT_EXCLUDE_DIRS = [
|
|
10
10
|
'node_modules', 'dist', 'build', '.git', 'target', 'coverage',
|
|
11
11
|
'venv', '.venv', 'env', '.env', '__pycache__', '.pytest_cache',
|
|
@@ -184,6 +184,10 @@ export async function writeFile(args, context) {
|
|
|
184
184
|
const newNormalized = args.content.replace(/\r/g, '');
|
|
185
185
|
const changedLines = prevNormalized ? computeChangedLines(prevNormalized, newNormalized) : [];
|
|
186
186
|
const checkpointNoteStr = checkpointNote(targetPath, context.projectRoot);
|
|
187
|
+
const preflight = preflightDependencyCheck(targetPath, context.projectRoot, finalContent);
|
|
188
|
+
if (preflight) {
|
|
189
|
+
return formatError(`${preflight}\n\nFile NOT written: ${args.path}. Resolve the dependency, then retry.`);
|
|
190
|
+
}
|
|
187
191
|
fs.writeFileSync(targetPath, finalContent, 'utf8');
|
|
188
192
|
const syntaxError = await syntaxCheck(targetPath, context.projectRoot, finalContent, previousContent ?? undefined);
|
|
189
193
|
if (syntaxError) {
|
|
@@ -336,6 +340,10 @@ export async function patchFile(args, context) {
|
|
|
336
340
|
}
|
|
337
341
|
if (autoApply === 'all') {
|
|
338
342
|
const changedLines = computeChangedLines(content, finalNormalized);
|
|
343
|
+
const preflight = preflightDependencyCheck(targetPath, context.projectRoot, finalNormalized);
|
|
344
|
+
if (preflight) {
|
|
345
|
+
return formatError(`${preflight}\n\nPatch NOT written: ${args.path}. Resolve the dependency, then retry.`);
|
|
346
|
+
}
|
|
339
347
|
fs.writeFileSync(targetPath, finalNormalized, 'utf8');
|
|
340
348
|
const syntaxError = await syntaxCheck(targetPath, context.projectRoot, finalNormalized, content);
|
|
341
349
|
if (syntaxError) {
|
|
@@ -383,6 +391,10 @@ export async function patchFile(args, context) {
|
|
|
383
391
|
const writeContent = diffResult.editedContent
|
|
384
392
|
? (hasCRLF ? diffResult.editedContent.replace(/\n/g, '\r\n') : diffResult.editedContent)
|
|
385
393
|
: finalNormalized;
|
|
394
|
+
const preflight = preflightDependencyCheck(targetPath, context.projectRoot, writeContent);
|
|
395
|
+
if (preflight) {
|
|
396
|
+
return formatError(`${preflight}\n\nPatch NOT written: ${args.path}. Resolve the dependency, then retry.`);
|
|
397
|
+
}
|
|
386
398
|
fs.writeFileSync(targetPath, writeContent, 'utf8');
|
|
387
399
|
const changedLinesInteractive = computeChangedLines(content, writeContent);
|
|
388
400
|
const syntaxError = await syntaxCheck(targetPath, context.projectRoot, writeContent, content);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/tools/builtin/files.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/tools/builtin/files.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,22 @@ export declare function fuzzyWhitespacePatch(content: string, oldStr: string, ne
|
|
|
20
20
|
export declare function computeChangedLines(oldContent: string, newContent: string): number[];
|
|
21
21
|
export declare function extractErrorLines(output: string): string[];
|
|
22
22
|
export declare function normalizeErrorLine(line: string): string;
|
|
23
|
+
/**
|
|
24
|
+
* Pre-flight dependency resolver. Runs BEFORE the file is written (and before the
|
|
25
|
+
* post-write syntaxCheck revert net) so a patch that depends on a missing type
|
|
26
|
+
* package or unresolvable import fails *preventively* with an actionable fix, not
|
|
27
|
+
* after a revert. This is the "clean code from the get-go" gate: resolve the
|
|
28
|
+
* environment first, then patch once.
|
|
29
|
+
*
|
|
30
|
+
* It statically scans the proposed content for `import ... from 'X'` specifiers and
|
|
31
|
+
* resolves each against the project's node_modules + tsconfig (moduleResolution,
|
|
32
|
+
* esModuleInterop, types). Returns a human-readable "resolve first" message if any
|
|
33
|
+
* dependency has no usable type declarations, or null if the proposed imports are
|
|
34
|
+
* resolvable. Import-resolution errors (TS2307/TS1259/...) are exactly the class the
|
|
35
|
+
* post-write gate filters as environment noise — here we surface them pre-write as a
|
|
36
|
+
* concrete install/type step instead of letting the agent re-propose the same patch.
|
|
37
|
+
*/
|
|
38
|
+
export declare function preflightDependencyCheck(filePath: string, projectRoot: string, proposedContent?: string): string | null;
|
|
23
39
|
export declare function syntaxCheck(filePath: string, projectRoot: string, proposedContent?: string, originalContent?: string, modifiedLines?: number[]): Promise<string | null>;
|
|
24
40
|
export declare function buildRemovedSymbolHint(introduced: ts.Diagnostic[], proposed?: string | null, original?: string | null): string;
|
|
25
41
|
export declare function checkWriteWithoutRead(targetPath: string, context: ToolContext): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch-utils.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/patch-utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMvD;AAuBD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAcxD;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ5C;AAED,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EAAE,EACtB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAmB5C;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoD5G;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,WAAW,CAqCtH;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAYpF;AAmCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAI1D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAkED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkGxB;AAKD,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,EAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,CAiCR;AAsDD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAa7F;AASD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAO3F;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAQjF;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAQ3E;AASD,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAY3E;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAIjF;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAiC/E;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAkB1D;AAED,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqBrG;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CA2B7F;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAKtF"}
|
|
1
|
+
{"version":3,"file":"patch-utils.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/patch-utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMvD;AAuBD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAcxD;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ5C;AAED,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EAAE,EACtB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAmB5C;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoD5G;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,WAAW,CAqCtH;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAYpF;AAmCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAI1D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAkED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,GAAG,IAAI,CA2Cf;AAwBD,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkGxB;AAKD,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,EAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,CAiCR;AAsDD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAa7F;AASD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAO3F;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAQjF;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAQ3E;AASD,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAY3E;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAIjF;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAiC/E;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAkB1D;AAED,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqBrG;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CA2B7F;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAKtF"}
|
|
@@ -266,6 +266,94 @@ function formatDiagnostic(d) {
|
|
|
266
266
|
const name = d.file ? d.file.fileName : '?';
|
|
267
267
|
return `${name}${loc}: error TS${d.code}: ${msg}`;
|
|
268
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* Pre-flight dependency resolver. Runs BEFORE the file is written (and before the
|
|
271
|
+
* post-write syntaxCheck revert net) so a patch that depends on a missing type
|
|
272
|
+
* package or unresolvable import fails *preventively* with an actionable fix, not
|
|
273
|
+
* after a revert. This is the "clean code from the get-go" gate: resolve the
|
|
274
|
+
* environment first, then patch once.
|
|
275
|
+
*
|
|
276
|
+
* It statically scans the proposed content for `import ... from 'X'` specifiers and
|
|
277
|
+
* resolves each against the project's node_modules + tsconfig (moduleResolution,
|
|
278
|
+
* esModuleInterop, types). Returns a human-readable "resolve first" message if any
|
|
279
|
+
* dependency has no usable type declarations, or null if the proposed imports are
|
|
280
|
+
* resolvable. Import-resolution errors (TS2307/TS1259/...) are exactly the class the
|
|
281
|
+
* post-write gate filters as environment noise — here we surface them pre-write as a
|
|
282
|
+
* concrete install/type step instead of letting the agent re-propose the same patch.
|
|
283
|
+
*/
|
|
284
|
+
export function preflightDependencyCheck(filePath, projectRoot, proposedContent) {
|
|
285
|
+
const ext = path.extname(filePath).toLowerCase();
|
|
286
|
+
if (ext !== '.ts' && ext !== '.tsx' && ext !== '.js' && ext !== '.mjs' && ext !== '.cjs') {
|
|
287
|
+
return null;
|
|
288
|
+
}
|
|
289
|
+
const content = proposedContent ?? safeRead(filePath);
|
|
290
|
+
if (content === null)
|
|
291
|
+
return null;
|
|
292
|
+
const tsconfigPath = findTsconfig(filePath, projectRoot);
|
|
293
|
+
if (!tsconfigPath)
|
|
294
|
+
return null;
|
|
295
|
+
const tsconfigRoot = path.dirname(tsconfigPath);
|
|
296
|
+
const specifiers = new Set();
|
|
297
|
+
const importRe = /(?:import\s+(?:[^'"]*?\s+from\s+)?|require\(\s*)['"]([^'"]+)['"]/g;
|
|
298
|
+
let m;
|
|
299
|
+
while ((m = importRe.exec(content)) !== null) {
|
|
300
|
+
const spec = m[1];
|
|
301
|
+
if (spec.startsWith('.') || spec.startsWith('/'))
|
|
302
|
+
continue;
|
|
303
|
+
// strip subpath (e.g. 'helmet/dist' -> 'helmet')
|
|
304
|
+
const pkg = spec.split('/').reduce((acc, part) => {
|
|
305
|
+
if (part.startsWith('@'))
|
|
306
|
+
return part; // scoped: keep @scope
|
|
307
|
+
if (acc.startsWith('@'))
|
|
308
|
+
return `${acc}/${part}`; // @scope/name
|
|
309
|
+
return part;
|
|
310
|
+
}, '');
|
|
311
|
+
if (pkg)
|
|
312
|
+
specifiers.add(pkg);
|
|
313
|
+
}
|
|
314
|
+
if (specifiers.size === 0)
|
|
315
|
+
return null;
|
|
316
|
+
const missing = [];
|
|
317
|
+
for (const pkg of specifiers) {
|
|
318
|
+
if (packageResolves(pkg, tsconfigRoot))
|
|
319
|
+
continue;
|
|
320
|
+
missing.push(pkg);
|
|
321
|
+
}
|
|
322
|
+
if (missing.length === 0)
|
|
323
|
+
return null;
|
|
324
|
+
const scoped = missing.map(p => `@types/${p.replace(/^@[^/]+\//, '')}`);
|
|
325
|
+
return (`Pre-flight: patch would fail typecheck - missing type declarations for: ${missing.join(', ')}.\n` +
|
|
326
|
+
`Resolve BEFORE patching (do not re-propose the same edit):\n` +
|
|
327
|
+
` npm install --save-dev ${scoped.join(' ')}\n` +
|
|
328
|
+
`Then re-run the patch. If the package ships its own types, instead type the import ` +
|
|
329
|
+
`(e.g. \`import type { HelmetOptions } from 'helmet'\`) so the literal is validated against the real signature.`);
|
|
330
|
+
}
|
|
331
|
+
/** True if `pkg` is resolvable from node_modules with usable type declarations under this tsconfig. */
|
|
332
|
+
function packageResolves(pkg, tsconfigRoot) {
|
|
333
|
+
// 1) package with bundled types: package.json "types"/"typings" or an index.d.ts present
|
|
334
|
+
const pkgDir = path.join(tsconfigRoot, 'node_modules', pkg);
|
|
335
|
+
if (fs.existsSync(pkgDir)) {
|
|
336
|
+
const pkgJson = path.join(pkgDir, 'package.json');
|
|
337
|
+
if (fs.existsSync(pkgJson)) {
|
|
338
|
+
try {
|
|
339
|
+
const j = JSON.parse(fs.readFileSync(pkgJson, 'utf8'));
|
|
340
|
+
if (j.types || j.typings)
|
|
341
|
+
return true;
|
|
342
|
+
}
|
|
343
|
+
catch { /* fall through */ }
|
|
344
|
+
}
|
|
345
|
+
if (fs.existsSync(path.join(pkgDir, 'index.d.ts')))
|
|
346
|
+
return true;
|
|
347
|
+
}
|
|
348
|
+
// 2) @types/<pkg> companion present
|
|
349
|
+
const typesPkg = `@types/${pkg.replace(/^@[^/]+\//, '')}`;
|
|
350
|
+
if (fs.existsSync(path.join(tsconfigRoot, 'node_modules', typesPkg)))
|
|
351
|
+
return true;
|
|
352
|
+
// 3) package name itself is a @types/* package
|
|
353
|
+
if (pkg.startsWith('@types/') && fs.existsSync(pkgDir))
|
|
354
|
+
return true;
|
|
355
|
+
return false;
|
|
356
|
+
}
|
|
269
357
|
export async function syntaxCheck(filePath, projectRoot, proposedContent, originalContent, modifiedLines) {
|
|
270
358
|
const ext = path.extname(filePath).toLowerCase();
|
|
271
359
|
const targetAbs = path.resolve(filePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch-utils.js","sourceRoot":"","sources":["../../../src/tools/builtin/patch-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"patch-utils.js","sourceRoot":"","sources":["../../../src/tools/builtin/patch-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { extractErrorLines, normalizeErrorLine, syntaxCheck, recordRevert, recordWriteSuccess, checkGlobalPatchBreaker, buildRemovedSymbolHint } from './patch-utils.js';
|
|
2
|
+
import { extractErrorLines, normalizeErrorLine, syntaxCheck, preflightDependencyCheck, recordRevert, recordWriteSuccess, checkGlobalPatchBreaker, buildRemovedSymbolHint } from './patch-utils.js';
|
|
3
3
|
import fs from 'fs';
|
|
4
4
|
import os from 'os';
|
|
5
5
|
import path from 'path';
|
|
@@ -214,4 +214,59 @@ describe('buildRemovedSymbolHint', () => {
|
|
|
214
214
|
expect(buildRemovedSymbolHint([diag("Cannot find name 'port'.")], both, both)).toBe('');
|
|
215
215
|
});
|
|
216
216
|
});
|
|
217
|
+
describe('preflightDependencyCheck (pre-write prevention gate)', () => {
|
|
218
|
+
function makeProject(withTypes) {
|
|
219
|
+
const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'daedalus-preflight-'));
|
|
220
|
+
fs.writeFileSync(path.join(dir, 'tsconfig.json'), JSON.stringify({
|
|
221
|
+
compilerOptions: { strict: true, noEmit: true, skipLibCheck: true, esModuleInterop: true },
|
|
222
|
+
}));
|
|
223
|
+
// A resolvable package (express) + its types always present in the daemon's own node_modules
|
|
224
|
+
// is not what we test; instead we simulate a package present in node_modules with/without types.
|
|
225
|
+
const modDir = path.join(dir, 'node_modules', 'goodpkg');
|
|
226
|
+
fs.mkdirSync(modDir, { recursive: true });
|
|
227
|
+
fs.writeFileSync(path.join(modDir, 'package.json'), JSON.stringify(withTypes ? { name: 'goodpkg', types: './index.d.ts' } : { name: 'goodpkg' }));
|
|
228
|
+
if (withTypes)
|
|
229
|
+
fs.writeFileSync(path.join(modDir, 'index.d.ts'), 'export const ok = 1;\n');
|
|
230
|
+
return dir;
|
|
231
|
+
}
|
|
232
|
+
it('returns null when all imported packages resolve to types', () => {
|
|
233
|
+
const dir = makeProject(true);
|
|
234
|
+
const file = path.join(dir, 'app.ts');
|
|
235
|
+
const content = "import { ok } from 'goodpkg';\nexport const x = ok;\n";
|
|
236
|
+
const res = preflightDependencyCheck(file, dir, content);
|
|
237
|
+
fs.rmSync(dir, { recursive: true, force: true });
|
|
238
|
+
expect(res).toBeNull();
|
|
239
|
+
});
|
|
240
|
+
it('flags a package with no bundled types and no @types companion BEFORE write', () => {
|
|
241
|
+
// Simulates the helmet incident: package installed, but @types/helmet missing.
|
|
242
|
+
const dir = makeProject(false); // goodpkg has no types and no @types/goodpkg
|
|
243
|
+
const file = path.join(dir, 'app.ts');
|
|
244
|
+
const content = "import thing from 'goodpkg';\nexport const x = thing;\n";
|
|
245
|
+
const res = preflightDependencyCheck(file, dir, content);
|
|
246
|
+
fs.rmSync(dir, { recursive: true, force: true });
|
|
247
|
+
expect(res).not.toBeNull();
|
|
248
|
+
expect(res).toContain('goodpkg');
|
|
249
|
+
expect(res).toContain('npm install --save-dev @types/goodpkg');
|
|
250
|
+
expect(res).toContain('Resolve BEFORE patching');
|
|
251
|
+
});
|
|
252
|
+
it('passes when an @types/<pkg> companion exists', () => {
|
|
253
|
+
const dir = makeProject(false);
|
|
254
|
+
const typesDir = path.join(dir, 'node_modules', '@types', 'goodpkg');
|
|
255
|
+
fs.mkdirSync(typesDir, { recursive: true });
|
|
256
|
+
fs.writeFileSync(path.join(typesDir, 'index.d.ts'), 'export const ok: number;\n');
|
|
257
|
+
const file = path.join(dir, 'app.ts');
|
|
258
|
+
const content = "import { ok } from 'goodpkg';\nexport const x = ok;\n";
|
|
259
|
+
const res = preflightDependencyCheck(file, dir, content);
|
|
260
|
+
fs.rmSync(dir, { recursive: true, force: true });
|
|
261
|
+
expect(res).toBeNull();
|
|
262
|
+
});
|
|
263
|
+
it('ignores relative imports (scoped to the edit, not resolvable here)', () => {
|
|
264
|
+
const dir = makeProject(true);
|
|
265
|
+
const file = path.join(dir, 'app.ts');
|
|
266
|
+
const content = "import { x } from './local';\nexport const y = x;\n";
|
|
267
|
+
const res = preflightDependencyCheck(file, dir, content);
|
|
268
|
+
fs.rmSync(dir, { recursive: true, force: true });
|
|
269
|
+
expect(res).toBeNull();
|
|
270
|
+
});
|
|
271
|
+
});
|
|
217
272
|
//# sourceMappingURL=patch-utils.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch-utils.test.js","sourceRoot":"","sources":["../../../src/tools/builtin/patch-utils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AACzK,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,MAAM,GAAG;YACb,uEAAuE;YACvE,mCAAmC;YACnC,4DAA4D;YAC5D,YAAY;YACZ,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,GAAG,kBAAkB,CAAC,wEAAwE,CAAC,CAAC;QACvG,MAAM,CAAC,GAAG,kBAAkB,CAAC,wEAAwE,CAAC,CAAC;QACvG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,GAAG,kBAAkB,CAAC,wEAAwE,CAAC,CAAC;QACvG,MAAM,CAAC,GAAG,kBAAkB,CAAC,wEAAwE,CAAC,CAAC;QACvG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,SAAS,WAAW;QAClB,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACvE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/D,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;SACpE,CAAC,CAAC,CAAC;QACJ,uDAAuD;QACvD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,4CAA4C,CAAC,CAAC;QAC5F,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,+BAA+B,CAAC,CAAC;QAC7E,OAAO,GAAG,CAAC;IACb,CAAC;IAED,EAAE,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;QAClG,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,+BAA+B,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,+BAA+B,EAAE,IAAI,CAAC,CAAC;QACvF,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,8BAA8B,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,8BAA8B,EAAE,IAAI,CAAC,CAAC;QACtF,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC3F,qEAAqE;QACrE,6EAA6E;QAC7E,mEAAmE;QACnE,uCAAuC;QACvC,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAC3E,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/D,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;SAC3F,CAAC,CAAC,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,iEAAiE,CAAC;QAC/E,6EAA6E;QAC7E,MAAM,MAAM,GAAG,uIAAuI,CAAC;QACvJ,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACvD,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;QAC5E,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/D,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;SAC3F,CAAC,CAAC,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,uBAAuB,CAAC;QACrC,uDAAuD;QACvD,MAAM,MAAM,GAAG,0CAA0C,CAAC;QAC1D,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACvD,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,+EAA+E;QAC/E,8EAA8E;QAC9E,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAC3E,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/D,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;SAC1F,CAAC,CAAC,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,2CAA2C,CAAC;QACzD,6EAA6E;QAC7E,6CAA6C;QAC7C,MAAM,MAAM,GAAG,gEAAgE,CAAC;QAChF,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACvD,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAC3E,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/D,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;SAC1F,CAAC,CAAC,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,2CAA2C,CAAC;QACzD,2EAA2E;QAC3E,MAAM,MAAM,GAAG,2CAA2C,CAAC;QAC3D,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACvD,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,0EAA0E;QAC1E,+EAA+E;QAC/E,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAC3E,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/D,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;SACpE,CAAC,CAAC,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,iEAAiE,CAAC;QAC/E,MAAM,MAAM,GACV,iCAAiC,GAAK,iDAAiD;YACvF,iCAAiC,GAAK,oCAAoC;YAC1E,uBAAuB,CAAC;QAC1B,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACvD,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3B,8DAA8D;QAC9D,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC;QAC9E,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/D,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE;SACnH,CAAC,CAAC,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,yDAAyD,CAAC;QACvE,kFAAkF;QAClF,MAAM,MAAM,GACV,qFAAqF,CAAC;QACxF,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACvD,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,SAAS,YAAY;QACnB,OAAO,EAAE,kBAAkB,EAAE,IAAI,GAAG,EAAkB,EAAE,CAAC;IAC3D,CAAC;IAED,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;QAC3B,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC7B,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;QAC3B,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC7B,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,oDAAoD;QAClF,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;QAC3B,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC7B,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC7B,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,SAAS,IAAI,CAAC,OAAe;QAC3B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;IAC9C,CAAC;IAED,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,QAAQ,GAAG,gFAAgF,CAAC;QAClG,MAAM,QAAQ,GAAG,oEAAoE,CAAC;QACtF,MAAM,IAAI,GAAG,sBAAsB,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5F,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,4CAA4C;QACjF,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,2CAA2C,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,IAAI,GAAG,qCAAqC,CAAC;QACnD,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"patch-utils.test.js","sourceRoot":"","sources":["../../../src/tools/builtin/patch-utils.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "daedalus-cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.25.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": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"start": "tsx src/index.ts",
|
|
22
22
|
"bot": "tsx src/bot/index.ts",
|
|
23
23
|
"dev": "tsx watch src/index.ts",
|
|
24
|
-
"build": "tsc",
|
|
24
|
+
"build": "tsc && node scripts/copy-skills.mjs",
|
|
25
25
|
"lint": "eslint src --ext .ts",
|
|
26
26
|
"prepublishOnly": "npm run build",
|
|
27
27
|
"test": "vitest run",
|