@dogsbay/commands 0.2.0-beta.101

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.
Files changed (86) hide show
  1. package/README.md +137 -0
  2. package/dist/commands/content.d.ts +78 -0
  3. package/dist/commands/content.d.ts.map +1 -0
  4. package/dist/commands/content.js +634 -0
  5. package/dist/commands/content.js.map +1 -0
  6. package/dist/commands/examples.d.ts +49 -0
  7. package/dist/commands/examples.d.ts.map +1 -0
  8. package/dist/commands/examples.js +173 -0
  9. package/dist/commands/examples.js.map +1 -0
  10. package/dist/commands/keys.d.ts +14 -0
  11. package/dist/commands/keys.d.ts.map +1 -0
  12. package/dist/commands/keys.js +87 -0
  13. package/dist/commands/keys.js.map +1 -0
  14. package/dist/commands/link-retarget.d.ts +18 -0
  15. package/dist/commands/link-retarget.d.ts.map +1 -0
  16. package/dist/commands/link-retarget.js +104 -0
  17. package/dist/commands/link-retarget.js.map +1 -0
  18. package/dist/commands/refactor-files.d.ts +27 -0
  19. package/dist/commands/refactor-files.d.ts.map +1 -0
  20. package/dist/commands/refactor-files.js +264 -0
  21. package/dist/commands/refactor-files.js.map +1 -0
  22. package/dist/commands/refactor-keys.d.ts +21 -0
  23. package/dist/commands/refactor-keys.d.ts.map +1 -0
  24. package/dist/commands/refactor-keys.js +224 -0
  25. package/dist/commands/refactor-keys.js.map +1 -0
  26. package/dist/commands/refactor-structure.d.ts +19 -0
  27. package/dist/commands/refactor-structure.d.ts.map +1 -0
  28. package/dist/commands/refactor-structure.js +314 -0
  29. package/dist/commands/refactor-structure.js.map +1 -0
  30. package/dist/commands/reindex.d.ts +10 -0
  31. package/dist/commands/reindex.d.ts.map +1 -0
  32. package/dist/commands/reindex.js +23 -0
  33. package/dist/commands/reindex.js.map +1 -0
  34. package/dist/commands/topicmap-edit.d.ts +65 -0
  35. package/dist/commands/topicmap-edit.d.ts.map +1 -0
  36. package/dist/commands/topicmap-edit.js +194 -0
  37. package/dist/commands/topicmap-edit.js.map +1 -0
  38. package/dist/commands/topicmap.d.ts +13 -0
  39. package/dist/commands/topicmap.d.ts.map +1 -0
  40. package/dist/commands/topicmap.js +69 -0
  41. package/dist/commands/topicmap.js.map +1 -0
  42. package/dist/commands/validate.d.ts +13 -0
  43. package/dist/commands/validate.d.ts.map +1 -0
  44. package/dist/commands/validate.js +753 -0
  45. package/dist/commands/validate.js.map +1 -0
  46. package/dist/commands/where-used.d.ts +16 -0
  47. package/dist/commands/where-used.d.ts.map +1 -0
  48. package/dist/commands/where-used.js +83 -0
  49. package/dist/commands/where-used.js.map +1 -0
  50. package/dist/edits.d.ts +54 -0
  51. package/dist/edits.d.ts.map +1 -0
  52. package/dist/edits.js +158 -0
  53. package/dist/edits.js.map +1 -0
  54. package/dist/engine.d.ts +103 -0
  55. package/dist/engine.d.ts.map +1 -0
  56. package/dist/engine.js +115 -0
  57. package/dist/engine.js.map +1 -0
  58. package/dist/flags.d.ts +31 -0
  59. package/dist/flags.d.ts.map +1 -0
  60. package/dist/flags.js +73 -0
  61. package/dist/flags.js.map +1 -0
  62. package/dist/frontmatter-schema.d.ts +97 -0
  63. package/dist/frontmatter-schema.d.ts.map +1 -0
  64. package/dist/frontmatter-schema.js +240 -0
  65. package/dist/frontmatter-schema.js.map +1 -0
  66. package/dist/index.d.ts +35 -0
  67. package/dist/index.d.ts.map +1 -0
  68. package/dist/index.js +70 -0
  69. package/dist/index.js.map +1 -0
  70. package/dist/indexes.d.ts +175 -0
  71. package/dist/indexes.d.ts.map +1 -0
  72. package/dist/indexes.js +536 -0
  73. package/dist/indexes.js.map +1 -0
  74. package/dist/json-schema.d.ts +10 -0
  75. package/dist/json-schema.d.ts.map +1 -0
  76. package/dist/json-schema.js +50 -0
  77. package/dist/json-schema.js.map +1 -0
  78. package/dist/storage.d.ts +68 -0
  79. package/dist/storage.d.ts.map +1 -0
  80. package/dist/storage.js +193 -0
  81. package/dist/storage.js.map +1 -0
  82. package/dist/workspace.d.ts +30 -0
  83. package/dist/workspace.d.ts.map +1 -0
  84. package/dist/workspace.js +63 -0
  85. package/dist/workspace.js.map +1 -0
  86. package/package.json +47 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/commands/content.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { z } from "zod";
2
+ export interface ExampleChunk {
3
+ /**
4
+ * Stable identity across corpus VERSIONS: hash of
5
+ * page + headingPath + title + lang + occurrence-index. Two versions
6
+ * of the same sample share an `id`; comparing their `contentHash`
7
+ * spots drift ("samples changed between vA and vB"). Measured 96%
8
+ * stable across better-auth 1.5.6→1.6.23 — see
9
+ * docs-dev/corpus-pipeline-prototype.md Addendum 5.
10
+ */
11
+ id: string;
12
+ /** Hash of `code` — differs when the sample's code changed. */
13
+ contentHash: string;
14
+ /** Workspace-relative page path (e.g. "content/plugins/2fa.md"). */
15
+ page: string;
16
+ /** Enclosing heading texts, outermost first. */
17
+ headingPath: string[];
18
+ /** Fence title (e.g. "auth.ts") when present. */
19
+ title?: string;
20
+ lang: string;
21
+ /** Nearest preceding prose in the same section (plain text). */
22
+ description: string;
23
+ code: string;
24
+ }
25
+ /**
26
+ * Extract example chunks from one parsed document — re-pointed to the ONE
27
+ * chunker (plans/chunking-strategy.md Phase 1): `chunk(...).filter(code)`,
28
+ * mapped back to the ExampleChunk shape. The PLACEMENT-based `id` scheme is
29
+ * preserved verbatim (page + headingPath + title + lang + occurrence): it is
30
+ * what makes example identity 96%-stable across corpus versions, and the
31
+ * chunker's content-addressed ids serve a different job (diff/manifests).
32
+ * Validated at 100% parity (2015/2015 samples) against the previous walker
33
+ * on better-auth v1.6.23.
34
+ */
35
+ export declare function extractExamples(source: string, page: string): ExampleChunk[];
36
+ /** Tokenize identifiers and prose alike: camelCase, paths, kebab. */
37
+ export declare function tokenize(text: string): string[];
38
+ export interface RankedExample extends ExampleChunk {
39
+ score: number;
40
+ }
41
+ /** Compact BM25 over the chunk set. */
42
+ export declare function rankExamples(chunks: ExampleChunk[], query: string, top: number): RankedExample[];
43
+ export declare const examplesCommand: import("../engine.js").CommandDef<z.ZodObject<{
44
+ query: z.ZodString;
45
+ top: z.ZodDefault<z.ZodNumber>;
46
+ lang: z.ZodOptional<z.ZodString>;
47
+ page: z.ZodOptional<z.ZodString>;
48
+ }, z.core.$strict>>;
49
+ //# sourceMappingURL=examples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../src/commands/examples.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAKD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAwB5E;AAID,qEAAqE;AACrE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAM/C;AAiBD,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,uCAAuC;AACvC,wBAAgB,YAAY,CAC1B,MAAM,EAAE,YAAY,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,aAAa,EAAE,CAgCjB;AAaD,eAAO,MAAM,eAAe;;;;;mBA+C1B,CAAC"}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * `examples` — versioned code-example retrieval over a corpus
3
+ * (corpus-pipeline Phase 1.5; docs-dev/corpus-pipeline-prototype.md
4
+ * Addendum 4 — the "local Context7").
5
+ *
6
+ * Extracts every fenced code block from the workspace's markdown with
7
+ * its context (heading path, nearest preceding prose as description,
8
+ * fence title, language) and ranks chunks against the query with BM25.
9
+ *
10
+ * Version pinning is the CALLER's job by construction: the workspace
11
+ * root IS the corpus checkout, so pointing the engine at a corpus repo
12
+ * at tag `corpus-v1.3.34` retrieves 1.3-era examples — the cutoff-gap
13
+ * flow ("give me the CURRENT canonical usage for the API I'm about to
14
+ * touch") needs old versions as much as new ones.
15
+ */
16
+ import { createHash } from "node:crypto";
17
+ import { z } from "zod";
18
+ import { chunk } from "@dogsbay/chunk";
19
+ import { dogsbayMdToTree } from "@dogsbay/format-dogsbay-md";
20
+ import { defineCommand } from "../engine.js";
21
+ const shortHash = (text) => createHash("sha256").update(text).digest("hex").slice(0, 12);
22
+ /**
23
+ * Extract example chunks from one parsed document — re-pointed to the ONE
24
+ * chunker (plans/chunking-strategy.md Phase 1): `chunk(...).filter(code)`,
25
+ * mapped back to the ExampleChunk shape. The PLACEMENT-based `id` scheme is
26
+ * preserved verbatim (page + headingPath + title + lang + occurrence): it is
27
+ * what makes example identity 96%-stable across corpus versions, and the
28
+ * chunker's content-addressed ids serve a different job (diff/manifests).
29
+ * Validated at 100% parity (2015/2015 samples) against the previous walker
30
+ * on better-auth v1.6.23.
31
+ */
32
+ export function extractExamples(source, page) {
33
+ const { tree } = dogsbayMdToTree(source);
34
+ const keyCounts = new Map();
35
+ return chunk(tree, { page })
36
+ // The chunker sets `code` on every code chunk and skips empty fences —
37
+ // the narrow here is for the type, not a runtime fallback.
38
+ .filter((c) => c.kind === "code" && c.code !== undefined)
39
+ .map((c) => {
40
+ const lang = c.lang ?? "";
41
+ const code = c.code;
42
+ const baseKey = [page, c.anchor.headingPath.join(">"), c.title ?? "", lang].join("\u241f");
43
+ const occurrence = keyCounts.get(baseKey) ?? 0;
44
+ keyCounts.set(baseKey, occurrence + 1);
45
+ return {
46
+ id: shortHash(`${baseKey}\u241f${occurrence}`),
47
+ contentHash: shortHash(code),
48
+ page,
49
+ headingPath: c.anchor.headingPath,
50
+ ...(c.title === undefined ? {} : { title: c.title }),
51
+ lang,
52
+ description: c.description ?? "",
53
+ code,
54
+ };
55
+ });
56
+ }
57
+ // ── BM25 ranking ─────────────────────────────────────────
58
+ /** Tokenize identifiers and prose alike: camelCase, paths, kebab. */
59
+ export function tokenize(text) {
60
+ return text
61
+ .replace(/([a-z0-9])([A-Z])/g, "$1 $2")
62
+ .toLowerCase()
63
+ .split(/[^a-z0-9]+/)
64
+ .filter((t) => t.length > 1);
65
+ }
66
+ /** Field-weighted token bag for a chunk. */
67
+ function chunkTokens(chunk) {
68
+ const weighted = [];
69
+ const push = (text, weight) => {
70
+ const tokens = tokenize(text);
71
+ for (let w = 0; w < weight; w++)
72
+ weighted.push(...tokens);
73
+ };
74
+ push(chunk.headingPath.join(" "), 3);
75
+ push(chunk.title ?? "", 3);
76
+ push(chunk.description, 2);
77
+ push(chunk.lang, 1);
78
+ push(chunk.code, 1);
79
+ return weighted;
80
+ }
81
+ /** Compact BM25 over the chunk set. */
82
+ export function rankExamples(chunks, query, top) {
83
+ const k1 = 1.4;
84
+ const b = 0.75;
85
+ const queryTokens = [...new Set(tokenize(query))];
86
+ if (queryTokens.length === 0)
87
+ return [];
88
+ const docs = chunks.map(chunkTokens);
89
+ const avgLen = docs.reduce((a, d) => a + d.length, 0) / Math.max(1, docs.length);
90
+ const df = new Map();
91
+ const tfs = docs.map((tokens) => {
92
+ const tf = new Map();
93
+ for (const t of tokens)
94
+ tf.set(t, (tf.get(t) ?? 0) + 1);
95
+ for (const t of tf.keys())
96
+ df.set(t, (df.get(t) ?? 0) + 1);
97
+ return tf;
98
+ });
99
+ const n = docs.length;
100
+ const scored = chunks.map((chunk, i) => {
101
+ let score = 0;
102
+ for (const q of queryTokens) {
103
+ const f = tfs[i].get(q) ?? 0;
104
+ if (f === 0)
105
+ continue;
106
+ const idf = Math.log(1 + (n - (df.get(q) ?? 0) + 0.5) / ((df.get(q) ?? 0) + 0.5));
107
+ score += (idf * f * (k1 + 1)) / (f + k1 * (1 - b + (b * docs[i].length) / avgLen));
108
+ }
109
+ return { ...chunk, score };
110
+ });
111
+ return scored
112
+ .filter((c) => c.score > 0)
113
+ .sort((a, b2) => b2.score - a.score)
114
+ .slice(0, top);
115
+ }
116
+ // ── The command ──────────────────────────────────────────
117
+ const input = z
118
+ .object({
119
+ query: z.string().min(1).describe("What you're trying to do or the API you're about to touch"),
120
+ top: z.number().int().min(1).max(25).default(5).describe("Maximum results"),
121
+ lang: z.string().optional().describe("Restrict to a fence language (e.g. ts)"),
122
+ page: z.string().optional().describe("Restrict to pages whose path contains this substring"),
123
+ })
124
+ .strict();
125
+ export const examplesCommand = defineCommand({
126
+ name: "examples",
127
+ writes: "none",
128
+ description: "Retrieve canonical code examples from the corpus, ranked by relevance. " +
129
+ "The workspace root pins the version: point it at a corpus checkout of " +
130
+ "the installed version to get examples that match the user's lockfile.",
131
+ input,
132
+ positionals: ["query"],
133
+ async run(ctx, { query, top, lang, page }) {
134
+ const files = (await ctx.workspace.storage.list()).filter((f) => f.endsWith(".md"));
135
+ const chunks = [];
136
+ for (const file of files) {
137
+ if (page && !file.includes(page))
138
+ continue;
139
+ let source;
140
+ try {
141
+ source = await ctx.workspace.storage.read(file);
142
+ }
143
+ catch {
144
+ continue;
145
+ }
146
+ for (const chunk of extractExamples(source, file)) {
147
+ if (lang && chunk.lang !== lang)
148
+ continue;
149
+ chunks.push(chunk);
150
+ }
151
+ }
152
+ const results = rankExamples(chunks, query, top);
153
+ return {
154
+ data: {
155
+ query,
156
+ totalChunks: chunks.length,
157
+ results: results.map((r) => ({
158
+ id: r.id,
159
+ contentHash: r.contentHash,
160
+ page: r.page,
161
+ headingPath: r.headingPath,
162
+ title: r.title,
163
+ lang: r.lang,
164
+ description: r.description,
165
+ code: r.code,
166
+ score: Number(r.score.toFixed(3)),
167
+ })),
168
+ },
169
+ summary: `${results.length} example(s) for "${query}" (from ${chunks.length} chunks in ${files.length} pages)`,
170
+ };
171
+ },
172
+ });
173
+ //# sourceMappingURL=examples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"examples.js","sourceRoot":"","sources":["../../src/commands/examples.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * `keys-list` / `keys-resolve` — the key space as commands.
3
+ *
4
+ * Keys live in `*.keys.yaml` files (`keys:` table). Multiple
5
+ * definitions of one name are legal but suspect: file order decides
6
+ * the winner (matching the index), and both commands surface the
7
+ * conflict rather than hiding the losers.
8
+ */
9
+ import { z } from "zod";
10
+ export declare const keysListCommand: import("../engine.js").CommandDef<z.ZodObject<{}, z.core.$strict>>;
11
+ export declare const keysResolveCommand: import("../engine.js").CommandDef<z.ZodObject<{
12
+ name: z.ZodString;
13
+ }, z.core.$strict>>;
14
+ //# sourceMappingURL=keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/commands/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,eAAe,oEA4B1B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;mBAkD7B,CAAC"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * `keys-list` / `keys-resolve` — the key space as commands.
3
+ *
4
+ * Keys live in `*.keys.yaml` files (`keys:` table). Multiple
5
+ * definitions of one name are legal but suspect: file order decides
6
+ * the winner (matching the index), and both commands surface the
7
+ * conflict rather than hiding the losers.
8
+ */
9
+ import { z } from "zod";
10
+ import { defineCommand } from "../engine.js";
11
+ export const keysListCommand = defineCommand({
12
+ name: "keys-list",
13
+ writes: "none",
14
+ description: "List every key definition in the workspace",
15
+ input: z.object({}).strict(),
16
+ async run(ctx) {
17
+ const index = await ctx.workspace.index();
18
+ const keys = [...index.keys.entries()]
19
+ .map(([name, defs]) => ({
20
+ name,
21
+ definedIn: defs[0].file,
22
+ def: defs[0].def,
23
+ conflicts: defs.slice(1).map((d) => d.file),
24
+ usedIn: index.keyUses.get(name) ?? [],
25
+ }))
26
+ .sort((a, b) => a.name.localeCompare(b.name));
27
+ return {
28
+ data: { keys },
29
+ issues: index.keyFileErrors.map((err) => ({
30
+ severity: "error",
31
+ code: "keys-file-invalid",
32
+ message: err.message,
33
+ file: err.file,
34
+ })),
35
+ summary: `${keys.length} key(s) across ${index.stats.keyFiles} keys file(s)`,
36
+ };
37
+ },
38
+ });
39
+ export const keysResolveCommand = defineCommand({
40
+ name: "keys-resolve",
41
+ writes: "none",
42
+ description: "Resolve one key: winning definition, all definitions, and uses",
43
+ input: z
44
+ .object({
45
+ name: z.string().min(1).describe("Key name to resolve"),
46
+ })
47
+ .strict(),
48
+ positionals: ["name"],
49
+ async run(ctx, { name }) {
50
+ const index = await ctx.workspace.index();
51
+ const defs = index.keys.get(name) ?? [];
52
+ const usedIn = index.keyUses.get(name) ?? [];
53
+ if (defs.length === 0) {
54
+ return {
55
+ data: { name, resolved: null, definitions: [], usedIn },
56
+ issues: [
57
+ {
58
+ severity: "error",
59
+ code: "key-undefined",
60
+ message: `key "${name}" is not defined in any keys file`,
61
+ },
62
+ ],
63
+ summary: `key "${name}" is undefined${usedIn.length > 0 ? ` but used in ${usedIn.length} file(s)` : ""}`,
64
+ };
65
+ }
66
+ return {
67
+ data: {
68
+ name,
69
+ resolved: { file: defs[0].file, def: defs[0].def },
70
+ definitions: defs.map((d) => ({ file: d.file, def: d.def })),
71
+ usedIn,
72
+ },
73
+ issues: defs.length > 1
74
+ ? [
75
+ {
76
+ severity: "warning",
77
+ code: "key-conflict",
78
+ message: `key "${name}" defined ${defs.length} times — ${defs[0].file} wins`,
79
+ file: defs[0].file,
80
+ },
81
+ ]
82
+ : [],
83
+ summary: `key "${name}" → ${defs[0].file}${usedIn.length > 0 ? `, used in ${usedIn.length} file(s)` : ""}`,
84
+ };
85
+ },
86
+ });
87
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/commands/keys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * `link-retarget` — rewrite ONE link/image/include destination in a document
3
+ * (the Problems panel's "Fix" for a moved target or an anchor under the
4
+ * wrong slug rule). Line-wise on the raw source, outside code regions; bytes
5
+ * outside the replaced destination token are byte-identical. Content verb:
6
+ * gated by `expect` (the file's hash from `topic-read`, or the hash the
7
+ * caller computed a moment ago) — refused with `stale-expect` if the file
8
+ * changed since, like every other content verb.
9
+ */
10
+ import { z } from "zod";
11
+ export declare const linkRetargetCommand: import("../engine.js").CommandDef<z.ZodObject<{
12
+ file: z.ZodString;
13
+ from: z.ZodString;
14
+ to: z.ZodString;
15
+ line: z.ZodOptional<z.ZodNumber>;
16
+ expect: z.ZodOptional<z.ZodString>;
17
+ }, z.core.$strict>>;
18
+ //# sourceMappingURL=link-retarget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-retarget.d.ts","sourceRoot":"","sources":["../../src/commands/link-retarget.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoCxB,eAAO,MAAM,mBAAmB;;;;;;mBAwC9B,CAAC"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * `link-retarget` — rewrite ONE link/image/include destination in a document
3
+ * (the Problems panel's "Fix" for a moved target or an anchor under the
4
+ * wrong slug rule). Line-wise on the raw source, outside code regions; bytes
5
+ * outside the replaced destination token are byte-identical. Content verb:
6
+ * gated by `expect` (the file's hash from `topic-read`, or the hash the
7
+ * caller computed a moment ago) — refused with `stale-expect` if the file
8
+ * changed since, like every other content verb.
9
+ */
10
+ import { z } from "zod";
11
+ import { createHash } from "node:crypto";
12
+ import { includeDirectiveRe } from "@dogsbay/minja";
13
+ import { defineCommand } from "../engine.js";
14
+ import { normalizeStoragePath } from "../storage.js";
15
+ import { blankCodeRegions } from "../indexes.js";
16
+ const fail = (code, message, file, extra = {}) => ({
17
+ data: { applied: false, ...extra },
18
+ issues: [{ severity: "error", code, message, ...(file ? { file } : {}) }],
19
+ summary: message,
20
+ });
21
+ const hashOf = (text) => createHash("sha256").update(text).digest("hex").slice(0, 16);
22
+ /** Find destination tokens equal to `from` (exact, decoded or encoded twin) in the masked source. */
23
+ const destinationOffsets = (masked, from) => {
24
+ const variants = new Set([from]);
25
+ try {
26
+ variants.add(decodeURIComponent(from));
27
+ }
28
+ catch { /* not encoded */ }
29
+ try {
30
+ variants.add(encodeURI(from));
31
+ }
32
+ catch { /* cannot encode */ }
33
+ const out = [];
34
+ const res = [/\]\(\s*(?:<([^>]*)>|([^)\s]+))/g, /^[ \t]{0,3}\[[^\]]+\]:[ \t]+(?:<([^>]*)>|(\S+))/gm, /\b(?:href|src)\s*=\s*["']([^"']+)["']/g, includeDirectiveRe()];
35
+ for (const re of res) {
36
+ for (const m of masked.matchAll(re)) {
37
+ const dest = (m[1] ?? m[2] ?? "").trim();
38
+ if (!variants.has(dest))
39
+ continue;
40
+ const whole = m[0];
41
+ const idx = whole.lastIndexOf(m[1] ?? m[2] ?? "");
42
+ if (idx < 0)
43
+ continue;
44
+ const start = (m.index ?? 0) + idx;
45
+ out.push({ start, end: start + (m[1] ?? m[2] ?? "").length });
46
+ }
47
+ }
48
+ return out.sort((a, b) => a.start - b.start);
49
+ };
50
+ export const linkRetargetCommand = defineCommand({
51
+ name: "link-retarget",
52
+ writes: "content",
53
+ description: "Rewrite one link/image/include destination in a document (by exact current destination, optionally at a line); bytes outside the destination token are untouched. Gated by expect",
54
+ input: z
55
+ .object({
56
+ file: z.string().min(1).describe("Workspace-relative markdown file"),
57
+ from: z.string().min(1).describe("The destination exactly as written (href / include path)"),
58
+ to: z.string().min(1).describe("The new destination"),
59
+ line: z.number().int().min(1).optional().describe("Only the occurrence on this 1-based line (default: every occurrence of `from`)"),
60
+ expect: z.string().optional().describe("Divergence gate: the file's hash (topic-read fileHash); refused with stale-expect if the file changed since"),
61
+ })
62
+ .strict(),
63
+ positionals: ["file", "from", "to"],
64
+ async run(ctx, input) {
65
+ const file = normalizeStoragePath(input.file);
66
+ const { storage } = ctx.workspace;
67
+ if (!(await storage.exists(file)))
68
+ return fail("file-missing", `${file} does not exist`, file);
69
+ const source = await storage.read(file);
70
+ if (input.expect !== undefined && input.expect !== hashOf(source)) {
71
+ return fail("stale-expect", `${file} changed since it was read; nothing written. Re-read it and retry with the new hash.`, file);
72
+ }
73
+ const masked = blankCodeRegions(source);
74
+ const lineStarts = [0];
75
+ for (let i = 0; i < masked.length; i++)
76
+ if (masked.charCodeAt(i) === 10)
77
+ lineStarts.push(i + 1);
78
+ const lineOf = (offset) => { let lo = 0, hi = lineStarts.length - 1; while (lo < hi) {
79
+ const mid = (lo + hi + 1) >> 1;
80
+ if (lineStarts[mid] <= offset)
81
+ lo = mid;
82
+ else
83
+ hi = mid - 1;
84
+ } return lo + 1; };
85
+ const hits = destinationOffsets(masked, input.from).filter((h) => input.line === undefined || lineOf(h.start) === input.line);
86
+ if (!hits.length)
87
+ return fail("link-not-found", `no link/include destination "${input.from}"${input.line ? ` on line ${input.line}` : ""} in ${file} (outside code blocks)`, file);
88
+ let out = "";
89
+ let cursor = 0;
90
+ for (const h of hits) {
91
+ out += source.slice(cursor, h.start) + input.to;
92
+ cursor = h.end;
93
+ }
94
+ out += source.slice(cursor);
95
+ await storage.write(file, out);
96
+ ctx.workspace.invalidate([file]);
97
+ return {
98
+ data: { applied: true, file, from: input.from, to: input.to, occurrences: hits.length, lines: hits.map((h) => lineOf(h.start)), fileHash: hashOf(out) },
99
+ issues: [],
100
+ summary: `${file}: ${hits.length} destination${hits.length === 1 ? "" : "s"} "${input.from}" → "${input.to}"`,
101
+ };
102
+ },
103
+ });
104
+ //# sourceMappingURL=link-retarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-retarget.js","sourceRoot":"","sources":["../../src/commands/link-retarget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * File-level refactor commands: rename-file, safe-delete,
3
+ * extract-include. Reuse-safe by construction — every mutation is an
4
+ * index lookup plus surgical text edits, and inbound references are
5
+ * rewritten in the same run (see edits.ts).
6
+ */
7
+ import { z } from "zod";
8
+ import { type EngineIssue } from "../engine.js";
9
+ import type { InboundRef } from "../indexes.js";
10
+ /** Unrewritable references become warnings — never a silent miss. */
11
+ export declare const missIssues: (misses: InboundRef[]) => EngineIssue[];
12
+ export declare const renameFileCommand: import("../engine.js").CommandDef<z.ZodObject<{
13
+ from: z.ZodString;
14
+ to: z.ZodString;
15
+ }, z.core.$strict>>;
16
+ export declare const safeDeleteCommand: import("../engine.js").CommandDef<z.ZodObject<{
17
+ file: z.ZodString;
18
+ force: z.ZodOptional<z.ZodBoolean>;
19
+ }, z.core.$strict>>;
20
+ export declare const extractIncludeCommand: import("../engine.js").CommandDef<z.ZodObject<{
21
+ file: z.ZodString;
22
+ start: z.ZodNumber;
23
+ end: z.ZodNumber;
24
+ snippet: z.ZodString;
25
+ expect: z.ZodOptional<z.ZodString>;
26
+ }, z.core.$strict>>;
27
+ //# sourceMappingURL=refactor-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refactor-files.d.ts","sourceRoot":"","sources":["../../src/commands/refactor-files.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,OAAO,EAAqC,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAEnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAQhD,qEAAqE;AACrE,eAAO,MAAM,UAAU,GAAI,QAAQ,UAAU,EAAE,KAAG,WAAW,EAMxD,CAAC;AAiBN,eAAO,MAAM,iBAAiB;;;mBA6G5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;mBA2D5B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;mBAqDhC,CAAC"}