@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.
- package/README.md +4 -4
- package/dist/ai/crux.d.ts +31 -3
- package/dist/ai/crux.d.ts.map +1 -1
- package/dist/ai/crux.js +88 -10
- package/dist/ai/crux.js.map +1 -1
- package/dist/ai/llm/openai.d.ts +101 -0
- package/dist/ai/llm/openai.d.ts.map +1 -1
- package/dist/ai/llm/openai.js +396 -6
- package/dist/ai/llm/openai.js.map +1 -1
- package/dist/ai/llm/recover-tool.d.ts +2 -0
- package/dist/ai/llm/recover-tool.d.ts.map +1 -1
- package/dist/ai/llm/recover-tool.js +1 -1
- package/dist/ai/llm/recover-tool.js.map +1 -1
- package/dist/ai/synthesize.d.ts.map +1 -1
- package/dist/ai/synthesize.js +100 -1
- package/dist/ai/synthesize.js.map +1 -1
- package/dist/claude/format.js +1 -1
- package/dist/claude/format.js.map +1 -1
- package/dist/claude/hooks.d.ts +0 -18
- package/dist/claude/hooks.d.ts.map +1 -1
- package/dist/claude/hooks.js +24 -77
- package/dist/claude/hooks.js.map +1 -1
- package/dist/claude/init.js +3 -3
- package/dist/claude/init.js.map +1 -1
- package/dist/claude/note-signals.d.ts +28 -0
- package/dist/claude/note-signals.d.ts.map +1 -0
- package/dist/claude/note-signals.js +325 -0
- package/dist/claude/note-signals.js.map +1 -0
- package/dist/claude/shim-template.d.ts.map +1 -1
- package/dist/claude/shim-template.js +10 -4
- package/dist/claude/shim-template.js.map +1 -1
- package/dist/claude/skill-template.d.ts.map +1 -1
- package/dist/claude/skill-template.js +49 -18
- package/dist/claude/skill-template.js.map +1 -1
- package/dist/claude/state.d.ts +4 -3
- package/dist/claude/state.d.ts.map +1 -1
- package/dist/claude/state.js.map +1 -1
- package/dist/claude/sync-run.js +1 -1
- package/dist/claude/sync-run.js.map +1 -1
- package/dist/cli-picker.d.ts +12 -5
- package/dist/cli-picker.d.ts.map +1 -1
- package/dist/cli-picker.js +24 -8
- package/dist/cli-picker.js.map +1 -1
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +131 -38
- package/dist/cli.js.map +1 -1
- package/dist/context/batches.d.ts +29 -0
- package/dist/context/batches.d.ts.map +1 -0
- package/dist/context/batches.js +130 -0
- package/dist/context/batches.js.map +1 -0
- package/dist/context/build.d.ts +7 -2
- package/dist/context/build.d.ts.map +1 -1
- package/dist/context/build.js +84 -50
- package/dist/context/build.js.map +1 -1
- package/dist/context/node-file.d.ts.map +1 -1
- package/dist/context/node-file.js +41 -4
- package/dist/context/node-file.js.map +1 -1
- package/dist/engine.d.ts +2 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +1 -0
- package/dist/engine.js.map +1 -1
- package/dist/graph/cards.d.ts.map +1 -1
- package/dist/graph/cards.js +9 -4
- package/dist/graph/cards.js.map +1 -1
- package/dist/graph/enrich.d.ts.map +1 -1
- package/dist/graph/enrich.js +8 -3
- package/dist/graph/enrich.js.map +1 -1
- package/dist/graph/generic.d.ts.map +1 -1
- package/dist/graph/generic.js +207 -6
- package/dist/graph/generic.js.map +1 -1
- package/dist/graph/lsp/client.d.ts +18 -0
- package/dist/graph/lsp/client.d.ts.map +1 -1
- package/dist/graph/lsp/client.js +40 -2
- package/dist/graph/lsp/client.js.map +1 -1
- package/dist/graph/lsp/enrich.d.ts.map +1 -1
- package/dist/graph/lsp/enrich.js +9 -1
- package/dist/graph/lsp/enrich.js.map +1 -1
- package/dist/graph/lsp/registry.d.ts +7 -0
- package/dist/graph/lsp/registry.d.ts.map +1 -1
- package/dist/graph/lsp/registry.js +27 -2
- package/dist/graph/lsp/registry.js.map +1 -1
- package/dist/graph/queries/gleam.scm +51 -0
- package/dist/graph/resolve.d.ts.map +1 -1
- package/dist/graph/resolve.js +65 -3
- package/dist/graph/resolve.js.map +1 -1
- package/dist/graph/workspace-cli.d.ts +2 -0
- package/dist/graph/workspace-cli.d.ts.map +1 -1
- package/dist/graph/workspace-cli.js +1 -1
- package/dist/graph/workspace-cli.js.map +1 -1
- package/dist/notes/branches.d.ts +7 -1
- package/dist/notes/branches.d.ts.map +1 -1
- package/dist/notes/branches.js +31 -3
- package/dist/notes/branches.js.map +1 -1
- package/dist/notes/cold-start.d.ts +12 -2
- package/dist/notes/cold-start.d.ts.map +1 -1
- package/dist/notes/cold-start.js +46 -5
- package/dist/notes/cold-start.js.map +1 -1
- package/dist/notes/credit.d.ts +37 -0
- package/dist/notes/credit.d.ts.map +1 -0
- package/dist/notes/credit.js +78 -0
- package/dist/notes/credit.js.map +1 -0
- package/dist/notes/find-notes.d.ts +17 -0
- package/dist/notes/find-notes.d.ts.map +1 -0
- package/dist/notes/find-notes.js +48 -0
- package/dist/notes/find-notes.js.map +1 -0
- package/dist/notes/flatten.d.ts +31 -0
- package/dist/notes/flatten.d.ts.map +1 -0
- package/dist/notes/flatten.js +73 -0
- package/dist/notes/flatten.js.map +1 -0
- package/dist/notes/git-facts.d.ts +2 -0
- package/dist/notes/git-facts.d.ts.map +1 -1
- package/dist/notes/git-facts.js +6 -0
- package/dist/notes/git-facts.js.map +1 -1
- package/dist/notes/home.d.ts +24 -6
- package/dist/notes/home.d.ts.map +1 -1
- package/dist/notes/home.js +82 -15
- package/dist/notes/home.js.map +1 -1
- package/dist/notes/learning-fields.d.ts +102 -0
- package/dist/notes/learning-fields.d.ts.map +1 -0
- package/dist/notes/learning-fields.js +214 -0
- package/dist/notes/learning-fields.js.map +1 -0
- package/dist/notes/memory-notes.d.ts +71 -0
- package/dist/notes/memory-notes.d.ts.map +1 -0
- package/dist/notes/memory-notes.js +239 -0
- package/dist/notes/memory-notes.js.map +1 -0
- package/dist/notes/note-gate.d.ts +42 -0
- package/dist/notes/note-gate.d.ts.map +1 -0
- package/dist/notes/note-gate.js +181 -0
- package/dist/notes/note-gate.js.map +1 -0
- package/dist/notes/notes.d.ts +29 -85
- package/dist/notes/notes.d.ts.map +1 -1
- package/dist/notes/notes.js +69 -254
- package/dist/notes/notes.js.map +1 -1
- package/dist/notes/pr-reviews.d.ts +35 -7
- package/dist/notes/pr-reviews.d.ts.map +1 -1
- package/dist/notes/pr-reviews.js +156 -46
- package/dist/notes/pr-reviews.js.map +1 -1
- package/dist/notes/secrets.d.ts +28 -0
- package/dist/notes/secrets.d.ts.map +1 -0
- package/dist/notes/secrets.js +362 -0
- package/dist/notes/secrets.js.map +1 -0
- package/dist/notes/targets.d.ts +37 -0
- package/dist/notes/targets.d.ts.map +1 -0
- package/dist/notes/targets.js +108 -0
- package/dist/notes/targets.js.map +1 -0
- package/dist/notes/team-check.d.ts +22 -0
- package/dist/notes/team-check.d.ts.map +1 -0
- package/dist/notes/team-check.js +130 -0
- package/dist/notes/team-check.js.map +1 -0
- package/dist/notes/trail-home.d.ts +3 -0
- package/dist/notes/trail-home.d.ts.map +1 -0
- package/dist/notes/trail-home.js +12 -0
- package/dist/notes/trail-home.js.map +1 -0
- package/dist/skills/answers-prompt.d.ts +13 -0
- package/dist/skills/answers-prompt.d.ts.map +1 -0
- package/dist/skills/answers-prompt.js +83 -0
- package/dist/skills/answers-prompt.js.map +1 -0
- package/dist/skills/never-save.d.ts +5 -0
- package/dist/skills/never-save.d.ts.map +1 -0
- package/dist/skills/never-save.js +158 -0
- package/dist/skills/never-save.js.map +1 -0
- package/dist/skills/params.d.ts +39 -0
- package/dist/skills/params.d.ts.map +1 -0
- package/dist/skills/params.js +275 -0
- package/dist/skills/params.js.map +1 -0
- package/dist/skills/ran-less.d.ts +5 -0
- package/dist/skills/ran-less.d.ts.map +1 -0
- package/dist/skills/ran-less.js +51 -0
- package/dist/skills/ran-less.js.map +1 -0
- package/dist/skills/risk-delta.d.ts +32 -0
- package/dist/skills/risk-delta.d.ts.map +1 -0
- package/dist/skills/risk-delta.js +56 -0
- package/dist/skills/risk-delta.js.map +1 -0
- package/dist/skills/risk.d.ts +73 -0
- package/dist/skills/risk.d.ts.map +1 -0
- package/dist/skills/risk.js +396 -0
- package/dist/skills/risk.js.map +1 -0
- package/dist/skills/types.d.ts +422 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +2 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/telemetry/contract.d.ts.map +1 -1
- package/dist/telemetry/contract.js +8 -6
- package/dist/telemetry/contract.js.map +1 -1
- package/dist/telemetry/notice.d.ts.map +1 -1
- package/dist/telemetry/notice.js +3 -1
- package/dist/telemetry/notice.js.map +1 -1
- package/dist/trace/check-reads.d.ts +36 -0
- package/dist/trace/check-reads.d.ts.map +1 -0
- package/dist/trace/check-reads.js +57 -0
- package/dist/trace/check-reads.js.map +1 -0
- package/dist/trace/host.d.ts +40 -0
- package/dist/trace/host.d.ts.map +1 -0
- package/dist/trace/host.js +84 -0
- package/dist/trace/host.js.map +1 -0
- package/dist/trace/redact.d.ts +8 -0
- package/dist/trace/redact.d.ts.map +1 -0
- package/dist/trace/redact.js +63 -0
- package/dist/trace/redact.js.map +1 -0
- package/dist/trace/seen-cache.d.ts +9 -0
- package/dist/trace/seen-cache.d.ts.map +1 -0
- package/dist/trace/seen-cache.js +46 -0
- package/dist/trace/seen-cache.js.map +1 -0
- package/dist/trace/shell-scan.d.ts +52 -0
- package/dist/trace/shell-scan.d.ts.map +1 -0
- package/dist/trace/shell-scan.js +318 -0
- package/dist/trace/shell-scan.js.map +1 -0
- package/dist/trace/shell-words.d.ts +91 -0
- package/dist/trace/shell-words.d.ts.map +1 -0
- package/dist/trace/shell-words.js +558 -0
- package/dist/trace/shell-words.js.map +1 -0
- package/dist/trace/shell.d.ts +91 -0
- package/dist/trace/shell.d.ts.map +1 -0
- package/dist/trace/shell.js +435 -0
- package/dist/trace/shell.js.map +1 -0
- package/dist/trace/state.d.ts +27 -0
- package/dist/trace/state.d.ts.map +1 -0
- package/dist/trace/state.js +98 -0
- package/dist/trace/state.js.map +1 -0
- package/dist/trace/tamper-code.d.ts +9 -0
- package/dist/trace/tamper-code.d.ts.map +1 -0
- package/dist/trace/tamper-code.js +174 -0
- package/dist/trace/tamper-code.js.map +1 -0
- package/dist/trace/tamper-git.d.ts +12 -0
- package/dist/trace/tamper-git.d.ts.map +1 -0
- package/dist/trace/tamper-git.js +77 -0
- package/dist/trace/tamper-git.js.map +1 -0
- package/dist/trace/types.d.ts +477 -0
- package/dist/trace/types.d.ts.map +1 -0
- package/dist/trace/types.js +12 -0
- package/dist/trace/types.js.map +1 -0
- package/dist/trace/walls-glob.d.ts +11 -0
- package/dist/trace/walls-glob.d.ts.map +1 -0
- package/dist/trace/walls-glob.js +264 -0
- package/dist/trace/walls-glob.js.map +1 -0
- package/dist/trace/walls-quoted.d.ts +25 -0
- package/dist/trace/walls-quoted.d.ts.map +1 -0
- package/dist/trace/walls-quoted.js +81 -0
- package/dist/trace/walls-quoted.js.map +1 -0
- package/dist/upkeep.d.ts +1 -1
- package/dist/upkeep.d.ts.map +1 -1
- package/dist/upkeep.js +4 -1
- package/dist/upkeep.js.map +1 -1
- package/dist/util/actions-folder.d.ts +2 -0
- package/dist/util/actions-folder.d.ts.map +1 -0
- package/dist/util/actions-folder.js +9 -0
- package/dist/util/actions-folder.js.map +1 -0
- package/dist/util/front-matter.d.ts +31 -4
- package/dist/util/front-matter.d.ts.map +1 -1
- package/dist/util/front-matter.js +95 -3
- package/dist/util/front-matter.js.map +1 -1
- package/dist/util/private-file.d.ts +14 -0
- package/dist/util/private-file.d.ts.map +1 -0
- package/dist/util/private-file.js +82 -0
- package/dist/util/private-file.js.map +1 -0
- package/dist/util/private-fs.d.ts +25 -0
- package/dist/util/private-fs.d.ts.map +1 -0
- package/dist/util/private-fs.js +253 -0
- package/dist/util/private-fs.js.map +1 -0
- package/dist/util/state.d.ts.map +1 -1
- package/dist/util/state.js +3 -0
- package/dist/util/state.js.map +1 -1
- package/dist/viewer/app.js +2 -2
- package/package.json +5 -5
- package/scripts/run-tests.mjs +14 -2
package/dist/claude/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/claude/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC3H,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAoB,MAAM,2BAA2B,CAAC;AACxG,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAiB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAc,MAAM,aAAa,CAAC;AAE5D,8FAA8F;AAC9F,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACrD,oGAAoG;AACpG,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;AACjE,4EAA4E;AAC5E,MAAM,UAAU,cAAc,CAAC,OAAe,OAAO,EAAE;IACrD,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,SAAiB,EAAE,IAAa;IACzE,OAAO,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,SAAiB;IACvD,OAAO,SAAS,KAAK,OAAO,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAC7E,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,IAAW,EAAE,OAAe,OAAO,EAAE;IACjF,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5D,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,IAAY,EAAgB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACxI,OAAO;QACL,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE,iCAAiC,CAAC;QAC3E,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,oBAAoB,CAAC;QAC9C,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,qBAAqB,CAAC,EAAE,qCAAqC,CAAC;QACrF,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,8BAA8B,CAAC;QAC9D,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE;KACrH,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,IAAW;IAC1D,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,OAA6B,QAAQ,EAAgB,EAAE,CAC5F,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,OAAO;QACL,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE,GAAG,IAAI,2BAA2B,CAAC;QAC5E,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;QAC/E,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,YAAY,CAAC,EAAE,YAAY,CAAC;QACrE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC;QACpE,yEAAyE;QACzE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,cAAc,IAAI,EAAE,EAAE,KAAK,CAAC;KACvD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,IAA2C;IAC1F,2EAA2E;IAC3E,4EAA4E;IAC5E,oEAAoE;IACpE,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,IAAI,CAAC;QACH,2EAA2E;QAC3E,4DAA4D;QAC5D,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACnI,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAeD,MAAM,UAAU,OAAO,CACrB,GAAW,EACX,OAAoH,EAAE;IAEtH,IAAI,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,OAAO;QAAE,OAAO,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5E,6EAA6E;IAC7E,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE7G,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpD,MAAM,YAAY,GAAG,QAAQ,CAAC;IAC9B,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1G,aAAa,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAEpE,MAAM,EAAE,GAAG,UAAU,CAAC;IACtB,MAAM,EAAE,GAAG,KAAK,CAAC;IACjB,8EAA8E;IAC9E,6EAA6E;IAC7E,aAAa,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1D,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACrD,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IAExC,mFAAmF;IACnF,mFAAmF;IACnF,MAAM,SAAS,GAAG,KAAK,CAAC;IACxB,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjD,0EAA0E;IAC1E,qFAAqF;IACrF,2EAA2E;IAC3E,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAEtG,+EAA+E;IAC/E,gFAAgF;IAChF,8EAA8E;IAC9E,gFAAgF;IAChF,cAAc;IACd,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAEjG,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7C,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC3F,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC,CAAC,6BAA6B;AAC3G,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CACnB,GAAW,EACX,IAAkG;IAElG,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC;IACrC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE3G,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzD,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;IAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1E,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACxC,eAAe,CAAC,IAAI,CAAC,CAAC;IAEtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAEhE,6EAA6E;IAC7E,wDAAwD;IACxD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IACnH,aAAa,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7D,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAE1D,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,MAAM,EAAE,CAAC;QACX,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,SAAS,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,cAAc,CAAC,GAAG,CAAC,CAAC;IAEpB,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,0EAA0E;IAC1E,+DAA+D;IAC/D,IAAI,MAAM;QAAE,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAExE,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACnI,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAU,EAAE,CAAC;QAC5C,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClF,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,iFAAiF;IACjF,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;QAClF,IAAI,CAAC;YAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,gDAAgD,CAAC,CAAC;IAClF,CAAC;IACD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,uGAAuG;AACvG,SAAS,UAAU,CAAC,IAAY,EAAE,KAAe;IAC/C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,MAAM,KAAK,aAAa,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO;QACxD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC;YAAE,OAAO;QACxF,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QAC9D,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;;YAC7D,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC,CAAC,iCAAiC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,GAAW;IACnD,IAAI,CAAC;QACH,YAAY,CAAC,KAAK,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtF,OAAO,CAAC,0BAA0B;IACpC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAK,CAAyB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,0BAA0B;IACjF,CAAC;IACD,IAAI,CAAC;QACH,IAAI,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3J,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC;YAAE,OAAO;QAC5D,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,cAAc,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC,CAAC,qEAAqE,CAAC,CAAC;AACnF,CAAC"}
|
|
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":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shim-template.d.ts","sourceRoot":"","sources":["../../src/claude/shim-template.ts"],"names":[],"mappings":"
|
|
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
|
-
|
|
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
|
|
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;
|
|
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
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
|
39
|
-
|
|
40
|
-
under
|
|
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
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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
|
|
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
|
|
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"}
|
package/dist/claude/state.d.ts
CHANGED
|
@@ -47,9 +47,10 @@ export interface SessionState {
|
|
|
47
47
|
* are sampled on different turns: the tally only on graft turns, the cost on
|
|
48
48
|
* every one. */
|
|
49
49
|
lastBillingUuid?: string;
|
|
50
|
-
/**
|
|
51
|
-
* so
|
|
52
|
-
|
|
50
|
+
/** The signs the Stop hook has asked the agent to save a learning about
|
|
51
|
+
* this session (note-signals.ts keys), so each is asked about once and a
|
|
52
|
+
* session at most NOTE_ASKS_PER_SESSION times. */
|
|
53
|
+
noteAsks?: string[];
|
|
53
54
|
/** Set once this session has been rolled up into a `session_summary`
|
|
54
55
|
* telemetry event, so a resumed or long-lived session is counted once.
|
|
55
56
|
* A flag rather than deleting the file: the file still holds `lastQuery` and
|