@spikedpunch/mast 0.3.0 → 0.4.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/README.md +183 -9
- package/assets/prime.md +18 -0
- package/assets/signals.md +51 -0
- package/assets/skill.md +6 -47
- package/dist/cli/docs-cmd.d.ts +1 -0
- package/dist/cli/docs-cmd.d.ts.map +1 -1
- package/dist/cli/docs-cmd.js +2 -1
- package/dist/cli/docs-cmd.js.map +1 -1
- package/dist/cli/hook-cmd.d.ts +3 -0
- package/dist/cli/hook-cmd.d.ts.map +1 -0
- package/dist/cli/hook-cmd.js +13 -0
- package/dist/cli/hook-cmd.js.map +1 -0
- package/dist/cli/hook-state-dir.d.ts +24 -0
- package/dist/cli/hook-state-dir.d.ts.map +1 -0
- package/dist/cli/hook-state-dir.js +57 -0
- package/dist/cli/hook-state-dir.js.map +1 -0
- package/dist/cli/hook.d.ts +44 -0
- package/dist/cli/hook.d.ts.map +1 -0
- package/dist/cli/hook.js +200 -0
- package/dist/cli/hook.js.map +1 -0
- package/dist/cli/index.js +12 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/installed-artifacts.d.ts +23 -0
- package/dist/cli/installed-artifacts.d.ts.map +1 -0
- package/dist/cli/installed-artifacts.js +39 -0
- package/dist/cli/installed-artifacts.js.map +1 -0
- package/dist/cli/prime-cmd.d.ts +17 -0
- package/dist/cli/prime-cmd.d.ts.map +1 -0
- package/dist/cli/prime-cmd.js +70 -0
- package/dist/cli/prime-cmd.js.map +1 -0
- package/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +6 -0
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/setup-cmd.d.ts +34 -0
- package/dist/cli/setup-cmd.d.ts.map +1 -0
- package/dist/cli/setup-cmd.js +214 -0
- package/dist/cli/setup-cmd.js.map +1 -0
- package/dist/cli/setup-command.d.ts +47 -0
- package/dist/cli/setup-command.d.ts.map +1 -0
- package/dist/cli/setup-command.js +76 -0
- package/dist/cli/setup-command.js.map +1 -0
- package/dist/cli/setup-plan.d.ts +52 -0
- package/dist/cli/setup-plan.d.ts.map +1 -0
- package/dist/cli/setup-plan.js +221 -0
- package/dist/cli/setup-plan.js.map +1 -0
- package/dist/cli/setup-rules.d.ts +41 -0
- package/dist/cli/setup-rules.d.ts.map +1 -0
- package/dist/cli/setup-rules.js +76 -0
- package/dist/cli/setup-rules.js.map +1 -0
- package/dist/cli/setup-static.d.ts +13 -0
- package/dist/cli/setup-static.d.ts.map +1 -0
- package/dist/cli/setup-static.js +116 -0
- package/dist/cli/setup-static.js.map +1 -0
- package/dist/cli/skill-install.d.ts +2 -0
- package/dist/cli/skill-install.d.ts.map +1 -1
- package/dist/cli/skill-install.js +2 -0
- package/dist/cli/skill-install.js.map +1 -1
- package/dist/cli/upgrade-cmd.d.ts +5 -1
- package/dist/cli/upgrade-cmd.d.ts.map +1 -1
- package/dist/cli/upgrade-cmd.js +28 -3
- package/dist/cli/upgrade-cmd.js.map +1 -1
- package/dist/indexer/watcher.d.ts +80 -2
- package/dist/indexer/watcher.d.ts.map +1 -1
- package/dist/indexer/watcher.js +172 -27
- package/dist/indexer/watcher.js.map +1 -1
- package/dist/mcp/instructions.d.ts +7 -0
- package/dist/mcp/instructions.d.ts.map +1 -0
- package/dist/mcp/instructions.js +10 -0
- package/dist/mcp/instructions.js.map +1 -0
- package/dist/mcp/server.d.ts +8 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +17 -4
- package/dist/mcp/server.js.map +1 -1
- package/dist/store/config.d.ts.map +1 -1
- package/dist/store/config.js +4 -5
- package/dist/store/config.js.map +1 -1
- package/dist/store/defaults.d.ts +9 -0
- package/dist/store/defaults.d.ts.map +1 -0
- package/dist/store/defaults.js +12 -0
- package/dist/store/defaults.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-plan.js","sourceRoot":"","sources":["../../src/cli/setup-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The static channel of `mast setup` (ADR 017 sections 2 and 6): rules files that carry the
|
|
3
|
+
* short skill text. Everything here is pure; reading and writing happen in `setup-cmd.ts`.
|
|
4
|
+
*/
|
|
5
|
+
export type TextState = 'missing' | 'outdated' | 'current';
|
|
6
|
+
export interface TextPlan {
|
|
7
|
+
/** Install-mode state of the file or block as found. Meaningless in remove mode. */
|
|
8
|
+
readonly state: TextState;
|
|
9
|
+
/** False means nothing may be written. */
|
|
10
|
+
readonly changed: boolean;
|
|
11
|
+
/** The next file content, or null when the file should be deleted. */
|
|
12
|
+
readonly next: string | null;
|
|
13
|
+
}
|
|
14
|
+
export type OwnedRulesHarness = 'cursor' | 'windsurf';
|
|
15
|
+
/**
|
|
16
|
+
* Cursor: project rules are `.mdc` files in `.cursor/rules`, and `alwaysApply: true`
|
|
17
|
+
* applies the rule to every chat (Cursor's rules docs). Windsurf: `trigger: always_on`
|
|
18
|
+
* (Windsurf's rules docs). Both are read from the vendors' docs, not exercised in the tool.
|
|
19
|
+
*/
|
|
20
|
+
export declare function renderOwnedRules(harness: OwnedRulesHarness, skillText: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* A file mast owns outright. There is no marker to tell mast's file from someone else's
|
|
23
|
+
* with the same name: `.mdc` frontmatter has no room for a comment line, so the whole file
|
|
24
|
+
* is treated as mast's because of its name (`mast.mdc`, `mast.md`). Someone who hand-writes
|
|
25
|
+
* a file at that exact path gets it overwritten; the name is the claim.
|
|
26
|
+
*/
|
|
27
|
+
export declare function planOwnedFile(existing: string | null, wanted: string, remove: boolean): TextPlan;
|
|
28
|
+
/** The marked block inside a file mast does not own (Zed's rules file). */
|
|
29
|
+
export declare function planMarkedBlock(existing: string, skillText: string, remove: boolean): TextPlan;
|
|
30
|
+
/**
|
|
31
|
+
* Files Zed reads project rules from, first existing one wins. This list is from memory of
|
|
32
|
+
* Zed's docs (zed.dev/docs/ai/instructions) and has NOT been verified against them:
|
|
33
|
+
* re-check the names and their order before relying on it.
|
|
34
|
+
*/
|
|
35
|
+
export declare const ZED_RULES_FILES: readonly string[];
|
|
36
|
+
export declare function firstExisting(files: readonly string[], exists: (file: string) => boolean): string | null;
|
|
37
|
+
export declare const cursorRulesPath: (root: string) => string;
|
|
38
|
+
export declare const windsurfRulesPaths: (root: string) => readonly string[];
|
|
39
|
+
/** `.devin/rules` when a `.devin` directory exists (Windsurf's docs now redirect to Devin), else `.windsurf/rules`. */
|
|
40
|
+
export declare function chooseWindsurfRulesPath(root: string, devinDirExists: boolean): string;
|
|
41
|
+
//# sourceMappingURL=setup-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-rules.d.ts","sourceRoot":"","sources":["../../src/cli/setup-rules.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,oFAAoF;IACpF,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAKtD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAMtF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,QAAQ,CAKhG;AAgBD,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,QAAQ,CAM9F;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAG5C,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,GAAG,IAAI,CAExG;AAED,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,MAAoD,CAAC;AAEpG,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,SAAS,MAAM,EAGhE,CAAC;AAEF,uHAAuH;AACvH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,MAAM,CAGrF"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { join } from 'node:path';
|
|
2
|
+
import { BEGIN_MARKER, END_MARKER, spliceSkillBlock } from './skill-install.js';
|
|
3
|
+
const CURSOR_DESCRIPTION = 'Use mast (AST code search) before grep or reading files';
|
|
4
|
+
const OWNED_NOTICE = '<!-- Managed by `mast setup`; edits here are overwritten. Remove with `mast setup <harness> --remove`. -->';
|
|
5
|
+
/**
|
|
6
|
+
* Cursor: project rules are `.mdc` files in `.cursor/rules`, and `alwaysApply: true`
|
|
7
|
+
* applies the rule to every chat (Cursor's rules docs). Windsurf: `trigger: always_on`
|
|
8
|
+
* (Windsurf's rules docs). Both are read from the vendors' docs, not exercised in the tool.
|
|
9
|
+
*/
|
|
10
|
+
export function renderOwnedRules(harness, skillText) {
|
|
11
|
+
const frontmatter = harness === 'cursor'
|
|
12
|
+
? `---\ndescription: ${CURSOR_DESCRIPTION}\nalwaysApply: true\n---\n`
|
|
13
|
+
: '---\ntrigger: always_on\n---\n';
|
|
14
|
+
return `${frontmatter}\n${OWNED_NOTICE}\n\n${skillText.trimEnd()}\n`;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* A file mast owns outright. There is no marker to tell mast's file from someone else's
|
|
18
|
+
* with the same name: `.mdc` frontmatter has no room for a comment line, so the whole file
|
|
19
|
+
* is treated as mast's because of its name (`mast.mdc`, `mast.md`). Someone who hand-writes
|
|
20
|
+
* a file at that exact path gets it overwritten; the name is the claim.
|
|
21
|
+
*/
|
|
22
|
+
export function planOwnedFile(existing, wanted, remove) {
|
|
23
|
+
if (remove)
|
|
24
|
+
return { state: 'current', changed: existing !== null, next: null };
|
|
25
|
+
if (existing === null)
|
|
26
|
+
return { state: 'missing', changed: true, next: wanted };
|
|
27
|
+
if (existing === wanted)
|
|
28
|
+
return { state: 'current', changed: false, next: wanted };
|
|
29
|
+
return { state: 'outdated', changed: true, next: wanted };
|
|
30
|
+
}
|
|
31
|
+
const hasBlock = (text) => {
|
|
32
|
+
const begin = text.indexOf(BEGIN_MARKER);
|
|
33
|
+
return begin !== -1 && text.indexOf(END_MARKER) > begin;
|
|
34
|
+
};
|
|
35
|
+
function withoutBlock(text) {
|
|
36
|
+
const begin = text.indexOf(BEGIN_MARKER);
|
|
37
|
+
const before = text.slice(0, begin).trimEnd();
|
|
38
|
+
// Only blank lines are dropped after the block: leading spaces on the next line are content.
|
|
39
|
+
const after = text.slice(text.indexOf(END_MARKER) + END_MARKER.length).replace(/^(?:[ \t]*\r?\n)+/, '');
|
|
40
|
+
if (before === '')
|
|
41
|
+
return after;
|
|
42
|
+
return after === '' ? `${before}\n` : `${before}\n\n${after}`;
|
|
43
|
+
}
|
|
44
|
+
/** The marked block inside a file mast does not own (Zed's rules file). */
|
|
45
|
+
export function planMarkedBlock(existing, skillText, remove) {
|
|
46
|
+
const present = hasBlock(existing);
|
|
47
|
+
if (remove)
|
|
48
|
+
return { state: 'current', changed: present, next: present ? withoutBlock(existing) : existing };
|
|
49
|
+
const next = spliceSkillBlock(existing, skillText);
|
|
50
|
+
if (!present)
|
|
51
|
+
return { state: 'missing', changed: true, next };
|
|
52
|
+
return next === existing ? { state: 'current', changed: false, next } : { state: 'outdated', changed: true, next };
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Files Zed reads project rules from, first existing one wins. This list is from memory of
|
|
56
|
+
* Zed's docs (zed.dev/docs/ai/instructions) and has NOT been verified against them:
|
|
57
|
+
* re-check the names and their order before relying on it.
|
|
58
|
+
*/
|
|
59
|
+
export const ZED_RULES_FILES = [
|
|
60
|
+
'.rules', '.cursorrules', '.windsurfrules', '.clinerules', '.github/copilot-instructions.md',
|
|
61
|
+
'AGENT.md', 'AGENTS.md', 'CLAUDE.md', 'GEMINI.md',
|
|
62
|
+
];
|
|
63
|
+
export function firstExisting(files, exists) {
|
|
64
|
+
return files.find(exists) ?? null;
|
|
65
|
+
}
|
|
66
|
+
export const cursorRulesPath = (root) => join(root, '.cursor', 'rules', 'mast.mdc');
|
|
67
|
+
export const windsurfRulesPaths = (root) => [
|
|
68
|
+
join(root, '.devin', 'rules', 'mast.md'),
|
|
69
|
+
join(root, '.windsurf', 'rules', 'mast.md'),
|
|
70
|
+
];
|
|
71
|
+
/** `.devin/rules` when a `.devin` directory exists (Windsurf's docs now redirect to Devin), else `.windsurf/rules`. */
|
|
72
|
+
export function chooseWindsurfRulesPath(root, devinDirExists) {
|
|
73
|
+
const [devin, windsurf] = windsurfRulesPaths(root);
|
|
74
|
+
return (devinDirExists ? devin : windsurf) ?? join(root, '.windsurf', 'rules', 'mast.md');
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=setup-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-rules.js","sourceRoot":"","sources":["../../src/cli/setup-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SetupEnv, SetupIo, SetupOptions } from './setup-cmd.js';
|
|
2
|
+
/**
|
|
3
|
+
* The static channel of `mast setup` (ADR 017 sections 2 and 6): rules files, for harnesses
|
|
4
|
+
* with no usable hook system and, for Cursor, alongside its hooks. The planners are pure
|
|
5
|
+
* (`setup-rules.ts`); this file is the shell around them, with every read and write injected.
|
|
6
|
+
*/
|
|
7
|
+
export type StaticHarness = 'windsurf' | 'zed' | 'desktop';
|
|
8
|
+
export declare const STATIC_HARNESSES: readonly StaticHarness[];
|
|
9
|
+
/** Cursor's `.cursor/rules/mast.mdc`, project scope only. */
|
|
10
|
+
export declare function runCursorRules(opts: SetupOptions, env: SetupEnv, io: SetupIo): number;
|
|
11
|
+
/** Returns the process exit code: 0 done, 1 refused or failed. */
|
|
12
|
+
export declare function runStaticSetup(harness: StaticHarness, opts: SetupOptions, env: SetupEnv, io: SetupIo): number;
|
|
13
|
+
//# sourceMappingURL=setup-static.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-static.d.ts","sourceRoot":"","sources":["../../src/cli/setup-static.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMtE;;;;GAIG;AAEH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,KAAK,GAAG,SAAS,CAAC;AAC3D,eAAO,MAAM,gBAAgB,EAAE,SAAS,aAAa,EAAmC,CAAC;AAiDzF,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,GAAG,MAAM,CAOrF;AA4CD,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,GAAG,MAAM,CAY7G"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { join } from 'node:path';
|
|
2
|
+
import { chooseWindsurfRulesPath, cursorRulesPath, firstExisting, planMarkedBlock, planOwnedFile, renderOwnedRules, windsurfRulesPaths, ZED_RULES_FILES, } from './setup-rules.js';
|
|
3
|
+
export const STATIC_HARNESSES = ['windsurf', 'zed', 'desktop'];
|
|
4
|
+
const HARNESS_NAMES = {
|
|
5
|
+
windsurf: 'Windsurf',
|
|
6
|
+
zed: 'Zed',
|
|
7
|
+
desktop: 'Claude Desktop',
|
|
8
|
+
};
|
|
9
|
+
/** One output line for the file, in stage 4's vocabulary, and the write that goes with it. */
|
|
10
|
+
function applyTextTarget(io, path, plan, flags, showContent) {
|
|
11
|
+
if (flags.check) {
|
|
12
|
+
if (plan.state === 'current' && !plan.changed) {
|
|
13
|
+
io.out(`${path}: already up to date`);
|
|
14
|
+
return 0;
|
|
15
|
+
}
|
|
16
|
+
io.out(`${path}: ${plan.state === 'missing' ? 'not installed' : 'out of date'}`);
|
|
17
|
+
return 1;
|
|
18
|
+
}
|
|
19
|
+
const status = flags.remove
|
|
20
|
+
? plan.changed ? 'removed' : 'not installed'
|
|
21
|
+
: !plan.changed ? 'already up to date' : plan.state === 'missing' ? 'installed' : 'updated';
|
|
22
|
+
if (flags.dryRun) {
|
|
23
|
+
io.out(`${path}: ${status} (dry run, nothing written)`);
|
|
24
|
+
if (plan.changed && showContent)
|
|
25
|
+
io.out(plan.next === null ? '(the file would be deleted)' : plan.next.trimEnd());
|
|
26
|
+
return 0;
|
|
27
|
+
}
|
|
28
|
+
if (plan.changed) {
|
|
29
|
+
if (plan.next === null)
|
|
30
|
+
io.removeFile(path);
|
|
31
|
+
else
|
|
32
|
+
io.writeFileAtomic(path, plan.next);
|
|
33
|
+
}
|
|
34
|
+
io.out(`${path}: ${status}`);
|
|
35
|
+
return 0;
|
|
36
|
+
}
|
|
37
|
+
function runOwnedFile(io, path, wanted, flags) {
|
|
38
|
+
return applyTextTarget(io, path, planOwnedFile(io.readFile(path), wanted, flags.remove), flags, true);
|
|
39
|
+
}
|
|
40
|
+
function guarded(io, where, work) {
|
|
41
|
+
try {
|
|
42
|
+
return work();
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
io.err(`mast setup: ${where}: ${error instanceof Error ? error.message : String(error)}`);
|
|
46
|
+
return 1;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/** Cursor's `.cursor/rules/mast.mdc`, project scope only. */
|
|
50
|
+
export function runCursorRules(opts, env, io) {
|
|
51
|
+
if (opts.global) {
|
|
52
|
+
if (!opts.remove)
|
|
53
|
+
io.out('Note: Cursor has no user-level rules file, so --global handled the hooks only.');
|
|
54
|
+
return 0;
|
|
55
|
+
}
|
|
56
|
+
const path = cursorRulesPath(opts.projectRoot);
|
|
57
|
+
return guarded(io, path, () => runOwnedFile(io, path, renderOwnedRules('cursor', env.skillText), opts));
|
|
58
|
+
}
|
|
59
|
+
function runWindsurf(opts, env, io) {
|
|
60
|
+
const chosen = chooseWindsurfRulesPath(opts.projectRoot, io.directoryExists(join(opts.projectRoot, '.devin')));
|
|
61
|
+
if (!opts.remove)
|
|
62
|
+
return runOwnedFile(io, chosen, renderOwnedRules('windsurf', env.skillText), opts);
|
|
63
|
+
// Removal sweeps both locations: the `.devin` directory may have appeared after install.
|
|
64
|
+
const present = windsurfRulesPaths(opts.projectRoot).filter((p) => io.readFile(p) !== null);
|
|
65
|
+
if (present.length === 0)
|
|
66
|
+
return runOwnedFile(io, chosen, '', opts);
|
|
67
|
+
return Math.max(...present.map((p) => runOwnedFile(io, p, '', opts)));
|
|
68
|
+
}
|
|
69
|
+
function runZed(opts, env, io) {
|
|
70
|
+
const exists = (rel) => io.fileExists(join(opts.projectRoot, rel));
|
|
71
|
+
if (opts.remove) {
|
|
72
|
+
// Every candidate is swept, not just the first: the block may sit in a file that is no
|
|
73
|
+
// longer the first one Zed reads, because someone created `.rules` after install.
|
|
74
|
+
let touched = 0;
|
|
75
|
+
let code = 0;
|
|
76
|
+
for (const rel of ZED_RULES_FILES.filter(exists)) {
|
|
77
|
+
const path = join(opts.projectRoot, rel);
|
|
78
|
+
const plan = planMarkedBlock(io.readFile(path) ?? '', env.skillText, true);
|
|
79
|
+
if (!plan.changed)
|
|
80
|
+
continue;
|
|
81
|
+
touched += 1;
|
|
82
|
+
code = Math.max(code, applyTextTarget(io, path, plan, opts, false));
|
|
83
|
+
}
|
|
84
|
+
if (touched === 0)
|
|
85
|
+
io.out(`${opts.projectRoot}: not installed (no mast block in any Zed rules file)`);
|
|
86
|
+
return code;
|
|
87
|
+
}
|
|
88
|
+
const rel = firstExisting(ZED_RULES_FILES, exists);
|
|
89
|
+
if (rel === null) {
|
|
90
|
+
if (opts.check) {
|
|
91
|
+
io.out(`${opts.projectRoot}: not installed (no Zed rules file found)`);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
io.err(`mast setup: no Zed rules file found in ${opts.projectRoot}. mast does not create one, because a rules file is a prompt you curate. ` +
|
|
95
|
+
'Create .rules and run `mast setup zed` again.');
|
|
96
|
+
}
|
|
97
|
+
return 1;
|
|
98
|
+
}
|
|
99
|
+
const path = join(opts.projectRoot, rel);
|
|
100
|
+
return applyTextTarget(io, path, planMarkedBlock(io.readFile(path) ?? '', env.skillText, false), opts, false);
|
|
101
|
+
}
|
|
102
|
+
/** Returns the process exit code: 0 done, 1 refused or failed. */
|
|
103
|
+
export function runStaticSetup(harness, opts, env, io) {
|
|
104
|
+
if (harness === 'desktop') {
|
|
105
|
+
io.out(`${HARNESS_NAMES[harness]} has no hook system mast can use, so only static instructions apply.`);
|
|
106
|
+
io.out('Its only channel is the instructions string `mast serve` sends in the MCP handshake. That needs no setup, and nothing was written.');
|
|
107
|
+
return 0;
|
|
108
|
+
}
|
|
109
|
+
io.out(`${HARNESS_NAMES[harness]} has no hook system mast can use, so only static instructions are installed.`);
|
|
110
|
+
if (opts.global) {
|
|
111
|
+
io.err(`mast setup: no user-level rules file is supported for ${harness}. Run without --global, from the project root.`);
|
|
112
|
+
return 1;
|
|
113
|
+
}
|
|
114
|
+
return guarded(io, opts.projectRoot, () => (harness === 'windsurf' ? runWindsurf(opts, env, io) : runZed(opts, env, io)));
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=setup-static.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-static.js","sourceRoot":"","sources":["../../src/cli/setup-static.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,8 @@ export interface SkillTarget {
|
|
|
22
22
|
/** The agent this file configures, for the confirmation line. */
|
|
23
23
|
readonly agent: string;
|
|
24
24
|
}
|
|
25
|
+
/** The files `--install` is willing to write into, relative to the project root. */
|
|
26
|
+
export declare const SKILL_TARGET_FILES: readonly string[];
|
|
25
27
|
/** Agent config files that exist in this project. Never invents one. */
|
|
26
28
|
export declare function detectSkillTargets(projectRoot: string): readonly SkillTarget[];
|
|
27
29
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-install.d.ts","sourceRoot":"","sources":["../../src/cli/skill-install.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,YAAY,mGAA8F,CAAC;AACxH,eAAO,MAAM,UAAU,4BAA4B,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAUD,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,WAAW,EAAE,CAI9E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAW5E;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,SAAS,cAAc,EAAE,CAQ3B"}
|
|
1
|
+
{"version":3,"file":"skill-install.d.ts","sourceRoot":"","sources":["../../src/cli/skill-install.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,YAAY,mGAA8F,CAAC;AACxH,eAAO,MAAM,UAAU,4BAA4B,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAUD,oFAAoF;AACpF,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAAkC,CAAC;AAEnF,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,WAAW,EAAE,CAI9E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAW5E;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,SAAS,cAAc,EAAE,CAQ3B"}
|
|
@@ -23,6 +23,8 @@ const CANDIDATES = [
|
|
|
23
23
|
{ file: '.windsurfrules', agent: 'Windsurf' },
|
|
24
24
|
{ file: '.github/copilot-instructions.md', agent: 'GitHub Copilot' },
|
|
25
25
|
];
|
|
26
|
+
/** The files `--install` is willing to write into, relative to the project root. */
|
|
27
|
+
export const SKILL_TARGET_FILES = CANDIDATES.map((c) => c.file);
|
|
26
28
|
/** Agent config files that exist in this project. Never invents one. */
|
|
27
29
|
export function detectSkillTargets(projectRoot) {
|
|
28
30
|
return CANDIDATES
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-install.js","sourceRoot":"","sources":["../../src/cli/skill-install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skill-install.js","sourceRoot":"","sources":["../../src/cli/skill-install.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Command } from 'commander';
|
|
2
|
+
import { type InstalledArtifacts } from './installed-artifacts.js';
|
|
2
3
|
/**
|
|
3
4
|
* `mast upgrade` — checks and instructs. It deliberately does NOT perform the upgrade.
|
|
4
5
|
*
|
|
@@ -26,6 +27,8 @@ export interface UpgradeFacts {
|
|
|
26
27
|
/** Schema recorded in the user's index, or `null` if never indexed. */
|
|
27
28
|
readonly indexedSchema: string | null;
|
|
28
29
|
readonly chunkCount: number | null;
|
|
30
|
+
/** What of mast's hooks, rules files and skill blocks is installed here and under the user's home. */
|
|
31
|
+
readonly installed: InstalledArtifacts;
|
|
29
32
|
}
|
|
30
33
|
/** Semver compare, prerelease-aware. Returns <0, 0, or >0. */
|
|
31
34
|
export declare function compareVersions(a: string, b: string): number;
|
|
@@ -40,9 +43,10 @@ export declare function buildUpgradeReport(f: UpgradeFacts): string;
|
|
|
40
43
|
/** Registry lookup, injected so tests never depend on the network. */
|
|
41
44
|
export type LatestVersionLookup = () => Promise<string | null>;
|
|
42
45
|
export declare const fetchLatestFromNpm: LatestVersionLookup;
|
|
43
|
-
export declare function gatherUpgradeFacts(options
|
|
46
|
+
export declare function gatherUpgradeFacts(options: {
|
|
44
47
|
path?: string;
|
|
45
48
|
stateDir?: string;
|
|
49
|
+
home: string;
|
|
46
50
|
}, lookup?: LatestVersionLookup): Promise<UpgradeFacts>;
|
|
47
51
|
export declare function registerUpgradeCommand(program: Command): void;
|
|
48
52
|
//# sourceMappingURL=upgrade-cmd.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/upgrade-cmd.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"upgrade-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/upgrade-cmd.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EAA0C,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG3G;;;;;;;;;;;;;;GAcG;AAEH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACxD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,uEAAuE;IACvE,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,sGAAsG;IACtG,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;CACxC;AAED,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAe5D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,WAAW,CAIrF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,cAAc,GAAG,MAAM,CAU/E;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAwB1D;AAwBD,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE/D,eAAO,MAAM,kBAAkB,EAAE,mBAahC,CAAC;AASF,wBAAsB,kBAAkB,CACtC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3D,MAAM,GAAE,mBAAwC,GAC/C,OAAO,CAAC,YAAY,CAAC,CAsBvB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAa7D"}
|
package/dist/cli/upgrade-cmd.js
CHANGED
|
@@ -2,6 +2,8 @@ import { readFileSync } from 'node:fs';
|
|
|
2
2
|
import { fileURLToPath } from 'node:url';
|
|
3
3
|
import { dirname, join, relative, isAbsolute } from 'node:path';
|
|
4
4
|
import { CLI_VERSION, PACKAGE_NAME } from './version.js';
|
|
5
|
+
import { homedir } from 'node:os';
|
|
6
|
+
import { findInstalledArtifacts, readFileOrNull } from './installed-artifacts.js';
|
|
5
7
|
import { resolveConfig, CURRENT_SCHEMA_VERSION } from '../store/config.js';
|
|
6
8
|
/** Semver compare, prerelease-aware. Returns <0, 0, or >0. */
|
|
7
9
|
export function compareVersions(a, b) {
|
|
@@ -63,8 +65,30 @@ export function buildUpgradeReport(f) {
|
|
|
63
65
|
const size = f.chunkCount === null ? 'your whole project' : `${f.chunkCount.toLocaleString('en-US')} chunks`;
|
|
64
66
|
out.push(`Your index was built under schema ${f.indexedSchema}; this build expects ${f.currentSchema}.`, `The next \`mast serve\` or \`mast index\` will discard it and reindex ${size} from scratch.`, 'Nothing is lost that cannot be rebuilt — the index is derived state — but budget the time.', '');
|
|
65
67
|
}
|
|
68
|
+
out.push(...afterUpgradingLines(f.installed));
|
|
66
69
|
return out.join('\n').trimEnd();
|
|
67
70
|
}
|
|
71
|
+
const SETUP_ORDER = ['claude', 'cursor', 'vscode', 'windsurf', 'zed'];
|
|
72
|
+
/**
|
|
73
|
+
* Hooks and rules files are written by a specific version, and this binary cannot tell what
|
|
74
|
+
* the next one would write. So the report names the commands that can: `--check` exits 1 on
|
|
75
|
+
* a file that differs from what the installed version would write.
|
|
76
|
+
*/
|
|
77
|
+
function afterUpgradingLines(i) {
|
|
78
|
+
const projectHarnesses = new Set([...i.projectHooks, ...i.rulesHarnesses, ...(i.zedOnlyBlockFiles.length > 0 ? ['zed'] : [])]);
|
|
79
|
+
const commands = [
|
|
80
|
+
...SETUP_ORDER.filter((h) => projectHarnesses.has(h)).map((h) => ` mast setup ${h} --check`),
|
|
81
|
+
...SETUP_ORDER.filter((h) => i.globalHooks.some((g) => g === h)).map((h) => ` mast setup ${h} --global --check`),
|
|
82
|
+
...(i.skillBlockFiles.length > 0 ? [` mast skill --install # refreshes the block in ${i.skillBlockFiles.join(', ')}`] : []),
|
|
83
|
+
];
|
|
84
|
+
if (commands.length === 0)
|
|
85
|
+
return [];
|
|
86
|
+
return [
|
|
87
|
+
'After upgrading, from the project root, re-check what mast installed earlier:',
|
|
88
|
+
...commands,
|
|
89
|
+
'A --check that exits 1 means that file no longer matches; run the same command without --check to update it.', '',
|
|
90
|
+
];
|
|
91
|
+
}
|
|
68
92
|
export const fetchLatestFromNpm = async () => {
|
|
69
93
|
try {
|
|
70
94
|
const res = await fetch(`https://registry.npmjs.org/${PACKAGE_NAME}/latest`, {
|
|
@@ -89,7 +113,7 @@ function detectPackageManager() {
|
|
|
89
113
|
return 'yarn';
|
|
90
114
|
return 'pnpm';
|
|
91
115
|
}
|
|
92
|
-
export async function gatherUpgradeFacts(options
|
|
116
|
+
export async function gatherUpgradeFacts(options, lookup = fetchLatestFromNpm) {
|
|
93
117
|
const config = resolveConfig({ projectRoot: options.path, stateDirOverride: options.stateDir });
|
|
94
118
|
let indexedSchema = null;
|
|
95
119
|
let chunkCount = null;
|
|
@@ -109,16 +133,17 @@ export async function gatherUpgradeFacts(options = {}, lookup = fetchLatestFromN
|
|
|
109
133
|
currentSchema: CURRENT_SCHEMA_VERSION,
|
|
110
134
|
indexedSchema,
|
|
111
135
|
chunkCount,
|
|
136
|
+
installed: findInstalledArtifacts(config.resolved_project_root, options.home, readFileOrNull),
|
|
112
137
|
};
|
|
113
138
|
}
|
|
114
139
|
export function registerUpgradeCommand(program) {
|
|
115
140
|
program
|
|
116
141
|
.command('upgrade [path]')
|
|
117
|
-
.description('Check for a newer release and print how to install it, including any reindex it will cost')
|
|
142
|
+
.description('Check for a newer release and print how to install it, including any reindex it will cost and any installed hooks to re-check')
|
|
118
143
|
.option('--state-dir <dir>', 'State directory')
|
|
119
144
|
.action(async (path, opts) => {
|
|
120
145
|
try {
|
|
121
|
-
process.stdout.write(buildUpgradeReport(await gatherUpgradeFacts({ path, stateDir: opts.stateDir })) + '\n');
|
|
146
|
+
process.stdout.write(buildUpgradeReport(await gatherUpgradeFacts({ path, stateDir: opts.stateDir, home: homedir() })) + '\n');
|
|
122
147
|
}
|
|
123
148
|
catch (err) {
|
|
124
149
|
process.stderr.write(`${err instanceof Error ? err.message : String(err)}\n`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-cmd.js","sourceRoot":"","sources":["../../src/cli/upgrade-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"upgrade-cmd.js","sourceRoot":"","sources":["../../src/cli/upgrade-cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,6 +60,62 @@ export interface WatchPathFilter {
|
|
|
60
60
|
* set of files a manual `mast index` run would.
|
|
61
61
|
*/
|
|
62
62
|
export declare function shouldWatchPath(filter: WatchPathFilter, absPath: string): boolean;
|
|
63
|
+
/** One directory entry, reduced to what reconciliation needs. */
|
|
64
|
+
export interface ListedEntry {
|
|
65
|
+
readonly name: string;
|
|
66
|
+
readonly isDirectory: boolean;
|
|
67
|
+
}
|
|
68
|
+
export interface UnwatchedEntries {
|
|
69
|
+
/** Every unknown file, including those inside unknown directories. */
|
|
70
|
+
readonly files: readonly string[];
|
|
71
|
+
/** Every unknown directory, at any depth. */
|
|
72
|
+
readonly directories: readonly string[];
|
|
73
|
+
/**
|
|
74
|
+
* The unknown entries whose parent the watcher already knows: handing these to
|
|
75
|
+
* the watcher is enough, because it descends into a directory by itself.
|
|
76
|
+
*/
|
|
77
|
+
readonly roots: readonly string[];
|
|
78
|
+
/** Directories that could not be listed (vanished, EACCES); the rest was still scanned. */
|
|
79
|
+
readonly failures: ReadonlyArray<{
|
|
80
|
+
readonly directory: string;
|
|
81
|
+
readonly error: unknown;
|
|
82
|
+
}>;
|
|
83
|
+
}
|
|
84
|
+
export interface FindUnwatchedInput {
|
|
85
|
+
/** chokidar's `getWatched()`: absolute directory -> names of its children, files and directories alike. */
|
|
86
|
+
readonly watched: Readonly<Record<string, readonly string[]>>;
|
|
87
|
+
readonly projectRoot: string;
|
|
88
|
+
readonly listDirectory: (directory: string) => Promise<readonly ListedEntry[]>;
|
|
89
|
+
/** The same predicate the watcher was constructed with, applied to files and directories. */
|
|
90
|
+
readonly isIgnored: (absPath: string) => boolean;
|
|
91
|
+
/** Checked between directories, so a closed watcher stops walking a large tree. */
|
|
92
|
+
readonly signal?: AbortSignal;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Finds what is on disk but unknown to the watcher (D067). Pure over its inputs:
|
|
96
|
+
* `watched` is a snapshot and `listDirectory` is the only I/O.
|
|
97
|
+
*
|
|
98
|
+
* Only directories at or under `projectRoot` are listed: chokidar records the root
|
|
99
|
+
* itself as a child of the root's parent, and that parent is not ours to scan.
|
|
100
|
+
* A file the watcher learns about between the snapshot and the listing is reported
|
|
101
|
+
* too; that is a redundant notification, which the incremental reindex absorbs.
|
|
102
|
+
* Symbolic links are listed as files and never followed, so a link cycle cannot loop.
|
|
103
|
+
*/
|
|
104
|
+
export declare function findUnwatchedEntries(input: FindUnwatchedInput): Promise<UnwatchedEntries>;
|
|
105
|
+
/** The members of chokidar's `FSWatcher` that `startWatchMode` uses. */
|
|
106
|
+
export interface FsWatcher {
|
|
107
|
+
onFileEvent(event: 'add' | 'change' | 'unlink', listener: (path: string) => void): void;
|
|
108
|
+
onReady(listener: () => void): void;
|
|
109
|
+
onError(listener: (err: unknown) => void): void;
|
|
110
|
+
getWatched(): Record<string, string[]>;
|
|
111
|
+
add(paths: readonly string[]): unknown;
|
|
112
|
+
close(): Promise<void>;
|
|
113
|
+
}
|
|
114
|
+
export interface FsWatcherOptions {
|
|
115
|
+
readonly ignoreInitial: true;
|
|
116
|
+
readonly ignored: (path: string) => boolean;
|
|
117
|
+
}
|
|
118
|
+
export type FsWatcherFactory = (root: string, options: FsWatcherOptions) => FsWatcher;
|
|
63
119
|
export interface WatchHandle {
|
|
64
120
|
close(): Promise<void>;
|
|
65
121
|
}
|
|
@@ -69,8 +125,22 @@ export interface StartWatchModeOptions {
|
|
|
69
125
|
readonly runBatch: (paths: readonly string[]) => Promise<void>;
|
|
70
126
|
readonly onWarn: (message: string) => void;
|
|
71
127
|
/**
|
|
72
|
-
* Called once,
|
|
73
|
-
*
|
|
128
|
+
* Called once, after chokidar's initial scan, a settle period of `settleMs`, and
|
|
129
|
+
* one reconciliation pass over the directories chokidar is watching (D067).
|
|
130
|
+
* It means: every file that existed when the pass ran has been accounted for
|
|
131
|
+
* (queued for reindex if chokidar had not seen it), and the OS watch has had
|
|
132
|
+
* `settleMs` to go live. It is never called after `close()`.
|
|
133
|
+
*
|
|
134
|
+
* What it does not mean: chokidar's own `ready` fires before the OS watch is
|
|
135
|
+
* delivering, and a file created in that gap produces no event at all. The
|
|
136
|
+
* reconciliation pass recovers files created up to the moment it ran; a watch
|
|
137
|
+
* that goes live later than `settleMs` after `ready` is still a gap, and nothing
|
|
138
|
+
* here proves liveness. Each directory has its own OS watch, so a sentinel file
|
|
139
|
+
* would prove one directory only.
|
|
140
|
+
*
|
|
141
|
+
* Before D067 this fired straight from chokidar's `ready`, and under CPU load 12
|
|
142
|
+
* of 550 files written immediately after it were lost, against 0 of 400 written
|
|
143
|
+
* 300 ms after it.
|
|
74
144
|
*
|
|
75
145
|
* The watcher starts AFTER `serve` accepts MCP connections, and it is
|
|
76
146
|
* constructed with `ignoreInitial: true` — correct, since the startup ladder
|
|
@@ -86,6 +156,14 @@ export interface StartWatchModeOptions {
|
|
|
86
156
|
readonly onReady?: () => void;
|
|
87
157
|
/** Override for tests; production default 500ms. */
|
|
88
158
|
readonly debounceMs?: number;
|
|
159
|
+
/**
|
|
160
|
+
* Wait between chokidar's `ready` and the reconciliation pass; production
|
|
161
|
+
* default 1000 ms. Measured under load (D067): 0 of 400 files lost when written
|
|
162
|
+
* 300 ms after `ready`; 1000 ms is a margin over that, not a measured bound.
|
|
163
|
+
*/
|
|
164
|
+
readonly settleMs?: number;
|
|
165
|
+
/** Test seam; production uses chokidar. */
|
|
166
|
+
readonly watcherFactory?: FsWatcherFactory;
|
|
89
167
|
}
|
|
90
168
|
/**
|
|
91
169
|
* Start `--watch` mode: a chokidar watcher over the project feeding the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../src/indexer/watcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../src/indexer/watcher.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAOzD,MAAM,WAAW,qBAAqB;IACpC,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAC1C;AAED;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IAQb,OAAO,CAAC,QAAQ,CAAC,OAAO;IAPpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;gBAEnB,OAAO,EAAE,qBAAqB;IAI3D,4DAA4D;IAC5D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM1B,8EAA8E;IAC9E,KAAK,IAAI,IAAI;IAQb,OAAO,CAAC,QAAQ;YAQF,GAAG;CA4BlB;AAMD,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,yEAAyE;IACzE,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAMjF;AAMD,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,6CAA6C;IAC7C,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,2FAA2F;IAC3F,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC3F;AAED,MAAM,WAAW,kBAAkB;IACjC,2GAA2G;IAC3G,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IAC/E,6FAA6F;IAC7F,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACjD,mFAAmF;IACnF,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAOD;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiD/F;AAiBD,wEAAwE;AACxE,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACxF,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAChD,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC;IACvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,KAAK,SAAS,CAAC;AAEtF,MAAM,WAAW,WAAW;IAC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,QAAQ,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC;CAC5C;AAcD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,CAwG1E"}
|