@nanonets/graft 0.23.1 → 0.24.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 (650) 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/ask/ask.d.ts +8 -0
  18. package/dist/ask/ask.d.ts.map +1 -1
  19. package/dist/ask/ask.js +33 -12
  20. package/dist/ask/ask.js.map +1 -1
  21. package/dist/claude/format.js +1 -1
  22. package/dist/claude/format.js.map +1 -1
  23. package/dist/claude/hook-io.d.ts +44 -0
  24. package/dist/claude/hook-io.d.ts.map +1 -0
  25. package/dist/claude/hook-io.js +144 -0
  26. package/dist/claude/hook-io.js.map +1 -0
  27. package/dist/claude/hooks.d.ts +0 -18
  28. package/dist/claude/hooks.d.ts.map +1 -1
  29. package/dist/claude/hooks.js +24 -77
  30. package/dist/claude/hooks.js.map +1 -1
  31. package/dist/claude/init.js +3 -3
  32. package/dist/claude/init.js.map +1 -1
  33. package/dist/claude/note-signals.d.ts +28 -0
  34. package/dist/claude/note-signals.d.ts.map +1 -0
  35. package/dist/claude/note-signals.js +325 -0
  36. package/dist/claude/note-signals.js.map +1 -0
  37. package/dist/claude/shim-template.d.ts.map +1 -1
  38. package/dist/claude/shim-template.js +10 -4
  39. package/dist/claude/shim-template.js.map +1 -1
  40. package/dist/claude/skill-template.d.ts.map +1 -1
  41. package/dist/claude/skill-template.js +49 -18
  42. package/dist/claude/skill-template.js.map +1 -1
  43. package/dist/claude/skills-hook-util.d.ts +25 -0
  44. package/dist/claude/skills-hook-util.d.ts.map +1 -0
  45. package/dist/claude/skills-hook-util.js +71 -0
  46. package/dist/claude/skills-hook-util.js.map +1 -0
  47. package/dist/claude/state.d.ts +4 -3
  48. package/dist/claude/state.d.ts.map +1 -1
  49. package/dist/claude/state.js.map +1 -1
  50. package/dist/claude/sync-run.js +1 -1
  51. package/dist/claude/sync-run.js.map +1 -1
  52. package/dist/cli-picker.d.ts +36 -5
  53. package/dist/cli-picker.d.ts.map +1 -1
  54. package/dist/cli-picker.js +60 -13
  55. package/dist/cli-picker.js.map +1 -1
  56. package/dist/cli.d.ts +2 -0
  57. package/dist/cli.d.ts.map +1 -1
  58. package/dist/cli.js +406 -64
  59. package/dist/cli.js.map +1 -1
  60. package/dist/cloud/lookup-activity.d.ts +16 -0
  61. package/dist/cloud/lookup-activity.d.ts.map +1 -0
  62. package/dist/cloud/lookup-activity.js +56 -0
  63. package/dist/cloud/lookup-activity.js.map +1 -0
  64. package/dist/cloud/nudge.d.ts.map +1 -1
  65. package/dist/cloud/nudge.js +3 -0
  66. package/dist/cloud/nudge.js.map +1 -1
  67. package/dist/cloud/onboarding.d.ts +237 -0
  68. package/dist/cloud/onboarding.d.ts.map +1 -0
  69. package/dist/cloud/onboarding.js +536 -0
  70. package/dist/cloud/onboarding.js.map +1 -0
  71. package/dist/cloud/pair.d.ts +76 -0
  72. package/dist/cloud/pair.d.ts.map +1 -0
  73. package/dist/cloud/pair.js +249 -0
  74. package/dist/cloud/pair.js.map +1 -0
  75. package/dist/cloud/workspace-sync.d.ts +10 -2
  76. package/dist/cloud/workspace-sync.d.ts.map +1 -1
  77. package/dist/cloud/workspace-sync.js +119 -7
  78. package/dist/cloud/workspace-sync.js.map +1 -1
  79. package/dist/cloud/workspace.d.ts +22 -1
  80. package/dist/cloud/workspace.d.ts.map +1 -1
  81. package/dist/cloud/workspace.js +16 -1
  82. package/dist/cloud/workspace.js.map +1 -1
  83. package/dist/context/batches.d.ts +29 -0
  84. package/dist/context/batches.d.ts.map +1 -0
  85. package/dist/context/batches.js +130 -0
  86. package/dist/context/batches.js.map +1 -0
  87. package/dist/context/build.d.ts +7 -2
  88. package/dist/context/build.d.ts.map +1 -1
  89. package/dist/context/build.js +84 -50
  90. package/dist/context/build.js.map +1 -1
  91. package/dist/context/node-file.d.ts.map +1 -1
  92. package/dist/context/node-file.js +41 -4
  93. package/dist/context/node-file.js.map +1 -1
  94. package/dist/engine.d.ts +2 -0
  95. package/dist/engine.d.ts.map +1 -1
  96. package/dist/engine.js +1 -0
  97. package/dist/engine.js.map +1 -1
  98. package/dist/graph/cards.d.ts.map +1 -1
  99. package/dist/graph/cards.js +9 -4
  100. package/dist/graph/cards.js.map +1 -1
  101. package/dist/graph/enrich.d.ts.map +1 -1
  102. package/dist/graph/enrich.js +8 -3
  103. package/dist/graph/enrich.js.map +1 -1
  104. package/dist/graph/generic.d.ts.map +1 -1
  105. package/dist/graph/generic.js +207 -6
  106. package/dist/graph/generic.js.map +1 -1
  107. package/dist/graph/lsp/client.d.ts +18 -0
  108. package/dist/graph/lsp/client.d.ts.map +1 -1
  109. package/dist/graph/lsp/client.js +40 -2
  110. package/dist/graph/lsp/client.js.map +1 -1
  111. package/dist/graph/lsp/enrich.d.ts.map +1 -1
  112. package/dist/graph/lsp/enrich.js +9 -1
  113. package/dist/graph/lsp/enrich.js.map +1 -1
  114. package/dist/graph/lsp/registry.d.ts +7 -0
  115. package/dist/graph/lsp/registry.d.ts.map +1 -1
  116. package/dist/graph/lsp/registry.js +27 -2
  117. package/dist/graph/lsp/registry.js.map +1 -1
  118. package/dist/graph/native.d.ts +2 -0
  119. package/dist/graph/native.d.ts.map +1 -1
  120. package/dist/graph/native.js +29 -4
  121. package/dist/graph/native.js.map +1 -1
  122. package/dist/graph/queries/gleam.scm +51 -0
  123. package/dist/graph/resolve.d.ts.map +1 -1
  124. package/dist/graph/resolve.js +65 -3
  125. package/dist/graph/resolve.js.map +1 -1
  126. package/dist/graph/workspace-cli.d.ts +2 -0
  127. package/dist/graph/workspace-cli.d.ts.map +1 -1
  128. package/dist/graph/workspace-cli.js +1 -1
  129. package/dist/graph/workspace-cli.js.map +1 -1
  130. package/dist/hosts/claude-global.d.ts +14 -0
  131. package/dist/hosts/claude-global.d.ts.map +1 -1
  132. package/dist/hosts/claude-global.js +38 -3
  133. package/dist/hosts/claude-global.js.map +1 -1
  134. package/dist/init/install-record.d.ts +21 -0
  135. package/dist/init/install-record.d.ts.map +1 -0
  136. package/dist/init/install-record.js +144 -0
  137. package/dist/init/install-record.js.map +1 -0
  138. package/dist/init/plain-file.d.ts +11 -0
  139. package/dist/init/plain-file.d.ts.map +1 -0
  140. package/dist/init/plain-file.js +80 -0
  141. package/dist/init/plain-file.js.map +1 -0
  142. package/dist/mcp/brains.d.ts +72 -0
  143. package/dist/mcp/brains.d.ts.map +1 -0
  144. package/dist/mcp/brains.js +220 -0
  145. package/dist/mcp/brains.js.map +1 -0
  146. package/dist/mcp/server.d.ts +3 -1
  147. package/dist/mcp/server.d.ts.map +1 -1
  148. package/dist/mcp/server.js +40 -5
  149. package/dist/mcp/server.js.map +1 -1
  150. package/dist/mcp/tools.d.ts.map +1 -1
  151. package/dist/mcp/tools.js +7 -2
  152. package/dist/mcp/tools.js.map +1 -1
  153. package/dist/notes/branches.d.ts +7 -1
  154. package/dist/notes/branches.d.ts.map +1 -1
  155. package/dist/notes/branches.js +31 -3
  156. package/dist/notes/branches.js.map +1 -1
  157. package/dist/notes/cold-start.d.ts +42 -3
  158. package/dist/notes/cold-start.d.ts.map +1 -1
  159. package/dist/notes/cold-start.js +144 -24
  160. package/dist/notes/cold-start.js.map +1 -1
  161. package/dist/notes/credit.d.ts +37 -0
  162. package/dist/notes/credit.d.ts.map +1 -0
  163. package/dist/notes/credit.js +78 -0
  164. package/dist/notes/credit.js.map +1 -0
  165. package/dist/notes/every-repo.d.ts +18 -0
  166. package/dist/notes/every-repo.d.ts.map +1 -0
  167. package/dist/notes/every-repo.js +86 -0
  168. package/dist/notes/every-repo.js.map +1 -0
  169. package/dist/notes/find-notes.d.ts +17 -0
  170. package/dist/notes/find-notes.d.ts.map +1 -0
  171. package/dist/notes/find-notes.js +48 -0
  172. package/dist/notes/find-notes.js.map +1 -0
  173. package/dist/notes/flatten.d.ts +31 -0
  174. package/dist/notes/flatten.d.ts.map +1 -0
  175. package/dist/notes/flatten.js +73 -0
  176. package/dist/notes/flatten.js.map +1 -0
  177. package/dist/notes/git-facts.d.ts +2 -0
  178. package/dist/notes/git-facts.d.ts.map +1 -1
  179. package/dist/notes/git-facts.js +6 -0
  180. package/dist/notes/git-facts.js.map +1 -1
  181. package/dist/notes/guardrails.d.ts +8 -0
  182. package/dist/notes/guardrails.d.ts.map +1 -0
  183. package/dist/notes/guardrails.js +38 -0
  184. package/dist/notes/guardrails.js.map +1 -0
  185. package/dist/notes/home.d.ts +24 -6
  186. package/dist/notes/home.d.ts.map +1 -1
  187. package/dist/notes/home.js +82 -15
  188. package/dist/notes/home.js.map +1 -1
  189. package/dist/notes/learning-fields.d.ts +102 -0
  190. package/dist/notes/learning-fields.d.ts.map +1 -0
  191. package/dist/notes/learning-fields.js +214 -0
  192. package/dist/notes/learning-fields.js.map +1 -0
  193. package/dist/notes/lesson-index.d.ts +13 -0
  194. package/dist/notes/lesson-index.d.ts.map +1 -0
  195. package/dist/notes/lesson-index.js +135 -0
  196. package/dist/notes/lesson-index.js.map +1 -0
  197. package/dist/notes/linked-learnings.d.ts +8 -0
  198. package/dist/notes/linked-learnings.d.ts.map +1 -0
  199. package/dist/notes/linked-learnings.js +113 -0
  200. package/dist/notes/linked-learnings.js.map +1 -0
  201. package/dist/notes/memory-notes.d.ts +71 -0
  202. package/dist/notes/memory-notes.d.ts.map +1 -0
  203. package/dist/notes/memory-notes.js +239 -0
  204. package/dist/notes/memory-notes.js.map +1 -0
  205. package/dist/notes/note-gate.d.ts +42 -0
  206. package/dist/notes/note-gate.d.ts.map +1 -0
  207. package/dist/notes/note-gate.js +181 -0
  208. package/dist/notes/note-gate.js.map +1 -0
  209. package/dist/notes/notes.d.ts +29 -85
  210. package/dist/notes/notes.d.ts.map +1 -1
  211. package/dist/notes/notes.js +69 -254
  212. package/dist/notes/notes.js.map +1 -1
  213. package/dist/notes/pr-reviews.d.ts +35 -7
  214. package/dist/notes/pr-reviews.d.ts.map +1 -1
  215. package/dist/notes/pr-reviews.js +156 -46
  216. package/dist/notes/pr-reviews.js.map +1 -1
  217. package/dist/notes/replace.d.ts +14 -0
  218. package/dist/notes/replace.d.ts.map +1 -0
  219. package/dist/notes/replace.js +38 -0
  220. package/dist/notes/replace.js.map +1 -0
  221. package/dist/notes/repo-notes-dir.d.ts +2 -0
  222. package/dist/notes/repo-notes-dir.d.ts.map +1 -0
  223. package/dist/notes/repo-notes-dir.js +16 -0
  224. package/dist/notes/repo-notes-dir.js.map +1 -0
  225. package/dist/notes/secrets.d.ts +28 -0
  226. package/dist/notes/secrets.d.ts.map +1 -0
  227. package/dist/notes/secrets.js +362 -0
  228. package/dist/notes/secrets.js.map +1 -0
  229. package/dist/notes/targets.d.ts +37 -0
  230. package/dist/notes/targets.d.ts.map +1 -0
  231. package/dist/notes/targets.js +108 -0
  232. package/dist/notes/targets.js.map +1 -0
  233. package/dist/notes/team-check.d.ts +22 -0
  234. package/dist/notes/team-check.d.ts.map +1 -0
  235. package/dist/notes/team-check.js +130 -0
  236. package/dist/notes/team-check.js.map +1 -0
  237. package/dist/notes/trail-home.d.ts +3 -0
  238. package/dist/notes/trail-home.d.ts.map +1 -0
  239. package/dist/notes/trail-home.js +12 -0
  240. package/dist/notes/trail-home.js.map +1 -0
  241. package/dist/skills/anchors-cli.d.ts +33 -0
  242. package/dist/skills/anchors-cli.d.ts.map +1 -0
  243. package/dist/skills/anchors-cli.js +274 -0
  244. package/dist/skills/anchors-cli.js.map +1 -0
  245. package/dist/skills/anchors-git.d.ts +29 -0
  246. package/dist/skills/anchors-git.d.ts.map +1 -0
  247. package/dist/skills/anchors-git.js +241 -0
  248. package/dist/skills/anchors-git.js.map +1 -0
  249. package/dist/skills/anchors-wide.d.ts +25 -0
  250. package/dist/skills/anchors-wide.d.ts.map +1 -0
  251. package/dist/skills/anchors-wide.js +481 -0
  252. package/dist/skills/anchors-wide.js.map +1 -0
  253. package/dist/skills/anchors.d.ts +32 -0
  254. package/dist/skills/anchors.d.ts.map +1 -0
  255. package/dist/skills/anchors.js +485 -0
  256. package/dist/skills/anchors.js.map +1 -0
  257. package/dist/skills/answers-prompt.d.ts +13 -0
  258. package/dist/skills/answers-prompt.d.ts.map +1 -0
  259. package/dist/skills/answers-prompt.js +83 -0
  260. package/dist/skills/answers-prompt.js.map +1 -0
  261. package/dist/skills/check-result.d.ts +26 -0
  262. package/dist/skills/check-result.d.ts.map +1 -0
  263. package/dist/skills/check-result.js +46 -0
  264. package/dist/skills/check-result.js.map +1 -0
  265. package/dist/skills/codex-sandbox.d.ts +6 -0
  266. package/dist/skills/codex-sandbox.d.ts.map +1 -0
  267. package/dist/skills/codex-sandbox.js +55 -0
  268. package/dist/skills/codex-sandbox.js.map +1 -0
  269. package/dist/skills/compile-split.d.ts +57 -0
  270. package/dist/skills/compile-split.d.ts.map +1 -0
  271. package/dist/skills/compile-split.js +532 -0
  272. package/dist/skills/compile-split.js.map +1 -0
  273. package/dist/skills/compile-version.d.ts +37 -0
  274. package/dist/skills/compile-version.d.ts.map +1 -0
  275. package/dist/skills/compile-version.js +56 -0
  276. package/dist/skills/compile-version.js.map +1 -0
  277. package/dist/skills/compile-waits.d.ts +12 -0
  278. package/dist/skills/compile-waits.d.ts.map +1 -0
  279. package/dist/skills/compile-waits.js +52 -0
  280. package/dist/skills/compile-waits.js.map +1 -0
  281. package/dist/skills/compile-words.d.ts +82 -0
  282. package/dist/skills/compile-words.d.ts.map +1 -0
  283. package/dist/skills/compile-words.js +385 -0
  284. package/dist/skills/compile-words.js.map +1 -0
  285. package/dist/skills/compile.d.ts +35 -0
  286. package/dist/skills/compile.d.ts.map +1 -0
  287. package/dist/skills/compile.js +488 -0
  288. package/dist/skills/compile.js.map +1 -0
  289. package/dist/skills/credit-facts.d.ts +8 -0
  290. package/dist/skills/credit-facts.d.ts.map +1 -0
  291. package/dist/skills/credit-facts.js +32 -0
  292. package/dist/skills/credit-facts.js.map +1 -0
  293. package/dist/skills/directive-words.d.ts +11 -0
  294. package/dist/skills/directive-words.d.ts.map +1 -0
  295. package/dist/skills/directive-words.js +33 -0
  296. package/dist/skills/directive-words.js.map +1 -0
  297. package/dist/skills/fidelity.d.ts +42 -0
  298. package/dist/skills/fidelity.d.ts.map +1 -0
  299. package/dist/skills/fidelity.js +138 -0
  300. package/dist/skills/fidelity.js.map +1 -0
  301. package/dist/skills/forget-notice.d.ts +44 -0
  302. package/dist/skills/forget-notice.d.ts.map +1 -0
  303. package/dist/skills/forget-notice.js +131 -0
  304. package/dist/skills/forget-notice.js.map +1 -0
  305. package/dist/skills/found-skill.d.ts +35 -0
  306. package/dist/skills/found-skill.d.ts.map +1 -0
  307. package/dist/skills/found-skill.js +66 -0
  308. package/dist/skills/found-skill.js.map +1 -0
  309. package/dist/skills/front-version.d.ts +12 -0
  310. package/dist/skills/front-version.d.ts.map +1 -0
  311. package/dist/skills/front-version.js +87 -0
  312. package/dist/skills/front-version.js.map +1 -0
  313. package/dist/skills/host-facts.d.ts +51 -0
  314. package/dist/skills/host-facts.d.ts.map +1 -0
  315. package/dist/skills/host-facts.js +134 -0
  316. package/dist/skills/host-facts.js.map +1 -0
  317. package/dist/skills/ledger.d.ts +43 -0
  318. package/dist/skills/ledger.d.ts.map +1 -0
  319. package/dist/skills/ledger.js +336 -0
  320. package/dist/skills/ledger.js.map +1 -0
  321. package/dist/skills/lessons.d.ts +60 -0
  322. package/dist/skills/lessons.d.ts.map +1 -0
  323. package/dist/skills/lessons.js +396 -0
  324. package/dist/skills/lessons.js.map +1 -0
  325. package/dist/skills/never-save.d.ts +5 -0
  326. package/dist/skills/never-save.d.ts.map +1 -0
  327. package/dist/skills/never-save.js +158 -0
  328. package/dist/skills/never-save.js.map +1 -0
  329. package/dist/skills/offer-answers.d.ts +20 -0
  330. package/dist/skills/offer-answers.d.ts.map +1 -0
  331. package/dist/skills/offer-answers.js +51 -0
  332. package/dist/skills/offer-answers.js.map +1 -0
  333. package/dist/skills/own-folder.d.ts +9 -0
  334. package/dist/skills/own-folder.d.ts.map +1 -0
  335. package/dist/skills/own-folder.js +36 -0
  336. package/dist/skills/own-folder.js.map +1 -0
  337. package/dist/skills/params.d.ts +39 -0
  338. package/dist/skills/params.d.ts.map +1 -0
  339. package/dist/skills/params.js +275 -0
  340. package/dist/skills/params.js.map +1 -0
  341. package/dist/skills/person.d.ts +34 -0
  342. package/dist/skills/person.d.ts.map +1 -0
  343. package/dist/skills/person.js +102 -0
  344. package/dist/skills/person.js.map +1 -0
  345. package/dist/skills/probe-clean.d.ts +9 -0
  346. package/dist/skills/probe-clean.d.ts.map +1 -0
  347. package/dist/skills/probe-clean.js +48 -0
  348. package/dist/skills/probe-clean.js.map +1 -0
  349. package/dist/skills/probes.d.ts +26 -0
  350. package/dist/skills/probes.d.ts.map +1 -0
  351. package/dist/skills/probes.js +225 -0
  352. package/dist/skills/probes.js.map +1 -0
  353. package/dist/skills/ran-less.d.ts +5 -0
  354. package/dist/skills/ran-less.d.ts.map +1 -0
  355. package/dist/skills/ran-less.js +51 -0
  356. package/dist/skills/ran-less.js.map +1 -0
  357. package/dist/skills/recall.d.ts +119 -0
  358. package/dist/skills/recall.d.ts.map +1 -0
  359. package/dist/skills/recall.js +370 -0
  360. package/dist/skills/recall.js.map +1 -0
  361. package/dist/skills/receipts.d.ts +44 -0
  362. package/dist/skills/receipts.d.ts.map +1 -0
  363. package/dist/skills/receipts.js +223 -0
  364. package/dist/skills/receipts.js.map +1 -0
  365. package/dist/skills/risk-delta.d.ts +32 -0
  366. package/dist/skills/risk-delta.d.ts.map +1 -0
  367. package/dist/skills/risk-delta.js +56 -0
  368. package/dist/skills/risk-delta.js.map +1 -0
  369. package/dist/skills/risk.d.ts +73 -0
  370. package/dist/skills/risk.d.ts.map +1 -0
  371. package/dist/skills/risk.js +396 -0
  372. package/dist/skills/risk.js.map +1 -0
  373. package/dist/skills/run-checkout.d.ts +4 -0
  374. package/dist/skills/run-checkout.d.ts.map +1 -0
  375. package/dist/skills/run-checkout.js +37 -0
  376. package/dist/skills/run-checkout.js.map +1 -0
  377. package/dist/skills/runblock.d.ts +45 -0
  378. package/dist/skills/runblock.d.ts.map +1 -0
  379. package/dist/skills/runblock.js +222 -0
  380. package/dist/skills/runblock.js.map +1 -0
  381. package/dist/skills/save-parse.d.ts +42 -0
  382. package/dist/skills/save-parse.d.ts.map +1 -0
  383. package/dist/skills/save-parse.js +172 -0
  384. package/dist/skills/save-parse.js.map +1 -0
  385. package/dist/skills/save-store.d.ts +12 -0
  386. package/dist/skills/save-store.d.ts.map +1 -0
  387. package/dist/skills/save-store.js +22 -0
  388. package/dist/skills/save-store.js.map +1 -0
  389. package/dist/skills/settings.d.ts +38 -0
  390. package/dist/skills/settings.d.ts.map +1 -0
  391. package/dist/skills/settings.js +133 -0
  392. package/dist/skills/settings.js.map +1 -0
  393. package/dist/skills/skill-diff.d.ts +40 -0
  394. package/dist/skills/skill-diff.d.ts.map +1 -0
  395. package/dist/skills/skill-diff.js +191 -0
  396. package/dist/skills/skill-diff.js.map +1 -0
  397. package/dist/skills/skill-file.d.ts +24 -0
  398. package/dist/skills/skill-file.d.ts.map +1 -0
  399. package/dist/skills/skill-file.js +97 -0
  400. package/dist/skills/skill-file.js.map +1 -0
  401. package/dist/skills/skill-rebuild.d.ts +27 -0
  402. package/dist/skills/skill-rebuild.d.ts.map +1 -0
  403. package/dist/skills/skill-rebuild.js +85 -0
  404. package/dist/skills/skill-rebuild.js.map +1 -0
  405. package/dist/skills/skillmd.d.ts +17 -0
  406. package/dist/skills/skillmd.d.ts.map +1 -0
  407. package/dist/skills/skillmd.js +219 -0
  408. package/dist/skills/skillmd.js.map +1 -0
  409. package/dist/skills/skills.d.ts +2 -0
  410. package/dist/skills/skills.d.ts.map +1 -1
  411. package/dist/skills/skills.js +1 -1
  412. package/dist/skills/skills.js.map +1 -1
  413. package/dist/skills/staleness.d.ts +27 -0
  414. package/dist/skills/staleness.d.ts.map +1 -0
  415. package/dist/skills/staleness.js +178 -0
  416. package/dist/skills/staleness.js.map +1 -0
  417. package/dist/skills/state.d.ts +36 -0
  418. package/dist/skills/state.d.ts.map +1 -0
  419. package/dist/skills/state.js +259 -0
  420. package/dist/skills/state.js.map +1 -0
  421. package/dist/skills/store-fs.d.ts +77 -0
  422. package/dist/skills/store-fs.d.ts.map +1 -0
  423. package/dist/skills/store-fs.js +194 -0
  424. package/dist/skills/store-fs.js.map +1 -0
  425. package/dist/skills/store-held.d.ts +44 -0
  426. package/dist/skills/store-held.d.ts.map +1 -0
  427. package/dist/skills/store-held.js +147 -0
  428. package/dist/skills/store-held.js.map +1 -0
  429. package/dist/skills/store.d.ts +73 -0
  430. package/dist/skills/store.d.ts.map +1 -0
  431. package/dist/skills/store.js +279 -0
  432. package/dist/skills/store.js.map +1 -0
  433. package/dist/skills/types.d.ts +422 -0
  434. package/dist/skills/types.d.ts.map +1 -0
  435. package/dist/skills/types.js +2 -0
  436. package/dist/skills/types.js.map +1 -0
  437. package/dist/skills/validate.d.ts +11 -0
  438. package/dist/skills/validate.d.ts.map +1 -0
  439. package/dist/skills/validate.js +112 -0
  440. package/dist/skills/validate.js.map +1 -0
  441. package/dist/skills/versions-fs.d.ts +45 -0
  442. package/dist/skills/versions-fs.d.ts.map +1 -0
  443. package/dist/skills/versions-fs.js +234 -0
  444. package/dist/skills/versions-fs.js.map +1 -0
  445. package/dist/skills/versions.d.ts +56 -0
  446. package/dist/skills/versions.d.ts.map +1 -0
  447. package/dist/skills/versions.js +351 -0
  448. package/dist/skills/versions.js.map +1 -0
  449. package/dist/telemetry/contract.d.ts.map +1 -1
  450. package/dist/telemetry/contract.js +8 -6
  451. package/dist/telemetry/contract.js.map +1 -1
  452. package/dist/telemetry/notice.d.ts.map +1 -1
  453. package/dist/telemetry/notice.js +3 -1
  454. package/dist/telemetry/notice.js.map +1 -1
  455. package/dist/trace/check-reads.d.ts +36 -0
  456. package/dist/trace/check-reads.d.ts.map +1 -0
  457. package/dist/trace/check-reads.js +57 -0
  458. package/dist/trace/check-reads.js.map +1 -0
  459. package/dist/trace/checks.d.ts +63 -0
  460. package/dist/trace/checks.d.ts.map +1 -0
  461. package/dist/trace/checks.js +487 -0
  462. package/dist/trace/checks.js.map +1 -0
  463. package/dist/trace/claude.d.ts +124 -0
  464. package/dist/trace/claude.d.ts.map +1 -0
  465. package/dist/trace/claude.js +303 -0
  466. package/dist/trace/claude.js.map +1 -0
  467. package/dist/trace/codex-exec.d.ts +22 -0
  468. package/dist/trace/codex-exec.d.ts.map +1 -0
  469. package/dist/trace/codex-exec.js +129 -0
  470. package/dist/trace/codex-exec.js.map +1 -0
  471. package/dist/trace/codex-meta.d.ts +23 -0
  472. package/dist/trace/codex-meta.d.ts.map +1 -0
  473. package/dist/trace/codex-meta.js +112 -0
  474. package/dist/trace/codex-meta.js.map +1 -0
  475. package/dist/trace/codex.d.ts +33 -0
  476. package/dist/trace/codex.d.ts.map +1 -0
  477. package/dist/trace/codex.js +485 -0
  478. package/dist/trace/codex.js.map +1 -0
  479. package/dist/trace/cursor.d.ts +16 -0
  480. package/dist/trace/cursor.d.ts.map +1 -0
  481. package/dist/trace/cursor.js +133 -0
  482. package/dist/trace/cursor.js.map +1 -0
  483. package/dist/trace/dialect.d.ts +43 -0
  484. package/dist/trace/dialect.d.ts.map +1 -0
  485. package/dist/trace/dialect.js +95 -0
  486. package/dist/trace/dialect.js.map +1 -0
  487. package/dist/trace/epochs.d.ts +10 -0
  488. package/dist/trace/epochs.d.ts.map +1 -0
  489. package/dist/trace/epochs.js +16 -0
  490. package/dist/trace/epochs.js.map +1 -0
  491. package/dist/trace/failure.d.ts +15 -0
  492. package/dist/trace/failure.d.ts.map +1 -0
  493. package/dist/trace/failure.js +69 -0
  494. package/dist/trace/failure.js.map +1 -0
  495. package/dist/trace/gate-file.d.ts +71 -0
  496. package/dist/trace/gate-file.d.ts.map +1 -0
  497. package/dist/trace/gate-file.js +329 -0
  498. package/dist/trace/gate-file.js.map +1 -0
  499. package/dist/trace/guard-fast.d.ts +22 -0
  500. package/dist/trace/guard-fast.d.ts.map +1 -0
  501. package/dist/trace/guard-fast.js +213 -0
  502. package/dist/trace/guard-fast.js.map +1 -0
  503. package/dist/trace/host.d.ts +40 -0
  504. package/dist/trace/host.d.ts.map +1 -0
  505. package/dist/trace/host.js +84 -0
  506. package/dist/trace/host.js.map +1 -0
  507. package/dist/trace/housekeeping.d.ts +5 -0
  508. package/dist/trace/housekeeping.d.ts.map +1 -0
  509. package/dist/trace/housekeeping.js +93 -0
  510. package/dist/trace/housekeeping.js.map +1 -0
  511. package/dist/trace/jobs.d.ts +52 -0
  512. package/dist/trace/jobs.d.ts.map +1 -0
  513. package/dist/trace/jobs.js +182 -0
  514. package/dist/trace/jobs.js.map +1 -0
  515. package/dist/trace/known-repo.d.ts +3 -0
  516. package/dist/trace/known-repo.d.ts.map +1 -0
  517. package/dist/trace/known-repo.js +55 -0
  518. package/dist/trace/known-repo.js.map +1 -0
  519. package/dist/trace/pool.d.ts +40 -0
  520. package/dist/trace/pool.d.ts.map +1 -0
  521. package/dist/trace/pool.js +154 -0
  522. package/dist/trace/pool.js.map +1 -0
  523. package/dist/trace/redact.d.ts +8 -0
  524. package/dist/trace/redact.d.ts.map +1 -0
  525. package/dist/trace/redact.js +63 -0
  526. package/dist/trace/redact.js.map +1 -0
  527. package/dist/trace/repairs.d.ts +27 -0
  528. package/dist/trace/repairs.d.ts.map +1 -0
  529. package/dist/trace/repairs.js +303 -0
  530. package/dist/trace/repairs.js.map +1 -0
  531. package/dist/trace/run-calls.d.ts +82 -0
  532. package/dist/trace/run-calls.d.ts.map +1 -0
  533. package/dist/trace/run-calls.js +331 -0
  534. package/dist/trace/run-calls.js.map +1 -0
  535. package/dist/trace/run-join.d.ts +20 -0
  536. package/dist/trace/run-join.d.ts.map +1 -0
  537. package/dist/trace/run-join.js +99 -0
  538. package/dist/trace/run-join.js.map +1 -0
  539. package/dist/trace/run-sheets.d.ts +26 -0
  540. package/dist/trace/run-sheets.d.ts.map +1 -0
  541. package/dist/trace/run-sheets.js +145 -0
  542. package/dist/trace/run-sheets.js.map +1 -0
  543. package/dist/trace/run-turns.d.ts +24 -0
  544. package/dist/trace/run-turns.d.ts.map +1 -0
  545. package/dist/trace/run-turns.js +67 -0
  546. package/dist/trace/run-turns.js.map +1 -0
  547. package/dist/trace/run-verdict.d.ts +24 -0
  548. package/dist/trace/run-verdict.d.ts.map +1 -0
  549. package/dist/trace/run-verdict.js +176 -0
  550. package/dist/trace/run-verdict.js.map +1 -0
  551. package/dist/trace/runs.d.ts +54 -0
  552. package/dist/trace/runs.d.ts.map +1 -0
  553. package/dist/trace/runs.js +501 -0
  554. package/dist/trace/runs.js.map +1 -0
  555. package/dist/trace/seen-cache.d.ts +9 -0
  556. package/dist/trace/seen-cache.d.ts.map +1 -0
  557. package/dist/trace/seen-cache.js +46 -0
  558. package/dist/trace/seen-cache.js.map +1 -0
  559. package/dist/trace/shell-scan.d.ts +52 -0
  560. package/dist/trace/shell-scan.d.ts.map +1 -0
  561. package/dist/trace/shell-scan.js +318 -0
  562. package/dist/trace/shell-scan.js.map +1 -0
  563. package/dist/trace/shell-words.d.ts +91 -0
  564. package/dist/trace/shell-words.d.ts.map +1 -0
  565. package/dist/trace/shell-words.js +558 -0
  566. package/dist/trace/shell-words.js.map +1 -0
  567. package/dist/trace/shell.d.ts +91 -0
  568. package/dist/trace/shell.d.ts.map +1 -0
  569. package/dist/trace/shell.js +435 -0
  570. package/dist/trace/shell.js.map +1 -0
  571. package/dist/trace/skill-session.d.ts +64 -0
  572. package/dist/trace/skill-session.d.ts.map +1 -0
  573. package/dist/trace/skill-session.js +232 -0
  574. package/dist/trace/skill-session.js.map +1 -0
  575. package/dist/trace/state.d.ts +27 -0
  576. package/dist/trace/state.d.ts.map +1 -0
  577. package/dist/trace/state.js +98 -0
  578. package/dist/trace/state.js.map +1 -0
  579. package/dist/trace/tamper-code.d.ts +9 -0
  580. package/dist/trace/tamper-code.d.ts.map +1 -0
  581. package/dist/trace/tamper-code.js +174 -0
  582. package/dist/trace/tamper-code.js.map +1 -0
  583. package/dist/trace/tamper-git.d.ts +12 -0
  584. package/dist/trace/tamper-git.d.ts.map +1 -0
  585. package/dist/trace/tamper-git.js +77 -0
  586. package/dist/trace/tamper-git.js.map +1 -0
  587. package/dist/trace/tamper.d.ts +12 -0
  588. package/dist/trace/tamper.d.ts.map +1 -0
  589. package/dist/trace/tamper.js +405 -0
  590. package/dist/trace/tamper.js.map +1 -0
  591. package/dist/trace/typed.d.ts +30 -0
  592. package/dist/trace/typed.d.ts.map +1 -0
  593. package/dist/trace/typed.js +132 -0
  594. package/dist/trace/typed.js.map +1 -0
  595. package/dist/trace/types.d.ts +477 -0
  596. package/dist/trace/types.d.ts.map +1 -0
  597. package/dist/trace/types.js +12 -0
  598. package/dist/trace/types.js.map +1 -0
  599. package/dist/trace/wall-state.d.ts +86 -0
  600. package/dist/trace/wall-state.d.ts.map +1 -0
  601. package/dist/trace/wall-state.js +279 -0
  602. package/dist/trace/wall-state.js.map +1 -0
  603. package/dist/trace/walls-glob.d.ts +11 -0
  604. package/dist/trace/walls-glob.d.ts.map +1 -0
  605. package/dist/trace/walls-glob.js +264 -0
  606. package/dist/trace/walls-glob.js.map +1 -0
  607. package/dist/trace/walls-quoted.d.ts +25 -0
  608. package/dist/trace/walls-quoted.d.ts.map +1 -0
  609. package/dist/trace/walls-quoted.js +81 -0
  610. package/dist/trace/walls-quoted.js.map +1 -0
  611. package/dist/trace/walls.d.ts +40 -0
  612. package/dist/trace/walls.d.ts.map +1 -0
  613. package/dist/trace/walls.js +318 -0
  614. package/dist/trace/walls.js.map +1 -0
  615. package/dist/upkeep.d.ts +1 -1
  616. package/dist/upkeep.d.ts.map +1 -1
  617. package/dist/upkeep.js +4 -1
  618. package/dist/upkeep.js.map +1 -1
  619. package/dist/util/actions-folder.d.ts +2 -0
  620. package/dist/util/actions-folder.d.ts.map +1 -0
  621. package/dist/util/actions-folder.js +9 -0
  622. package/dist/util/actions-folder.js.map +1 -0
  623. package/dist/util/front-matter.d.ts +31 -4
  624. package/dist/util/front-matter.d.ts.map +1 -1
  625. package/dist/util/front-matter.js +95 -3
  626. package/dist/util/front-matter.js.map +1 -1
  627. package/dist/util/private-file.d.ts +14 -0
  628. package/dist/util/private-file.d.ts.map +1 -0
  629. package/dist/util/private-file.js +82 -0
  630. package/dist/util/private-file.js.map +1 -0
  631. package/dist/util/private-fs.d.ts +25 -0
  632. package/dist/util/private-fs.d.ts.map +1 -0
  633. package/dist/util/private-fs.js +253 -0
  634. package/dist/util/private-fs.js.map +1 -0
  635. package/dist/util/state.d.ts.map +1 -1
  636. package/dist/util/state.js +3 -0
  637. package/dist/util/state.js.map +1 -1
  638. package/dist/vendor/tree-sitter-swift/LICENSE +21 -0
  639. package/dist/vendor/tree-sitter-swift/node-types.json +30694 -0
  640. package/dist/vendor/tree-sitter-swift/prebuilds/darwin-arm64/tree-sitter-swift.node +0 -0
  641. package/dist/vendor/tree-sitter-swift/prebuilds/darwin-x64/tree-sitter-swift.node +0 -0
  642. package/dist/vendor/tree-sitter-swift/prebuilds/linux-arm64/tree-sitter-swift.node +0 -0
  643. package/dist/vendor/tree-sitter-swift/prebuilds/linux-x64/tree-sitter-swift.node +0 -0
  644. package/dist/vendor/tree-sitter-swift/prebuilds/win32-arm64/tree-sitter-swift.node +0 -0
  645. package/dist/vendor/tree-sitter-swift/prebuilds/win32-x64/tree-sitter-swift.node +0 -0
  646. package/dist/viewer/app.js +2 -2
  647. package/package.json +10 -7
  648. package/scripts/run-tests.mjs +14 -2
  649. package/scripts/stamp-telemetry-key.mjs +8 -5
  650. package/scripts/vendor-grammars.mjs +35 -0
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/claude/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/claude/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ export type NoteSignalKind = 'fixed' | 'corrected' | 'undone' | 'chose' | 'shipped' | 'explored';
2
+ export interface NoteSignal {
3
+ kind: NoteSignalKind;
4
+ /** What raised it (its transcript entry), so one sign is asked about once. */
5
+ key: string;
6
+ /** What happened, in the session's own terms: the first line of the ask. */
7
+ what: string;
8
+ }
9
+ /** Most times the Stop hook asks for a learning in one session. */
10
+ export declare const NOTE_ASKS_PER_SESSION = 3;
11
+ /**
12
+ * Reading in one turn, in tokens, before it counts as digging worth a learning:
13
+ * what trail's answers stood in for, plus the repo files and search results the
14
+ * agent read itself. trail answers most questions in one or two calls, so
15
+ * finding where something lives never needed an edit to be worth saving.
16
+ */
17
+ export declare const NOTE_WORTHY_READING = 30000;
18
+ /** `"no, use a worktree for…"`: the first line, short, safe inside double quotes. */
19
+ export declare function quoted(s: string, n?: number): string;
20
+ /**
21
+ * Every sign since the session's last saved learning, best first. `repo` is
22
+ * the folder the session works in, to tell its code from trail's files and
23
+ * from files outside it.
24
+ */
25
+ export declare function noteSignals(jsonl: string, repo: string): NoteSignal[];
26
+ /** What the agent is told: the sign first, since Claude Code folds long hook output to its first lines. */
27
+ export declare function noteAsk(s: NoteSignal): string;
28
+ //# sourceMappingURL=note-signals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"note-signals.d.ts","sourceRoot":"","sources":["../../src/claude/note-signals.ts"],"names":[],"mappings":"AA4BA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;AAEjG,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,8EAA8E;IAC9E,GAAG,EAAE,MAAM,CAAC;IACZ,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;CACd;AAED,mEAAmE;AACnE,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,QAAS,CAAC;AA8F1C,qFAAqF;AACrF,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,SAAK,GAAG,MAAM,CAGhD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CA6KrE;AAKD,2GAA2G;AAC3G,wBAAgB,OAAO,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAe7C"}
@@ -0,0 +1,325 @@
1
+ /**
2
+ * When the Stop hook asks for a learning: on a sign in the transcript that the
3
+ * session found something the code won't tell the next person, not on a count
4
+ * of tool calls. A count fired on the first busy turn of a session, which is
5
+ * usually setting things up, and the learnings it got were about that.
6
+ *
7
+ * The signs, best first:
8
+ * - `fixed`: a test or build command failed, then passed after an edit;
9
+ * - `corrected`: the person corrected the agent ("no, …", "we use …"), and the
10
+ * agent went on to change code;
11
+ * - `undone`: an edit was undone (`git restore`, `git revert`, …);
12
+ * - `chose`: the person picked one of the options the agent offered, and the
13
+ * agent went on to change code;
14
+ * - `shipped`: `git commit`, `git push` or `gh pr create` after code edits;
15
+ * - `explored`: one turn took NOTE_WORTHY_READING tokens of reading to answer,
16
+ * with no edit needed: where a feature lives, why a bug happens.
17
+ *
18
+ * Only what happened since the session's last saved learning counts, so each
19
+ * learning starts the count over. Work on trail's own files (`.trail/`,
20
+ * `.claude/`, AGENTS.md …) is never a sign: that's setup, not the repo's code.
21
+ *
22
+ * Pure, for tests: `noteSignals` takes the transcript's JSONL.
23
+ */
24
+ import { existsSync } from 'node:fs';
25
+ import { isAbsolute, relative, resolve, sep } from 'node:path';
26
+ import { trailOwnPath } from '../notes/git-facts.js';
27
+ import { NOTE_CALL } from '../notes/session-cost.js';
28
+ /** Most times the Stop hook asks for a learning in one session. */
29
+ export const NOTE_ASKS_PER_SESSION = 3;
30
+ /**
31
+ * Reading in one turn, in tokens, before it counts as digging worth a learning:
32
+ * what trail's answers stood in for, plus the repo files and search results the
33
+ * agent read itself. trail answers most questions in one or two calls, so
34
+ * finding where something lives never needed an edit to be worth saving.
35
+ */
36
+ export const NOTE_WORTHY_READING = 30_000;
37
+ /** The reading a trail answer stood in for, from its `[trail] tokens saved ≈ N` line. A reused learning's own line doesn't count: that digging was done before. */
38
+ const TRAIL_SAVED = /\[(?:graft|trail)\] tokens saved ≈ ([\d,]+)/g;
39
+ /** Claude Code's tools that read the repo. */
40
+ const READ_TOOLS = new Set(['Read', 'Grep', 'Glob']);
41
+ /** Claude Code's tools that change a file. */
42
+ const EDIT_TOOLS = new Set(['Edit', 'MultiEdit', 'Write', 'NotebookEdit']);
43
+ /**
44
+ * A shell command that writes files: an in-place `sed`/`perl`, a redirect or
45
+ * `tee` into a file, a patch, or a script that opens one for writing. Agents
46
+ * often edit this way (a `python3 - <<EOF` that rewrites a file), and a fix
47
+ * made so is still a fix.
48
+ */
49
+ const BASH_WRITE = /\bsed\s+(?:-[a-zA-Z]+\s+)*-i|\bperl\s+-[a-z]*i|\btee\s|(?:^|[^>&0-9])>>?\s*[\w./~-]+\.\w+|\bgit\s+apply\b|\bapply_patch\b|\bopen\([^)]*,\s*['"][wa]|\.write_text\(|\bwriteFileSync\(/m;
50
+ /** File names in a command, by their extension. */
51
+ const FILE_WORD = /[\w./-]+\.(?:go|tsx?|jsx?|mjs|cjs|py|rb|rs|java|kt|swift|cs|php|c|h|cc|cpp|hpp|scala|sql|ya?ml|json|toml|sh|css|scss|vue|svelte)\b/g;
52
+ /** `cd <dir> &&` at the start of a command: where its relative paths start. */
53
+ const LEADING_CD = /^\s*cd\s+(["']?)([^"'&;|]+?)\1\s*(?:&&|;)/;
54
+ /**
55
+ * A test, build or type check, as typed: `npm test`, `go test`, `pytest`,
56
+ * `npx tsc`, `make`. The match is the command's name for itself, so two runs
57
+ * of `go test` with different flags are the same check.
58
+ */
59
+ const CHECK = /(?:^|[;&|(]\s*|\s)((?:npx\s+|bunx\s+|pnpm\s+exec\s+)?(?:(?:npm|pnpm|yarn|bun)\s+(?:run\s+)?(?:test|build|lint|typecheck|check)(?::[\w-]+)?|go\s+(?:test|build|vet)|cargo\s+(?:test|build|check|clippy)|python3?\s+-m\s+(?:pytest|unittest)|pytest|tsc|jest|vitest|mocha|rspec|node\s+--test|deno\s+test|swift\s+(?:test|build)|dotnet\s+(?:test|build)|mix\s+test|mvn\s+[\w:-]*(?:test|verify|package)|\.?\/?gradlew?\s+[\w:-]*(?:test|build)|make(?:\s+(?!-)[\w-]+)?|eslint|ruff|golangci-lint))(?=$|[\s;&|)])/;
60
+ /** Output that says a check failed even when a pipe (`| tail`) hid its exit code. */
61
+ const FAILED_OUTPUT = /\b\d+ (?:failed|failing)\b|^FAIL\b|\bFAILED\b|^# fail [1-9]|\bpanic:|Traceback \(most recent|\berror TS\d+|npm ERR!|\bBUILD FAILED\b|\bcompilation failed\b|^error(?:\[E\d+\])?:/m;
62
+ const ZERO_FAILED = /\b0 (?:failed|failing)\b|^# fail 0\b/m;
63
+ const UNDO = /\bgit\s+(?:restore|revert|reset\s+--hard|checkout\s+(?:\S+\s+)?--\s)/;
64
+ const SHIP = /\b(git\s+commit|git\s+push|gh\s+pr\s+create)\b/;
65
+ /** Commands that set tools up rather than work on the repo. */
66
+ const SETUP = /(?:^|[\s;&|])(?:trail|graft|npx\s+(?:-y\s+)?@(?:trailhq|nanonets)\/[\w-]+)\s|(?:npm|pnpm|yarn|bun)\s+(?:i|install|add|uninstall)\b|\bbrew\s+install\b|\bpip3?\s+install\b/;
67
+ /** The person correcting the agent: at the start of their message, or a rule stated in it. */
68
+ const CORRECTION_LEAD = /^\s*(?:no|nope|nah|wrong|actually|don't|dont|do not|never|stop|not (?:that|this|like that|quite)|that's (?:not|wrong)|that is (?:not|wrong))\b[\s,.!:;-]/i;
69
+ const CORRECTION_RULE = /\b(?:instead of|instead,|use \S+ instead|we (?:always |usually |never )?(?:use|do|don't|keep|put|run)\b|not like that|that's not how|should(?:n't| not) (?:be|use)|you (?:forgot|missed|broke)\b)/i;
70
+ /** A clarification, not a correction: "no, I mean the other file". */
71
+ const CLARIFY = /\bi mean(?:t)?\b|\bi was (?:just )?asking\b|\bjust asking\b/i;
72
+ /** The person picking one of the options the agent offered. */
73
+ const PICK = /^\s*(?:(?:option|choice|plan)\s*)?(?:[1-9]|[a-d])\s*[.)!]?\s*(?:please|pls)?\s*$|^\s*(?:let'?s |go with |use |pick |do |take |yes,? )?(?:the )?(?:first|second|third|last|1st|2nd|3rd|(?:option|choice|plan)\s*[a-d1-9])\b|^\s*go with\b/i;
74
+ const OPTION_LINE = /^\s*(?:\d+[.)]|[A-D][.)]|[-*]\s+\*\*(?:option|choice)|(?:option|choice)\s+[A-D1-9]\b)/gim;
75
+ function textOf(content) {
76
+ if (typeof content === 'string')
77
+ return content;
78
+ if (Array.isArray(content))
79
+ return content.map((c) => (typeof c?.text === 'string' ? c.text : '')).join('\n');
80
+ return '';
81
+ }
82
+ /** What the person typed, or null: tool results, hook feedback and system lines aren't typed. */
83
+ function typed(e) {
84
+ if (e?.type !== 'user' || e?.isMeta)
85
+ return null;
86
+ const content = e?.message?.content;
87
+ const text = typeof content === 'string'
88
+ ? content
89
+ : Array.isArray(content) && content.some((b) => b?.type === 'text')
90
+ ? content.filter((b) => b?.type === 'text').map((b) => String(b.text ?? '')).join('\n')
91
+ : null;
92
+ if (text === null)
93
+ return null;
94
+ const t = text.trim();
95
+ if (!t || t.startsWith('<') || t.startsWith('[Request interrupted') || t.startsWith('Caveat:') || /^Stop hook feedback/i.test(t))
96
+ return null;
97
+ return t;
98
+ }
99
+ /** `"no, use a worktree for…"`: the first line, short, safe inside double quotes. */
100
+ export function quoted(s, n = 60) {
101
+ const line = s.split('\n')[0].trim().replace(/"/g, "'");
102
+ return line.length > n ? `${line.slice(0, n - 1).trimEnd()}…` : line;
103
+ }
104
+ /**
105
+ * Every sign since the session's last saved learning, best first. `repo` is
106
+ * the folder the session works in, to tell its code from trail's files and
107
+ * from files outside it.
108
+ */
109
+ export function noteSignals(jsonl, repo) {
110
+ const tools = [];
111
+ const results = new Map();
112
+ const prompts = [];
113
+ const said = [];
114
+ let at = 0;
115
+ let agentSpoke = false;
116
+ /** Where the turn that just ended began: the person's last message. */
117
+ let turn = null;
118
+ for (const line of jsonl.split('\n')) {
119
+ if (!line.trim())
120
+ continue;
121
+ let e;
122
+ try {
123
+ e = JSON.parse(line);
124
+ }
125
+ catch {
126
+ continue;
127
+ }
128
+ at++;
129
+ const uuid = typeof e?.uuid === 'string' ? e.uuid : `#${at}`;
130
+ const content = e?.message?.content;
131
+ const blocks = Array.isArray(content) ? content : [];
132
+ if (e?.type === 'assistant') {
133
+ for (const b of blocks) {
134
+ if (b?.type === 'tool_use')
135
+ tools.push({ at, uuid, name: String(b.name ?? ''), input: b.input ?? {}, id: String(b.id ?? ''), cwd: typeof e.cwd === 'string' ? e.cwd : undefined });
136
+ else if (b?.type === 'text' && typeof b.text === 'string')
137
+ said.push({ at, uuid, text: b.text });
138
+ }
139
+ if (blocks.length)
140
+ agentSpoke = true;
141
+ continue;
142
+ }
143
+ for (const b of blocks) {
144
+ if (b?.type === 'tool_result')
145
+ results.set(String(b.tool_use_id ?? ''), { error: b.is_error === true, text: textOf(b.content) });
146
+ }
147
+ const t = typed(e);
148
+ if (t !== null)
149
+ turn = { at, uuid, text: t };
150
+ // The session's first message can't correct anything.
151
+ if (t !== null && agentSpoke)
152
+ prompts.push({ at, uuid, text: t });
153
+ }
154
+ // Start after the last learning that was saved (a note the gate turned away doesn't count).
155
+ let from = 0;
156
+ for (const t of tools) {
157
+ const cmd = typeof t.input?.command === 'string' ? t.input.command : '';
158
+ if (t.name === 'Bash' && NOTE_CALL.test(cmd) && results.get(t.id)?.error !== true)
159
+ from = t.at;
160
+ }
161
+ const since = (xs) => xs.filter((x) => x.at > from);
162
+ const work = since(tools);
163
+ const inRepo = (file) => {
164
+ if (typeof file !== 'string' || !file)
165
+ return null;
166
+ const rel = isAbsolute(file) ? relative(repo, file) : file;
167
+ if (!rel || rel.startsWith('..') || isAbsolute(rel))
168
+ return null;
169
+ const p = rel.split(sep).join('/');
170
+ return trailOwnPath(p) ? null : p;
171
+ };
172
+ const bash = (t) => (t.name === 'Bash' && typeof t.input?.command === 'string' ? t.input.command : null);
173
+ /** The repo file a shell command wrote, '' when it wrote one this can't name, null when it wrote none. */
174
+ const shellEdit = (t) => {
175
+ const c = bash(t);
176
+ if (!c || !BASH_WRITE.test(c) || results.get(t.id)?.error)
177
+ return null;
178
+ const cd = LEADING_CD.exec(c)?.[2]?.trim();
179
+ const base = cd ? resolve(t.cwd ?? repo, cd) : (t.cwd ?? repo);
180
+ let ownOnly = false;
181
+ for (const w of c.match(FILE_WORD) ?? []) {
182
+ for (const at of isAbsolute(w) ? [w] : [resolve(base, w), resolve(repo, w)]) {
183
+ if (!existsSync(at))
184
+ continue;
185
+ const p = inRepo(at);
186
+ if (p)
187
+ return p;
188
+ ownOnly = true;
189
+ }
190
+ }
191
+ // Writing only trail's own files (settings, learnings) is setup, not a fix.
192
+ return ownOnly ? null : '';
193
+ };
194
+ const codeEdit = (t) => (EDIT_TOOLS.has(t.name) ? inRepo(t.input?.file_path ?? t.input?.notebook_path) : shellEdit(t));
195
+ /** Work on the repo after `at`: a code edit, or a command that isn't setting tools up. */
196
+ const setupOnly = (c) => c.split(/&&|\|\||;/).every((part) => !part.trim() || SETUP.test(` ${part.trim()} `) || NOTE_CALL.test(part));
197
+ const workedAfter = (when) => work.some((t) => t.at > when && (codeEdit(t) !== null || ((c) => c !== null && !setupOnly(c))(bash(t))));
198
+ const out = [];
199
+ // fixed: the same check failed, then passed after an edit to the code.
200
+ const checks = work
201
+ .map((t) => {
202
+ const c = bash(t);
203
+ const m = c ? CHECK.exec(c) : null;
204
+ const r = results.get(t.id);
205
+ if (!m || !r)
206
+ return null;
207
+ const failed = r.error || (FAILED_OUTPUT.test(r.text) && !ZERO_FAILED.test(r.text));
208
+ return { t, name: m[1].replace(/\s+/g, ' ').trim(), failed };
209
+ })
210
+ .filter((x) => x !== null);
211
+ for (let i = checks.length - 1; i >= 0; i--) {
212
+ const pass = checks[i];
213
+ if (pass.failed)
214
+ continue;
215
+ const fails = checks.slice(0, i).filter((c) => c.failed && c.name === pass.name);
216
+ if (!fails.length)
217
+ continue;
218
+ const firstFail = fails[0].t.at;
219
+ const edits = work.filter((t) => t.at > firstFail && t.at < pass.t.at).map(codeEdit).filter((f) => f !== null);
220
+ if (!edits.length)
221
+ continue;
222
+ const times = fails.length === 1 ? 'once' : `${fails.length} times`;
223
+ const file = [...edits].reverse().find((f) => f !== '');
224
+ out.push({ kind: 'fixed', key: `fixed:${pass.t.uuid}`, what: `${pass.name} failed ${times}, then passed after your change${file ? ` to ${file}` : ''}.` });
225
+ break;
226
+ }
227
+ // corrected: the person set the agent straight, and it went on to change things.
228
+ for (const p of since(prompts).reverse()) {
229
+ if (CLARIFY.test(p.text) || !(CORRECTION_LEAD.test(p.text) || CORRECTION_RULE.test(p.text)))
230
+ continue;
231
+ if (!workedAfter(p.at))
232
+ continue;
233
+ out.push({ kind: 'corrected', key: `corrected:${p.uuid}`, what: `The user corrected you ("${quoted(p.text)}").` });
234
+ break;
235
+ }
236
+ // undone: an edit thrown away, which is an approach ruled out.
237
+ for (const t of [...work].reverse()) {
238
+ const c = bash(t);
239
+ if (!c || !UNDO.test(c) || results.get(t.id)?.error)
240
+ continue;
241
+ const paths = c.split(/\s+/).filter((w) => /[/.]/.test(w) && !w.startsWith('-') && !/^(?:HEAD|origin)\b/.test(w));
242
+ if (paths.length && paths.every((w) => trailOwnPath(w.replace(/^\.\//, ''))))
243
+ continue;
244
+ out.push({ kind: 'undone', key: `undone:${t.uuid}`, what: `You undid a change (\`${quoted(c, 50)}\`).` });
245
+ break;
246
+ }
247
+ // chose: the person picked one of the agent's options, and it built that one.
248
+ const picked = () => {
249
+ for (const t of [...work].reverse()) {
250
+ if (t.name !== 'AskUserQuestion')
251
+ continue;
252
+ const r = results.get(t.id);
253
+ if (!r || r.error || !workedAfter(t.at))
254
+ continue;
255
+ const answer = r.text.replace(/^[^:]*answered[^:]*:\s*/i, '');
256
+ return { kind: 'chose', key: `chose:${t.uuid}`, what: `The user picked one of your options ("${quoted(answer)}").` };
257
+ }
258
+ for (const p of since(prompts).reverse()) {
259
+ if (p.text.length > 80 || !PICK.test(p.text))
260
+ continue;
261
+ const offer = [...said].reverse().find((s) => s.at < p.at);
262
+ if (!offer || !offer.text.includes('?') || (offer.text.match(OPTION_LINE) ?? []).length < 2)
263
+ continue;
264
+ if (!workedAfter(p.at))
265
+ continue;
266
+ return { kind: 'chose', key: `chose:${p.uuid}`, what: `The user picked one of your options ("${quoted(p.text)}").` };
267
+ }
268
+ return null;
269
+ };
270
+ const choice = picked();
271
+ if (choice)
272
+ out.push(choice);
273
+ // shipped: the work went into a commit, a push or a PR with no learning beside it.
274
+ if (work.some((t) => codeEdit(t) !== null)) {
275
+ for (const t of [...work].reverse()) {
276
+ const c = bash(t);
277
+ const m = c ? SHIP.exec(c) : null;
278
+ if (!m || results.get(t.id)?.error)
279
+ continue;
280
+ const verb = m[1].startsWith('gh') ? 'opened a PR for' : m[1].endsWith('push') ? 'pushed' : 'committed';
281
+ out.push({ kind: 'shipped', key: `shipped:${t.uuid}`, what: `You ${verb} this work, and no learning went with it.` });
282
+ break;
283
+ }
284
+ }
285
+ // explored: this turn read a lot to find its answer. Asked once a turn, and never for reading trail's own files.
286
+ const start = Math.max(from, turn?.at ?? 0);
287
+ let reading = 0;
288
+ for (const t of work) {
289
+ if (t.at <= start)
290
+ continue;
291
+ const r = results.get(t.id);
292
+ if (!r || r.error)
293
+ continue;
294
+ for (const m of r.text.matchAll(TRAIL_SAVED))
295
+ reading += Number(m[1].replace(/,/g, '')) || 0;
296
+ if (!READ_TOOLS.has(t.name))
297
+ continue;
298
+ if (t.name === 'Read' && inRepo(t.input?.file_path) === null)
299
+ continue;
300
+ reading += Math.round(r.text.length / 4);
301
+ }
302
+ if (reading >= NOTE_WORTHY_READING) {
303
+ out.push({ kind: 'explored', key: `explored:${turn?.uuid ?? `#${start}`}`, what: `This turn took about ${Math.round(reading / 1000)}k tokens of reading to work out.` });
304
+ }
305
+ return out;
306
+ }
307
+ const SAVE = '`trail note --title "<the fact, not the task>"`';
308
+ const CLOSE = 'Sections: ## Decided, ## Tried and ruled out, ## Watch out. A summary, never a transcript, nothing secret. Then finish as trail\'s output asks.';
309
+ /** What the agent is told: the sign first, since Claude Code folds long hook output to its first lines. */
310
+ export function noteAsk(s) {
311
+ const skip = 'Nothing worth keeping? Say so and stop.';
312
+ const first = s.kind === 'fixed'
313
+ ? `${s.what} If the cause isn't obvious from the diff, save it: ${SAVE}, naming the file and the why. ${skip}`
314
+ : s.kind === 'corrected'
315
+ ? `${s.what} Save the rule so nobody has to say it again: ${SAVE}, naming the file it's about; add --personal if it's about how this person likes to work. ${skip}`
316
+ : s.kind === 'undone'
317
+ ? `${s.what} If you dropped an approach, save why under ## Tried and ruled out: ${SAVE}, naming the file. ${skip}`
318
+ : s.kind === 'chose'
319
+ ? `${s.what} If the choice matters to the next person, save it under ## Decided, with the options you dropped and why under ## Tried and ruled out: ${SAVE}. ${skip}`
320
+ : s.kind === 'explored'
321
+ ? `${s.what} If it found where something lives or why it works the way it does, and the code won't say so plainly, save it: ${SAVE}, naming the files. ${skip}`
322
+ : `${s.what} If the session found what the diff won't tell the next person (a cause, a dropped approach, a rule), save it now so it ships with the change: ${SAVE}. ${skip}`;
323
+ return `[trail] ${first}\n${CLOSE}`;
324
+ }
325
+ //# sourceMappingURL=note-signals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"note-signals.js","sourceRoot":"","sources":["../../src/claude/note-signals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAYrD,mEAAmE;AACnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C,mKAAmK;AACnK,MAAM,WAAW,GAAG,8CAA8C,CAAC;AACnE,8CAA8C;AAC9C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAErD,8CAA8C;AAC9C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,UAAU,GACd,uLAAuL,CAAC;AAC1L,mDAAmD;AACnD,MAAM,SAAS,GAAG,qIAAqI,CAAC;AACxJ,+EAA+E;AAC/E,MAAM,UAAU,GAAG,2CAA2C,CAAC;AAE/D;;;;GAIG;AACH,MAAM,KAAK,GACT,ifAAif,CAAC;AAEpf,qFAAqF;AACrF,MAAM,aAAa,GACjB,mLAAmL,CAAC;AACtL,MAAM,WAAW,GAAG,uCAAuC,CAAC;AAE5D,MAAM,IAAI,GAAG,sEAAsE,CAAC;AACpF,MAAM,IAAI,GAAG,gDAAgD,CAAC;AAC9D,+DAA+D;AAC/D,MAAM,KAAK,GAAG,2KAA2K,CAAC;AAE1L,8FAA8F;AAC9F,MAAM,eAAe,GAAG,2JAA2J,CAAC;AACpL,MAAM,eAAe,GACnB,oMAAoM,CAAC;AACvM,sEAAsE;AACtE,MAAM,OAAO,GAAG,8DAA8D,CAAC;AAE/E,+DAA+D;AAC/D,MAAM,IAAI,GACR,2OAA2O,CAAC;AAC9O,MAAM,WAAW,GAAG,0FAA0F,CAAC;AAqB/G,SAAS,MAAM,CAAC,OAAgB;IAC9B,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnH,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,iGAAiG;AACjG,SAAS,KAAK,CAAC,CAAM;IACnB,IAAI,CAAC,EAAE,IAAI,KAAK,MAAM,IAAI,CAAC,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;IACpC,MAAM,IAAI,GACR,OAAO,OAAO,KAAK,QAAQ;QACzB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC;YACtE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACjG,CAAC,CAAC,IAAI,CAAC;IACb,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9I,OAAO,CAAC,CAAC;AACX,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,MAAM,CAAC,CAAS,EAAE,CAAC,GAAG,EAAE;IACtC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACvE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,IAAY;IACrD,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC9C,MAAM,OAAO,GAAW,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAW,EAAE,CAAC;IACxB,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,uEAAuE;IACvE,IAAI,IAAI,GAAgB,IAAI,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAS;QAC3B,IAAI,CAAM,CAAC;QACX,IAAI,CAAC;YACH,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,EAAE,EAAE,CAAC;QACL,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;QACpC,MAAM,MAAM,GAAU,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,EAAE,IAAI,KAAK,UAAU;oBACxB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;qBACpJ,IAAI,CAAC,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;oBAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACnG,CAAC;YACD,IAAI,MAAM,CAAC,MAAM;gBAAE,UAAU,GAAG,IAAI,CAAC;YACrC,SAAS;QACX,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,EAAE,IAAI,KAAK,aAAa;gBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnI,CAAC;QACD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,IAAI;YAAE,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7C,sDAAsD;QACtD,IAAI,CAAC,KAAK,IAAI,IAAI,UAAU;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,4FAA4F;IAC5F,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,KAAK,IAAI;YAAE,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;IACjG,CAAC;IACD,MAAM,KAAK,GAAG,CAA2B,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACnF,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAE1B,MAAM,MAAM,GAAG,CAAC,IAAa,EAAiB,EAAE;QAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACnD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACjE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,KAAK,CAAC,OAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChI,0GAA0G;IAC1G,MAAM,SAAS,GAAG,CAAC,CAAY,EAAiB,EAAE;QAChD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK;YAAE,OAAO,IAAI,CAAC;QACvE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QAC/D,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YACzC,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBAAE,SAAS;gBAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;gBACrB,IAAI,CAAC;oBAAE,OAAO,CAAC,CAAC;gBAChB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QACD,4EAA4E;QAC5E,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7B,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,CAAY,EAAiB,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACjJ,0FAA0F;IAC1F,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9I,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/I,MAAM,GAAG,GAAiB,EAAE,CAAC;IAE7B,uEAAuE;IACvE,MAAM,MAAM,GAAG,IAAI;SAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACpF,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC;IAChE,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAwD,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACnF,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM;YAAE,SAAS;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QACjF,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,SAAS;QAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAC5H,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,SAAS;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC;QACpE,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACxD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,WAAW,KAAK,kCAAkC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3J,MAAM;IACR,CAAC;IAED,iFAAiF;IACjF,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAAE,SAAS;QACtG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,SAAS;QACjC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,4BAA4B,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACnH,MAAM;IACR,CAAC;IAED,+DAA+D;IAC/D,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK;YAAE,SAAS;QAC9D,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClH,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YAAE,SAAS;QACvF,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,yBAAyB,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1G,MAAM;IACR,CAAC;IAED,8EAA8E;IAC9E,MAAM,MAAM,GAAG,GAAsB,EAAE;QACrC,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB;gBAAE,SAAS;YAC3C,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,SAAS;YAClD,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;YAC9D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,yCAAyC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACvH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,SAAS;YACvD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YACtG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,SAAS;YACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,yCAAyC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACvH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,IAAI,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE7B,mFAAmF;IACnF,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK;gBAAE,SAAS;YAC7C,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;YAC1G,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,IAAI,2CAA2C,EAAE,CAAC,CAAC;YACtH,MAAM;QACR,CAAC;IACH,CAAC;IAED,iHAAiH;IACjH,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,EAAE,IAAI,KAAK;YAAE,SAAS;QAC5B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK;YAAE,SAAS;QAC5B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,SAAS;QACtC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI;YAAE,SAAS;QACvE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,OAAO,IAAI,mBAAmB,EAAE,CAAC;QACnC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,IAAI,EAAE,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,wBAAwB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,kCAAkC,EAAE,CAAC,CAAC;IAC3K,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,IAAI,GAAG,iDAAiD,CAAC;AAC/D,MAAM,KAAK,GAAG,iJAAiJ,CAAC;AAEhK,2GAA2G;AAC3G,MAAM,UAAU,OAAO,CAAC,CAAa;IACnC,MAAM,IAAI,GAAG,yCAAyC,CAAC;IACvD,MAAM,KAAK,GACT,CAAC,CAAC,IAAI,KAAK,OAAO;QAChB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,uDAAuD,IAAI,kCAAkC,IAAI,EAAE;QAC9G,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW;YACtB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,iDAAiD,IAAI,6FAA6F,IAAI,EAAE;YACnK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACnB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,uEAAuE,IAAI,sBAAsB,IAAI,EAAE;gBAClH,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO;oBAClB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,2IAA2I,IAAI,KAAK,IAAI,EAAE;oBACrK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU;wBACrB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,mHAAmH,IAAI,uBAAuB,IAAI,EAAE;wBAC/J,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,kJAAkJ,IAAI,KAAK,IAAI,EAAE,CAAC;IACzL,OAAO,WAAW,KAAK,KAAK,KAAK,EAAE,CAAC;AACtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"shim-template.d.ts","sourceRoot":"","sources":["../../src/claude/shim-template.ts"],"names":[],"mappings":"AA6MA,wBAAgB,cAAc,IAAI,MAAM,CAA8C;AACtF,wBAAgB,SAAS,IAAI,MAAM,CAAqE;AAExG,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,IAAI,GAAE,MAAkB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAEtG;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,MAAkB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,IAAI,GAAE,MAAwB,GAAG,IAAI,CAGpI"}
1
+ {"version":3,"file":"shim-template.d.ts","sourceRoot":"","sources":["../../src/claude/shim-template.ts"],"names":[],"mappings":"AAmNA,wBAAgB,cAAc,IAAI,MAAM,CAA8C;AACtF,wBAAgB,SAAS,IAAI,MAAM,CAAqE;AAExG,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,IAAI,GAAE,MAAkB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAEtG;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,MAAkB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,IAAI,GAAE,MAAwB,GAAG,IAAI,CAGpI"}
@@ -108,7 +108,7 @@ function onPath() {
108
108
  // The global node_modules dir per npm (handles Homebrew/Windows/volta). Queried on demand.
109
109
  function globalRoot() {
110
110
  try {
111
- const root = execFileSync('npm', ['root', '-g'], { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'], shell: process.platform === 'win32' }).trim();
111
+ const root = execFileSync('npm', ['root', '-g'], { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'], shell: process.platform === 'win32', windowsHide: true }).trim();
112
112
  return root || null;
113
113
  } catch { return null; /* npm unavailable */ }
114
114
  }
@@ -182,10 +182,16 @@ function offerTrail() {
182
182
  if (/^".*"$/.test(v)) { try { return JSON.parse(v); } catch { return v.slice(1, -1); } }
183
183
  return v;
184
184
  };
185
+ const read = (f) => { try { return fs.readFileSync(path.join(learnings, f), 'utf8').slice(0, 4000); } catch { return ''; } };
186
+ const texts = new Map(files.map((f) => [f, read(f)]));
187
+ // A learning another one replaces stays as the record, but isn't listed.
188
+ // \`replaces:\` holds an id: the file's own \`id:\`, or l- and the first 6
189
+ // hex digits of its name's sha1 (learning-fields.ts).
190
+ const idOf = (f) => field(texts.get(f), 'id').toLowerCase() || 'l-' + require('crypto').createHash('sha1').update(f).digest('hex').slice(0, 6);
191
+ const replaced = new Set([...texts.values()].map((t) => field(t, 'replaces').toLowerCase()).filter(Boolean));
185
192
  const lines = [];
186
- for (const f of files.slice(0, 12)) {
187
- let text = '';
188
- try { text = fs.readFileSync(path.join(learnings, f), 'utf8').slice(0, 4000); } catch { continue; }
193
+ for (const f of files.filter((f) => texts.get(f) && !replaced.has(idOf(f))).slice(0, 12)) {
194
+ const text = texts.get(f);
189
195
  const author = field(text, 'author');
190
196
  lines.push('- ' + (field(text, 'title') || f) + (author ? ' (' + author + ')' : '') + ' · .trail/learnings/' + f);
191
197
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shim-template.js","sourceRoot":"","sources":["../../src/claude/shim-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,yFAAyF;AACzF,0FAA0F;AAC1F,8EAA8E;AAC9E,EAAE;AACF,0FAA0F;AAC1F,6FAA6F;AAC7F,2FAA2F;AAC3F,sFAAsF;AACtF,gEAAgE;AAChE,EAAE;AACF,sDAAsD;AACtD,yFAAyF;AACzF,uFAAuF;AACvF,oDAAoD;AACpD,wFAAwF;AACxF,uFAAuF;AACvF,sFAAsF;AACtF,sFAAsF;AACtF,oDAAoD;AACpD,0FAA0F;AAC1F,0FAA0F;AAC1F,4FAA4F;AAC5F,kFAAkF;AAClF,uFAAuF;AACvF,gCAAgC;AAChC,EAAE;AACF,4FAA4F;AAC5F,0FAA0F;AAC1F,sFAAsF;AACtF,4EAA4E;AAC5E,oFAAoF;AACpF,yFAAyF;AACzF,6BAA6B;AAC7B,MAAM,SAAS,GAAG,cAAc,CAAC;AAEjC,SAAS,IAAI,CAAC,SAAiB,EAAE,IAAY,EAAE,QAAQ,GAAG,EAAE;IAC1D,OAAO;;;;;;;;;;;;;;;;;;;;mCAoB0B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAgGrC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;4EAC4B,IAAI,sDAAsD,QAAQ;CAC7I,CAAC;AACF,CAAC;AAED,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAC9E,8EAA8E;AAC9E,gFAAgF;AAChF,4EAA4E;AAC5E,+EAA+E;AAC/E,eAAe;AACf,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BlB,CAAC;AAEH,MAAM,UAAU,cAAc,KAAa,OAAO,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AACtF,MAAM,UAAU,SAAS,KAAa,OAAO,IAAI,CAAC,UAAU,EAAE,yBAAyB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;AAExG,uFAAuF;AACvF,MAAM,UAAU,eAAe,CAAC,OAAe,OAAO,EAAE,EAAE,MAAyB,OAAO,CAAC,GAAG;IAC5F,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe,OAAO,EAAE,EAAE,MAAyB,OAAO,CAAC,GAAG,EAAE,OAAe,aAAa,EAAE;IAC5H,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAAE,OAAO;IAChD,IAAI,CAAC;QAAC,eAAe,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;AACzH,CAAC"}
1
+ {"version":3,"file":"shim-template.js","sourceRoot":"","sources":["../../src/claude/shim-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,yFAAyF;AACzF,0FAA0F;AAC1F,8EAA8E;AAC9E,EAAE;AACF,0FAA0F;AAC1F,6FAA6F;AAC7F,2FAA2F;AAC3F,sFAAsF;AACtF,gEAAgE;AAChE,EAAE;AACF,sDAAsD;AACtD,yFAAyF;AACzF,uFAAuF;AACvF,oDAAoD;AACpD,wFAAwF;AACxF,uFAAuF;AACvF,sFAAsF;AACtF,sFAAsF;AACtF,oDAAoD;AACpD,0FAA0F;AAC1F,0FAA0F;AAC1F,4FAA4F;AAC5F,kFAAkF;AAClF,uFAAuF;AACvF,gCAAgC;AAChC,EAAE;AACF,4FAA4F;AAC5F,0FAA0F;AAC1F,sFAAsF;AACtF,4EAA4E;AAC5E,oFAAoF;AACpF,yFAAyF;AACzF,6BAA6B;AAC7B,MAAM,SAAS,GAAG,cAAc,CAAC;AAEjC,SAAS,IAAI,CAAC,SAAiB,EAAE,IAAY,EAAE,QAAQ,GAAG,EAAE;IAC1D,OAAO;;;;;;;;;;;;;;;;;;;;mCAoB0B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAgGrC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;4EAC4B,IAAI,sDAAsD,QAAQ;CAC7I,CAAC;AACF,CAAC;AAED,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAC9E,8EAA8E;AAC9E,gFAAgF;AAChF,4EAA4E;AAC5E,+EAA+E;AAC/E,eAAe;AACf,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqClB,CAAC;AAEH,MAAM,UAAU,cAAc,KAAa,OAAO,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AACtF,MAAM,UAAU,SAAS,KAAa,OAAO,IAAI,CAAC,UAAU,EAAE,yBAAyB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;AAExG,uFAAuF;AACvF,MAAM,UAAU,eAAe,CAAC,OAAe,OAAO,EAAE,EAAE,MAAyB,OAAO,CAAC,GAAG;IAC5F,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe,OAAO,EAAE,EAAE,MAAyB,OAAO,CAAC,GAAG,EAAE,OAAe,aAAa,EAAE;IAC5H,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAAE,OAAO;IAChD,IAAI,CAAC;QAAC,eAAe,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;AACzH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill-template.d.ts","sourceRoot":"","sources":["../../src/claude/skill-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAU9C,wBAAgB,aAAa,CAAC,KAAK,GAAE,KAAe,GAAG,MAAM,CAE5D;AAuDD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQlD"}
1
+ {"version":3,"file":"skill-template.d.ts","sourceRoot":"","sources":["../../src/claude/skill-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAU9C,wBAAgB,aAAa,CAAC,KAAK,GAAE,KAAe,GAAG,MAAM,CAE5D;AAsFD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQlD"}
@@ -22,28 +22,59 @@ export function skillTemplate(brand = "graft") {
22
22
  const TRAIL_DESCRIPTION = `Use for ANY task in this repo. What past sessions worked out, decided and
23
23
  ruled out is in .trail/learnings/, so read the learnings on your task before
24
24
  exploring. Run trail ask before grepping or reading source; it finds the
25
- code and those learnings. When a task took real digging, save a learning
26
- with trail note and commit it with the change; do the same when the user
27
- corrects how something is done here. Run trail check before you commit,
28
- push or open a PR. If the trail command isn't installed, read
29
- .trail/learnings/ directly and credit one in a line when it shapes your
30
- reply; after that first credit, offer once to set trail up, and only if
31
- they say yes, run npm install -g @trailhq/trail-code and then
32
- trail init --no-agents.`;
25
+ code and those learnings. When the session finds what the code can't tell
26
+ the next person, like a bug's cause after failed attempts, an approach
27
+ dropped, a choice and why, or the user correcting how something is done
28
+ here, save a learning with trail note and commit it with the change. Run
29
+ trail check before you commit, push or open a PR. If the trail command
30
+ isn't installed, read .trail/learnings/ directly and credit one in a line
31
+ when it shapes your reply; after that first credit, offer once to set trail
32
+ up, and only if they say yes, run npm install -g @trailhq/trail-code and
33
+ then trail init --no-agents.`;
33
34
  /** The same moments, first in the body, so they're read before the tool docs. */
34
35
  const TRAIL_MOMENTS = `## When to reach for trail
35
36
  - **Before exploring code**, run \`trail ask "<task>" --source\`. Learnings
36
37
  from past sessions, yours and your team's, on what was decided, tried and
37
38
  ruled out print above the code. Read them first.
38
- - **When you finish a task that took real digging**, save a learning for the
39
- next session with \`trail note\`, and commit it with the change. How is
40
- under Learnings below.
39
+ - **When the session finds what the code can't tell the next person**, save a
40
+ learning with \`trail note\`, and commit it with the change. What counts is
41
+ under Saving a learning below.
41
42
  - **When the work is ready for review**, run \`trail check\` before you commit
42
43
  it, push the branch or open a PR. It checks the changes against what the
43
44
  team has learned. How is under Before work goes for review below.
44
45
  - **When the user corrects how something is done here**, or states a rule for
45
46
  it, save that as a learning too, so nobody has to say it again.
46
47
 
48
+ ## Saving a learning
49
+ Save one when the session found what the code can't tell the next person:
50
+ - a bug's real cause, after attempts that didn't work;
51
+ - an approach you dropped, and why;
52
+ - a choice between options, and why this one;
53
+ - the user correcting how something is done here.
54
+
55
+ Save it before you commit or open the PR, so it ships with the change:
56
+ \`trail note --title "<the fact, not the task>"\` with the text on stdin. Name
57
+ the files or functions it's about, and give each decision its reason.
58
+
59
+ Don't save setting up trail or other tools, what the diff already shows,
60
+ status ("PR is open", "not merged yet"), or facts about one machine (those go
61
+ with \`--personal\`). When it updates an earlier learning, pass
62
+ \`--replaces <file>\`. \`trail note\` turns away a learning that names no code,
63
+ gives no reason, reads as status or repeats one, and says what to fix.
64
+
65
+ Good, \`--title "CodeQL init and analyze must share a version"\`:
66
+
67
+ ## Decided
68
+ - Pin \`github/codeql-action/init\` and \`/analyze\` to the same version in
69
+ \`.github/workflows/codeql.yml\`. Mismatched, analyze fails with "Loaded a
70
+ configuration file for version X, but running version Y".
71
+ ## Tried and ruled out
72
+ - Letting Dependabot bump them one at a time: it bumped only analyze and
73
+ broke main for two weeks.
74
+
75
+ Bad, \`--title "Finishing the rollout PR"\`: "## Decided - PR #3372 is fixed and
76
+ pushed." Status, no file, no reason, and wrong by next week.
77
+
47
78
  ## If trail isn't installed
48
79
  The learnings are plain markdown in \`.trail/learnings/\`, one file per session,
49
80
  with what it decided, tried and ruled out, and which files it's about
@@ -108,11 +139,10 @@ what trail prints with it, e.g. \`📝 Started from Anirudh's learning ·
108
139
  saved ~90k tokens and ~12 min\`, or \`· 3x faster to a PR\` when that's what it
109
140
  prints.
110
141
 
111
- When you finish a task that took real digging, save a learning for the next
112
- session: \`trail note --title "<what it was about>"\` with the text on stdin,
113
- under \`## Decided\`, \`## Tried and ruled out\` and \`## Watch out\`. A summary,
114
- never a transcript, and nothing secret. Do the same when the user corrects how
115
- something is done here, or states a rule for it.
142
+ To save one (when is under Saving a learning above): \`trail note --title
143
+ "<the fact, not the task>"\` with the text on stdin, under \`## Decided\`,
144
+ \`## Tried and ruled out\` and \`## Watch out\`. A summary, never a transcript,
145
+ and nothing secret.
116
146
 
117
147
  A learning is for the team or just for the user:
118
148
  - For the team, the default: anything about the code, the repo, its tools or
@@ -125,13 +155,14 @@ A learning is for the team or just for the user:
125
155
 
126
156
  \`trail note\` prints the line to close your reply with. For a team learning
127
157
  it prints two: one for when the learning is committed by the end of your
128
- turn, one for when it isn't. Check with \`git status --porcelain
158
+ turn, and one for when it isn't, which asks the user whether to commit it
159
+ with the change. On a yes, commit it. Check with \`git status --porcelain
129
160
  .trail/learnings\` before you close, and use the one that's true.
130
161
 
131
162
  Never edit a learning once it's written, yours or a teammate's: it's the
132
163
  record of what that session knew. When a change goes against one on purpose,
133
164
  say why in the commit message and save a new learning that says what changed
134
- and why.
165
+ and why, with \`--replaces <file>\` when it takes over from an earlier one.
135
166
 
136
167
  ## Before work goes for review
137
168
  When the work is ready for review, run \`trail check\` before you commit it,
@@ -1 +1 @@
1
- {"version":3,"file":"skill-template.js","sourceRoot":"","sources":["../../src/claude/skill-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAc,MAAM,aAAa,CAAC;AAC9C,uFAAuF;AACvF,yFAAyF;AACzF,uFAAuF;AACvF,uFAAuF;AACvF,oCAAoC;AACpC,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,0DAA0D;AAC1D,MAAM,UAAU,aAAa,CAAC,QAAe,OAAO;IAClD,OAAO,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;AACrE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,iBAAiB,GAAG;;;;;;;;;;0BAUA,CAAC;AAE3B,iFAAiF;AACjF,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BrB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI;SACR,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACxC,OAAO,CAAC,+BAA+B,EAAE,uBAAuB,CAAC;SACjE,OAAO,CAAC,iCAAiC,EAAE,eAAe,CAAC;SAC3D,OAAO,CAAC,mCAAmC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;SACpE,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC;SACxC,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,IAAI,GAAG,aAAa,CACxB,KAAK;SACF,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;SACpC,OAAO,CAAC,mDAAmD,EAAE,2DAA2D,CAAC,CAC7H,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,aAAa,EAAE,CAAC,CAAC;IACtD,OAAO;;eAEM,iBAAiB;;EAE9B,IAAI,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDf,CAAC;AACF,CAAC;AAED,SAAS,UAAU;IACjB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4JR,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"skill-template.js","sourceRoot":"","sources":["../../src/claude/skill-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAc,MAAM,aAAa,CAAC;AAC9C,uFAAuF;AACvF,yFAAyF;AACzF,uFAAuF;AACvF,uFAAuF;AACvF,oCAAoC;AACpC,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,0DAA0D;AAC1D,MAAM,UAAU,aAAa,CAAC,QAAe,OAAO;IAClD,OAAO,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;AACrE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,iBAAiB,GAAG;;;;;;;;;;;+BAWK,CAAC;AAEhC,iFAAiF;AACjF,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4DrB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI;SACR,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACxC,OAAO,CAAC,+BAA+B,EAAE,uBAAuB,CAAC;SACjE,OAAO,CAAC,iCAAiC,EAAE,eAAe,CAAC;SAC3D,OAAO,CAAC,mCAAmC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;SACpE,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC;SACxC,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,IAAI,GAAG,aAAa,CACxB,KAAK;SACF,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;SACpC,OAAO,CAAC,mDAAmD,EAAE,2DAA2D,CAAC,CAC7H,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,aAAa,EAAE,CAAC,CAAC;IACtD,OAAO;;eAEM,iBAAiB;;EAE9B,IAAI,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDf,CAAC;AACF,CAAC;AAED,SAAS,UAAU;IACjB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4JR,CAAC;AACF,CAAC"}