@nanonets/graft 0.15.0 → 0.18.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 (259) hide show
  1. package/README.md +17 -5
  2. package/dist/ai/crux.d.ts +14 -1
  3. package/dist/ai/crux.d.ts.map +1 -1
  4. package/dist/ai/crux.js +31 -1
  5. package/dist/ai/crux.js.map +1 -1
  6. package/dist/ai/failure.d.ts +13 -2
  7. package/dist/ai/failure.d.ts.map +1 -1
  8. package/dist/ai/failure.js +16 -4
  9. package/dist/ai/failure.js.map +1 -1
  10. package/dist/ai/llm/factory.d.ts +6 -1
  11. package/dist/ai/llm/factory.d.ts.map +1 -1
  12. package/dist/ai/llm/factory.js +8 -0
  13. package/dist/ai/llm/factory.js.map +1 -1
  14. package/dist/ai/llm/orcarouter.d.ts +34 -0
  15. package/dist/ai/llm/orcarouter.d.ts.map +1 -0
  16. package/dist/ai/llm/orcarouter.js +45 -0
  17. package/dist/ai/llm/orcarouter.js.map +1 -0
  18. package/dist/ai/providers.d.ts.map +1 -1
  19. package/dist/ai/providers.js +13 -3
  20. package/dist/ai/providers.js.map +1 -1
  21. package/dist/app/brain-build.d.ts +66 -0
  22. package/dist/app/brain-build.d.ts.map +1 -0
  23. package/dist/app/brain-build.js +169 -0
  24. package/dist/app/brain-build.js.map +1 -0
  25. package/dist/app/checkout.d.ts +53 -3
  26. package/dist/app/checkout.d.ts.map +1 -1
  27. package/dist/app/checkout.js +195 -27
  28. package/dist/app/checkout.js.map +1 -1
  29. package/dist/app/events.d.ts +7 -0
  30. package/dist/app/events.d.ts.map +1 -1
  31. package/dist/app/events.js +7 -2
  32. package/dist/app/events.js.map +1 -1
  33. package/dist/app/history.d.ts +128 -0
  34. package/dist/app/history.d.ts.map +1 -0
  35. package/dist/app/history.js +269 -0
  36. package/dist/app/history.js.map +1 -0
  37. package/dist/app/identity.d.ts +33 -0
  38. package/dist/app/identity.d.ts.map +1 -1
  39. package/dist/app/identity.js +72 -0
  40. package/dist/app/identity.js.map +1 -1
  41. package/dist/app/main.js +12 -0
  42. package/dist/app/main.js.map +1 -1
  43. package/dist/app/pages.d.ts +17 -0
  44. package/dist/app/pages.d.ts.map +1 -1
  45. package/dist/app/pages.js +112 -5
  46. package/dist/app/pages.js.map +1 -1
  47. package/dist/app/review-process.d.ts +66 -0
  48. package/dist/app/review-process.d.ts.map +1 -0
  49. package/dist/app/review-process.js +199 -0
  50. package/dist/app/review-process.js.map +1 -0
  51. package/dist/app/review-worker.d.ts +2 -0
  52. package/dist/app/review-worker.d.ts.map +1 -0
  53. package/dist/app/review-worker.js +108 -0
  54. package/dist/app/review-worker.js.map +1 -0
  55. package/dist/app/review.d.ts.map +1 -1
  56. package/dist/app/review.js +14 -1
  57. package/dist/app/review.js.map +1 -1
  58. package/dist/app/server.d.ts +22 -2
  59. package/dist/app/server.d.ts.map +1 -1
  60. package/dist/app/server.js +77 -3
  61. package/dist/app/server.js.map +1 -1
  62. package/dist/app/sources.d.ts +68 -0
  63. package/dist/app/sources.d.ts.map +1 -0
  64. package/dist/app/sources.js +341 -0
  65. package/dist/app/sources.js.map +1 -0
  66. package/dist/ask/ask.d.ts +6 -0
  67. package/dist/ask/ask.d.ts.map +1 -1
  68. package/dist/ask/ask.js +30 -2
  69. package/dist/ask/ask.js.map +1 -1
  70. package/dist/blast/blast-cli.d.ts.map +1 -1
  71. package/dist/blast/blast-cli.js +6 -30
  72. package/dist/blast/blast-cli.js.map +1 -1
  73. package/dist/blast/name.d.ts +13 -0
  74. package/dist/blast/name.d.ts.map +1 -1
  75. package/dist/blast/name.js +36 -0
  76. package/dist/blast/name.js.map +1 -1
  77. package/dist/brain/attach.d.ts +44 -0
  78. package/dist/brain/attach.d.ts.map +1 -0
  79. package/dist/brain/attach.js +63 -0
  80. package/dist/brain/attach.js.map +1 -0
  81. package/dist/brain/connect.d.ts +59 -0
  82. package/dist/brain/connect.d.ts.map +1 -0
  83. package/dist/brain/connect.js +80 -0
  84. package/dist/brain/connect.js.map +1 -0
  85. package/dist/brain/link.d.ts +82 -0
  86. package/dist/brain/link.d.ts.map +1 -0
  87. package/dist/brain/link.js +136 -0
  88. package/dist/brain/link.js.map +1 -0
  89. package/dist/brain/push.d.ts +72 -0
  90. package/dist/brain/push.d.ts.map +1 -0
  91. package/dist/brain/push.js +191 -0
  92. package/dist/brain/push.js.map +1 -0
  93. package/dist/brain/wire.d.ts +38 -0
  94. package/dist/brain/wire.d.ts.map +1 -0
  95. package/dist/brain/wire.js +133 -0
  96. package/dist/brain/wire.js.map +1 -0
  97. package/dist/claude/format.d.ts.map +1 -1
  98. package/dist/claude/format.js +10 -3
  99. package/dist/claude/format.js.map +1 -1
  100. package/dist/claude/hooks.d.ts.map +1 -1
  101. package/dist/claude/hooks.js +125 -24
  102. package/dist/claude/hooks.js.map +1 -1
  103. package/dist/claude/init.d.ts +6 -0
  104. package/dist/claude/init.d.ts.map +1 -1
  105. package/dist/claude/init.js +10 -2
  106. package/dist/claude/init.js.map +1 -1
  107. package/dist/claude/session-metrics.d.ts +73 -0
  108. package/dist/claude/session-metrics.d.ts.map +1 -0
  109. package/dist/claude/session-metrics.js +206 -0
  110. package/dist/claude/session-metrics.js.map +1 -0
  111. package/dist/claude/settings-merge.d.ts +25 -1
  112. package/dist/claude/settings-merge.d.ts.map +1 -1
  113. package/dist/claude/settings-merge.js +88 -25
  114. package/dist/claude/settings-merge.js.map +1 -1
  115. package/dist/claude/skill-template.d.ts.map +1 -1
  116. package/dist/claude/skill-template.js +6 -0
  117. package/dist/claude/skill-template.js.map +1 -1
  118. package/dist/claude/state.d.ts +26 -0
  119. package/dist/claude/state.d.ts.map +1 -1
  120. package/dist/claude/state.js +14 -1
  121. package/dist/claude/state.js.map +1 -1
  122. package/dist/claude/tally.d.ts +27 -0
  123. package/dist/claude/tally.d.ts.map +1 -1
  124. package/dist/claude/tally.js +74 -1
  125. package/dist/claude/tally.js.map +1 -1
  126. package/dist/cli.js +237 -4
  127. package/dist/cli.js.map +1 -1
  128. package/dist/context/build.d.ts +11 -0
  129. package/dist/context/build.d.ts.map +1 -1
  130. package/dist/context/build.js +27 -6
  131. package/dist/context/build.js.map +1 -1
  132. package/dist/context/check.d.ts.map +1 -1
  133. package/dist/context/check.js +5 -13
  134. package/dist/context/check.js.map +1 -1
  135. package/dist/context/node-file.d.ts +1 -1
  136. package/dist/context/node-file.d.ts.map +1 -1
  137. package/dist/context/node-file.js +38 -6
  138. package/dist/context/node-file.js.map +1 -1
  139. package/dist/context/price.d.ts +49 -0
  140. package/dist/context/price.d.ts.map +1 -0
  141. package/dist/context/price.js +83 -0
  142. package/dist/context/price.js.map +1 -0
  143. package/dist/context/savings.d.ts +20 -2
  144. package/dist/context/savings.d.ts.map +1 -1
  145. package/dist/context/savings.js +57 -4
  146. package/dist/context/savings.js.map +1 -1
  147. package/dist/engine.d.ts +2 -0
  148. package/dist/engine.d.ts.map +1 -1
  149. package/dist/engine.js +1 -0
  150. package/dist/engine.js.map +1 -1
  151. package/dist/graph/cards.d.ts +4 -3
  152. package/dist/graph/cards.d.ts.map +1 -1
  153. package/dist/graph/cards.js +34 -6
  154. package/dist/graph/cards.js.map +1 -1
  155. package/dist/graph/enrich.d.ts +4 -4
  156. package/dist/graph/enrich.d.ts.map +1 -1
  157. package/dist/graph/enrich.js +32 -6
  158. package/dist/graph/enrich.js.map +1 -1
  159. package/dist/graph/generic.d.ts +10 -0
  160. package/dist/graph/generic.d.ts.map +1 -1
  161. package/dist/graph/generic.js +20 -2
  162. package/dist/graph/generic.js.map +1 -1
  163. package/dist/graph/workspace.d.ts +2 -0
  164. package/dist/graph/workspace.d.ts.map +1 -1
  165. package/dist/graph/workspace.js +173 -6
  166. package/dist/graph/workspace.js.map +1 -1
  167. package/dist/hosts/antigravity.d.ts +2 -2
  168. package/dist/hosts/antigravity.d.ts.map +1 -1
  169. package/dist/hosts/claude-global.d.ts +33 -0
  170. package/dist/hosts/claude-global.d.ts.map +1 -0
  171. package/dist/hosts/claude-global.js +118 -0
  172. package/dist/hosts/claude-global.js.map +1 -0
  173. package/dist/hosts/codex-hooks.d.ts +2 -6
  174. package/dist/hosts/codex-hooks.d.ts.map +1 -1
  175. package/dist/hosts/codex-hooks.js +7 -30
  176. package/dist/hosts/codex-hooks.js.map +1 -1
  177. package/dist/hosts/config-write.d.ts +36 -0
  178. package/dist/hosts/config-write.d.ts.map +1 -0
  179. package/dist/hosts/config-write.js +63 -0
  180. package/dist/hosts/config-write.js.map +1 -0
  181. package/dist/hosts/cursor-hooks.d.ts +18 -0
  182. package/dist/hosts/cursor-hooks.d.ts.map +1 -0
  183. package/dist/hosts/cursor-hooks.js +100 -0
  184. package/dist/hosts/cursor-hooks.js.map +1 -0
  185. package/dist/hosts/init.d.ts +2 -2
  186. package/dist/hosts/init.d.ts.map +1 -1
  187. package/dist/hosts/init.js +8 -2
  188. package/dist/hosts/init.js.map +1 -1
  189. package/dist/hosts/mcp-config.d.ts +3 -5
  190. package/dist/hosts/mcp-config.d.ts.map +1 -1
  191. package/dist/hosts/mcp-config.js +5 -10
  192. package/dist/hosts/mcp-config.js.map +1 -1
  193. package/dist/hosts/plan.d.ts.map +1 -1
  194. package/dist/hosts/plan.js +7 -1
  195. package/dist/hosts/plan.js.map +1 -1
  196. package/dist/hosts/retract.d.ts.map +1 -1
  197. package/dist/hosts/retract.js +33 -13
  198. package/dist/hosts/retract.js.map +1 -1
  199. package/dist/hosts/sections.d.ts +23 -2
  200. package/dist/hosts/sections.d.ts.map +1 -1
  201. package/dist/hosts/sections.js +25 -9
  202. package/dist/hosts/sections.js.map +1 -1
  203. package/dist/index.d.ts +2 -0
  204. package/dist/index.d.ts.map +1 -1
  205. package/dist/index.js +2 -0
  206. package/dist/index.js.map +1 -1
  207. package/dist/ingest/fs.d.ts +20 -0
  208. package/dist/ingest/fs.d.ts.map +1 -1
  209. package/dist/ingest/fs.js +76 -3
  210. package/dist/ingest/fs.js.map +1 -1
  211. package/dist/mcp/server.d.ts.map +1 -1
  212. package/dist/mcp/server.js +33 -4
  213. package/dist/mcp/server.js.map +1 -1
  214. package/dist/mcp/tool-names.d.ts +20 -0
  215. package/dist/mcp/tool-names.d.ts.map +1 -0
  216. package/dist/mcp/tool-names.js +36 -0
  217. package/dist/mcp/tool-names.js.map +1 -0
  218. package/dist/mcp/tools.d.ts +11 -2
  219. package/dist/mcp/tools.d.ts.map +1 -1
  220. package/dist/mcp/tools.js +14 -22
  221. package/dist/mcp/tools.js.map +1 -1
  222. package/dist/telemetry/contract.d.ts.map +1 -1
  223. package/dist/telemetry/contract.js +10 -1
  224. package/dist/telemetry/contract.js.map +1 -1
  225. package/dist/telemetry/flush.d.ts.map +1 -1
  226. package/dist/telemetry/flush.js +1 -0
  227. package/dist/telemetry/flush.js.map +1 -1
  228. package/dist/telemetry/gate.d.ts +14 -0
  229. package/dist/telemetry/gate.d.ts.map +1 -1
  230. package/dist/telemetry/gate.js +18 -2
  231. package/dist/telemetry/gate.js.map +1 -1
  232. package/dist/telemetry/identity.d.ts +7 -0
  233. package/dist/telemetry/identity.d.ts.map +1 -1
  234. package/dist/telemetry/identity.js.map +1 -1
  235. package/dist/telemetry/index.d.ts +2 -2
  236. package/dist/telemetry/index.d.ts.map +1 -1
  237. package/dist/telemetry/index.js +2 -2
  238. package/dist/telemetry/index.js.map +1 -1
  239. package/dist/telemetry/sessions.d.ts +19 -2
  240. package/dist/telemetry/sessions.d.ts.map +1 -1
  241. package/dist/telemetry/sessions.js +57 -40
  242. package/dist/telemetry/sessions.js.map +1 -1
  243. package/dist/telemetry/track.d.ts +22 -3
  244. package/dist/telemetry/track.d.ts.map +1 -1
  245. package/dist/telemetry/track.js +34 -5
  246. package/dist/telemetry/track.js.map +1 -1
  247. package/dist/upkeep-run.d.ts.map +1 -1
  248. package/dist/upkeep-run.js +12 -2
  249. package/dist/upkeep-run.js.map +1 -1
  250. package/dist/upkeep.d.ts +25 -4
  251. package/dist/upkeep.d.ts.map +1 -1
  252. package/dist/upkeep.js +40 -1
  253. package/dist/upkeep.js.map +1 -1
  254. package/dist/util/state.d.ts +9 -0
  255. package/dist/util/state.d.ts.map +1 -1
  256. package/dist/util/state.js.map +1 -1
  257. package/package.json +2 -2
  258. package/scripts/postinstall.mjs +42 -3
  259. package/scripts/run-tests.mjs +14 -0
@@ -1 +1 @@
1
- {"version":3,"file":"upkeep-run.d.ts","sourceRoot":"","sources":["../src/upkeep-run.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAyBD;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,YAAY,CAad"}
1
+ {"version":3,"file":"upkeep-run.d.ts","sourceRoot":"","sources":["../src/upkeep-run.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AA6BD;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,YAAY,CAkBd"}
@@ -8,7 +8,7 @@
8
8
  import { runInit } from './claude/init.js';
9
9
  import { runHostsInit } from './hosts/init.js';
10
10
  import { graftCliPath } from './claude/paths.js';
11
- import { formatUpdateNudge, formatWiringRefresh, maybeRefreshInBackground, readUpdateCache, reconcileWiring, } from './upkeep.js';
11
+ import { formatUpdateNudge, formatWiringRefresh, maybeRefreshBrainRules, maybeRefreshInBackground, readUpdateCache, reconcileWiring, } from './upkeep.js';
12
12
  /**
13
13
  * Re-write the wiring for exactly the hosts a previous `init` chose here, with
14
14
  * exactly the flags it was given.
@@ -26,8 +26,11 @@ import { formatUpdateNudge, formatWiringRefresh, maybeRefreshInBackground, readU
26
26
  * `opts.global`/`opts.hooks`, replayed from the stamp.
27
27
  */
28
28
  function rewriteWiring(repo, hosts, opts) {
29
+ // `opts.global` reaches the claude layer for the same reason `opts.statusline` does:
30
+ // its `~/.claude` writes (hosts/claude-global.ts) are out-of-repo, and a user who
31
+ // declined those at init time must keep declining them on every replay.
29
32
  if (hosts.includes('claude'))
30
- runInit(repo, { build: false, cliPath: graftCliPath() });
33
+ runInit(repo, { build: false, cliPath: graftCliPath(), statusline: opts.statusline, global: opts.global });
31
34
  const others = hosts.filter((h) => h !== 'claude');
32
35
  if (others.length)
33
36
  runHostsInit(repo, { agents: others, global: opts.global, mcp: opts.mcp, hooks: opts.hooks });
@@ -47,6 +50,13 @@ export function runUpkeep(repo, current, opts = {}) {
47
50
  lines.push(refreshLine);
48
51
  }
49
52
  catch { /* fail-soft: wiring refresh is never worth breaking a session for */ }
53
+ try {
54
+ // Rules the attached brain has gained since the last pull. Detached, so it
55
+ // never delays the session it runs in.
56
+ if (opts.background !== false)
57
+ maybeRefreshBrainRules(repo);
58
+ }
59
+ catch { /* same */ }
50
60
  try {
51
61
  if (opts.background !== false)
52
62
  maybeRefreshInBackground(opts.home);
@@ -1 +1 @@
1
- {"version":3,"file":"upkeep-run.js","sourceRoot":"","sources":["../src/upkeep-run.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,eAAe,GAEhB,MAAM,aAAa,CAAC;AAOrB;;;;;;;;;;;;;;;GAeG;AACH,SAAS,aAAa,CAAC,IAAY,EAAE,KAAe,EAAE,IAAgB;IACpE,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,MAAM;QACf,YAAY,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAClG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CACvB,IAAY,EACZ,OAAe,EACf,OAAgD,EAAE;IAElD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QAC7E,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC,CAAC,qEAAqE,CAAC,CAAC;IACjF,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK;YAAE,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7E,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACtB,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"upkeep-run.js","sourceRoot":"","sources":["../src/upkeep-run.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,eAAe,GAEhB,MAAM,aAAa,CAAC;AAOrB;;;;;;;;;;;;;;;GAeG;AACH,SAAS,aAAa,CAAC,IAAY,EAAE,KAAe,EAAE,IAAgB;IACpE,qFAAqF;IACrF,kFAAkF;IAClF,wEAAwE;IACxE,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC1B,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7G,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,MAAM;QACf,YAAY,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAClG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CACvB,IAAY,EACZ,OAAe,EACf,OAAgD,EAAE;IAElD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QAC7E,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC,CAAC,qEAAqE,CAAC,CAAC;IACjF,IAAI,CAAC;QACH,2EAA2E;QAC3E,uCAAuC;QACvC,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK;YAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACtB,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK;YAAE,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7E,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACtB,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC"}
package/dist/upkeep.d.ts CHANGED
@@ -45,6 +45,24 @@ export declare function needsRefresh(cache: UpdateCache | null, now?: number): b
45
45
  * boot) — never from a hook, which reads the cache and nothing else.
46
46
  */
47
47
  export declare function maybeRefreshInBackground(home?: string, now?: number): boolean;
48
+ /**
49
+ * Refresh the attached brain's rules in a detached child, when they are stale.
50
+ *
51
+ * The same shape as the update check above, and for the same reason: this runs
52
+ * inside session-start hooks and MCP boot, where waiting on the network is a
53
+ * stalled first turn. So nothing here blocks — the child does the fetch and
54
+ * this call returns immediately.
55
+ *
56
+ * Without it a brain is pulled exactly once, at `graft brain connect`, and
57
+ * never again. That was survivable when connecting happened after the brain
58
+ * finished building; it is not survivable now that onboarding connects DURING
59
+ * the build, because the one pull returns an empty rulebook and nothing would
60
+ * ever go back for the real one.
61
+ *
62
+ * The attempt is stamped before spawning, so a brain that is still building
63
+ * costs one request per TTL window rather than one per command.
64
+ */
65
+ export declare function maybeRefreshBrainRules(repo: string, now?: number): boolean;
48
66
  /** One line, or nothing. Nothing is the common case — don't spend context on
49
67
  * "you're up to date". */
50
68
  export declare function formatUpdateNudge(current: string, latest: string | null | undefined): string | null;
@@ -52,10 +70,11 @@ export declare function formatUpdateNudge(current: string, latest: string | null
52
70
  * The subset of `graft init`'s flags a refresh has to replay.
53
71
  *
54
72
  * Without these, an auto-refresh would install things the user explicitly
55
- * declined: someone who ran `graft init --no-global` (or `--no-hooks`) said "keep
56
- * out of `~/.codex`", and a later session silently writing there would be graft
57
- * overriding a decision rather than maintaining one. Absent from an older stamp →
58
- * all true, which is what plain `graft init` does.
73
+ * declined: someone who ran `graft init --no-global` (or `--no-hooks`, or
74
+ * `--no-statusline`) said "keep out of `~/.codex`" / "leave my statusline
75
+ * alone", and a later session silently writing there would be graft overriding a
76
+ * decision rather than maintaining one. Absent from an older stamp → all true,
77
+ * which is what plain `graft init` does.
59
78
  */
60
79
  export interface WiringOpts {
61
80
  /** false → never write outside the repo (`--no-global`). */
@@ -64,6 +83,8 @@ export interface WiringOpts {
64
83
  mcp: boolean;
65
84
  /** false → skip hook installation (`--no-hooks`). */
66
85
  hooks: boolean;
86
+ /** false → skip Claude Code statusLine (`--no-statusline` / GRAFT_NO_STATUSLINE). */
87
+ statusline: boolean;
67
88
  }
68
89
  export declare const DEFAULT_WIRING_OPTS: WiringOpts;
69
90
  /** An older stamp has no `opts`; a plain `graft init` wired everything. */
@@ -1 +1 @@
1
- {"version":3,"file":"upkeep.d.ts","sourceRoot":"","sources":["../src/upkeep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upkeep.d.ts","sourceRoot":"","sources":["../src/upkeep.ts"],"names":[],"mappings":"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"}
package/dist/upkeep.js CHANGED
@@ -32,6 +32,7 @@ import { readJson, writeJsonAtomic, cacheDir } from './util/state.js';
32
32
  import { HOSTS } from './hosts/registry.js';
33
33
  import { START } from './hosts/sections.js';
34
34
  import { getNpmViewVersion, readCurrentVersion } from './cli-meta.js';
35
+ import { cacheIsStale, markRulesChecked, readLink, readRulesCache } from './brain/link.js';
35
36
  import { graftCliPath } from './claude/paths.js';
36
37
  /**
37
38
  * The version of the graft package this code was loaded from.
@@ -122,6 +123,7 @@ export function maybeRefreshInBackground(home, now = Date.now()) {
122
123
  const child = spawn(process.execPath, [graftCliPath(), '_update-check'], {
123
124
  detached: true,
124
125
  stdio: 'ignore',
126
+ windowsHide: true,
125
127
  });
126
128
  child.unref();
127
129
  return true;
@@ -130,6 +132,43 @@ export function maybeRefreshInBackground(home, now = Date.now()) {
130
132
  return false; // no spawn (sandbox, ENOMEM) — the nudge just uses the old cache
131
133
  }
132
134
  }
135
+ /**
136
+ * Refresh the attached brain's rules in a detached child, when they are stale.
137
+ *
138
+ * The same shape as the update check above, and for the same reason: this runs
139
+ * inside session-start hooks and MCP boot, where waiting on the network is a
140
+ * stalled first turn. So nothing here blocks — the child does the fetch and
141
+ * this call returns immediately.
142
+ *
143
+ * Without it a brain is pulled exactly once, at `graft brain connect`, and
144
+ * never again. That was survivable when connecting happened after the brain
145
+ * finished building; it is not survivable now that onboarding connects DURING
146
+ * the build, because the one pull returns an empty rulebook and nothing would
147
+ * ever go back for the real one.
148
+ *
149
+ * The attempt is stamped before spawning, so a brain that is still building
150
+ * costs one request per TTL window rather than one per command.
151
+ */
152
+ export function maybeRefreshBrainRules(repo, now = Date.now()) {
153
+ try {
154
+ if (!readLink(repo))
155
+ return false;
156
+ const cache = readRulesCache(repo);
157
+ if (!cacheIsStale(cache, now))
158
+ return false;
159
+ markRulesChecked(repo, now);
160
+ const child = spawn(process.execPath, [graftCliPath(), '_brain-refresh', repo], {
161
+ detached: true,
162
+ stdio: 'ignore',
163
+ windowsHide: true,
164
+ });
165
+ child.unref();
166
+ return true;
167
+ }
168
+ catch {
169
+ return false; // no spawn, or an unreadable repo — the cached rules still serve
170
+ }
171
+ }
133
172
  /** One line, or nothing. Nothing is the common case — don't spend context on
134
173
  * "you're up to date". */
135
174
  export function formatUpdateNudge(current, latest) {
@@ -137,7 +176,7 @@ export function formatUpdateNudge(current, latest) {
137
176
  return null;
138
177
  return `⬆ graft ${current} → ${latest} available: run \`npm i -g @nanonets/graft@latest\` (restart your agent after).`;
139
178
  }
140
- export const DEFAULT_WIRING_OPTS = { global: true, mcp: true, hooks: true };
179
+ export const DEFAULT_WIRING_OPTS = { global: true, mcp: true, hooks: true, statusline: true };
141
180
  /** An older stamp has no `opts`; a plain `graft init` wired everything. */
142
181
  export function wiringOpts(stamp) {
143
182
  return { ...DEFAULT_WIRING_OPTS, ...(stamp?.opts ?? {}) };
@@ -1 +1 @@
1
- {"version":3,"file":"upkeep.js","sourceRoot":"","sources":["../src/upkeep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upkeep.js","sourceRoot":"","sources":["../src/upkeep.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,15 @@ export interface BuildConfig {
65
65
  * checkout someone parked in the tree. Absent/false keeps the historical
66
66
  * boundary. */
67
67
  followNestedRepos?: boolean;
68
+ /** The Trail brain this repo's rules come from: the brain id and the token to
69
+ * read it with. Persisted here — in the git-ignored `.graft/` — rather than in
70
+ * `~/.graft/`, because a brain belongs to one repository and two checkouts on
71
+ * one machine must not share one. `undefined` clears it. */
72
+ brain?: {
73
+ brainId: string;
74
+ token: string;
75
+ baseUrl?: string;
76
+ };
68
77
  }
69
78
  /** Local, Git-ignored repository configuration. Kept outside generated
70
79
  * `graft/` output so deleting/replacing that cache, workspace federation, and
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/util/state.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,KAAK;IACpB,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC1D,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IACrD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD;AAED,eAAO,MAAM,aAAa,SAAS,CAAC;AAEpC,wBAAgB,UAAU,IAAI,KAAK,CAGlC;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI5D;AAED,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAA0D;AAG9G,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAE/C;AACD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,UAAQ,GAAG,IAAI,CAUhF;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAA0C;AAC5F,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,CAAsC;AAE3F;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;0EAEsE;IACtE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;gFAC4E;IAC5E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;mBAMe;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;0EAE0E;AAC1E,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAqD;AAkBvG,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAsD;AACpH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,GAAG,IAAI,CAGhE;AAED;kDACkD;AAClD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAEpE;AAED;;;;oEAIoE;AACpE,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAGlE;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAExD;AAGD,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAIlE;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE9C;AACD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAgBpD;AACD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEjD"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/util/state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/util/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/util/state.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nanonets/graft",
3
- "version": "0.15.0",
3
+ "version": "0.18.0",
4
4
  "description": "Build a repo's context graph as a folder of linked markdown files: a local, regenerable cache that every query keeps in sync with your code.",
5
5
  "keywords": [
6
6
  "ai",
@@ -72,7 +72,7 @@
72
72
  "tree-sitter-wasm": "^1.1.6",
73
73
  "vscode-jsonrpc": "^8.2.1",
74
74
  "vscode-languageserver-protocol": "^3.18.2",
75
- "web-tree-sitter": "^0.25.10"
75
+ "web-tree-sitter": "^0.26.13"
76
76
  },
77
77
  "devDependencies": {
78
78
  "@types/d3-force": "^3.0.10",
@@ -1,9 +1,48 @@
1
- // Prints a one-line nudge after install. Never fails the install.
1
+ // Prints a one-line nudge after install, and records the anonymous `install`
2
+ // event. Never fails the install.
3
+ import { existsSync } from 'node:fs';
4
+ import { spawn } from 'node:child_process';
5
+ import { dirname, join } from 'node:path';
6
+ import { fileURLToPath, pathToFileURL } from 'node:url';
7
+
8
+ const root = dirname(dirname(fileURLToPath(import.meta.url)));
9
+
10
+ /**
11
+ * Record the install, then hand the queue straight to a detached child.
12
+ *
13
+ * Sending here rather than letting the daily flush pick it up is the entire
14
+ * point of the event: the machine we most want to count is the one that installs
15
+ * graft and never runs a command, and that machine never reaches a flush. The
16
+ * child is detached with stdio ignored, so npm waits on no socket and an offline
17
+ * install looks like any other.
18
+ *
19
+ * Every gate still applies — a fork or a local build has no key, and CI,
20
+ * `DO_NOT_TRACK` and `graft telemetry disable` all close it. See TELEMETRY.md.
21
+ */
22
+ async function recordInstall() {
23
+ // `dist/` is absent when this runs from a clone, where `prepare` builds AFTER
24
+ // postinstall. Nothing to record there, and a fork has no key regardless.
25
+ const entry = join(root, 'dist', 'telemetry', 'index.js');
26
+ const cli = join(root, 'dist', 'cli.js');
27
+ if (!existsSync(entry) || !existsSync(cli)) return;
28
+ const mod = await import(pathToFileURL(entry).href);
29
+ // A `dist/` from an older version has no such export. Absent, not broken.
30
+ if (typeof mod.trackInstallIfNew !== 'function') return;
31
+ // npm sets this for `npm i -g`; only its value 'true' means global.
32
+ mod.trackInstallIfNew({ global: process.env.npm_config_global === 'true' });
33
+ const child = spawn(process.execPath, [cli, '_telemetry-flush'], {
34
+ detached: true,
35
+ stdio: 'ignore',
36
+ });
37
+ child.unref();
38
+ }
39
+
2
40
  try {
3
41
  if (process.env.CI) process.exit(0);
4
- const { existsSync } = await import('node:fs');
5
- const { join } = await import('node:path');
6
42
  const dir = process.env.INIT_CWD || process.cwd();
43
+ // Its own catch: the nudge is the part a user sees, and a telemetry fault must
44
+ // not be able to silence it.
45
+ try { await recordInstall(); } catch { /* telemetry is never worth an error */ }
7
46
  if (existsSync(join(dir, '.claude', 'helpers', 'graft-statusline.cjs'))) process.exit(0);
8
47
  console.log('\n Graft installed. Run `npx graft init` to enable the Claude Code integration (statusline + hooks + auto-sync).\n');
9
48
  } catch {
@@ -30,9 +30,23 @@ if (files.length === 0) {
30
30
  process.exit(1);
31
31
  }
32
32
 
33
+ // Several tests `git init` a scratch repo and `git commit` into it to exercise the
34
+ // incremental/submodule/ingest git paths. Those commits inherit the developer's
35
+ // global git config — so a contributor who signs commits (gpg, or gitsign, whose
36
+ // x509 flow opens a browser for OIDC on EVERY commit) gets a signing storm from a
37
+ // run that has nothing to do with their identity. Inject config via GIT_CONFIG_*
38
+ // (git merges these over the user's config for this process tree only) so test
39
+ // commits never sign, without touching anyone's global settings.
40
+ const gitEnv = {
41
+ GIT_CONFIG_COUNT: "2",
42
+ GIT_CONFIG_KEY_0: "commit.gpgsign", GIT_CONFIG_VALUE_0: "false",
43
+ GIT_CONFIG_KEY_1: "tag.gpgsign", GIT_CONFIG_VALUE_1: "false",
44
+ };
45
+
33
46
  const result = spawnSync(process.execPath, ["--import", "tsx", "--test", ...files], {
34
47
  cwd: repoRoot,
35
48
  stdio: "inherit",
49
+ env: { ...process.env, ...gitEnv },
36
50
  });
37
51
 
38
52
  if (result.error) {