@nanonets/graft 0.21.1 → 0.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/README.md +549 -314
  2. package/dist/app/checkout.d.ts +0 -32
  3. package/dist/app/checkout.d.ts.map +1 -1
  4. package/dist/app/checkout.js +0 -45
  5. package/dist/app/checkout.js.map +1 -1
  6. package/dist/app/identity.d.ts +0 -56
  7. package/dist/app/identity.d.ts.map +1 -1
  8. package/dist/app/identity.js +0 -119
  9. package/dist/app/identity.js.map +1 -1
  10. package/dist/app/main.js +0 -8
  11. package/dist/app/main.js.map +1 -1
  12. package/dist/app/review-process.d.ts.map +1 -1
  13. package/dist/app/review-process.js +6 -5
  14. package/dist/app/review-process.js.map +1 -1
  15. package/dist/app/server.d.ts +0 -20
  16. package/dist/app/server.d.ts.map +1 -1
  17. package/dist/app/server.js +0 -121
  18. package/dist/app/server.js.map +1 -1
  19. package/dist/ask/ask.d.ts +12 -6
  20. package/dist/ask/ask.d.ts.map +1 -1
  21. package/dist/ask/ask.js +28 -38
  22. package/dist/ask/ask.js.map +1 -1
  23. package/dist/bin/graft.d.ts +3 -0
  24. package/dist/bin/graft.d.ts.map +1 -0
  25. package/dist/bin/graft.js +8 -0
  26. package/dist/bin/graft.js.map +1 -0
  27. package/dist/bin/trail.d.ts +3 -0
  28. package/dist/bin/trail.d.ts.map +1 -0
  29. package/dist/bin/trail.js +6 -0
  30. package/dist/bin/trail.js.map +1 -0
  31. package/dist/blast/blast-cli.d.ts.map +1 -1
  32. package/dist/blast/blast-cli.js +2 -1
  33. package/dist/blast/blast-cli.js.map +1 -1
  34. package/dist/blast/render.d.ts.map +1 -1
  35. package/dist/blast/render.js +3 -2
  36. package/dist/blast/render.js.map +1 -1
  37. package/dist/brand.d.ts +97 -0
  38. package/dist/brand.d.ts.map +1 -0
  39. package/dist/brand.js +254 -0
  40. package/dist/brand.js.map +1 -0
  41. package/dist/check/learning-edits.d.ts +9 -0
  42. package/dist/check/learning-edits.d.ts.map +1 -0
  43. package/dist/check/learning-edits.js +62 -0
  44. package/dist/check/learning-edits.js.map +1 -0
  45. package/dist/check/local-check.d.ts +104 -0
  46. package/dist/check/local-check.d.ts.map +1 -0
  47. package/dist/check/local-check.js +830 -0
  48. package/dist/check/local-check.js.map +1 -0
  49. package/dist/check/types.d.ts +31 -0
  50. package/dist/check/types.d.ts.map +1 -0
  51. package/dist/check/types.js +2 -0
  52. package/dist/check/types.js.map +1 -0
  53. package/dist/claude/format.d.ts +44 -1
  54. package/dist/claude/format.d.ts.map +1 -1
  55. package/dist/claude/format.js +113 -19
  56. package/dist/claude/format.js.map +1 -1
  57. package/dist/claude/hook-layers.d.ts +8 -0
  58. package/dist/claude/hook-layers.d.ts.map +1 -0
  59. package/dist/claude/hook-layers.js +72 -0
  60. package/dist/claude/hook-layers.js.map +1 -0
  61. package/dist/claude/hooks.d.ts +34 -0
  62. package/dist/claude/hooks.d.ts.map +1 -1
  63. package/dist/claude/hooks.js +220 -12
  64. package/dist/claude/hooks.js.map +1 -1
  65. package/dist/claude/init.d.ts +12 -1
  66. package/dist/claude/init.d.ts.map +1 -1
  67. package/dist/claude/init.js +48 -19
  68. package/dist/claude/init.js.map +1 -1
  69. package/dist/claude/session-metrics.d.ts +1 -1
  70. package/dist/claude/session-metrics.d.ts.map +1 -1
  71. package/dist/claude/session-metrics.js +11 -8
  72. package/dist/claude/session-metrics.js.map +1 -1
  73. package/dist/claude/settings-merge.d.ts +1 -0
  74. package/dist/claude/settings-merge.d.ts.map +1 -1
  75. package/dist/claude/settings-merge.js +21 -18
  76. package/dist/claude/settings-merge.js.map +1 -1
  77. package/dist/claude/shim-template.d.ts +17 -2
  78. package/dist/claude/shim-template.d.ts.map +1 -1
  79. package/dist/claude/shim-template.js +153 -23
  80. package/dist/claude/shim-template.js.map +1 -1
  81. package/dist/claude/skill-template.d.ts +10 -1
  82. package/dist/claude/skill-template.d.ts.map +1 -1
  83. package/dist/claude/skill-template.js +143 -1
  84. package/dist/claude/skill-template.js.map +1 -1
  85. package/dist/claude/state.d.ts +8 -0
  86. package/dist/claude/state.d.ts.map +1 -1
  87. package/dist/claude/state.js.map +1 -1
  88. package/dist/claude/statusline.d.ts.map +1 -1
  89. package/dist/claude/statusline.js +4 -1
  90. package/dist/claude/statusline.js.map +1 -1
  91. package/dist/claude/tally.js +1 -1
  92. package/dist/claude/tally.js.map +1 -1
  93. package/dist/cli-epilogue.d.ts +0 -6
  94. package/dist/cli-epilogue.d.ts.map +1 -1
  95. package/dist/cli-epilogue.js +5 -4
  96. package/dist/cli-epilogue.js.map +1 -1
  97. package/dist/cli-meta.d.ts +8 -0
  98. package/dist/cli-meta.d.ts.map +1 -1
  99. package/dist/cli-meta.js +28 -8
  100. package/dist/cli-meta.js.map +1 -1
  101. package/dist/cli-picker.d.ts +15 -0
  102. package/dist/cli-picker.d.ts.map +1 -1
  103. package/dist/cli-picker.js +44 -10
  104. package/dist/cli-picker.js.map +1 -1
  105. package/dist/cli.d.ts +0 -5
  106. package/dist/cli.d.ts.map +1 -1
  107. package/dist/cli.js +1112 -559
  108. package/dist/cli.js.map +1 -1
  109. package/dist/cloud/diff.d.ts +20 -0
  110. package/dist/cloud/diff.d.ts.map +1 -0
  111. package/dist/cloud/diff.js +59 -0
  112. package/dist/cloud/diff.js.map +1 -0
  113. package/dist/cloud/nudge.d.ts +66 -0
  114. package/dist/cloud/nudge.d.ts.map +1 -0
  115. package/dist/cloud/nudge.js +269 -0
  116. package/dist/cloud/nudge.js.map +1 -0
  117. package/dist/cloud/workspace-sync.d.ts +58 -0
  118. package/dist/cloud/workspace-sync.d.ts.map +1 -0
  119. package/dist/cloud/workspace-sync.js +268 -0
  120. package/dist/cloud/workspace-sync.js.map +1 -0
  121. package/dist/cloud/workspace.d.ts +159 -0
  122. package/dist/cloud/workspace.d.ts.map +1 -0
  123. package/dist/cloud/workspace.js +134 -0
  124. package/dist/cloud/workspace.js.map +1 -0
  125. package/dist/context/check.d.ts +1 -1
  126. package/dist/context/check.d.ts.map +1 -1
  127. package/dist/context/check.js +9 -8
  128. package/dist/context/check.js.map +1 -1
  129. package/dist/context/node-file.js +1 -1
  130. package/dist/context/node-file.js.map +1 -1
  131. package/dist/context/savings.d.ts.map +1 -1
  132. package/dist/context/savings.js +10 -7
  133. package/dist/context/savings.js.map +1 -1
  134. package/dist/engine.d.ts.map +1 -1
  135. package/dist/engine.js +3 -1
  136. package/dist/engine.js.map +1 -1
  137. package/dist/graph/build.d.ts +30 -0
  138. package/dist/graph/build.d.ts.map +1 -1
  139. package/dist/graph/build.js +65 -19
  140. package/dist/graph/build.js.map +1 -1
  141. package/dist/graph/cards.d.ts.map +1 -1
  142. package/dist/graph/cards.js +4 -2
  143. package/dist/graph/cards.js.map +1 -1
  144. package/dist/graph/check.d.ts.map +1 -1
  145. package/dist/graph/check.js +17 -18
  146. package/dist/graph/check.js.map +1 -1
  147. package/dist/graph/container.d.ts.map +1 -1
  148. package/dist/graph/container.js +7 -2
  149. package/dist/graph/container.js.map +1 -1
  150. package/dist/graph/extract-cache.d.ts +4 -0
  151. package/dist/graph/extract-cache.d.ts.map +1 -1
  152. package/dist/graph/extract-cache.js.map +1 -1
  153. package/dist/graph/extract.d.ts +2 -0
  154. package/dist/graph/extract.d.ts.map +1 -1
  155. package/dist/graph/extract.js +5 -32
  156. package/dist/graph/extract.js.map +1 -1
  157. package/dist/graph/generic.d.ts +7 -1
  158. package/dist/graph/generic.d.ts.map +1 -1
  159. package/dist/graph/generic.js +48 -8
  160. package/dist/graph/generic.js.map +1 -1
  161. package/dist/graph/native.d.ts +38 -0
  162. package/dist/graph/native.d.ts.map +1 -0
  163. package/dist/graph/native.js +169 -0
  164. package/dist/graph/native.js.map +1 -0
  165. package/dist/graph/refresh.d.ts.map +1 -1
  166. package/dist/graph/refresh.js +3 -2
  167. package/dist/graph/refresh.js.map +1 -1
  168. package/dist/graph/traverse-cli.d.ts.map +1 -1
  169. package/dist/graph/traverse-cli.js +4 -3
  170. package/dist/graph/traverse-cli.js.map +1 -1
  171. package/dist/graph/workspace-cli.d.ts +2 -0
  172. package/dist/graph/workspace-cli.d.ts.map +1 -1
  173. package/dist/graph/workspace-cli.js +13 -1
  174. package/dist/graph/workspace-cli.js.map +1 -1
  175. package/dist/graph/workspace.d.ts.map +1 -1
  176. package/dist/graph/workspace.js +6 -5
  177. package/dist/graph/workspace.js.map +1 -1
  178. package/dist/hosts/antigravity.d.ts +10 -3
  179. package/dist/hosts/antigravity.d.ts.map +1 -1
  180. package/dist/hosts/antigravity.js +27 -10
  181. package/dist/hosts/antigravity.js.map +1 -1
  182. package/dist/hosts/claude-global.d.ts +27 -4
  183. package/dist/hosts/claude-global.d.ts.map +1 -1
  184. package/dist/hosts/claude-global.js +90 -9
  185. package/dist/hosts/claude-global.js.map +1 -1
  186. package/dist/hosts/codex-hooks.d.ts.map +1 -1
  187. package/dist/hosts/codex-hooks.js +1 -2
  188. package/dist/hosts/codex-hooks.js.map +1 -1
  189. package/dist/hosts/config-write.d.ts.map +1 -1
  190. package/dist/hosts/config-write.js +2 -1
  191. package/dist/hosts/config-write.js.map +1 -1
  192. package/dist/hosts/cursor-hooks.d.ts +5 -2
  193. package/dist/hosts/cursor-hooks.d.ts.map +1 -1
  194. package/dist/hosts/cursor-hooks.js +14 -9
  195. package/dist/hosts/cursor-hooks.js.map +1 -1
  196. package/dist/hosts/init.d.ts +3 -0
  197. package/dist/hosts/init.d.ts.map +1 -1
  198. package/dist/hosts/init.js +32 -10
  199. package/dist/hosts/init.js.map +1 -1
  200. package/dist/hosts/instructions.d.ts +9 -4
  201. package/dist/hosts/instructions.d.ts.map +1 -1
  202. package/dist/hosts/instructions.js +19 -16
  203. package/dist/hosts/instructions.js.map +1 -1
  204. package/dist/hosts/mcp-config.d.ts +19 -4
  205. package/dist/hosts/mcp-config.d.ts.map +1 -1
  206. package/dist/hosts/mcp-config.js +81 -30
  207. package/dist/hosts/mcp-config.js.map +1 -1
  208. package/dist/hosts/plan.d.ts.map +1 -1
  209. package/dist/hosts/plan.js +11 -9
  210. package/dist/hosts/plan.js.map +1 -1
  211. package/dist/hosts/registry.d.ts +25 -2
  212. package/dist/hosts/registry.d.ts.map +1 -1
  213. package/dist/hosts/registry.js +53 -0
  214. package/dist/hosts/registry.js.map +1 -1
  215. package/dist/hosts/retract.d.ts.map +1 -1
  216. package/dist/hosts/retract.js +73 -33
  217. package/dist/hosts/retract.js.map +1 -1
  218. package/dist/hosts/sections.d.ts +17 -1
  219. package/dist/hosts/sections.d.ts.map +1 -1
  220. package/dist/hosts/sections.js +52 -2
  221. package/dist/hosts/sections.js.map +1 -1
  222. package/dist/mcp/instructions.d.ts +1 -25
  223. package/dist/mcp/instructions.d.ts.map +1 -1
  224. package/dist/mcp/instructions.js +6 -4
  225. package/dist/mcp/instructions.js.map +1 -1
  226. package/dist/mcp/server.d.ts.map +1 -1
  227. package/dist/mcp/server.js +7 -3
  228. package/dist/mcp/server.js.map +1 -1
  229. package/dist/mcp/tool-names.d.ts +10 -3
  230. package/dist/mcp/tool-names.d.ts.map +1 -1
  231. package/dist/mcp/tool-names.js +13 -5
  232. package/dist/mcp/tool-names.js.map +1 -1
  233. package/dist/mcp/tools.d.ts.map +1 -1
  234. package/dist/mcp/tools.js +6 -5
  235. package/dist/mcp/tools.js.map +1 -1
  236. package/dist/notes/ask-notes.d.ts +8 -0
  237. package/dist/notes/ask-notes.d.ts.map +1 -0
  238. package/dist/notes/ask-notes.js +18 -0
  239. package/dist/notes/ask-notes.js.map +1 -0
  240. package/dist/notes/branches.d.ts +85 -0
  241. package/dist/notes/branches.d.ts.map +1 -0
  242. package/dist/notes/branches.js +238 -0
  243. package/dist/notes/branches.js.map +1 -0
  244. package/dist/notes/cold-start.d.ts +177 -0
  245. package/dist/notes/cold-start.d.ts.map +1 -0
  246. package/dist/notes/cold-start.js +537 -0
  247. package/dist/notes/cold-start.js.map +1 -0
  248. package/dist/notes/git-facts.d.ts +17 -0
  249. package/dist/notes/git-facts.d.ts.map +1 -0
  250. package/dist/notes/git-facts.js +117 -0
  251. package/dist/notes/git-facts.js.map +1 -0
  252. package/dist/notes/home.d.ts +87 -0
  253. package/dist/notes/home.d.ts.map +1 -0
  254. package/dist/notes/home.js +423 -0
  255. package/dist/notes/home.js.map +1 -0
  256. package/dist/notes/notes.d.ts +193 -0
  257. package/dist/notes/notes.d.ts.map +1 -0
  258. package/dist/notes/notes.js +536 -0
  259. package/dist/notes/notes.js.map +1 -0
  260. package/dist/notes/pr-reviews.d.ts +108 -0
  261. package/dist/notes/pr-reviews.d.ts.map +1 -0
  262. package/dist/notes/pr-reviews.js +325 -0
  263. package/dist/notes/pr-reviews.js.map +1 -0
  264. package/dist/notes/repo-trail.d.ts +16 -0
  265. package/dist/notes/repo-trail.d.ts.map +1 -0
  266. package/dist/notes/repo-trail.js +74 -0
  267. package/dist/notes/repo-trail.js.map +1 -0
  268. package/dist/notes/session-cost.d.ts +21 -0
  269. package/dist/notes/session-cost.d.ts.map +1 -0
  270. package/dist/notes/session-cost.js +162 -0
  271. package/dist/notes/session-cost.js.map +1 -0
  272. package/dist/search/grep-cli.d.ts.map +1 -1
  273. package/dist/search/grep-cli.js +4 -3
  274. package/dist/search/grep-cli.js.map +1 -1
  275. package/dist/skills/skills.d.ts +118 -0
  276. package/dist/skills/skills.d.ts.map +1 -0
  277. package/dist/skills/skills.js +370 -0
  278. package/dist/skills/skills.js.map +1 -0
  279. package/dist/telemetry/contract.d.ts +2 -14
  280. package/dist/telemetry/contract.d.ts.map +1 -1
  281. package/dist/telemetry/contract.js +40 -24
  282. package/dist/telemetry/contract.js.map +1 -1
  283. package/dist/telemetry/gate.d.ts.map +1 -1
  284. package/dist/telemetry/gate.js +2 -1
  285. package/dist/telemetry/gate.js.map +1 -1
  286. package/dist/telemetry/notice.d.ts +1 -1
  287. package/dist/telemetry/notice.d.ts.map +1 -1
  288. package/dist/telemetry/notice.js +6 -5
  289. package/dist/telemetry/notice.js.map +1 -1
  290. package/dist/telemetry/track.d.ts.map +1 -1
  291. package/dist/telemetry/track.js +5 -0
  292. package/dist/telemetry/track.js.map +1 -1
  293. package/dist/upkeep-run.d.ts +7 -0
  294. package/dist/upkeep-run.d.ts.map +1 -1
  295. package/dist/upkeep-run.js +52 -12
  296. package/dist/upkeep-run.js.map +1 -1
  297. package/dist/upkeep.d.ts +9 -19
  298. package/dist/upkeep.d.ts.map +1 -1
  299. package/dist/upkeep.js +38 -59
  300. package/dist/upkeep.js.map +1 -1
  301. package/dist/util/browser.d.ts +3 -0
  302. package/dist/util/browser.d.ts.map +1 -0
  303. package/dist/util/browser.js +14 -0
  304. package/dist/util/browser.js.map +1 -0
  305. package/dist/util/front-matter.d.ts +19 -0
  306. package/dist/util/front-matter.d.ts.map +1 -0
  307. package/dist/util/front-matter.js +21 -0
  308. package/dist/util/front-matter.js.map +1 -0
  309. package/dist/util/state.d.ts +1 -18
  310. package/dist/util/state.d.ts.map +1 -1
  311. package/dist/util/state.js +4 -2
  312. package/dist/util/state.js.map +1 -1
  313. package/dist/viz/assemble.js +1 -1
  314. package/dist/viz/assemble.js.map +1 -1
  315. package/dist/viz/serve.d.ts.map +1 -1
  316. package/dist/viz/serve.js +4 -3
  317. package/dist/viz/serve.js.map +1 -1
  318. package/package.json +7 -7
  319. package/scripts/pack-trail.mjs +53 -0
  320. package/scripts/postinstall.mjs +17 -2
  321. package/scripts/run-tests.mjs +4 -1
  322. package/dist/app/brain-build-process.d.ts +0 -22
  323. package/dist/app/brain-build-process.d.ts.map +0 -1
  324. package/dist/app/brain-build-process.js +0 -129
  325. package/dist/app/brain-build-process.js.map +0 -1
  326. package/dist/app/brain-build-worker.d.ts +0 -35
  327. package/dist/app/brain-build-worker.d.ts.map +0 -1
  328. package/dist/app/brain-build-worker.js +0 -56
  329. package/dist/app/brain-build-worker.js.map +0 -1
  330. package/dist/app/brain-build.d.ts +0 -160
  331. package/dist/app/brain-build.d.ts.map +0 -1
  332. package/dist/app/brain-build.js +0 -278
  333. package/dist/app/brain-build.js.map +0 -1
  334. package/dist/app/history.d.ts +0 -163
  335. package/dist/app/history.d.ts.map +0 -1
  336. package/dist/app/history.js +0 -319
  337. package/dist/app/history.js.map +0 -1
  338. package/dist/app/sources.d.ts +0 -81
  339. package/dist/app/sources.d.ts.map +0 -1
  340. package/dist/app/sources.js +0 -470
  341. package/dist/app/sources.js.map +0 -1
  342. package/dist/brain/attach.d.ts +0 -44
  343. package/dist/brain/attach.d.ts.map +0 -1
  344. package/dist/brain/attach.js +0 -63
  345. package/dist/brain/attach.js.map +0 -1
  346. package/dist/brain/claude-md.d.ts +0 -61
  347. package/dist/brain/claude-md.d.ts.map +0 -1
  348. package/dist/brain/claude-md.js +0 -171
  349. package/dist/brain/claude-md.js.map +0 -1
  350. package/dist/brain/connect.d.ts +0 -59
  351. package/dist/brain/connect.d.ts.map +0 -1
  352. package/dist/brain/connect.js +0 -80
  353. package/dist/brain/connect.js.map +0 -1
  354. package/dist/brain/context-files.d.ts +0 -79
  355. package/dist/brain/context-files.d.ts.map +0 -1
  356. package/dist/brain/context-files.js +0 -245
  357. package/dist/brain/context-files.js.map +0 -1
  358. package/dist/brain/link.d.ts +0 -106
  359. package/dist/brain/link.d.ts.map +0 -1
  360. package/dist/brain/link.js +0 -167
  361. package/dist/brain/link.js.map +0 -1
  362. package/dist/brain/pull.d.ts +0 -48
  363. package/dist/brain/pull.d.ts.map +0 -1
  364. package/dist/brain/pull.js +0 -257
  365. package/dist/brain/pull.js.map +0 -1
  366. package/dist/brain/push.d.ts +0 -155
  367. package/dist/brain/push.d.ts.map +0 -1
  368. package/dist/brain/push.js +0 -304
  369. package/dist/brain/push.js.map +0 -1
  370. package/dist/brain/signup.d.ts +0 -117
  371. package/dist/brain/signup.d.ts.map +0 -1
  372. package/dist/brain/signup.js +0 -276
  373. package/dist/brain/signup.js.map +0 -1
  374. package/dist/brain/upload.d.ts +0 -61
  375. package/dist/brain/upload.d.ts.map +0 -1
  376. package/dist/brain/upload.js +0 -210
  377. package/dist/brain/upload.js.map +0 -1
  378. package/dist/brain/watch.d.ts +0 -209
  379. package/dist/brain/watch.d.ts.map +0 -1
  380. package/dist/brain/watch.js +0 -397
  381. package/dist/brain/watch.js.map +0 -1
  382. package/dist/brain/wire.d.ts +0 -38
  383. package/dist/brain/wire.d.ts.map +0 -1
  384. package/dist/brain/wire.js +0 -133
  385. package/dist/brain/wire.js.map +0 -1
  386. package/dist/legacy-args.d.ts +0 -12
  387. package/dist/legacy-args.d.ts.map +0 -1
  388. package/dist/legacy-args.js +0 -31
  389. package/dist/legacy-args.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home.js","sourceRoot":"","sources":["../../src/notes/home.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,193 @@
1
+ export interface NoteCost {
2
+ minutes?: number;
3
+ tokens?: number;
4
+ }
5
+ export interface Note {
6
+ /** Where the note is: an absolute path on this machine. */
7
+ path: string;
8
+ title: string;
9
+ author: string;
10
+ /** YYYY-MM-DD. */
11
+ date: string;
12
+ branch?: string;
13
+ cost?: NoteCost;
14
+ /** `file` or `file#Symbol`, relative to the top of the checkout (or to the folder `listNotes` was asked about). */
15
+ touches: string[];
16
+ body: string;
17
+ /** Written by someone other than whoever is asking. */
18
+ teammate?: boolean;
19
+ /** `repo`: in the repo's `.trail/learnings/`, for everyone. `personal`: in ~/.trail, this machine only. */
20
+ scope?: "repo" | "personal";
21
+ /** A rule or preference for every session here, not knowledge about one
22
+ * task: what the user kept having to tell Claude. The session-start hook
23
+ * lists these up front, since no single task would bring them up. */
24
+ standing?: boolean;
25
+ /** Found on a teammate's pushed branch (`origin/kumar/jitter`) rather than in
26
+ * this checkout. `path` is then `<ref>:.trail/learnings/<name>`, readable
27
+ * with `git show`, and the whole body travels with the note. */
28
+ ref?: string;
29
+ }
30
+ /** Which kind of learning to write: for the repo (the default) or for this person only. */
31
+ export type LearningScope = "repo" | "personal";
32
+ /** The three sections a note is written under. Notes may have others; these are the ones `ask` quotes. */
33
+ export declare const SECTIONS: readonly [{
34
+ readonly key: "decided";
35
+ readonly heading: "Decided";
36
+ readonly label: "decided";
37
+ }, {
38
+ readonly key: "ruledOut";
39
+ readonly heading: "Tried and ruled out";
40
+ readonly label: "ruled out";
41
+ }, {
42
+ readonly key: "watchOut";
43
+ readonly heading: "Watch out";
44
+ readonly label: "watch out";
45
+ }];
46
+ export declare function renderNote(n: Omit<Note, "path">): string;
47
+ /** A note file, or null when it isn't one (no title in its frontmatter). */
48
+ export declare function parseNote(text: string, path: string): Note | null;
49
+ /** The file name a note is known by, wherever it sits: one learning on a branch and in the tree is one learning. */
50
+ export declare function noteName(n: Note): string;
51
+ /**
52
+ * Every learning that bears on the folder `dir`, newest first: the repo's
53
+ * committed ones in `.trail/learnings/`, this person's own in ~/.trail, and
54
+ * the ones on teammates' pushed branches that haven't merged yet (from the
55
+ * branch cache, so nothing here runs git). For a folder that holds several
56
+ * repos, its own and each repo's. Touches come back relative to `dir`, so
57
+ * they line up with a query run there. `children: false` leaves a folder's
58
+ * repos out. One file name is one learning: the working tree's copy wins,
59
+ * then this machine's, then a branch's. Unreadable files are skipped.
60
+ */
61
+ export declare function listNotes(dir: string, opts?: {
62
+ children?: boolean;
63
+ branches?: boolean;
64
+ }): Note[];
65
+ /** The first line of a section's text, or null when the note has no such section. */
66
+ export declare function sectionLead(body: string, heading: string): string | null;
67
+ /** `Bbox coordinates are off on rotated PDFs` → `bbox-coordinates-are-off-on-rotated`. */
68
+ export declare function slug(s: string, words?: number): string;
69
+ export interface WriteNoteInput {
70
+ title: string;
71
+ body: string;
72
+ author: string;
73
+ date: string;
74
+ branch?: string;
75
+ cost?: NoteCost;
76
+ touches?: string[];
77
+ standing?: boolean;
78
+ }
79
+ /**
80
+ * Write a new learning for the repo `dir` is in, and return it: into the
81
+ * repo's `.trail/learnings/` (made if needed), or with `scope: "personal"`,
82
+ * or outside git, into ~/.trail. Never overwrites: a second one with the same
83
+ * name on the same day gets `-2`, `-3`.
84
+ */
85
+ export declare function writeNote(dir: string, input: WriteNoteInput, scope?: LearningScope): Note;
86
+ /**
87
+ * The standing learnings for `dir`: the team's in the checkout and the
88
+ * person's own, never ones on a teammate's unmerged branch, which nobody has
89
+ * reviewed yet.
90
+ */
91
+ export declare function standingLearnings(dir: string): Note[];
92
+ /** Where a learning is, as the agent and the person read it: `.trail/learnings/x.md`, `~/.trail/…`, or `origin/b:.trail/…`. */
93
+ export declare function notePlace(n: Note): string;
94
+ export interface NoteTarget {
95
+ /** A folder in the repo the note goes to. */
96
+ dir: string;
97
+ /** What the session touched there, relative to the top of that checkout. */
98
+ touches: string[];
99
+ }
100
+ /**
101
+ * Which repos a session's note belongs in, and what it touched in each.
102
+ *
103
+ * The repo the note was saved from gets the files it has uncommitted or
104
+ * committed since `since`. Every other repo the session edited (`edited`:
105
+ * absolute paths, from the agent's transcript) gets the note too, with its
106
+ * own files, so a session that changed a backend and the library it calls
107
+ * leaves a note in both. Saved from a folder that holds several repos, the
108
+ * note goes to each repo the session changed, or stays with the folder when
109
+ * it changed none. Two worktrees of one repo are one repo.
110
+ */
111
+ export declare function noteTargets(dir: string, edited?: string[], since?: number): NoteTarget[];
112
+ /**
113
+ * Files of the checkout at `dir` that a note's text names by path. A session
114
+ * that only read code edits nothing, so without these its note would touch no
115
+ * file, and nothing that looks a note up by file (`trail check`, the ranked
116
+ * search) would ever find it.
117
+ */
118
+ export declare function mentionedFiles(dir: string, body: string): string[];
119
+ export interface NoteHit {
120
+ note: Note;
121
+ score: number;
122
+ /** Files the note touches that this query's results also point into. */
123
+ shared: string[];
124
+ }
125
+ /**
126
+ * The notes worth showing next to a query's results: ones whose title or body
127
+ * share the query's words, or that touch a file the results point into. At
128
+ * most `limit`, best first. A note has to clear a bar — two of the query's
129
+ * words, or one in its title, or a shared file — so an unrelated note never
130
+ * rides along just because it exists.
131
+ */
132
+ export declare function findNotes(notes: Note[], query: string, files?: string[], limit?: number): NoteHit[];
133
+ /** `2026-10-07` → `Oct 7`; anything else as it came. */
134
+ export declare function shortDate(date: string): string;
135
+ /** `~9.6k tokens`, `~600 tokens`. */
136
+ export declare function tokensLabel(n: number): string;
137
+ /** `took 12 min and ~9.6k tokens to work out`, or null when the note has no cost. */
138
+ export declare function costLabel(cost?: NoteCost): string | null;
139
+ /** What reading a note costs an agent, in tokens: its text at ~4 characters a token. */
140
+ export declare function readingTokens(n: Note): number;
141
+ /**
142
+ * What reusing a learning saves: what it took to work out, less what reading
143
+ * it costs. 0 when it carries no token cost, or reading it costs as much.
144
+ */
145
+ export declare function savedByNote(n: Note): number;
146
+ /** `Anirudh's learning`, `a learning`, `Kumar's learning on kumar/jitter`. */
147
+ export declare function whoseLearning(n: Note): string;
148
+ /**
149
+ * The block `ask` prints above its results: whose learning each is, when,
150
+ * what it was about and what it cost, then the first line of each section and
151
+ * where to read the rest. A learning on a teammate's unmerged branch says so,
152
+ * with the `git show` that prints it, since there's no file here to open. An agent
153
+ * relays the cost when it says what the turn saved, which is how the saving
154
+ * becomes countable.
155
+ */
156
+ export declare function formatNoteHits(hits: NoteHit[]): string[];
157
+ /** The line an agent closes its reply with after saving a learning just for the user. */
158
+ export declare const PERSONAL_SAVED_LINE = "\uD83D\uDCDD Saved just for you \u00B7 stays on this machine, out of the repo";
159
+ /** `Anay`, `Anay and Rushil`, `Anay, Rushil and 3 others`. */
160
+ export declare function namesLabel(names: string[]): string;
161
+ /** What starting from a teammate's learning is worth when its tokens are too few to say: time to a PR. */
162
+ export declare const PR_SPEEDUP = "3x faster";
163
+ /**
164
+ * Below this many tokens, what a learning saves is too small a number to
165
+ * impress, so trail credits it as a faster PR instead.
166
+ */
167
+ export declare const TOKEN_CREDIT_FLOOR = 80000;
168
+ /** Whether a token count is big enough to be the credit. */
169
+ export declare function tokensWorthSaying(tokens: number | undefined): boolean;
170
+ /**
171
+ * The lines that close a reply after a team learning is saved, one for each
172
+ * way the turn can end, since only the agent knows whether it committed the
173
+ * learning by then. Uncommitted, it makes the case for committing: who else
174
+ * works on the same files, and the head start their agents would get, which
175
+ * is what the learning took to work out, or a faster PR when that's small.
176
+ */
177
+ export declare function commitLines(note: Pick<Note, "cost">, teammates: string[], where?: "files" | "repo"): {
178
+ committed: string;
179
+ uncommitted: string;
180
+ };
181
+ /**
182
+ * What starting from these learnings is worth, for the agent's closing line:
183
+ * the tokens they saved, less what reading them costs, when that's worth
184
+ * saying, otherwise a faster PR.
185
+ */
186
+ export declare function learningCredit(hits: NoteHit[]): string;
187
+ /**
188
+ * The line that credits reused learnings, for `ask` and the agent's closing
189
+ * line: what they took to work out, less what reading them here costs, when
190
+ * that's worth saying, otherwise a faster PR. Null when none were shown.
191
+ */
192
+ export declare function learningSavingsLine(hits: NoteHit[]): string | null;
193
+ //# sourceMappingURL=notes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notes.d.ts","sourceRoot":"","sources":["../../src/notes/notes.ts"],"names":[],"mappings":"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"}