@nanonets/graft 0.12.1 → 0.15.0

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 (242) hide show
  1. package/README.md +20 -7
  2. package/dist/ai/crux.d.ts.map +1 -1
  3. package/dist/ai/crux.js +22 -1
  4. package/dist/ai/crux.js.map +1 -1
  5. package/dist/ai/llm/factory.d.ts +5 -1
  6. package/dist/ai/llm/factory.d.ts.map +1 -1
  7. package/dist/ai/llm/factory.js +8 -0
  8. package/dist/ai/llm/factory.js.map +1 -1
  9. package/dist/ai/llm/litellm.d.ts +34 -0
  10. package/dist/ai/llm/litellm.d.ts.map +1 -0
  11. package/dist/ai/llm/litellm.js +45 -0
  12. package/dist/ai/llm/litellm.js.map +1 -0
  13. package/dist/ai/llm/openai.d.ts.map +1 -1
  14. package/dist/ai/llm/openai.js +66 -7
  15. package/dist/ai/llm/openai.js.map +1 -1
  16. package/dist/ai/llm/recover-tool.d.ts +19 -0
  17. package/dist/ai/llm/recover-tool.d.ts.map +1 -0
  18. package/dist/ai/llm/recover-tool.js +109 -0
  19. package/dist/ai/llm/recover-tool.js.map +1 -0
  20. package/dist/ai/providers.d.ts.map +1 -1
  21. package/dist/ai/providers.js +2 -0
  22. package/dist/ai/providers.js.map +1 -1
  23. package/dist/ai/synthesize.d.ts.map +1 -1
  24. package/dist/ai/synthesize.js +19 -5
  25. package/dist/ai/synthesize.js.map +1 -1
  26. package/dist/app/checkout.d.ts +28 -0
  27. package/dist/app/checkout.d.ts.map +1 -0
  28. package/dist/app/checkout.js +100 -0
  29. package/dist/app/checkout.js.map +1 -0
  30. package/dist/app/events.d.ts +37 -0
  31. package/dist/app/events.d.ts.map +1 -0
  32. package/dist/app/events.js +59 -0
  33. package/dist/app/events.js.map +1 -0
  34. package/dist/app/identity.d.ts +54 -0
  35. package/dist/app/identity.d.ts.map +1 -0
  36. package/dist/app/identity.js +96 -0
  37. package/dist/app/identity.js.map +1 -0
  38. package/dist/app/main.d.ts +2 -0
  39. package/dist/app/main.d.ts.map +1 -0
  40. package/dist/app/main.js +56 -0
  41. package/dist/app/main.js.map +1 -0
  42. package/dist/app/pages.d.ts +39 -0
  43. package/dist/app/pages.d.ts.map +1 -0
  44. package/dist/app/pages.js +86 -0
  45. package/dist/app/pages.js.map +1 -0
  46. package/dist/app/queue.d.ts +40 -0
  47. package/dist/app/queue.d.ts.map +1 -0
  48. package/dist/app/queue.js +68 -0
  49. package/dist/app/queue.js.map +1 -0
  50. package/dist/app/review.d.ts +23 -0
  51. package/dist/app/review.d.ts.map +1 -0
  52. package/dist/app/review.js +129 -0
  53. package/dist/app/review.js.map +1 -0
  54. package/dist/app/server.d.ts +40 -0
  55. package/dist/app/server.d.ts.map +1 -0
  56. package/dist/app/server.js +117 -0
  57. package/dist/app/server.js.map +1 -0
  58. package/dist/ask/ask.d.ts +42 -0
  59. package/dist/ask/ask.d.ts.map +1 -1
  60. package/dist/ask/ask.js +442 -57
  61. package/dist/ask/ask.js.map +1 -1
  62. package/dist/ask/file-rank.d.ts +72 -0
  63. package/dist/ask/file-rank.d.ts.map +1 -0
  64. package/dist/ask/file-rank.js +160 -0
  65. package/dist/ask/file-rank.js.map +1 -0
  66. package/dist/ask/file-selection.d.ts +22 -0
  67. package/dist/ask/file-selection.d.ts.map +1 -0
  68. package/dist/ask/file-selection.js +66 -0
  69. package/dist/ask/file-selection.js.map +1 -0
  70. package/dist/ask/fuse.d.ts +16 -0
  71. package/dist/ask/fuse.d.ts.map +1 -1
  72. package/dist/ask/fuse.js +21 -4
  73. package/dist/ask/fuse.js.map +1 -1
  74. package/dist/ask/graphrank.d.ts +18 -0
  75. package/dist/ask/graphrank.d.ts.map +1 -1
  76. package/dist/ask/graphrank.js +65 -19
  77. package/dist/ask/graphrank.js.map +1 -1
  78. package/dist/blast/blast-cli.d.ts +5 -0
  79. package/dist/blast/blast-cli.d.ts.map +1 -1
  80. package/dist/blast/blast-cli.js +16 -1
  81. package/dist/blast/blast-cli.js.map +1 -1
  82. package/dist/blast/blast.d.ts +9 -0
  83. package/dist/blast/blast.d.ts.map +1 -1
  84. package/dist/blast/blast.js.map +1 -1
  85. package/dist/blast/evidence.d.ts +51 -0
  86. package/dist/blast/evidence.d.ts.map +1 -0
  87. package/dist/blast/evidence.js +162 -0
  88. package/dist/blast/evidence.js.map +1 -0
  89. package/dist/blast/owners.d.ts +85 -0
  90. package/dist/blast/owners.d.ts.map +1 -0
  91. package/dist/blast/owners.js +272 -0
  92. package/dist/blast/owners.js.map +1 -0
  93. package/dist/blast/render.d.ts +11 -2
  94. package/dist/blast/render.d.ts.map +1 -1
  95. package/dist/blast/render.js +125 -4
  96. package/dist/blast/render.js.map +1 -1
  97. package/dist/blast/viz.d.ts +20 -0
  98. package/dist/blast/viz.d.ts.map +1 -1
  99. package/dist/blast/viz.js +13 -157
  100. package/dist/blast/viz.js.map +1 -1
  101. package/dist/claude/format.js +1 -1
  102. package/dist/claude/format.js.map +1 -1
  103. package/dist/claude/hooks.d.ts.map +1 -1
  104. package/dist/claude/hooks.js +99 -11
  105. package/dist/claude/hooks.js.map +1 -1
  106. package/dist/claude/settings-merge.d.ts +11 -0
  107. package/dist/claude/settings-merge.d.ts.map +1 -1
  108. package/dist/claude/settings-merge.js +24 -10
  109. package/dist/claude/settings-merge.js.map +1 -1
  110. package/dist/claude/state.d.ts +14 -1
  111. package/dist/claude/state.d.ts.map +1 -1
  112. package/dist/claude/state.js +1 -1
  113. package/dist/claude/state.js.map +1 -1
  114. package/dist/claude/stats.d.ts.map +1 -1
  115. package/dist/claude/stats.js +2 -1
  116. package/dist/claude/stats.js.map +1 -1
  117. package/dist/claude/statusline.d.ts +5 -3
  118. package/dist/claude/statusline.d.ts.map +1 -1
  119. package/dist/claude/statusline.js +6 -4
  120. package/dist/claude/statusline.js.map +1 -1
  121. package/dist/claude/sync-run.d.ts.map +1 -1
  122. package/dist/claude/sync-run.js +10 -2
  123. package/dist/claude/sync-run.js.map +1 -1
  124. package/dist/claude/tally.d.ts +23 -0
  125. package/dist/claude/tally.d.ts.map +1 -0
  126. package/dist/claude/tally.js +138 -0
  127. package/dist/claude/tally.js.map +1 -0
  128. package/dist/cli.js +138 -1
  129. package/dist/cli.js.map +1 -1
  130. package/dist/context/build.d.ts.map +1 -1
  131. package/dist/context/build.js +23 -4
  132. package/dist/context/build.js.map +1 -1
  133. package/dist/context/check.d.ts.map +1 -1
  134. package/dist/context/check.js +2 -1
  135. package/dist/context/check.js.map +1 -1
  136. package/dist/context/node-file.d.ts +2 -1
  137. package/dist/context/node-file.d.ts.map +1 -1
  138. package/dist/context/node-file.js +37 -2
  139. package/dist/context/node-file.js.map +1 -1
  140. package/dist/engine.d.ts +2 -0
  141. package/dist/engine.d.ts.map +1 -1
  142. package/dist/engine.js +1 -0
  143. package/dist/engine.js.map +1 -1
  144. package/dist/graph/bindings.d.ts +25 -3
  145. package/dist/graph/bindings.d.ts.map +1 -1
  146. package/dist/graph/bindings.js +168 -2
  147. package/dist/graph/bindings.js.map +1 -1
  148. package/dist/graph/build.d.ts +4 -0
  149. package/dist/graph/build.d.ts.map +1 -1
  150. package/dist/graph/build.js +7 -4
  151. package/dist/graph/build.js.map +1 -1
  152. package/dist/graph/check.d.ts +3 -0
  153. package/dist/graph/check.d.ts.map +1 -1
  154. package/dist/graph/check.js +58 -11
  155. package/dist/graph/check.js.map +1 -1
  156. package/dist/graph/enrich.d.ts.map +1 -1
  157. package/dist/graph/enrich.js +29 -9
  158. package/dist/graph/enrich.js.map +1 -1
  159. package/dist/graph/extract.d.ts +22 -2
  160. package/dist/graph/extract.d.ts.map +1 -1
  161. package/dist/graph/extract.js +1444 -44
  162. package/dist/graph/extract.js.map +1 -1
  163. package/dist/graph/fingerprint.d.ts +6 -1
  164. package/dist/graph/fingerprint.d.ts.map +1 -1
  165. package/dist/graph/fingerprint.js +7 -3
  166. package/dist/graph/fingerprint.js.map +1 -1
  167. package/dist/graph/generic.d.ts.map +1 -1
  168. package/dist/graph/generic.js +39 -7
  169. package/dist/graph/generic.js.map +1 -1
  170. package/dist/graph/invariants.d.ts +3 -2
  171. package/dist/graph/invariants.d.ts.map +1 -1
  172. package/dist/graph/invariants.js +6 -3
  173. package/dist/graph/invariants.js.map +1 -1
  174. package/dist/graph/queries/dart.scm +42 -0
  175. package/dist/graph/queries/lua.scm +36 -0
  176. package/dist/graph/queries/nix.scm +32 -0
  177. package/dist/graph/refresh.d.ts.map +1 -1
  178. package/dist/graph/refresh.js +6 -2
  179. package/dist/graph/refresh.js.map +1 -1
  180. package/dist/graph/resolve.d.ts +1 -1
  181. package/dist/graph/resolve.d.ts.map +1 -1
  182. package/dist/graph/resolve.js +211 -26
  183. package/dist/graph/resolve.js.map +1 -1
  184. package/dist/graph/scopes.d.ts.map +1 -1
  185. package/dist/graph/scopes.js +2 -1
  186. package/dist/graph/scopes.js.map +1 -1
  187. package/dist/graph/source-files.d.ts +7 -2
  188. package/dist/graph/source-files.d.ts.map +1 -1
  189. package/dist/graph/source-files.js +19 -6
  190. package/dist/graph/source-files.js.map +1 -1
  191. package/dist/graph/traverse-cli.d.ts +13 -2
  192. package/dist/graph/traverse-cli.d.ts.map +1 -1
  193. package/dist/graph/traverse-cli.js +25 -4
  194. package/dist/graph/traverse-cli.js.map +1 -1
  195. package/dist/graph/workspace-cli.d.ts +2 -0
  196. package/dist/graph/workspace-cli.d.ts.map +1 -1
  197. package/dist/graph/workspace-cli.js +3 -0
  198. package/dist/graph/workspace-cli.js.map +1 -1
  199. package/dist/graph/workspace.d.ts.map +1 -1
  200. package/dist/graph/workspace.js +26 -2
  201. package/dist/graph/workspace.js.map +1 -1
  202. package/dist/hosts/mcp-config.d.ts +12 -0
  203. package/dist/hosts/mcp-config.d.ts.map +1 -1
  204. package/dist/hosts/mcp-config.js +54 -5
  205. package/dist/hosts/mcp-config.js.map +1 -1
  206. package/dist/hosts/registry.d.ts.map +1 -1
  207. package/dist/hosts/registry.js +20 -0
  208. package/dist/hosts/registry.js.map +1 -1
  209. package/dist/hosts/retract.d.ts +47 -0
  210. package/dist/hosts/retract.d.ts.map +1 -0
  211. package/dist/hosts/retract.js +473 -0
  212. package/dist/hosts/retract.js.map +1 -0
  213. package/dist/ingest/fs.d.ts +19 -5
  214. package/dist/ingest/fs.d.ts.map +1 -1
  215. package/dist/ingest/fs.js +35 -9
  216. package/dist/ingest/fs.js.map +1 -1
  217. package/dist/telemetry/contract.d.ts.map +1 -1
  218. package/dist/telemetry/contract.js +7 -2
  219. package/dist/telemetry/contract.js.map +1 -1
  220. package/dist/telemetry/sessions.d.ts.map +1 -1
  221. package/dist/telemetry/sessions.js +6 -0
  222. package/dist/telemetry/sessions.js.map +1 -1
  223. package/dist/util/state.d.ts +25 -2
  224. package/dist/util/state.d.ts.map +1 -1
  225. package/dist/util/state.js +24 -2
  226. package/dist/util/state.js.map +1 -1
  227. package/dist/viewer/app.js +2 -1
  228. package/dist/viewer/style.css +14 -0
  229. package/dist/viz/assemble.d.ts +17 -0
  230. package/dist/viz/assemble.d.ts.map +1 -1
  231. package/dist/viz/assemble.js.map +1 -1
  232. package/package.json +19 -4
  233. package/scripts/graph-quality.mjs +3 -3
  234. package/scripts/tally-audit.mjs +140 -0
  235. package/dist/ai/llm/claude-cli.d.ts +0 -60
  236. package/dist/ai/llm/claude-cli.d.ts.map +0 -1
  237. package/dist/ai/llm/claude-cli.js +0 -417
  238. package/dist/ai/llm/claude-cli.js.map +0 -1
  239. package/dist/util/num.d.ts +0 -3
  240. package/dist/util/num.d.ts.map +0 -1
  241. package/dist/util/num.js +0 -20
  242. package/dist/util/num.js.map +0 -1
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Did the agent actually TELL the user what graft saved?
3
+ *
4
+ * `savedTokens` (state.ts) counts what graft *computed* — every
5
+ * `[graft] tokens saved ≈ N` footer the PostToolUse accumulator swept up. That
6
+ * number is real whether or not anyone sees it. This module measures the other
7
+ * half: whether the reply the user read closed with the one-line tally that
8
+ * SKILL.md and `SAVINGS_TURN_NUDGE` (context/savings.ts) both ask for. A turn
9
+ * that saved 20k tokens in silence is a turn where the product did its job and
10
+ * got no credit for it, and the two are indistinguishable in the numbers we
11
+ * ship today.
12
+ *
13
+ * The assistant's own prose exists in exactly one place a hook can reach: the
14
+ * host's transcript JSONL, named on the Stop hook's stdin as `transcript_path`.
15
+ * So this reads that file — locally, at turn end, for a boolean. Nothing out of
16
+ * it is stored or sent; the session keeps a count and the telemetry contract
17
+ * carries that count as a bucket. See TELEMETRY.md.
18
+ *
19
+ * Only the tail is read. A transcript grows for the life of a session and can
20
+ * reach many megabytes, while the answer is always in its last few entries — a
21
+ * hook that read the whole file would get slower every turn for no extra signal.
22
+ */
23
+ import { closeSync, fstatSync, openSync, readSync } from 'node:fs';
24
+ /**
25
+ * How much of the transcript's end to read. Comfortably larger than any single
26
+ * turn's worth of entries, small enough that the read cost is flat as the
27
+ * session grows.
28
+ */
29
+ const TAIL_BYTES = 1024 * 1024;
30
+ /**
31
+ * The tally, as the agent is actually asked to write it: a "graft saved ~N
32
+ * tokens" claim in prose. Deliberately loose about the decoration around it —
33
+ * the 🌱, the "this turn", the "(3 calls)" suffix and the thousands separator
34
+ * are all optional in practice, and a metric that only counted the one exact
35
+ * phrasing from the example would measure the agent's formatting rather than
36
+ * whether the user was told. Anchored on "graft saved" + a number + "tokens" so
37
+ * ordinary prose about graft can't trip it.
38
+ */
39
+ const TALLY = /graft\s+saved\s*[~≈]?\s*[\d,.]+\s*[km]?\s*(?:tok|tokens)/i;
40
+ /** Did this reply tell the user what graft saved? */
41
+ export function hasSavingsTally(text) {
42
+ return TALLY.test(text);
43
+ }
44
+ /** Read the last {@link TAIL_BYTES} of a file as utf8, dropping the leading
45
+ * partial line a byte-offset read leaves behind. Returns '' on any I/O trouble —
46
+ * a hook never fails over a metric. */
47
+ function readTail(path) {
48
+ let fd;
49
+ try {
50
+ fd = openSync(path, 'r');
51
+ const size = fstatSync(fd).size;
52
+ const len = Math.min(size, TAIL_BYTES);
53
+ const buf = Buffer.allocUnsafe(len);
54
+ readSync(fd, buf, 0, len, size - len);
55
+ const raw = buf.toString('utf8');
56
+ return len < size ? raw.slice(raw.indexOf('\n') + 1) : raw;
57
+ }
58
+ catch {
59
+ return '';
60
+ }
61
+ finally {
62
+ if (fd !== undefined) {
63
+ try {
64
+ closeSync(fd);
65
+ }
66
+ catch { /* already gone */ }
67
+ }
68
+ }
69
+ }
70
+ /** Is this entry a user's own prompt, rather than a tool result wearing the
71
+ * `user` role? Tool results carry a `tool_result` part; a real prompt does not.
72
+ * The boundary matters because the tally can land in any text block of the turn,
73
+ * not only the last one. */
74
+ function isUserPrompt(entry) {
75
+ if (entry?.type !== 'user' || entry?.isMeta)
76
+ return false;
77
+ const content = entry?.message?.content;
78
+ if (typeof content === 'string')
79
+ return true;
80
+ return Array.isArray(content) && !content.some((p) => p?.type === 'tool_result');
81
+ }
82
+ function textOf(content) {
83
+ if (typeof content === 'string')
84
+ return content;
85
+ if (!Array.isArray(content))
86
+ return '';
87
+ return content.map((p) => (p?.type === 'text' ? String(p.text ?? '') : '')).join('\n');
88
+ }
89
+ /**
90
+ * The assistant prose of the turn the transcript ends on, or null when it can't
91
+ * be read (no path — a host whose Stop hook doesn't name one — unreadable file,
92
+ * or a tail with no assistant text in it).
93
+ *
94
+ * Null is meaningfully different from "no tally found": a turn we cannot observe
95
+ * is left out of BOTH the numerator and the denominator by the caller, so a host
96
+ * that exposes no transcript reports no ratio rather than a ratio of zero.
97
+ *
98
+ * Sidechain entries (subagents) are skipped throughout — a subagent's own prose
99
+ * is never what the user read.
100
+ */
101
+ export function lastAssistantTurn(transcriptPath) {
102
+ if (typeof transcriptPath !== 'string' || !transcriptPath)
103
+ return null;
104
+ const tail = readTail(transcriptPath);
105
+ if (!tail)
106
+ return null;
107
+ const entries = [];
108
+ for (const line of tail.split('\n')) {
109
+ if (!line.trim())
110
+ continue;
111
+ try {
112
+ entries.push(JSON.parse(line));
113
+ }
114
+ catch { /* clipped or partial line */ }
115
+ }
116
+ // Walk back to the turn boundary, collecting assistant text on the way.
117
+ const parts = [];
118
+ let uuid = null;
119
+ for (let i = entries.length - 1; i >= 0; i--) {
120
+ const e = entries[i];
121
+ if (e?.isSidechain)
122
+ continue;
123
+ if (isUserPrompt(e))
124
+ break;
125
+ if (e?.type !== 'assistant')
126
+ continue;
127
+ const text = textOf(e?.message?.content);
128
+ if (!text.trim())
129
+ continue;
130
+ if (uuid === null && typeof e?.uuid === 'string')
131
+ uuid = e.uuid;
132
+ parts.unshift(text);
133
+ }
134
+ if (uuid === null || parts.length === 0)
135
+ return null;
136
+ return { uuid, text: parts.join('\n') };
137
+ }
138
+ //# sourceMappingURL=tally.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tally.js","sourceRoot":"","sources":["../../src/claude/tally.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -25,10 +25,12 @@ import { discoverWorkspaceChildren } from "./graph/scopes.js";
25
25
  import { runWorkspaceAsk, runWorkspaceBuild, runWorkspaceCallers, runWorkspaceCheck, runWorkspaceGrep, runWorkspaceMap, } from "./graph/workspace-cli.js";
26
26
  import { formatInitEpilogue } from "./cli-epilogue.js";
27
27
  import { planInit, selectedWrites } from "./hosts/plan.js";
28
+ import { planRetract, runRetract, changed } from "./hosts/retract.js";
28
29
  import { formatNonInteractiveHelp, formatPlan, runPicker } from "./cli-picker.js";
29
30
  import { homedir } from "node:os";
30
31
  import { formatUpgradeReport, formatVersionReport, getNpmViewVersion, readCurrentVersion, runUpgrade } from "./cli-meta.js";
31
32
  import { patchBuildConfig } from "./util/state.js";
33
+ import { normalizePathPrefix } from "./util/paths.js";
32
34
  import { formatUpdateNudge, maybeRefreshInBackground, readUpdateCache, refreshUpdateCache, writeStamp } from "./upkeep.js";
33
35
  import { errorCode, filesBucket, durationBucket, formatDebug, formatStatus, firstRunNotice, isTrackedCommand, langsValue, offReason, maybeFlushInBackground, patchState, runFlush, track, trackFirstRunIfNew, } from "./telemetry/index.js";
34
36
  const program = new Command();
@@ -129,6 +131,26 @@ async function refreshBefore(dir, opts) {
129
131
  /** Attached to every query command: `--no-refresh` answers from the graph exactly
130
132
  * as it is on disk, no rebuild. */
131
133
  const NO_REFRESH_FLAG = ["--no-refresh", "skip the freshness check — answer from the graph as-is"];
134
+ const VIZ_TABS = ["context", "code", "outline"];
135
+ /**
136
+ * `--tabs context,code` → the tabs to write into an exported page.
137
+ *
138
+ * An unknown name is a caller mistake worth failing on rather than silently
139
+ * dropping: a page exported with a typo'd tab list would be missing a tab and
140
+ * nothing would say why. Undefined means "all of them", which is the default the
141
+ * exporter already applies.
142
+ */
143
+ function parseTabs(raw) {
144
+ if (raw === undefined)
145
+ return undefined;
146
+ const want = raw.split(",").map((t) => t.trim()).filter(Boolean);
147
+ const bad = want.filter((t) => !VIZ_TABS.includes(t));
148
+ if (bad.length > 0 || want.length === 0) {
149
+ console.error(`✗ --tabs takes a comma-separated subset of ${VIZ_TABS.join(", ")}${bad.length ? ` — got "${bad.join('", "')}"` : ""}`);
150
+ process.exit(1);
151
+ }
152
+ return want;
153
+ }
132
154
  /**
133
155
  * Commands that own the upgrade story themselves (`version`, `upgrade`) or must
134
156
  * not editorialize on stderr at startup (`mcp` runs its own upkeep at boot, and
@@ -239,10 +261,21 @@ program
239
261
  .option("--allow-partial", "with --deep: exit 0 even when some files' summaries failed (default: a degraded meaning tier exits 1)")
240
262
  .option("--follow-submodules", "include initialized Git submodules recursively; persisted for later builds and automatic refreshes")
241
263
  .option("--no-follow-submodules", "exclude Git submodules; persisted for later builds and automatic refreshes (default)")
264
+ .option("--follow-nested-repos", "include nested Git clones the index does not track (a multi-repo manifest checkout, or any repo cloned into the tree) " +
265
+ "as ONE graph, so imports across them resolve; persisted for later builds and automatic refreshes")
266
+ .option("--no-follow-nested-repos", "exclude untracked nested Git clones; persisted for later builds and automatic refreshes (default)")
242
267
  .option("--include-dir <name>", "override SKIP_DIRS for this repo's walks — repeatable (e.g. --include-dir build --include-dir tools); " +
243
268
  "persisted, so a later build (and the hooks/refresh path) include it without the flag; dot-dirs are never overridable", (val, prev) => [...prev, val], [])
269
+ .option("--only-dir <path>", "only index files under this repo-relative path — repeatable; persisted, so a later build " +
270
+ "(and the hooks/refresh path) walks the same set; everything outside the list is skipped", (val, prev) => [...prev, val], [])
271
+ .option("--no-gitignore", "skip writing graft/ into .gitignore (same as GRAFT_NO_GITIGNORE=1)")
272
+ .option("--no-ignore", "skip writing .ignore for ripgrep re-admit (same as GRAFT_NO_IGNORE=1)")
244
273
  .action(async (dir, opts, command) => {
245
274
  const buildStartedAt = Date.now();
275
+ if (opts.gitignore === false)
276
+ process.env.GRAFT_NO_GITIGNORE = "1";
277
+ if (opts.ignore === false)
278
+ process.env.GRAFT_NO_IGNORE = "1";
246
279
  const concurrency = opts.concurrency ? Math.max(1, Number(opts.concurrency)) : undefined;
247
280
  if (opts.concurrency && !Number.isFinite(concurrency)) {
248
281
  console.error(`✗ --concurrency must be a number, got "${opts.concurrency}"`);
@@ -271,10 +304,31 @@ program
271
304
  }
272
305
  buildConfigPatch.includeDirs = opts.includeDir;
273
306
  }
307
+ // The whitelist is NOT persisted to `.graft/config.json`: it belongs with the
308
+ // graph (the fingerprint records it at build time), never in the source repo,
309
+ // so a `--only-dir` build leaves no trace under the repo being indexed.
310
+ let onlyDirs;
311
+ if (opts.onlyDir && opts.onlyDir.length > 0) {
312
+ // --only-dir takes a repo-relative path prefix, normalized to the same
313
+ // posix, no-`./`, no-trailing-slash form `--in` uses, so the prefix match
314
+ // is exact. A prefix that normalizes to "" (a bare "/" or ".") is rejected:
315
+ // it would mean "match nothing" or "match everything", neither of which is
316
+ // a deliberate whitelist.
317
+ const normalized = opts.onlyDir.map((p) => normalizePathPrefix(p)).filter((p) => p !== "");
318
+ if (normalized.length === 0) {
319
+ console.error("✗ --only-dir: expected a non-empty repo-relative path");
320
+ process.exit(1);
321
+ }
322
+ onlyDirs = normalized;
323
+ }
274
324
  const followSubmodulesWasExplicit = command.getOptionValueSource("followSubmodules") === "cli";
275
325
  if (followSubmodulesWasExplicit && typeof opts.followSubmodules === "boolean") {
276
326
  buildConfigPatch.followSubmodules = opts.followSubmodules;
277
327
  }
328
+ const followNestedReposWasExplicit = command.getOptionValueSource("followNestedRepos") === "cli";
329
+ if (followNestedReposWasExplicit && typeof opts.followNestedRepos === "boolean") {
330
+ buildConfigPatch.followNestedRepos = opts.followNestedRepos;
331
+ }
278
332
  if (Object.keys(buildConfigPatch).length > 0) {
279
333
  patchBuildConfig(resolve(dir), buildConfigPatch);
280
334
  }
@@ -307,6 +361,7 @@ program
307
361
  override: buildGlobalDir,
308
362
  includeDirs: opts.includeDir,
309
363
  followSubmodules: followSubmodulesWasExplicit ? opts.followSubmodules : undefined,
364
+ followNestedRepos: followNestedReposWasExplicit ? opts.followNestedRepos : undefined,
310
365
  });
311
366
  return;
312
367
  }
@@ -335,6 +390,7 @@ program
335
390
  concurrency,
336
391
  reuse: opts.reuse,
337
392
  lsp: opts.lsp,
393
+ onlyDirs,
338
394
  onProgress: ({ phase, index, total, file }) => process.stderr.write(`\r${phase === "enrich" ? "summarizing" : "parsing"} ${index + 1}/${total}: ${file.slice(0, 50).padEnd(50)}`),
339
395
  }).catch((err) => {
340
396
  track("build_failed", { stage: "graph", code: errorCode(err) }, { repo: buildRoot });
@@ -363,7 +419,12 @@ program
363
419
  for (const e of g.errors)
364
420
  console.error(`✗ ${e}`);
365
421
  const rel = relative(process.cwd(), g.contextDir) || "graft";
366
- console.log(` ${rel}/ is git-ignored (added automatically) — a local cache; teammates run \`graft build\` to get their own.`);
422
+ if (process.env.GRAFT_NO_GITIGNORE) {
423
+ console.log(` ${rel}/ is a local cache — add it to your gitignore if you want it untracked.`);
424
+ }
425
+ else {
426
+ console.log(` ${rel}/ is git-ignored (added automatically) — a local cache; teammates run \`graft build\` to get their own.`);
427
+ }
367
428
  // #127: a --deep run whose LLM calls failed used to print the same success
368
429
  // footer and exit 0, so a quota-exhausted build looked identical to a clean
369
430
  // one and `graft check` still said "in sync" (it only ever checked Tier-1).
@@ -504,7 +565,12 @@ program
504
565
  .option("--no-open", "don't open the browser")
505
566
  .option("--export <dir>", "write one self-contained index.html instead of serving (for CI, GitHub Pages, or a build artifact)")
506
567
  .option("--title <text>", "subtitle shown beside the repo name in an exported page (e.g. \"PR #151\")")
568
+ .option("--tabs <list>", "tabs the exported page offers, comma separated: context,code,outline (default: all three)")
507
569
  .action(async (dirArg, opts) => {
570
+ // Flags are checked before the repository is: a typo'd `--tabs` is a mistake
571
+ // in the command the caller just typed, and telling them to go build an index
572
+ // first sends them off to fix the wrong thing.
573
+ const tabs = parseTabs(opts.tabs);
508
574
  const dir = noteQuery(queryRoot(dirArg));
509
575
  const { existsSync } = await import("node:fs");
510
576
  const { resolve, basename } = await import("node:path");
@@ -528,6 +594,7 @@ program
528
594
  outDir: resolve(opts.export),
529
595
  repoName: basename(root),
530
596
  subtitle: opts.title,
597
+ tabs,
531
598
  });
532
599
  const kb = Math.round(out.bytes / 1024);
533
600
  console.log(`graft viz → ${out.file} (${kb} kB, ${out.contextNodes} concept nodes, ${out.codeNodes} code nodes)`);
@@ -599,6 +666,8 @@ program
599
666
  .option("--name", "name the affected areas with one cached LLM call (needs GRAFT_API_KEY); without it, areas are named after their hub symbol")
600
667
  .option("--export-viz <dir>", "also write the interactive page for this radius (one self-contained index.html — for CI, GitHub Pages, or an artifact)")
601
668
  .option("--title <text>", "subtitle beside the repo name on the exported page (e.g. \"PR #171\")")
669
+ .option("--no-owners", "do not suggest who to tag (by default, git history names the people behind each affected area)")
670
+ .option("--pr-author <who...>", "GitHub login, git name or email of the PR author, so they are left out of their own suggestions")
602
671
  .option(...NO_REFRESH_FLAG)
603
672
  .action(async (dirArg, opts) => {
604
673
  const dir = noteQuery(queryRoot(dirArg));
@@ -611,6 +680,8 @@ program
611
680
  name: opts.name,
612
681
  exportViz: opts.exportViz,
613
682
  title: opts.title,
683
+ owners: opts.owners,
684
+ prAuthor: opts.prAuthor,
614
685
  globalDir: program.opts().dir,
615
686
  });
616
687
  });
@@ -804,6 +875,15 @@ program
804
875
  /** One repo's worth of `init` writes — the parent, then each workspace child. */
805
876
  function wireTarget(repo, ids, ctx) {
806
877
  const { home, cliPath, plan, wantClaude, opts } = ctx;
878
+ // Converge, don't just add. init writes the selected hosts; without this it
879
+ // never touches the rest, so a repo wired by an older version (or by the same
880
+ // version with different --agents) keeps that run's files forever — and
881
+ // `reconcileWiring` then keeps them *up to date*, which is worse than stale.
882
+ // Retract every host NOT being written now; `exclude` spares the ones about to
883
+ // be rewritten, and the graph cache is kept (init is one step from using it).
884
+ const retracted = changed(runRetract(repo, { home, apply: true, global: opts.global, cache: false, exclude: ids })).filter((r) => r.action !== "skipped-unparseable");
885
+ for (const r of retracted)
886
+ console.error(`- removed ${r.path} (${r.what}) — agent not selected`);
807
887
  if (wantClaude) {
808
888
  const res = runInit(repo, { build: opts.build, cliPath });
809
889
  console.error(`✓ wrote ${res.settingsPath}`);
@@ -859,6 +939,63 @@ function wireTarget(repo, ids, ctx) {
859
939
  : "· skipped graph build");
860
940
  }
861
941
  }
942
+ /** Group a retraction report by host, so the output reads as "what leaves each agent". */
943
+ function formatRetractions(rs, apply) {
944
+ const hit = changed(rs);
945
+ if (hit.length === 0)
946
+ return "· nothing to remove — no graft wiring found here";
947
+ const verb = apply ? "removed" : "would remove";
948
+ const lines = [];
949
+ const byHost = new Map();
950
+ for (const r of hit) {
951
+ const k = byHost.get(r.hostId) ?? [];
952
+ k.push(r);
953
+ byHost.set(r.hostId, k);
954
+ }
955
+ for (const [host, items] of byHost) {
956
+ lines.push(`\n${host}:`);
957
+ for (const r of items) {
958
+ const mark = r.action === "skipped-unparseable"
959
+ ? "⚠"
960
+ : r.action === "deleted"
961
+ ? "-"
962
+ : "~";
963
+ const note = r.action === "skipped-unparseable"
964
+ ? " — not valid JSON, left untouched (remove the graft entry by hand)"
965
+ : r.action === "deleted"
966
+ ? ` (${r.what} — deleted)`
967
+ : ` (${r.what})`;
968
+ const scope = r.scope === "global" ? " [machine-wide]" : "";
969
+ lines.push(` ${mark} ${verb}: ${r.path}${scope}${note}`);
970
+ }
971
+ }
972
+ return lines.join("\n").replace(/^\n/, "");
973
+ }
974
+ program
975
+ .command("uninstall")
976
+ .description("Remove every file and config entry graft has written to this repo (the inverse of init)")
977
+ .argument("[dir]", "target repo directory", ".")
978
+ .option("-y, --yes", "actually remove (without this, prints what it would remove and exits)")
979
+ .option("--keep-cache", "keep graft/ and the .gitignore entries — wiring only")
980
+ .option("--no-global", "leave out-of-repo files alone (~/.codex, ~/.gemini)")
981
+ .action((dir, opts) => {
982
+ const repo = resolve(dir);
983
+ const home = homedir();
984
+ const common = { home, global: opts.global, cache: opts.keepCache ? false : true };
985
+ if (!opts.yes) {
986
+ console.error(formatRetractions(planRetract(repo, common), false));
987
+ console.error("\nDry run — nothing was touched. Re-run with -y to remove.");
988
+ if (opts.global !== false)
989
+ console.error("Entries marked [machine-wide] affect every project; --no-global skips them.");
990
+ return;
991
+ }
992
+ const done = runRetract(repo, { ...common, apply: true });
993
+ console.error(formatRetractions(done, true));
994
+ const bad = changed(done).filter((r) => r.action === "skipped-unparseable");
995
+ console.error(bad.length
996
+ ? `\n⚠ ${bad.length} file(s) could not be parsed and were left as-is — see above.`
997
+ : "\n✓ graft fully removed. `graft init` re-wires from scratch.");
998
+ });
862
999
  program.parseAsync().catch((err) => {
863
1000
  console.error(err instanceof Error ? err.message : err);
864
1001
  process.exit(1);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/context/build.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAA0B,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAiB/E,yCAAyC;AACzC,eAAO,MAAM,eAAe,UAK3B,CAAC;AAKF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,WAAW,GAAG,YAAY,GAAG,OAAO,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,kGAAkG;IAClG,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;6FACyF;IACzF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAwBD,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAkNxF"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/context/build.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAA0B,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAiB/E,yCAAyC;AACzC,eAAO,MAAM,eAAe,UAK3B,CAAC;AAKF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,WAAW,GAAG,YAAY,GAAG,OAAO,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,kGAAkG;IAClG,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;6FACyF;IACzF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAwBD,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAuOxF"}
@@ -17,7 +17,7 @@ import { walkDir } from "../ingest/fs.js";
17
17
  import { contentHash } from "../util/id.js";
18
18
  import { relPosix } from "../util/paths.js";
19
19
  import { readSourceFile } from "../util/source.js";
20
- import { readFollowSubmodules, readIncludeDirs } from "../util/state.js";
20
+ import { readFollowNestedRepos, readFollowSubmodules, readIncludeDirs } from "../util/state.js";
21
21
  import { LlmFailureGate } from "../ai/failure.js";
22
22
  import { CACHE_DIR, MANIFEST_VERSION, contextDirFor, deleteNode, digestSources, existingNodeSlugs, slugify, writeManifest, writeNode, } from "./node-file.js";
23
23
  /** Extensions treated as source code. */
@@ -37,6 +37,7 @@ export async function buildContext(dir, opts) {
37
37
  // Tier-2 concept pipeline sees exactly the same directories and submodules.
38
38
  const files = walkDir(root, readIncludeDirs(root), {
39
39
  followSubmodules: readFollowSubmodules(root),
40
+ followNestedRepos: readFollowNestedRepos(root),
40
41
  })
41
42
  .filter((f) => exts.some((e) => f.toLowerCase().endsWith(e)))
42
43
  .filter((f) => !f.startsWith(outDir));
@@ -135,14 +136,27 @@ export async function buildContext(dir, opts) {
135
136
  opts.onProgress?.({ phase: "synthesize", index: b, total: batches.length, file: `batch ${b + 1}` });
136
137
  const key = batchKey(batches[b], hashByPath);
137
138
  let nodes = cache.synth[key];
138
- if (!nodes) {
139
+ // An empty array is a miss, not a hit: caching [] made a silent empty
140
+ // synthesis permanent, the same trap #177 closed for the meaning pass (#129).
141
+ const cached = Array.isArray(nodes) && nodes.length > 0;
142
+ if (!cached) {
139
143
  nodes = await opts.synthesizer.synthesize(batches[b]);
140
- cache.synth[key] = nodes;
144
+ if (nodes.length > 0)
145
+ cache.synth[key] = nodes;
146
+ else
147
+ delete cache.synth[key];
141
148
  }
149
+ const links = nodes.reduce((n, node) => n + node.links.length, 0);
150
+ console.error(` synthesis batch ${b + 1}/${batches.length}: ${nodes.length} nodes, ${links} links${cached ? " (cached)" : ""}`);
142
151
  synthNodes.push(...nodes);
143
152
  }
144
153
  // Drop cache entries for batches we no longer produce, so it can't grow forever.
145
- cache.synth = Object.fromEntries(batches.map((batch) => [batchKey(batch, hashByPath), cache.synth[batchKey(batch, hashByPath)] ?? []]));
154
+ // Skip empty arrays so a failed batch is retried on the next --deep, not frozen.
155
+ cache.synth = Object.fromEntries(batches.flatMap((batch) => {
156
+ const k = batchKey(batch, hashByPath);
157
+ const v = cache.synth[k];
158
+ return v && v.length > 0 ? [[k, v]] : [];
159
+ }));
146
160
  saveCache(outDir, cache);
147
161
  // Phase 3: merge synth nodes by slug, building a name→slug resolution table.
148
162
  const drafts = new Map();
@@ -219,6 +233,11 @@ export async function buildContext(dir, opts) {
219
233
  }
220
234
  result.nodes = nodes.length;
221
235
  result.links = nodes.reduce((n, node) => n + node.links.length, 0);
236
+ // Failure mode 2 (#129): a model can emit real tool_calls whose quality
237
+ // collapsed (many batches, zero links) with nothing per-batch in the log.
238
+ if (result.links === 0 && result.batches > 1) {
239
+ console.error(`⚠ synthesis produced 0 links across ${result.batches} batches — the model may be degrading; see per-batch counts above`);
240
+ }
222
241
  // Manifest: authoritative file→hash map (every processed file) + node roster.
223
242
  const fileRefs = processed
224
243
  .map((w) => ({ path: w.rel, hash: w.hash }))