@nanonets/graft 0.23.1 → 0.24.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 (266) hide show
  1. package/README.md +4 -4
  2. package/dist/ai/crux.d.ts +31 -3
  3. package/dist/ai/crux.d.ts.map +1 -1
  4. package/dist/ai/crux.js +88 -10
  5. package/dist/ai/crux.js.map +1 -1
  6. package/dist/ai/llm/openai.d.ts +101 -0
  7. package/dist/ai/llm/openai.d.ts.map +1 -1
  8. package/dist/ai/llm/openai.js +396 -6
  9. package/dist/ai/llm/openai.js.map +1 -1
  10. package/dist/ai/llm/recover-tool.d.ts +2 -0
  11. package/dist/ai/llm/recover-tool.d.ts.map +1 -1
  12. package/dist/ai/llm/recover-tool.js +1 -1
  13. package/dist/ai/llm/recover-tool.js.map +1 -1
  14. package/dist/ai/synthesize.d.ts.map +1 -1
  15. package/dist/ai/synthesize.js +100 -1
  16. package/dist/ai/synthesize.js.map +1 -1
  17. package/dist/claude/format.js +1 -1
  18. package/dist/claude/format.js.map +1 -1
  19. package/dist/claude/hooks.d.ts +0 -18
  20. package/dist/claude/hooks.d.ts.map +1 -1
  21. package/dist/claude/hooks.js +24 -77
  22. package/dist/claude/hooks.js.map +1 -1
  23. package/dist/claude/init.js +3 -3
  24. package/dist/claude/init.js.map +1 -1
  25. package/dist/claude/note-signals.d.ts +28 -0
  26. package/dist/claude/note-signals.d.ts.map +1 -0
  27. package/dist/claude/note-signals.js +325 -0
  28. package/dist/claude/note-signals.js.map +1 -0
  29. package/dist/claude/shim-template.d.ts.map +1 -1
  30. package/dist/claude/shim-template.js +10 -4
  31. package/dist/claude/shim-template.js.map +1 -1
  32. package/dist/claude/skill-template.d.ts.map +1 -1
  33. package/dist/claude/skill-template.js +49 -18
  34. package/dist/claude/skill-template.js.map +1 -1
  35. package/dist/claude/state.d.ts +4 -3
  36. package/dist/claude/state.d.ts.map +1 -1
  37. package/dist/claude/state.js.map +1 -1
  38. package/dist/claude/sync-run.js +1 -1
  39. package/dist/claude/sync-run.js.map +1 -1
  40. package/dist/cli-picker.d.ts +12 -5
  41. package/dist/cli-picker.d.ts.map +1 -1
  42. package/dist/cli-picker.js +24 -8
  43. package/dist/cli-picker.js.map +1 -1
  44. package/dist/cli.d.ts +2 -0
  45. package/dist/cli.d.ts.map +1 -1
  46. package/dist/cli.js +131 -38
  47. package/dist/cli.js.map +1 -1
  48. package/dist/context/batches.d.ts +29 -0
  49. package/dist/context/batches.d.ts.map +1 -0
  50. package/dist/context/batches.js +130 -0
  51. package/dist/context/batches.js.map +1 -0
  52. package/dist/context/build.d.ts +7 -2
  53. package/dist/context/build.d.ts.map +1 -1
  54. package/dist/context/build.js +84 -50
  55. package/dist/context/build.js.map +1 -1
  56. package/dist/context/node-file.d.ts.map +1 -1
  57. package/dist/context/node-file.js +41 -4
  58. package/dist/context/node-file.js.map +1 -1
  59. package/dist/engine.d.ts +2 -0
  60. package/dist/engine.d.ts.map +1 -1
  61. package/dist/engine.js +1 -0
  62. package/dist/engine.js.map +1 -1
  63. package/dist/graph/cards.d.ts.map +1 -1
  64. package/dist/graph/cards.js +9 -4
  65. package/dist/graph/cards.js.map +1 -1
  66. package/dist/graph/enrich.d.ts.map +1 -1
  67. package/dist/graph/enrich.js +8 -3
  68. package/dist/graph/enrich.js.map +1 -1
  69. package/dist/graph/generic.d.ts.map +1 -1
  70. package/dist/graph/generic.js +207 -6
  71. package/dist/graph/generic.js.map +1 -1
  72. package/dist/graph/lsp/client.d.ts +18 -0
  73. package/dist/graph/lsp/client.d.ts.map +1 -1
  74. package/dist/graph/lsp/client.js +40 -2
  75. package/dist/graph/lsp/client.js.map +1 -1
  76. package/dist/graph/lsp/enrich.d.ts.map +1 -1
  77. package/dist/graph/lsp/enrich.js +9 -1
  78. package/dist/graph/lsp/enrich.js.map +1 -1
  79. package/dist/graph/lsp/registry.d.ts +7 -0
  80. package/dist/graph/lsp/registry.d.ts.map +1 -1
  81. package/dist/graph/lsp/registry.js +27 -2
  82. package/dist/graph/lsp/registry.js.map +1 -1
  83. package/dist/graph/queries/gleam.scm +51 -0
  84. package/dist/graph/resolve.d.ts.map +1 -1
  85. package/dist/graph/resolve.js +65 -3
  86. package/dist/graph/resolve.js.map +1 -1
  87. package/dist/graph/workspace-cli.d.ts +2 -0
  88. package/dist/graph/workspace-cli.d.ts.map +1 -1
  89. package/dist/graph/workspace-cli.js +1 -1
  90. package/dist/graph/workspace-cli.js.map +1 -1
  91. package/dist/notes/branches.d.ts +7 -1
  92. package/dist/notes/branches.d.ts.map +1 -1
  93. package/dist/notes/branches.js +31 -3
  94. package/dist/notes/branches.js.map +1 -1
  95. package/dist/notes/cold-start.d.ts +12 -2
  96. package/dist/notes/cold-start.d.ts.map +1 -1
  97. package/dist/notes/cold-start.js +46 -5
  98. package/dist/notes/cold-start.js.map +1 -1
  99. package/dist/notes/credit.d.ts +37 -0
  100. package/dist/notes/credit.d.ts.map +1 -0
  101. package/dist/notes/credit.js +78 -0
  102. package/dist/notes/credit.js.map +1 -0
  103. package/dist/notes/find-notes.d.ts +17 -0
  104. package/dist/notes/find-notes.d.ts.map +1 -0
  105. package/dist/notes/find-notes.js +48 -0
  106. package/dist/notes/find-notes.js.map +1 -0
  107. package/dist/notes/flatten.d.ts +31 -0
  108. package/dist/notes/flatten.d.ts.map +1 -0
  109. package/dist/notes/flatten.js +73 -0
  110. package/dist/notes/flatten.js.map +1 -0
  111. package/dist/notes/git-facts.d.ts +2 -0
  112. package/dist/notes/git-facts.d.ts.map +1 -1
  113. package/dist/notes/git-facts.js +6 -0
  114. package/dist/notes/git-facts.js.map +1 -1
  115. package/dist/notes/home.d.ts +24 -6
  116. package/dist/notes/home.d.ts.map +1 -1
  117. package/dist/notes/home.js +82 -15
  118. package/dist/notes/home.js.map +1 -1
  119. package/dist/notes/learning-fields.d.ts +102 -0
  120. package/dist/notes/learning-fields.d.ts.map +1 -0
  121. package/dist/notes/learning-fields.js +214 -0
  122. package/dist/notes/learning-fields.js.map +1 -0
  123. package/dist/notes/memory-notes.d.ts +71 -0
  124. package/dist/notes/memory-notes.d.ts.map +1 -0
  125. package/dist/notes/memory-notes.js +239 -0
  126. package/dist/notes/memory-notes.js.map +1 -0
  127. package/dist/notes/note-gate.d.ts +42 -0
  128. package/dist/notes/note-gate.d.ts.map +1 -0
  129. package/dist/notes/note-gate.js +181 -0
  130. package/dist/notes/note-gate.js.map +1 -0
  131. package/dist/notes/notes.d.ts +29 -85
  132. package/dist/notes/notes.d.ts.map +1 -1
  133. package/dist/notes/notes.js +69 -254
  134. package/dist/notes/notes.js.map +1 -1
  135. package/dist/notes/pr-reviews.d.ts +35 -7
  136. package/dist/notes/pr-reviews.d.ts.map +1 -1
  137. package/dist/notes/pr-reviews.js +156 -46
  138. package/dist/notes/pr-reviews.js.map +1 -1
  139. package/dist/notes/secrets.d.ts +28 -0
  140. package/dist/notes/secrets.d.ts.map +1 -0
  141. package/dist/notes/secrets.js +362 -0
  142. package/dist/notes/secrets.js.map +1 -0
  143. package/dist/notes/targets.d.ts +37 -0
  144. package/dist/notes/targets.d.ts.map +1 -0
  145. package/dist/notes/targets.js +108 -0
  146. package/dist/notes/targets.js.map +1 -0
  147. package/dist/notes/team-check.d.ts +22 -0
  148. package/dist/notes/team-check.d.ts.map +1 -0
  149. package/dist/notes/team-check.js +130 -0
  150. package/dist/notes/team-check.js.map +1 -0
  151. package/dist/notes/trail-home.d.ts +3 -0
  152. package/dist/notes/trail-home.d.ts.map +1 -0
  153. package/dist/notes/trail-home.js +12 -0
  154. package/dist/notes/trail-home.js.map +1 -0
  155. package/dist/skills/answers-prompt.d.ts +13 -0
  156. package/dist/skills/answers-prompt.d.ts.map +1 -0
  157. package/dist/skills/answers-prompt.js +83 -0
  158. package/dist/skills/answers-prompt.js.map +1 -0
  159. package/dist/skills/never-save.d.ts +5 -0
  160. package/dist/skills/never-save.d.ts.map +1 -0
  161. package/dist/skills/never-save.js +158 -0
  162. package/dist/skills/never-save.js.map +1 -0
  163. package/dist/skills/params.d.ts +39 -0
  164. package/dist/skills/params.d.ts.map +1 -0
  165. package/dist/skills/params.js +275 -0
  166. package/dist/skills/params.js.map +1 -0
  167. package/dist/skills/ran-less.d.ts +5 -0
  168. package/dist/skills/ran-less.d.ts.map +1 -0
  169. package/dist/skills/ran-less.js +51 -0
  170. package/dist/skills/ran-less.js.map +1 -0
  171. package/dist/skills/risk-delta.d.ts +32 -0
  172. package/dist/skills/risk-delta.d.ts.map +1 -0
  173. package/dist/skills/risk-delta.js +56 -0
  174. package/dist/skills/risk-delta.js.map +1 -0
  175. package/dist/skills/risk.d.ts +73 -0
  176. package/dist/skills/risk.d.ts.map +1 -0
  177. package/dist/skills/risk.js +396 -0
  178. package/dist/skills/risk.js.map +1 -0
  179. package/dist/skills/types.d.ts +422 -0
  180. package/dist/skills/types.d.ts.map +1 -0
  181. package/dist/skills/types.js +2 -0
  182. package/dist/skills/types.js.map +1 -0
  183. package/dist/telemetry/contract.d.ts.map +1 -1
  184. package/dist/telemetry/contract.js +8 -6
  185. package/dist/telemetry/contract.js.map +1 -1
  186. package/dist/telemetry/notice.d.ts.map +1 -1
  187. package/dist/telemetry/notice.js +3 -1
  188. package/dist/telemetry/notice.js.map +1 -1
  189. package/dist/trace/check-reads.d.ts +36 -0
  190. package/dist/trace/check-reads.d.ts.map +1 -0
  191. package/dist/trace/check-reads.js +57 -0
  192. package/dist/trace/check-reads.js.map +1 -0
  193. package/dist/trace/host.d.ts +40 -0
  194. package/dist/trace/host.d.ts.map +1 -0
  195. package/dist/trace/host.js +84 -0
  196. package/dist/trace/host.js.map +1 -0
  197. package/dist/trace/redact.d.ts +8 -0
  198. package/dist/trace/redact.d.ts.map +1 -0
  199. package/dist/trace/redact.js +63 -0
  200. package/dist/trace/redact.js.map +1 -0
  201. package/dist/trace/seen-cache.d.ts +9 -0
  202. package/dist/trace/seen-cache.d.ts.map +1 -0
  203. package/dist/trace/seen-cache.js +46 -0
  204. package/dist/trace/seen-cache.js.map +1 -0
  205. package/dist/trace/shell-scan.d.ts +52 -0
  206. package/dist/trace/shell-scan.d.ts.map +1 -0
  207. package/dist/trace/shell-scan.js +318 -0
  208. package/dist/trace/shell-scan.js.map +1 -0
  209. package/dist/trace/shell-words.d.ts +91 -0
  210. package/dist/trace/shell-words.d.ts.map +1 -0
  211. package/dist/trace/shell-words.js +558 -0
  212. package/dist/trace/shell-words.js.map +1 -0
  213. package/dist/trace/shell.d.ts +91 -0
  214. package/dist/trace/shell.d.ts.map +1 -0
  215. package/dist/trace/shell.js +435 -0
  216. package/dist/trace/shell.js.map +1 -0
  217. package/dist/trace/state.d.ts +27 -0
  218. package/dist/trace/state.d.ts.map +1 -0
  219. package/dist/trace/state.js +98 -0
  220. package/dist/trace/state.js.map +1 -0
  221. package/dist/trace/tamper-code.d.ts +9 -0
  222. package/dist/trace/tamper-code.d.ts.map +1 -0
  223. package/dist/trace/tamper-code.js +174 -0
  224. package/dist/trace/tamper-code.js.map +1 -0
  225. package/dist/trace/tamper-git.d.ts +12 -0
  226. package/dist/trace/tamper-git.d.ts.map +1 -0
  227. package/dist/trace/tamper-git.js +77 -0
  228. package/dist/trace/tamper-git.js.map +1 -0
  229. package/dist/trace/types.d.ts +477 -0
  230. package/dist/trace/types.d.ts.map +1 -0
  231. package/dist/trace/types.js +12 -0
  232. package/dist/trace/types.js.map +1 -0
  233. package/dist/trace/walls-glob.d.ts +11 -0
  234. package/dist/trace/walls-glob.d.ts.map +1 -0
  235. package/dist/trace/walls-glob.js +264 -0
  236. package/dist/trace/walls-glob.js.map +1 -0
  237. package/dist/trace/walls-quoted.d.ts +25 -0
  238. package/dist/trace/walls-quoted.d.ts.map +1 -0
  239. package/dist/trace/walls-quoted.js +81 -0
  240. package/dist/trace/walls-quoted.js.map +1 -0
  241. package/dist/upkeep.d.ts +1 -1
  242. package/dist/upkeep.d.ts.map +1 -1
  243. package/dist/upkeep.js +4 -1
  244. package/dist/upkeep.js.map +1 -1
  245. package/dist/util/actions-folder.d.ts +2 -0
  246. package/dist/util/actions-folder.d.ts.map +1 -0
  247. package/dist/util/actions-folder.js +9 -0
  248. package/dist/util/actions-folder.js.map +1 -0
  249. package/dist/util/front-matter.d.ts +31 -4
  250. package/dist/util/front-matter.d.ts.map +1 -1
  251. package/dist/util/front-matter.js +95 -3
  252. package/dist/util/front-matter.js.map +1 -1
  253. package/dist/util/private-file.d.ts +14 -0
  254. package/dist/util/private-file.d.ts.map +1 -0
  255. package/dist/util/private-file.js +82 -0
  256. package/dist/util/private-file.js.map +1 -0
  257. package/dist/util/private-fs.d.ts +25 -0
  258. package/dist/util/private-fs.d.ts.map +1 -0
  259. package/dist/util/private-fs.js +253 -0
  260. package/dist/util/private-fs.js.map +1 -0
  261. package/dist/util/state.d.ts.map +1 -1
  262. package/dist/util/state.js +3 -0
  263. package/dist/util/state.js.map +1 -1
  264. package/dist/viewer/app.js +2 -2
  265. package/package.json +5 -5
  266. package/scripts/run-tests.mjs +14 -2
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/claude/state.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IACxC,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB;;8DAE0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;sEACkE;IAClE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,wIAAwI;IACxI,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;wEACoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;sFAEkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;iFAC6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;yEACqE;IACrE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;gFAC4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;4EAMwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;oBAGgB;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;wDACoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;4DAGwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;wBAIoB;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAMD,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAyC;AAItF;iFACiF;AACjF,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAIlD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,CAE/D;AACD,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,GAAG,IAAI,CAEzE"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/claude/state.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IACxC,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB;;8DAE0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;sEACkE;IAClE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,wIAAwI;IACxI,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;wEACoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;sFAEkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;iFAC6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;yEACqE;IACrE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;gFAC4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;4EAMwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;oBAGgB;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;sDAEkD;IAClD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;4DAGwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;wBAIoB;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAMD,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAyC;AAItF;iFACiF;AACjF,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAIlD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,CAE/D;AACD,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,GAAG,IAAI,CAEzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/claude/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGvE,OAAO,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,UAAU,GACX,MAAM,kBAAkB,CAAC;AAgE1B,SAAS,YAAY;IACnB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAChI,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,UAAU,CAAC,CAAS,IAAY,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAEtF,SAAS,WAAW,CAAC,CAAS,EAAE,EAAU,IAAY,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjG;iFACiF;AACjF,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/G,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAS,EAAE,EAAU;IAC/C,OAAO,QAAQ,CAAe,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC;AACtE,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,CAAS,EAAE,EAAU,EAAE,CAAe;IACjE,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/claude/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGvE,OAAO,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,UAAU,GACX,MAAM,kBAAkB,CAAC;AAiE1B,SAAS,YAAY;IACnB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAChI,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,UAAU,CAAC,CAAS,IAAY,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAEtF,SAAS,WAAW,CAAC,CAAS,EAAE,EAAU,IAAY,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjG;iFACiF;AACjF,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/G,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAS,EAAE,EAAU;IAC/C,OAAO,QAAQ,CAAe,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC;AACtE,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,CAAS,EAAE,EAAU,EAAE,CAAe;IACjE,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC"}
@@ -13,7 +13,7 @@ function realBuild(dir) {
13
13
  // unconfigured repo's rebuild sees byte-identical argv to before this existed.
14
14
  if (process.env.GRAFT_DIR)
15
15
  args.push('--dir', resolveContextDir(dir));
16
- execFileSync(process.execPath, args, { cwd: dir, stdio: 'ignore', timeout: 120000 });
16
+ execFileSync(process.execPath, args, { cwd: dir, stdio: 'ignore', timeout: 120000, windowsHide: true });
17
17
  }
18
18
  export function runSync(dir, build = realBuild) {
19
19
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"sync-run.js","sourceRoot":"","sources":["../../src/claude/sync-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,qFAAqF;AACrF,SAAS,SAAS,CAAC,GAAW;IAC5B,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,YAAY,EAAE,CAAC;IAC7D,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACrC,kFAAkF;IAClF,+EAA+E;IAC/E,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,QAA6B,SAAS;IACzE,IAAI,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,EAAE,CAAC;YAAC,UAAU,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC,CAAC,sDAAsD;QAC/G,UAAU,CAAC,GAAG,EAAE;YACd,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC/E,GAAG,YAAY,CAAC,CAAC,CAAC;SACnB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,UAAU,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,oCAAoC;IAC3E,CAAC;YAAS,CAAC;QACT,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,IAAI;IAClB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,GAAG;QAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,uFAAuF;AACvF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"sync-run.js","sourceRoot":"","sources":["../../src/claude/sync-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,qFAAqF;AACrF,SAAS,SAAS,CAAC,GAAW;IAC5B,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,YAAY,EAAE,CAAC;IAC7D,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACrC,kFAAkF;IAClF,+EAA+E;IAC/E,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,QAA6B,SAAS;IACzE,IAAI,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,EAAE,CAAC;YAAC,UAAU,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC,CAAC,sDAAsD;QAC/G,UAAU,CAAC,GAAG,EAAE;YACd,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC/E,GAAG,YAAY,CAAC,CAAC,CAAC;SACnB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,UAAU,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,oCAAoC;IAC3E,CAAC;YAAS,CAAC;QACT,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,IAAI;IAClB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,GAAG;QAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,uFAAuF;AACvF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,CAAC"}
@@ -100,19 +100,26 @@ export declare function runPicker(plan: HostPlan[], repo: string, home: string,
100
100
  offerTelemetry?: boolean;
101
101
  title?: string | null;
102
102
  }): Promise<Picked | null>;
103
- /** One thing `trail init` found the person kept telling Claude, or reviewers kept flagging, as the picker shows it. */
103
+ /** One learning `trail init` found, as the picker shows it. */
104
104
  export interface LearningChoice {
105
105
  title: string;
106
106
  forTeam: boolean;
107
- /** Past sessions it was said in. */
107
+ /** Past sessions it was said in, for one from the person's sessions. */
108
108
  sessions?: number;
109
- /** Merged PRs reviewers flagged it on, for one from PR reviews. */
110
- prs?: number;
109
+ /** Merged PRs whose review it came from, for one from PR reviews. */
110
+ prs?: number[];
111
+ /** From Claude Code's memory of the repo on this machine. */
112
+ memory?: boolean;
111
113
  }
112
- /** One row per learning init found, every one ticked: the person unticks what Claude shouldn't follow. */
114
+ /**
115
+ * One row per learning init found. The team's are ticked: the person unticks
116
+ * what their teammates' Claude shouldn't follow. Their own start unticked.
117
+ */
113
118
  export declare function learningsPickerState(items: LearningChoice[]): PickerState;
114
119
  /** The ticked learnings, as indexes into what was offered, in order. */
115
120
  export declare function keptLearnings(state: PickerState): number[];
121
+ /** The picker's title: what the list is, for the person deciding. */
122
+ export declare function learningsTitle(items: LearningChoice[]): string;
116
123
  /** Ask which learnings to keep: their indexes, or null when the person cancelled. */
117
124
  export declare function pickLearnings(items: LearningChoice[]): Promise<number[] | null>;
118
125
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"cli-picker.d.ts","sourceRoot":"","sources":["../src/cli-picker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-picker.d.ts","sourceRoot":"","sources":["../src/cli-picker.ts"],"names":[],"mappings":"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"}
@@ -348,7 +348,20 @@ async function drivePicker(initial, title) {
348
348
  stdin.pause();
349
349
  }
350
350
  }
351
- /** One row per learning init found, every one ticked: the person unticks what Claude shouldn't follow. */
351
+ /** Where a learning came from, in a few words. */
352
+ function learningSource(it) {
353
+ if (it.prs?.length) {
354
+ const shown = it.prs.slice(0, 3).map((n) => `#${n}`).join(", ");
355
+ return `from review on PR ${shown}${it.prs.length > 3 ? ` +${it.prs.length - 3}` : ""}`;
356
+ }
357
+ if (it.memory)
358
+ return "from your Claude's memory of this repo";
359
+ return `told Claude in ${it.sessions ?? 0} sessions`;
360
+ }
361
+ /**
362
+ * One row per learning init found. The team's are ticked: the person unticks
363
+ * what their teammates' Claude shouldn't follow. Their own start unticked.
364
+ */
352
365
  export function learningsPickerState(items) {
353
366
  const rows = items.map((it, i) => ({
354
367
  id: String(i),
@@ -356,21 +369,24 @@ export function learningsPickerState(items) {
356
369
  kind: 'host',
357
370
  detected: true,
358
371
  hasGlobal: false,
359
- summary: `${it.forTeam ? 'for your team' : 'just for you'} · ${it.prs ? `flagged in review on ${it.prs} PRs` : `told Claude in ${it.sessions ?? 0} sessions`}`,
372
+ summary: `${it.forTeam ? 'for your team' : 'just for you'} · ${learningSource(it)}`,
360
373
  }));
361
- return { rows, cursor: 0, checked: new Set(rows.map((r) => r.id)), done: false, aborted: false };
374
+ const checked = new Set(rows.filter((_, i) => items[i].forTeam).map((r) => r.id));
375
+ return { rows, cursor: 0, checked, done: false, aborted: false };
362
376
  }
363
377
  /** The ticked learnings, as indexes into what was offered, in order. */
364
378
  export function keptLearnings(state) {
365
379
  return state.rows.filter((r) => state.checked.has(r.id)).map((r) => Number(r.id));
366
380
  }
381
+ /** The picker's title: what the list is, for the person deciding. */
382
+ export function learningsTitle(items) {
383
+ return items.some((it) => it.forTeam)
384
+ ? `${brand()} init — your teammates' Claude doesn't know these yet. Keep the ones to share:`
385
+ : `${brand()} init — you told Claude these more than once. Tick the ones to keep for yourself:`;
386
+ }
367
387
  /** Ask which learnings to keep: their indexes, or null when the person cancelled. */
368
388
  export async function pickLearnings(items) {
369
- const fromReviews = items.filter((it) => it.prs).length;
370
- const title = fromReviews === 0
371
- ? `${brand()} init — you told Claude these more than once. Keep the ones it should follow:`
372
- : `${brand()} init — ${fromReviews === items.length ? 'reviewers flagged these on more than one PR' : 'these came up more than once in your sessions and PR reviews'}. Keep the ones Claude should follow:`;
373
- const state = await drivePicker(learningsPickerState(items), title);
389
+ const state = await drivePicker(learningsPickerState(items), learningsTitle(items));
374
390
  return state ? keptLearnings(state) : null;
375
391
  }
376
392
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"cli-picker.js","sourceRoot":"","sources":["../src/cli-picker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-picker.js","sourceRoot":"","sources":["../src/cli-picker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,wBAAwB,CAAC,SAAS,CAAC;AACjE,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;AACzD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;AAEzD,6DAA6D;AAC7D,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,IAAY;IAC9C,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7F,CAAC;AAED,qDAAqD;AACrD,SAAS,SAAS,CAAC,KAAe;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;QAAE,CAAC,EAAE,CAAC;IACtE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAsB,EACtB,IAAY,EACZ,IAAY,EACZ,QAAQ,GAAG,CAAC;IAEZ,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9F,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CACR,SAAS,CAAC,MAAM,IAAI,QAAQ;YAC1B,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YACtB,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,QAAQ,OAAO,CACtF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACjE,0EAA0E;QAC1E,oEAAoE;QACpE,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,OAAO,KAAK,GAAG,GAAG,iBAAiB,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAsB,EAAE,IAAY,EAAE,IAAY,EAAE,QAAQ,GAAG,CAAC;IAC5F,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9F,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAChG,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,MAAM,IAAI,QAAQ;YACxB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,QAAQ,OAAO,CAClF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IAC3D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,OAAO,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAiBD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAa9C,6EAA6E;AAC7E,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;AAC1F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAgB,EAChB,IAAY,EACZ,IAAY,EACZ,OAAqC,EAAE;IAEvC,MAAM,IAAI,GAAgB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzC,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE;QACX,IAAI,EAAE,MAAe;QACrB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;QAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC;KACtD,CAAC,CAAC,CAAC;IACJ,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/E,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC;YACR,EAAE,EAAE,gBAAgB;YACpB,KAAK,EAAE,uBAAuB;YAC9B,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,oCAAoC;YAC7C,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACnE,CAAC;AAID,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC;AACjC,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC;AAEjC,gEAAgE;AAChE,MAAM,UAAU,KAAK,CAAC,KAAa;IACjC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM,CAAC;QAAC,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC;QACnC,KAAK,QAAQ,CAAC;QAAC,KAAK,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC;QACvC,KAAK,GAAG,CAAC,CAAC,OAAO,OAAO,CAAC;QACzB,KAAK,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC;QACvB,KAAK,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC;QACxB,KAAK,IAAI,CAAC;QAAC,KAAK,IAAI,CAAC,CAAC,OAAO,OAAO,CAAC;QACrC,KAAK,OAAO,CAAC;QAAC,KAAK,UAAU,CAAC;QAAC,KAAK,GAAG,CAAC,CAAC,OAAO,OAAO,CAAC;QACxD,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,KAAa;IAClC,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,IAAI,KAAa,CAAC;QAClB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACjD,kEAAkE;YAClE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,CAAC,EAAE,CAAC;YACxD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC;QAClB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,GAAG,KAAK,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAkB,EAAE,GAAc;IAC7D,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACzB,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,IAAI;YACP,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,KAAK,MAAM;YACT,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACtD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;;gBAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrC,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,uEAAuE;YACvE,yEAAyE;YACzE,yEAAyE;YACzE,+BAA+B;YAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,IAAI,KAAK;oBAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;;oBACxB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC;YACD,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrC,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC5E,iEAAiE;YACjE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACnC,yEAAyE;YACzE,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAChD,yEAAyE;YACzE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,UAAU;gBAAE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI;oBAAE,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ;wBAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChH,OAAO,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QAC7D,CAAC;QACD,KAAK,OAAO;YACV,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAClC,KAAK,OAAO;YACV,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAkB,EAAE,GAAG,GAAG,IAAI,EAAE,OAAkC,EAAE;IAC/F,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1E,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,KAAK,GAAG,CAAC,CAAY,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC3G,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACpG,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,yCAAyC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC1G,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAChC,KAAK,CAAC,IAAI,CACR,GAAG,CACD,KAAK,CAAC,UAAU;YACd,CAAC,CAAC,uBAAuB,MAAM,CAAC,MAAM,eAAe;YACrD,CAAC,CAAC,WAAW,MAAM,CAAC,MAAM,kBAAkB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CACnG,CACF,CAAC;IACJ,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACzC,4EAA4E;QAC5E,oEAAoE;QACpE,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;YACrC,QAAQ,EAAE,CAAC;YACX,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvC,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC;QAChC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACtD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;QAC/C,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC,KAAK;QAAE,QAAQ,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;IACvH,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,SAAS,CAAC,KAAkB;IAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjG,CAAC;AAED;oEACoE;AACpE,MAAM,UAAU,eAAe,CAAC,KAAkB;IAChD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,gBAAgB,CAAC;QAAE,OAAO,SAAS,CAAC;IACzE,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC7C,CAAC;AAcD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAgB,EAChB,IAAY,EACZ,IAAY,EACZ,OAA4D,EAAE;IAE9D,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACxF,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3F,CAAC;AAED,gGAAgG;AAChG,KAAK,UAAU,WAAW,CAAC,OAAoB,EAAE,KAAqB;IACpE,IAAI,KAAK,GAAG,OAAO,CAAC;IACpB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAE5B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,SAAS,GAAG,CAAC;YAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,SAAS,UAAU,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QACvB,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACtC,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpC,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;IACzB,KAAK,CAAC,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,CAAC;IAEP,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,EAAE;YACvD,0EAA0E;YAC1E,uEAAuE;YACvE,MAAM,MAAM,GAAG,CAAC,MAA2B,EAAE,EAAE;gBAC7C,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC1B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACxB,wEAAwE;gBACxE,6DAA6D;gBAC7D,IAAI,SAAS,GAAG,CAAC;oBAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,SAAS,UAAU,CAAC,CAAC;gBAC1D,SAAS,GAAG,CAAC,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC,CAAC;YACF,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE;gBAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;gBAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACjC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBAChC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACf,OAAO;oBACT,CAAC;gBACH,CAAC;gBACD,IAAI,EAAE,CAAC;YACT,CAAC,CAAC;YACF,sEAAsE;YACtE,MAAM,KAAK,GAAG,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7E,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACzB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,KAAK,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;QAC3B,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAcD,kDAAkD;AAClD,SAAS,cAAc,CAAC,EAAkB;IACxC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,OAAO,qBAAqB,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC1F,CAAC;IACD,IAAI,EAAE,CAAC,MAAM;QAAE,OAAO,wCAAwC,CAAC;IAC/D,OAAO,kBAAkB,EAAE,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAuB;IAC1D,MAAM,IAAI,GAAgB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QACb,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,IAAI,EAAE,MAAe;QACrB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,MAAM,cAAc,CAAC,EAAE,CAAC,EAAE;KACpF,CAAC,CAAC,CAAC;IACJ,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACnE,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,cAAc,CAAC,KAAuB;IACpD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC;QACnC,CAAC,CAAC,GAAG,KAAK,EAAE,gFAAgF;QAC5F,CAAC,CAAC,GAAG,KAAK,EAAE,mFAAmF,CAAC;AACpG,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAuB;IACzD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IACpF,OAAO,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAAqB;IAC5D,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACtE,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;IAClB,MAAM,QAAQ,GAAuB;QACnC,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAE;gBACC,CAAC,GAAG,CAAC,kBAAkB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC;gBAC7D,CAAC,GAAG,CAAC,aAAa,EAAE,iCAAiC,CAAC;aAChC;YAC1B,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,GAAG,CAAC,uBAAuB,EAAE,kBAAkB,CAAC;QACjD,CAAC,GAAG,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;KACvD,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,OAAO;QACL,GAAG,CAAC,4EAA4E;QAChF,aAAa,IAAI,EAAE;QACnB,EAAE;QACF,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;KACvE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,IAAgB,EAChB,GAAa,EACb,IAAY,EACZ,IAAY,EACZ,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAEnC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5C,2EAA2E;IAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAClF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,4CAA4C,CAAC;IAE7E,MAAM,GAAG,GAAG,CAAC,IAAoB,EAAE,CAAwB,EAAE,EAAE;QAC7D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC;IAEF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;IAC5D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IAChE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,gDAAgD,CAAC,EACtD,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAC3C,EAAE,EACF,GAAG,CAAC,kDAAkD,CAAC,CACxD,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
package/dist/cli.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
  import "dotenv/config";
3
+ /** What the agent asks after saving a team learning it hasn't committed: who reads it, and when. */
4
+ export declare function commitAsk(title: string, about?: string): string;
3
5
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAWA,OAAO,eAAe,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAWA,OAAO,eAAe,CAAC;AAg8CvB,oGAAoG;AACpG,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAG/D"}
package/dist/cli.js CHANGED
@@ -49,10 +49,13 @@ import { normalizePathPrefix } from "./util/paths.js";
49
49
  import { latestSession, formatSessionStats, sessionInputRate } from "./claude/session-metrics.js";
50
50
  import { listSessionIds, readSession, sessionDir } from "./claude/state.js";
51
51
  import { costLabel, listNotes, noteName, notePlace, noteTargets, readingTokens, savedByNote, commitLines, PERSONAL_SAVED_LINE, PR_SPEEDUP, SECTIONS, tokensWorthSaying, sectionLead, shortDate, tokensLabel, writeNote, mentionedFiles } from "./notes/notes.js";
52
+ import { findLearning, liveLearnings } from "./notes/learning-fields.js";
52
53
  import { aboutTerms, currentSessionCost } from "./notes/session-cost.js";
53
54
  import { beginPastRead, finishPastRead } from "./notes/cold-start.js";
54
- import { beginReviewRead, finishReviewRead } from "./notes/pr-reviews.js";
55
+ import { anchoredReviews, beginReviewRead, finishReviewRead } from "./notes/pr-reviews.js";
56
+ import { finishMemoryRead, memoryCandidates, offeredBefore } from "./notes/memory-notes.js";
55
57
  import { currentBranch, noteAuthor, teammatesOn } from "./notes/git-facts.js";
58
+ import { gateNote, namesRepoSymbol, symbolCandidates, trackedFiles } from "./notes/note-gate.js";
56
59
  import { confirm, fold, getSkill, learn, listSkills, publish, skillForAgent, skillName, skillStatus } from "./skills/skills.js";
57
60
  import { clearPending, cloudLines, loginLink, sessionKey, waitForConnect } from "./cloud/nudge.js";
58
61
  import { addRepo, clearCloud, cloudEnabled, fetchMe, fetchTeam, isError, readCloud, writeCloud } from "./cloud/workspace.js";
@@ -390,6 +393,8 @@ grouped(program.command("build"), GROUP.setup)
390
393
  .option("--deep", "run the LLM pass: concept nodes (graft/*.md) + per-symbol summary/crux")
391
394
  .option("-e, --extensions <exts...>", 'code extensions to include (e.g. ".ts" ".py"); an extension with no parser is ignored with a warning that lists the supported set')
392
395
  .option("-j, --concurrency <n>", "files summarized in parallel during --deep (default 5)")
396
+ .option("--synth-concurrency <n>", "concept synthesis batches in flight at once during --deep (default 4). Separate from -j: " +
397
+ "each synthesis call carries a whole batch of summaries, not one file")
393
398
  .option("--no-reuse", "re-parse every file instead of replaying unchanged ones from the extraction cache")
394
399
  .option("--lsp", "add compiler-grade call edges via a language server if one is installed (opt-in, slower; e.g. rust-analyzer, clangd)")
395
400
  .option("--allow-partial", "with --deep: exit 0 even when some files' summaries failed (default: a degraded meaning tier exits 1)")
@@ -423,6 +428,11 @@ grouped(program.command("build"), GROUP.setup)
423
428
  console.error(`✗ --concurrency must be a number, got "${opts.concurrency}"`);
424
429
  process.exit(1);
425
430
  }
431
+ const synthConcurrency = opts.synthConcurrency ? Math.max(1, Number(opts.synthConcurrency)) : undefined;
432
+ if (opts.synthConcurrency && !Number.isFinite(synthConcurrency)) {
433
+ console.error(`✗ --synth-concurrency must be a number, got "${opts.synthConcurrency}"`);
434
+ process.exit(1);
435
+ }
426
436
  warnUnsupportedExtensions(opts.extensions);
427
437
  // Persisted BEFORE the build itself runs, so this invocation's walks (and
428
438
  // every later no-flag build / hooks refresh) see it identically — the
@@ -499,6 +509,7 @@ grouped(program.command("build"), GROUP.setup)
499
509
  deep: !!deep,
500
510
  extensions: opts.extensions,
501
511
  concurrency,
512
+ synthConcurrency,
502
513
  childConfig: cliConfig(),
503
514
  override: buildGlobalDir,
504
515
  includeDirs: opts.includeDir,
@@ -515,6 +526,7 @@ grouped(program.command("build"), GROUP.setup)
515
526
  const c = await engine.init(dir, {
516
527
  extensions: opts.extensions,
517
528
  onlyDirs,
529
+ synthConcurrency,
518
530
  onProgress: ({ phase, index, total, file }) => process.stderr.write(`\r${phase === "summarize" ? "reading" : "writing"} concepts ${index + 1}/${total}: ${file.slice(0, 40).padEnd(40)}`),
519
531
  }).catch((err) => {
520
532
  // Only the stage and a code enum; the message stays on this machine.
@@ -522,7 +534,11 @@ grouped(program.command("build"), GROUP.setup)
522
534
  throw err;
523
535
  });
524
536
  process.stderr.write("\n");
525
- console.log(`✓ concepts: ${c.nodes} nodes, ${c.links} links from ${c.files} files (${c.summarized} read, ${c.cached} cached)`);
537
+ const conceptLine = `concepts: ${c.nodes} nodes, ${c.links} links from ${c.files} files (${c.summarized} read, ${c.cached} cached)`;
538
+ if (c.nodes === 0)
539
+ console.error(`⚠ ${conceptLine}`);
540
+ else
541
+ console.log(`✓ ${conceptLine}`);
526
542
  for (const e of c.errors)
527
543
  console.error(`✗ ${e}`);
528
544
  conceptErrors = c.errors;
@@ -984,6 +1000,8 @@ grouped(program.command("note", { hidden: !TRAIL }), GROUP.memory)
984
1000
  .option("--author <name>", "who wrote it (default: the first word of git config user.name)")
985
1001
  .option("--minutes <n>", "what it took to work out, when the agent's transcript can't say")
986
1002
  .option("--tokens <n>", "the same, in tokens")
1003
+ .option("--replaces <file>", "an earlier learning this one takes over from (its file name in .trail/learnings/); the old file stays")
1004
+ .option("--anyway", "save it even if trail's checks (names code, says why, not status, not a repeat) turn it away")
987
1005
  .option("--json", "print the saved learning as JSON")
988
1006
  .argument("[dir]", "repository root", ".")
989
1007
  .action(async (dir, opts) => {
@@ -1204,14 +1222,55 @@ async function runNoteCommand(repo, opts) {
1204
1222
  // Then the files the note names, then the ones the session only read.
1205
1223
  touches: [...new Set([...t.touches, ...mentionedFiles(t.dir, body), ...(t.read ?? [])])].slice(0, 10),
1206
1224
  }));
1225
+ // A touch is a file git tracks or one this session edited: never a file
1226
+ // that was just lying around (a token, a scratch file).
1227
+ const real = (dir, files) => {
1228
+ const tracked = trackedFiles(dir, files.map((f) => f.split("#")[0]));
1229
+ const edited = new Set((spent?.edited ?? []).map((f) => relative(dir, f).split("\\").join("/")));
1230
+ return files.filter((f) => tracked.has(f.split("#")[0]) || edited.has(f.split("#")[0]));
1231
+ };
1232
+ for (const t of targets)
1233
+ t.touches = real(t.dir, t.touches);
1234
+ const scope = opts.personal ? "personal" : "repo";
1235
+ const primary = targets[0];
1236
+ const existing = listNotes(primary.dir, { branches: false });
1237
+ let old;
1238
+ if (opts.replaces) {
1239
+ const want = basename(opts.replaces.trim());
1240
+ old = findLearning(existing, want);
1241
+ if (!old) {
1242
+ console.error(`✗ --replaces: no learning named ${want} here. The names are the files in .trail/learnings/.`);
1243
+ process.exitCode = 1;
1244
+ return;
1245
+ }
1246
+ }
1247
+ // What `replaces:` holds is the old learning's id (learning-fields.ts), not its file name.
1248
+ const replaces = old?.id;
1249
+ const text = `${opts.title}\n${body}`;
1250
+ const gate = gateNote({
1251
+ title: opts.title,
1252
+ body,
1253
+ personal: scope === "personal",
1254
+ files: real(primary.dir, [...new Set([...mentionedFiles(primary.dir, text), ...(opts.touches ? primary.touches : [])])]),
1255
+ namesSymbol: namesRepoSymbol(primary.dir, symbolCandidates(text)),
1256
+ touches: primary.touches,
1257
+ replaces,
1258
+ }, liveLearnings(existing).filter((n) => (n.scope ?? "repo") === scope));
1259
+ if (gate.problems.length && !opts.anyway) {
1260
+ console.error("✗ not saved yet:");
1261
+ for (const p of gate.problems)
1262
+ console.error(` · ${p}`);
1263
+ console.error(`Fix it and run ${cmd("graft note")} again, or add --anyway if a check is wrong.`);
1264
+ process.exitCode = 1;
1265
+ return;
1266
+ }
1207
1267
  const author = opts.author?.trim() || noteAuthor(repo);
1208
1268
  const date = new Date().toISOString().slice(0, 10);
1209
- const scope = opts.personal ? "personal" : "repo";
1210
1269
  const earlier = [];
1211
1270
  const saved = [];
1212
1271
  for (const t of targets) {
1213
1272
  earlier.push(...listNotes(t.dir));
1214
- saved.push(writeNote(t.dir, { title: opts.title, body, author, date, branch: currentBranch(t.dir), cost, touches: t.touches }, scope));
1273
+ saved.push(writeNote(t.dir, { title: opts.title, body, author, date, branch: currentBranch(t.dir), cost, touches: t.touches, replaces }, scope));
1215
1274
  }
1216
1275
  const touches = targets.flatMap((t) => t.touches);
1217
1276
  track("note_saved", { has_cost: String(cost?.tokens !== undefined || cost?.minutes !== undefined), touches_bucket: countBucket(touches.length), scope: saved[0]?.scope ?? scope }, { repo });
@@ -1240,6 +1299,10 @@ async function runNoteCommand(repo, opts) {
1240
1299
  console.log(`· builds on ${prior.author ? `${prior.author}'s` : "a"} learning from ${shortDate(prior.date)}`);
1241
1300
  if (!SECTIONS.some((s) => sectionLead(body, s.heading) !== null))
1242
1301
  console.log("· tip: learnings read best under ## Decided, ## Tried and ruled out and ## Watch out");
1302
+ for (const w of gate.warnings)
1303
+ console.log(`· ${w}`);
1304
+ if (old)
1305
+ console.log(`· takes over from ${noteName(old)}, which stays as the record`);
1243
1306
  const repoSaved = saved.filter((n) => n.scope === "repo");
1244
1307
  if (repoSaved.length) {
1245
1308
  // Who else works on these files, for the case for committing it.
@@ -1247,7 +1310,8 @@ async function runNoteCommand(repo, opts) {
1247
1310
  console.log(`${lines.uncommitted} · git add ${repoSaved.map(notePlace).join(" ")}`);
1248
1311
  if (!process.stdout.isTTY && TRAIL)
1249
1312
  console.log(`[trail] Close your reply with one line, word for word. If this learning is committed by the end of your turn: ${lines.committed}\n` +
1250
- ` If it isn't: ${lines.uncommitted}`);
1313
+ ` If it isn't: ${commitAsk(note.title, about)}\n` +
1314
+ " On a yes, commit it with the change: in the change's own commit when that isn't pushed yet.");
1251
1315
  }
1252
1316
  else {
1253
1317
  console.log("· just for you: kept on this machine, out of the repo");
@@ -1260,6 +1324,11 @@ async function runNoteCommand(repo, opts) {
1260
1324
  }
1261
1325
  printLines(cloudLines(repo, { command: "note" }));
1262
1326
  }
1327
+ /** What the agent asks after saving a team learning it hasn't committed: who reads it, and when. */
1328
+ export function commitAsk(title, about) {
1329
+ const when = about ? `when they open ${basename(about.split("#")[0])}` : "on their next session here";
1330
+ return `📝 Learning: "${title.replace(/"/g, "'")}" · your teammates' Claude reads it ${when}. Commit it with this change? (y/n)`;
1331
+ }
1263
1332
  /** Lines that close a command's output, with a blank line before them. */
1264
1333
  function printLines(lines) {
1265
1334
  if (lines.length)
@@ -1438,23 +1507,29 @@ async function runInitCommand(dir, opts) {
1438
1507
  console.error(`✓ ${id.padEnd(width)} ${summary}`.trimEnd());
1439
1508
  }
1440
1509
  }
1441
- // Under trail: what init learned from past sessions and PR reviews, where
1442
- // this repo's learnings are, and how many there already are.
1510
+ // Under trail: what init learned, where this repo's learnings are, and how
1511
+ // many there already are. The team's come from what is tied to the code:
1512
+ // what reviewers kept flagging on merged PRs, and Claude Code's notes about
1513
+ // the repo on this machine. What the person kept telling Claude is theirs.
1443
1514
  let learnedNow = false;
1444
- if (TRAIL && (pastRead || reviewRead)) {
1515
+ let teamSaved = 0;
1516
+ const memory = TRAIL && wantClaude ? memoryCandidates(repo, { offered: offeredBefore(repo) }) : [];
1517
+ if (TRAIL && (pastRead || reviewRead || memory.length)) {
1445
1518
  if (pastRead && !pastRead.done)
1446
1519
  console.error("· still reading your past sessions…");
1447
1520
  const fromSessions = pastRead ? (await pastRead.result).findings : [];
1448
1521
  if (reviewRead && !reviewRead.done)
1449
1522
  console.error("· still reading PR reviews…");
1450
- const fromReviews = reviewRead ? (await reviewRead.result).findings : [];
1451
- // On a terminal, the person ticks which to keep in one list for both
1452
- // sources, all ticked to start; a scripted run, or one with --yes, keeps
1453
- // them all. Cancelling saves none, and the next init asks again.
1454
- const picked = process.stdin.isTTY && process.stderr.isTTY && !opts.yes && fromSessions.length + fromReviews.length
1523
+ const fromReviews = reviewRead ? anchoredReviews(repo, (await reviewRead.result).findings) : [];
1524
+ // On a terminal, the person ticks which to keep in one list, the team's
1525
+ // first and ticked, their own unticked. A scripted run, or one with
1526
+ // --yes, keeps the team's and what they told Claude. Cancelling saves
1527
+ // none, and the next init asks again.
1528
+ const picked = process.stdin.isTTY && process.stderr.isTTY && !opts.yes && fromReviews.length + memory.length + fromSessions.length
1455
1529
  ? await pickLearnings([
1456
- ...fromSessions.map((f) => ({ title: f.title, forTeam: f.for === "team", sessions: f.sessions.length })),
1457
- ...fromReviews.map((f) => ({ title: f.title, forTeam: true, prs: f.prs.length })),
1530
+ ...fromReviews.map((f) => ({ title: f.title, forTeam: true, prs: f.prs })),
1531
+ ...memory.map((c) => ({ title: c.title, forTeam: c.forTeam, memory: true })),
1532
+ ...fromSessions.map((f) => ({ title: f.title, forTeam: false, sessions: f.sessions.length })),
1458
1533
  ])
1459
1534
  : undefined;
1460
1535
  // The picked rows that are `found`'s, which start at `from` in the list.
@@ -1462,56 +1537,70 @@ async function runInitCommand(dir, opts) {
1462
1537
  ? undefined
1463
1538
  : async (found) => picked && picked.filter((i) => i >= from && i < from + found.length).map((i) => found[i - from]);
1464
1539
  const learned = [];
1465
- if (pastRead) {
1466
- const { result, saved, kept, cancelled } = await finishPastRead(repo, pastRead, keepFrom(0));
1467
- const offered = result.findings.length;
1540
+ // Reviews first: which of them are offered depends on the learnings already saved.
1541
+ if (reviewRead) {
1542
+ const { result, saved, kept, cancelled } = await finishReviewRead(repo, reviewRead, keepFrom(0));
1543
+ const offered = fromReviews.length;
1468
1544
  if (saved.length) {
1469
1545
  const n = saved.length;
1470
1546
  const what = n < offered ? `kept ${n} of the ${offered} things` : `learned ${n} thing${n === 1 ? "" : "s"}`;
1471
- console.error(`✓ ${what} you told Claude more than once, from your last ${result.read} sessions here`);
1472
- // Each with how many sessions it was said in: saveFindings keeps the findings' order.
1473
- saved.forEach((note, i) => {
1474
- const said = kept[i]?.sessions.length ?? 0;
1475
- const count = said > 1 ? `told Claude in ${said} sessions: ` : "";
1476
- console.error(` ${note.scope === "personal" ? "just for you " : "for your team"} · ${count}${note.title}`);
1477
- });
1547
+ console.error(`✓ ${what} reviewers made authors change, from the last ${result.prs} merged PRs here`);
1548
+ // saveReviewFindings keeps the findings' order.
1549
+ saved.forEach((note, i) => console.error(` for your team · from review on ${(kept[i]?.prs ?? []).map((n) => `#${n}`).join(", ")}: ${note.title}`));
1478
1550
  }
1479
1551
  else if (cancelled) {
1480
- console.error(`· saved none of the ${offered} things you told Claude more than once; ${cmd("graft init")} again asks again`);
1552
+ console.error(`· saved none of the ${offered} things reviewers made authors change; ${cmd("graft init")} again asks again`);
1481
1553
  }
1482
1554
  else if (offered) {
1483
- console.error(`· kept none of the ${offered} things you told Claude more than once`);
1555
+ console.error(`· kept none of the ${offered} things reviewers made authors change`);
1484
1556
  }
1485
1557
  else if (result.reason === "failed") {
1486
- console.error(`· couldn't read your past sessions this time; ${cmd("graft init")} again tries again`);
1558
+ console.error(`· couldn't read PR reviews this time; ${cmd("graft init")} again tries again`);
1487
1559
  }
1488
1560
  learned.push(...saved);
1489
1561
  }
1490
- if (reviewRead) {
1491
- const { result, saved, kept, cancelled } = await finishReviewRead(repo, reviewRead, keepFrom(fromSessions.length));
1562
+ if (memory.length) {
1563
+ const { saved, cancelled } = await finishMemoryRead(repo, memory, keepFrom(fromReviews.length));
1564
+ if (saved.length) {
1565
+ console.error(`✓ kept ${saved.length} of the ${memory.length} notes your Claude keeps about this repo`);
1566
+ for (const note of saved)
1567
+ console.error(` ${note.scope === "personal" ? "just for you " : "for your team"} · ${note.title}`);
1568
+ }
1569
+ else if (cancelled) {
1570
+ console.error(`· saved none of the ${memory.length} notes your Claude keeps about this repo; ${cmd("graft init")} again asks again`);
1571
+ }
1572
+ learned.push(...saved);
1573
+ }
1574
+ if (pastRead) {
1575
+ const { result, saved, kept, cancelled } = await finishPastRead(repo, pastRead, keepFrom(fromReviews.length + memory.length));
1492
1576
  const offered = result.findings.length;
1493
1577
  if (saved.length) {
1494
1578
  const n = saved.length;
1495
1579
  const what = n < offered ? `kept ${n} of the ${offered} things` : `learned ${n} thing${n === 1 ? "" : "s"}`;
1496
- console.error(`✓ ${what} reviewers flagged on more than one PR, from the last ${result.prs} merged PRs here`);
1497
- // saveReviewFindings keeps the findings' order.
1498
- saved.forEach((note, i) => console.error(` for your team · flagged in review on ${kept[i]?.prs.length ?? 2} PRs: ${note.title}`));
1580
+ console.error(`✓ ${what} you told Claude more than once, from your last ${result.read} sessions here, just for you`);
1581
+ // Each with how many sessions it was said in: saveFindings keeps the findings' order.
1582
+ saved.forEach((note, i) => {
1583
+ const said = kept[i]?.sessions.length ?? 0;
1584
+ const count = said > 1 ? `told Claude in ${said} sessions: ` : "";
1585
+ console.error(` just for you · ${count}${note.title}`);
1586
+ });
1499
1587
  }
1500
1588
  else if (cancelled) {
1501
- console.error(`· saved none of the ${offered} things reviewers flagged; ${cmd("graft init")} again asks again`);
1589
+ console.error(`· saved none of the ${offered} things you told Claude more than once; ${cmd("graft init")} again asks again`);
1502
1590
  }
1503
1591
  else if (offered) {
1504
- console.error(`· kept none of the ${offered} things reviewers flagged`);
1592
+ console.error(`· kept none of the ${offered} things you told Claude more than once`);
1505
1593
  }
1506
1594
  else if (result.reason === "failed") {
1507
- console.error(`· couldn't read PR reviews this time; ${cmd("graft init")} again tries again`);
1595
+ console.error(`· couldn't read your past sessions this time; ${cmd("graft init")} again tries again`);
1508
1596
  }
1509
1597
  learned.push(...saved);
1510
1598
  }
1511
1599
  learnedNow = learned.length > 0;
1600
+ teamSaved = learned.filter((s) => s.scope === "repo").length;
1512
1601
  if (learnedNow) {
1513
1602
  console.error("· Claude follows them from your next session");
1514
- if (learned.some((s) => s.scope === "repo"))
1603
+ if (teamSaved)
1515
1604
  console.error(commitLines({}, teammatesOn(repo), "repo").uncommitted);
1516
1605
  }
1517
1606
  }
@@ -1520,7 +1609,7 @@ async function runInitCommand(dir, opts) {
1520
1609
  if (home) {
1521
1610
  const learnings = listNotes(repo, { branches: false }).filter((n) => n.scope === "repo");
1522
1611
  if (learnings.length === 0)
1523
- console.error(`✓ learnings ${LEARNINGS_DIR}/ · sessions that take real digging leave one there, for your whole team`);
1612
+ console.error(`✓ learnings ${LEARNINGS_DIR}/ · a session that fixes a bug, takes a correction or opens a PR leaves one there, for your whole team`);
1524
1613
  else
1525
1614
  console.error(`✓ learnings ${learnings.length} in ${LEARNINGS_DIR}/, from ${new Set(learnings.map((n) => n.author || "someone")).size} ${new Set(learnings.map((n) => n.author)).size === 1 ? "person" : "people"}`);
1526
1615
  }
@@ -1571,6 +1660,10 @@ async function runInitCommand(dir, opts) {
1571
1660
  nodes: graphs.reduce((n, g) => n + g.meta.nodeCount, 0),
1572
1661
  edges: graphs.reduce((n, g) => n + g.meta.edgeCount, 0),
1573
1662
  }));
1663
+ // Run by an agent, not a person: the last line tells it to ask about the
1664
+ // commit, since the person never saw the picker and Claude Code folds the rest.
1665
+ if (teamSaved && !process.stderr.isTTY)
1666
+ console.error(`→ ${teamSaved} team learning${teamSaved === 1 ? "" : "s"} in ${LEARNINGS_DIR}/ ${teamSaved === 1 ? "isn't" : "aren't"} committed yet. Ask the user: "Commit ${teamSaved === 1 ? "it" : `the ${teamSaved}`} so your teammates' Claude starts from ${teamSaved === 1 ? "it" : "them"}? (yes / no)"`);
1574
1667
  // Sorted so `claude,cursor` and `cursor,claude` aggregate as one value.
1575
1668
  track("init_completed", { agents: [...ids].sort().join(","), consent: consent === undefined ? "unasked" : String(consent) }, { repo });
1576
1669
  return { ids };