cognitive-core 0.2.1 → 0.2.3

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 (332) hide show
  1. package/dist/atlas.d.ts +10 -0
  2. package/dist/atlas.d.ts.map +1 -1
  3. package/dist/atlas.js +65 -0
  4. package/dist/atlas.js.map +1 -1
  5. package/dist/bin/cognitive-core.js +0 -0
  6. package/dist/memory/curated-loader.d.ts +21 -4
  7. package/dist/memory/curated-loader.d.ts.map +1 -1
  8. package/dist/memory/curated-loader.js +53 -16
  9. package/dist/memory/curated-loader.js.map +1 -1
  10. package/dist/memory/index.d.ts +2 -1
  11. package/dist/memory/index.d.ts.map +1 -1
  12. package/dist/memory/index.js +3 -1
  13. package/dist/memory/index.js.map +1 -1
  14. package/dist/memory/playbook.d.ts +6 -0
  15. package/dist/memory/playbook.d.ts.map +1 -1
  16. package/dist/memory/playbook.js +15 -0
  17. package/dist/memory/playbook.js.map +1 -1
  18. package/dist/memory/source-resolver.d.ts +120 -0
  19. package/dist/memory/source-resolver.d.ts.map +1 -0
  20. package/dist/memory/source-resolver.js +300 -0
  21. package/dist/memory/source-resolver.js.map +1 -0
  22. package/dist/types/config.d.ts +141 -0
  23. package/dist/types/config.d.ts.map +1 -1
  24. package/dist/types/config.js +40 -0
  25. package/dist/types/config.js.map +1 -1
  26. package/dist/types/index.d.ts +1 -1
  27. package/dist/types/index.d.ts.map +1 -1
  28. package/dist/types/index.js +1 -1
  29. package/dist/types/index.js.map +1 -1
  30. package/dist/workspace/types.d.ts +12 -54
  31. package/dist/workspace/types.d.ts.map +1 -1
  32. package/dist/workspace/types.js.map +1 -1
  33. package/package.json +3 -3
  34. package/playbooks/compound-engineering/adversarial-review.json +51 -0
  35. package/playbooks/compound-engineering/agent-native-architecture.json +59 -0
  36. package/playbooks/compound-engineering/agent-native-review.json +54 -0
  37. package/playbooks/compound-engineering/api-contract-review.json +52 -0
  38. package/playbooks/compound-engineering/brainstorm-requirements.json +55 -0
  39. package/playbooks/compound-engineering/bug-reproduction.json +62 -0
  40. package/playbooks/compound-engineering/confidence-calibration.json +49 -0
  41. package/playbooks/compound-engineering/correctness-review.json +49 -0
  42. package/playbooks/compound-engineering/data-migration-safety.json +59 -0
  43. package/playbooks/compound-engineering/deployment-verification.json +63 -0
  44. package/playbooks/compound-engineering/error-recovery-patterns.json +53 -0
  45. package/playbooks/compound-engineering/implementation-planning.json +64 -0
  46. package/playbooks/compound-engineering/issue-pattern-analysis.json +53 -0
  47. package/playbooks/compound-engineering/knowledge-compounding.json +63 -0
  48. package/playbooks/compound-engineering/learnings-research.json +54 -0
  49. package/playbooks/compound-engineering/maintainability-review.json +49 -0
  50. package/playbooks/compound-engineering/performance-review.json +54 -0
  51. package/playbooks/compound-engineering/plan-adversarial-review.json +56 -0
  52. package/playbooks/compound-engineering/plan-feasibility-review.json +56 -0
  53. package/playbooks/compound-engineering/project-standards-review.json +52 -0
  54. package/playbooks/compound-engineering/reliability-review.json +53 -0
  55. package/playbooks/compound-engineering/review-orchestration.json +64 -0
  56. package/playbooks/compound-engineering/security-review.json +54 -0
  57. package/playbooks/compound-engineering/systematic-execution.json +64 -0
  58. package/playbooks/compound-engineering/testing-review.json +50 -0
  59. package/src/atlas.ts +96 -0
  60. package/src/memory/curated-loader.ts +69 -16
  61. package/src/memory/index.ts +16 -0
  62. package/src/memory/playbook.ts +19 -0
  63. package/src/memory/source-resolver.ts +422 -0
  64. package/src/types/config.ts +46 -0
  65. package/src/types/index.ts +4 -0
  66. package/src/workspace/types.ts +22 -78
  67. package/tests/integration/curated-sources-e2e.test.ts +502 -0
  68. package/tests/memory/compound-engineering-seed.test.ts +338 -0
  69. package/tests/memory/curated-loader-extended.test.ts +225 -0
  70. package/tests/memory/playbook-quality-validation.test.ts +430 -0
  71. package/tests/memory/source-resolver.test.ts +700 -0
  72. package/.claude/settings.local.json +0 -11
  73. package/dist/learning/llm-extractor.d.ts +0 -88
  74. package/dist/learning/llm-extractor.d.ts.map +0 -1
  75. package/dist/learning/llm-extractor.js +0 -372
  76. package/dist/learning/llm-extractor.js.map +0 -1
  77. package/dist/learning/loop-coordinator.d.ts +0 -61
  78. package/dist/learning/loop-coordinator.d.ts.map +0 -1
  79. package/dist/learning/loop-coordinator.js +0 -96
  80. package/dist/learning/loop-coordinator.js.map +0 -1
  81. package/dist/learning/pipeline.d.ts +0 -116
  82. package/dist/learning/pipeline.d.ts.map +0 -1
  83. package/dist/learning/pipeline.js +0 -288
  84. package/dist/learning/pipeline.js.map +0 -1
  85. package/references/agent-workspace/CLAUDE.md +0 -74
  86. package/references/agent-workspace/README.md +0 -587
  87. package/references/agent-workspace/media/banner.png +0 -0
  88. package/references/agent-workspace/package-lock.json +0 -2061
  89. package/references/agent-workspace/package.json +0 -54
  90. package/references/agent-workspace/src/handle.ts +0 -122
  91. package/references/agent-workspace/src/index.ts +0 -32
  92. package/references/agent-workspace/src/manager.ts +0 -102
  93. package/references/agent-workspace/src/readers/json.ts +0 -71
  94. package/references/agent-workspace/src/readers/markdown.ts +0 -37
  95. package/references/agent-workspace/src/readers/raw.ts +0 -27
  96. package/references/agent-workspace/src/types.ts +0 -68
  97. package/references/agent-workspace/src/validation.ts +0 -93
  98. package/references/agent-workspace/src/writers/json.ts +0 -17
  99. package/references/agent-workspace/src/writers/markdown.ts +0 -27
  100. package/references/agent-workspace/src/writers/raw.ts +0 -22
  101. package/references/agent-workspace/tests/errors.test.ts +0 -652
  102. package/references/agent-workspace/tests/handle.test.ts +0 -144
  103. package/references/agent-workspace/tests/manager.test.ts +0 -124
  104. package/references/agent-workspace/tests/readers.test.ts +0 -205
  105. package/references/agent-workspace/tests/validation.test.ts +0 -196
  106. package/references/agent-workspace/tests/writers.test.ts +0 -108
  107. package/references/agent-workspace/tsconfig.json +0 -20
  108. package/references/agent-workspace/tsup.config.ts +0 -9
  109. package/references/minimem/.claude/settings.json +0 -7
  110. package/references/minimem/.sudocode/issues.jsonl +0 -18
  111. package/references/minimem/.sudocode/specs.jsonl +0 -1
  112. package/references/minimem/CLAUDE.md +0 -310
  113. package/references/minimem/README.md +0 -556
  114. package/references/minimem/claude-plugin/.claude-plugin/plugin.json +0 -10
  115. package/references/minimem/claude-plugin/.mcp.json +0 -7
  116. package/references/minimem/claude-plugin/README.md +0 -158
  117. package/references/minimem/claude-plugin/commands/recall.md +0 -47
  118. package/references/minimem/claude-plugin/commands/remember.md +0 -41
  119. package/references/minimem/claude-plugin/hooks/__tests__/hooks.test.ts +0 -272
  120. package/references/minimem/claude-plugin/hooks/hooks.json +0 -27
  121. package/references/minimem/claude-plugin/hooks/session-end.sh +0 -86
  122. package/references/minimem/claude-plugin/hooks/session-start.sh +0 -85
  123. package/references/minimem/claude-plugin/skills/memory/SKILL.md +0 -108
  124. package/references/minimem/package-lock.json +0 -5373
  125. package/references/minimem/package.json +0 -60
  126. package/references/minimem/scripts/postbuild.js +0 -35
  127. package/references/minimem/src/__tests__/edge-cases.test.ts +0 -371
  128. package/references/minimem/src/__tests__/errors.test.ts +0 -265
  129. package/references/minimem/src/__tests__/helpers.ts +0 -199
  130. package/references/minimem/src/__tests__/internal.test.ts +0 -407
  131. package/references/minimem/src/__tests__/knowledge.test.ts +0 -287
  132. package/references/minimem/src/__tests__/minimem.integration.test.ts +0 -1127
  133. package/references/minimem/src/__tests__/session.test.ts +0 -190
  134. package/references/minimem/src/cli/__tests__/commands.test.ts +0 -759
  135. package/references/minimem/src/cli/commands/__tests__/conflicts.test.ts +0 -141
  136. package/references/minimem/src/cli/commands/append.ts +0 -76
  137. package/references/minimem/src/cli/commands/config.ts +0 -262
  138. package/references/minimem/src/cli/commands/conflicts.ts +0 -413
  139. package/references/minimem/src/cli/commands/daemon.ts +0 -169
  140. package/references/minimem/src/cli/commands/index.ts +0 -12
  141. package/references/minimem/src/cli/commands/init.ts +0 -88
  142. package/references/minimem/src/cli/commands/mcp.ts +0 -177
  143. package/references/minimem/src/cli/commands/push-pull.ts +0 -213
  144. package/references/minimem/src/cli/commands/search.ts +0 -158
  145. package/references/minimem/src/cli/commands/status.ts +0 -84
  146. package/references/minimem/src/cli/commands/sync-init.ts +0 -290
  147. package/references/minimem/src/cli/commands/sync.ts +0 -70
  148. package/references/minimem/src/cli/commands/upsert.ts +0 -197
  149. package/references/minimem/src/cli/config.ts +0 -584
  150. package/references/minimem/src/cli/index.ts +0 -264
  151. package/references/minimem/src/cli/shared.ts +0 -161
  152. package/references/minimem/src/cli/sync/__tests__/central.test.ts +0 -152
  153. package/references/minimem/src/cli/sync/__tests__/conflicts.test.ts +0 -209
  154. package/references/minimem/src/cli/sync/__tests__/daemon.test.ts +0 -118
  155. package/references/minimem/src/cli/sync/__tests__/detection.test.ts +0 -207
  156. package/references/minimem/src/cli/sync/__tests__/integration.test.ts +0 -476
  157. package/references/minimem/src/cli/sync/__tests__/registry.test.ts +0 -363
  158. package/references/minimem/src/cli/sync/__tests__/state.test.ts +0 -255
  159. package/references/minimem/src/cli/sync/__tests__/validation.test.ts +0 -193
  160. package/references/minimem/src/cli/sync/__tests__/watcher.test.ts +0 -178
  161. package/references/minimem/src/cli/sync/central.ts +0 -292
  162. package/references/minimem/src/cli/sync/conflicts.ts +0 -204
  163. package/references/minimem/src/cli/sync/daemon.ts +0 -407
  164. package/references/minimem/src/cli/sync/detection.ts +0 -138
  165. package/references/minimem/src/cli/sync/index.ts +0 -107
  166. package/references/minimem/src/cli/sync/operations.ts +0 -373
  167. package/references/minimem/src/cli/sync/registry.ts +0 -279
  168. package/references/minimem/src/cli/sync/state.ts +0 -355
  169. package/references/minimem/src/cli/sync/validation.ts +0 -206
  170. package/references/minimem/src/cli/sync/watcher.ts +0 -234
  171. package/references/minimem/src/cli/version.ts +0 -34
  172. package/references/minimem/src/core/index.ts +0 -9
  173. package/references/minimem/src/core/indexer.ts +0 -628
  174. package/references/minimem/src/core/searcher.ts +0 -221
  175. package/references/minimem/src/db/schema.ts +0 -183
  176. package/references/minimem/src/db/sqlite-vec.ts +0 -24
  177. package/references/minimem/src/embeddings/__tests__/embeddings.test.ts +0 -431
  178. package/references/minimem/src/embeddings/batch-gemini.ts +0 -392
  179. package/references/minimem/src/embeddings/batch-openai.ts +0 -409
  180. package/references/minimem/src/embeddings/embeddings.ts +0 -434
  181. package/references/minimem/src/index.ts +0 -109
  182. package/references/minimem/src/internal.ts +0 -299
  183. package/references/minimem/src/minimem.ts +0 -1276
  184. package/references/minimem/src/search/__tests__/hybrid.test.ts +0 -247
  185. package/references/minimem/src/search/graph.ts +0 -234
  186. package/references/minimem/src/search/hybrid.ts +0 -151
  187. package/references/minimem/src/search/search.ts +0 -256
  188. package/references/minimem/src/server/__tests__/mcp.test.ts +0 -341
  189. package/references/minimem/src/server/__tests__/tools.test.ts +0 -364
  190. package/references/minimem/src/server/mcp.ts +0 -326
  191. package/references/minimem/src/server/tools.ts +0 -720
  192. package/references/minimem/src/session.ts +0 -460
  193. package/references/minimem/tsconfig.json +0 -19
  194. package/references/minimem/tsup.config.ts +0 -26
  195. package/references/minimem/vitest.config.ts +0 -24
  196. package/references/sessionlog/.husky/pre-commit +0 -1
  197. package/references/sessionlog/.lintstagedrc.json +0 -4
  198. package/references/sessionlog/.prettierignore +0 -4
  199. package/references/sessionlog/.prettierrc.json +0 -11
  200. package/references/sessionlog/LICENSE +0 -21
  201. package/references/sessionlog/README.md +0 -453
  202. package/references/sessionlog/eslint.config.js +0 -58
  203. package/references/sessionlog/package-lock.json +0 -3672
  204. package/references/sessionlog/package.json +0 -65
  205. package/references/sessionlog/src/__tests__/agent-hooks.test.ts +0 -570
  206. package/references/sessionlog/src/__tests__/agent-registry.test.ts +0 -127
  207. package/references/sessionlog/src/__tests__/claude-code-hooks.test.ts +0 -225
  208. package/references/sessionlog/src/__tests__/claude-generator.test.ts +0 -46
  209. package/references/sessionlog/src/__tests__/commit-msg.test.ts +0 -86
  210. package/references/sessionlog/src/__tests__/cursor-agent.test.ts +0 -224
  211. package/references/sessionlog/src/__tests__/e2e-live.test.ts +0 -890
  212. package/references/sessionlog/src/__tests__/event-log.test.ts +0 -183
  213. package/references/sessionlog/src/__tests__/flush-sentinel.test.ts +0 -105
  214. package/references/sessionlog/src/__tests__/gemini-agent.test.ts +0 -375
  215. package/references/sessionlog/src/__tests__/git-hooks.test.ts +0 -78
  216. package/references/sessionlog/src/__tests__/hook-managers.test.ts +0 -121
  217. package/references/sessionlog/src/__tests__/lifecycle-tasks.test.ts +0 -759
  218. package/references/sessionlog/src/__tests__/opencode-agent.test.ts +0 -338
  219. package/references/sessionlog/src/__tests__/redaction.test.ts +0 -136
  220. package/references/sessionlog/src/__tests__/session-repo.test.ts +0 -353
  221. package/references/sessionlog/src/__tests__/session-store.test.ts +0 -166
  222. package/references/sessionlog/src/__tests__/setup-ccweb.test.ts +0 -466
  223. package/references/sessionlog/src/__tests__/skill-live.test.ts +0 -461
  224. package/references/sessionlog/src/__tests__/summarize.test.ts +0 -348
  225. package/references/sessionlog/src/__tests__/task-plan-e2e.test.ts +0 -610
  226. package/references/sessionlog/src/__tests__/task-plan-live.test.ts +0 -632
  227. package/references/sessionlog/src/__tests__/transcript-timestamp.test.ts +0 -121
  228. package/references/sessionlog/src/__tests__/types.test.ts +0 -166
  229. package/references/sessionlog/src/__tests__/utils.test.ts +0 -333
  230. package/references/sessionlog/src/__tests__/validation.test.ts +0 -103
  231. package/references/sessionlog/src/__tests__/worktree.test.ts +0 -57
  232. package/references/sessionlog/src/agent/agents/claude-code.ts +0 -1089
  233. package/references/sessionlog/src/agent/agents/cursor.ts +0 -361
  234. package/references/sessionlog/src/agent/agents/gemini-cli.ts +0 -632
  235. package/references/sessionlog/src/agent/agents/opencode.ts +0 -540
  236. package/references/sessionlog/src/agent/registry.ts +0 -143
  237. package/references/sessionlog/src/agent/session-types.ts +0 -113
  238. package/references/sessionlog/src/agent/types.ts +0 -220
  239. package/references/sessionlog/src/cli.ts +0 -597
  240. package/references/sessionlog/src/commands/clean.ts +0 -133
  241. package/references/sessionlog/src/commands/disable.ts +0 -84
  242. package/references/sessionlog/src/commands/doctor.ts +0 -145
  243. package/references/sessionlog/src/commands/enable.ts +0 -202
  244. package/references/sessionlog/src/commands/explain.ts +0 -261
  245. package/references/sessionlog/src/commands/reset.ts +0 -105
  246. package/references/sessionlog/src/commands/resume.ts +0 -180
  247. package/references/sessionlog/src/commands/rewind.ts +0 -195
  248. package/references/sessionlog/src/commands/setup-ccweb.ts +0 -275
  249. package/references/sessionlog/src/commands/status.ts +0 -172
  250. package/references/sessionlog/src/config.ts +0 -165
  251. package/references/sessionlog/src/events/event-log.ts +0 -126
  252. package/references/sessionlog/src/git-operations.ts +0 -558
  253. package/references/sessionlog/src/hooks/git-hooks.ts +0 -165
  254. package/references/sessionlog/src/hooks/lifecycle.ts +0 -391
  255. package/references/sessionlog/src/index.ts +0 -650
  256. package/references/sessionlog/src/security/redaction.ts +0 -283
  257. package/references/sessionlog/src/session/state-machine.ts +0 -452
  258. package/references/sessionlog/src/store/checkpoint-store.ts +0 -509
  259. package/references/sessionlog/src/store/native-store.ts +0 -173
  260. package/references/sessionlog/src/store/provider-types.ts +0 -99
  261. package/references/sessionlog/src/store/session-store.ts +0 -266
  262. package/references/sessionlog/src/strategy/attribution.ts +0 -296
  263. package/references/sessionlog/src/strategy/common.ts +0 -207
  264. package/references/sessionlog/src/strategy/content-overlap.ts +0 -228
  265. package/references/sessionlog/src/strategy/manual-commit.ts +0 -988
  266. package/references/sessionlog/src/strategy/types.ts +0 -279
  267. package/references/sessionlog/src/summarize/claude-generator.ts +0 -115
  268. package/references/sessionlog/src/summarize/summarize.ts +0 -432
  269. package/references/sessionlog/src/types.ts +0 -508
  270. package/references/sessionlog/src/utils/chunk-files.ts +0 -49
  271. package/references/sessionlog/src/utils/commit-message.ts +0 -65
  272. package/references/sessionlog/src/utils/detect-agent.ts +0 -36
  273. package/references/sessionlog/src/utils/hook-managers.ts +0 -125
  274. package/references/sessionlog/src/utils/ide-tags.ts +0 -32
  275. package/references/sessionlog/src/utils/paths.ts +0 -79
  276. package/references/sessionlog/src/utils/preview-rewind.ts +0 -80
  277. package/references/sessionlog/src/utils/rewind-conflict.ts +0 -121
  278. package/references/sessionlog/src/utils/shadow-branch.ts +0 -109
  279. package/references/sessionlog/src/utils/string-utils.ts +0 -46
  280. package/references/sessionlog/src/utils/todo-extract.ts +0 -188
  281. package/references/sessionlog/src/utils/trailers.ts +0 -187
  282. package/references/sessionlog/src/utils/transcript-parse.ts +0 -177
  283. package/references/sessionlog/src/utils/transcript-timestamp.ts +0 -59
  284. package/references/sessionlog/src/utils/tree-ops.ts +0 -219
  285. package/references/sessionlog/src/utils/tty.ts +0 -72
  286. package/references/sessionlog/src/utils/validation.ts +0 -65
  287. package/references/sessionlog/src/utils/worktree.ts +0 -58
  288. package/references/sessionlog/src/wire-types.ts +0 -59
  289. package/references/sessionlog/templates/setup-env.sh +0 -153
  290. package/references/sessionlog/tsconfig.json +0 -18
  291. package/references/sessionlog/vitest.config.ts +0 -12
  292. package/references/skill-tree/.claude/settings.json +0 -6
  293. package/references/skill-tree/.sudocode/issues.jsonl +0 -19
  294. package/references/skill-tree/.sudocode/specs.jsonl +0 -3
  295. package/references/skill-tree/CLAUDE.md +0 -126
  296. package/references/skill-tree/README.md +0 -372
  297. package/references/skill-tree/docs/GAPS_v1.md +0 -221
  298. package/references/skill-tree/docs/INTEGRATION_PLAN.md +0 -467
  299. package/references/skill-tree/docs/TODOS.md +0 -91
  300. package/references/skill-tree/docs/anthropic_skill_guide.md +0 -1364
  301. package/references/skill-tree/docs/design/federated-skill-trees.md +0 -524
  302. package/references/skill-tree/docs/design/multi-agent-sync.md +0 -759
  303. package/references/skill-tree/docs/scraper/BRAINSTORM.md +0 -583
  304. package/references/skill-tree/docs/scraper/POC_PLAN.md +0 -420
  305. package/references/skill-tree/docs/scraper/README.md +0 -170
  306. package/references/skill-tree/examples/basic-usage.ts +0 -164
  307. package/references/skill-tree/package-lock.json +0 -1852
  308. package/references/skill-tree/package.json +0 -66
  309. package/references/skill-tree/scraper/README.md +0 -123
  310. package/references/skill-tree/scraper/docs/DESIGN.md +0 -683
  311. package/references/skill-tree/scraper/docs/PLAN.md +0 -336
  312. package/references/skill-tree/scraper/drizzle.config.ts +0 -10
  313. package/references/skill-tree/scraper/package-lock.json +0 -6329
  314. package/references/skill-tree/scraper/package.json +0 -68
  315. package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-description.md +0 -7
  316. package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-name.md +0 -7
  317. package/references/skill-tree/scraper/test/fixtures/minimal-skill/SKILL.md +0 -27
  318. package/references/skill-tree/scraper/test/fixtures/skill-json/SKILL.json +0 -21
  319. package/references/skill-tree/scraper/test/fixtures/skill-with-meta/SKILL.md +0 -54
  320. package/references/skill-tree/scraper/test/fixtures/skill-with-meta/_meta.json +0 -24
  321. package/references/skill-tree/scraper/test/fixtures/valid-skill/SKILL.md +0 -93
  322. package/references/skill-tree/scraper/test/fixtures/valid-skill/_meta.json +0 -22
  323. package/references/skill-tree/scraper/tsup.config.ts +0 -14
  324. package/references/skill-tree/scraper/vitest.config.ts +0 -17
  325. package/references/skill-tree/scripts/convert-to-vitest.ts +0 -166
  326. package/references/skill-tree/skills/skill-writer/SKILL.md +0 -339
  327. package/references/skill-tree/skills/skill-writer/references/examples.md +0 -326
  328. package/references/skill-tree/skills/skill-writer/references/patterns.md +0 -210
  329. package/references/skill-tree/skills/skill-writer/references/quality-checklist.md +0 -123
  330. package/references/skill-tree/test/run-all.ts +0 -106
  331. package/references/skill-tree/test/utils.ts +0 -128
  332. package/references/skill-tree/vitest.config.ts +0 -16
@@ -1,453 +0,0 @@
1
- # sessionlog
2
-
3
- Unofficial TypeScript reimplementation of the [Entire CLI](https://github.com/entireio/cli) — a Git-integrated tool that captures AI agent sessions as searchable records within your repository.
4
-
5
- This package provides the core library used to build session tracking, checkpoint management, and agent integrations for AI coding tools.
6
-
7
- ## Features
8
-
9
- - **Multi-agent support** — Claude Code, Cursor, Gemini CLI, and OpenCode
10
- - **Session lifecycle tracking** — automatic capture of prompts, responses, files modified, and token usage
11
- - **Git-native checkpoints** — temporary snapshots on shadow branches, permanent records on `sessionlog/checkpoints/v1`
12
- - **Rewind** — restore code to any previous checkpoint
13
- - **Resume** — pick up agent sessions from any branch
14
- - **Secret redaction** — multi-layer detection (entropy analysis + 30+ patterns) before storing transcripts
15
- - **AI summarization** — generate structured summaries of agent sessions
16
- - **Zero production dependencies** — only Node.js and Git required
17
-
18
- ## Installation
19
-
20
- **Global CLI (recommended for standalone use):**
21
-
22
- ```bash
23
- npm install -g sessionlog
24
- ```
25
-
26
- Then use the `sessionlog` command directly:
27
-
28
- ```bash
29
- cd your-project
30
- sessionlog enable
31
- sessionlog status
32
- ```
33
-
34
- **As a project dependency:**
35
-
36
- ```bash
37
- npm install sessionlog
38
- ```
39
-
40
- **As a dev dependency (for tools/plugins that integrate with Sessionlog):**
41
-
42
- ```bash
43
- npm install --save-dev sessionlog
44
- ```
45
-
46
- Requires Node.js >= 18 and Git.
47
-
48
- ## Quick Start
49
-
50
- ```typescript
51
- import {
52
- enable,
53
- disable,
54
- status,
55
- listRewindPoints,
56
- rewindTo,
57
- } from 'sessionlog';
58
-
59
- // Enable Sessionlog in a repository
60
- const result = await enable({ cwd: '/path/to/repo' });
61
- console.log(result.enabled); // true
62
-
63
- // Check status
64
- const info = await status('/path/to/repo');
65
- console.log(info.sessions); // active sessions
66
- console.log(info.agents); // installed agents
67
-
68
- // List rewind points
69
- const points = await listRewindPoints({ cwd: '/path/to/repo' });
70
-
71
- // Rewind to a checkpoint
72
- await rewindTo(points[0].id, { cwd: '/path/to/repo' });
73
-
74
- // Disable
75
- await disable({ cwd: '/path/to/repo' });
76
- ```
77
-
78
- ## Architecture
79
-
80
- ```
81
- Your Branch sessionlog/checkpoints/v1
82
- │ │
83
- ▼ │
84
- [Base Commit] │
85
- │ │
86
- │ ┌─── Agent works ───┐ │
87
- │ │ Step 1 │ │
88
- │ │ Step 2 │ │
89
- │ │ Step 3 │ │
90
- │ └───────────────────┘ │
91
- │ │
92
- ▼ ▼
93
- [Your Commit] ─────────────────► [Session Metadata]
94
- │ (transcript, prompts,
95
- │ files touched)
96
-
97
- ```
98
-
99
- Your active branch stays clean — all metadata is stored on the separate `sessionlog/checkpoints/v1` branch.
100
-
101
- ## Key Concepts
102
-
103
- **Sessions** represent complete AI agent interactions, capturing all prompts, responses, modified files, and timestamps. Session identifiers follow the format: `YYYY-MM-DD-<UUID>`.
104
-
105
- **Checkpoints** are save points within sessions — snapshots you can rewind to when commits occur. Checkpoint identifiers are 12-character hexadecimal strings.
106
-
107
- ## Commands
108
-
109
- All commands are exposed as async functions that return structured results:
110
-
111
- | Function | Purpose |
112
- |----------|---------|
113
- | `enable(options)` | Activate Sessionlog in a repository |
114
- | `disable(options)` | Deactivate Sessionlog hooks |
115
- | `status(cwd)` | Get current session information |
116
- | `listRewindPoints(options)` | List available checkpoints |
117
- | `rewindTo(pointID, options)` | Restore to a previous checkpoint |
118
- | `doctor(options)` | Diagnose and fix stuck sessions |
119
- | `clean(options)` | Remove orphaned data artifacts |
120
- | `reset(options)` | Clear shadow branch and session state |
121
- | `explainCommit(ref, options)` | Get session details for a commit |
122
- | `discoverResumeInfo(branch)` | Find resumable sessions on a branch |
123
- | `setupCcweb(options)` | Configure for Claude Code Web sessions |
124
-
125
- ### Enable
126
-
127
- ```typescript
128
- import { enable } from 'sessionlog';
129
-
130
- const result = await enable({
131
- cwd: '/path/to/repo',
132
- agent: 'claude-code', // or auto-detect
133
- force: true, // reinstall hooks
134
- local: false, // save to project settings
135
- });
136
- // result: { enabled, agent, agentHooksInstalled, gitHooksInstalled, errors }
137
- ```
138
-
139
- ### Status
140
-
141
- ```typescript
142
- import { status, formatTokens } from 'sessionlog';
143
-
144
- const info = await status('/path/to/repo');
145
- console.log(`Strategy: ${info.strategy}`);
146
- console.log(`Sessions: ${info.sessions.length}`);
147
- for (const s of info.sessions) {
148
- console.log(` ${s.sessionID} (${s.agentType}) - ${s.phase}`);
149
- if (s.tokenUsage) {
150
- console.log(` Tokens: ${formatTokens(s.tokenUsage.input)} in / ${formatTokens(s.tokenUsage.output)} out`);
151
- }
152
- }
153
- ```
154
-
155
- ### Rewind
156
-
157
- ```typescript
158
- import { listRewindPoints, rewindTo } from 'sessionlog';
159
-
160
- const points = await listRewindPoints({ cwd: '.', limit: 10 });
161
- for (const p of points) {
162
- console.log(`${p.id} - ${p.message} (${p.date})`);
163
- }
164
-
165
- const result = await rewindTo(points[0].id);
166
- // result: { success, message, rewindPoint }
167
- ```
168
-
169
- ### Explain
170
-
171
- ```typescript
172
- import { explainCommit, getCheckpointDetail } from 'sessionlog';
173
-
174
- // Explain a specific commit
175
- const info = await explainCommit('HEAD');
176
- if (info?.detail) {
177
- console.log(`Checkpoint: ${info.detail.checkpointID}`);
178
- console.log(`Agent: ${info.detail.agent}`);
179
- console.log(`Files: ${info.detail.filesTouched.join(', ')}`);
180
- }
181
-
182
- // Get checkpoint details by ID
183
- const detail = await getCheckpointDetail('a3b2c4d5e6f7');
184
- ```
185
-
186
- ### Resume
187
-
188
- ```typescript
189
- import { discoverResumeInfo, listResumableBranches } from 'sessionlog';
190
-
191
- // List branches with resumable sessions
192
- const branches = await listResumableBranches();
193
- for (const b of branches) {
194
- console.log(`${b.branch}: session ${b.sessionID}`);
195
- }
196
-
197
- // Get resume info for a specific branch
198
- const info = await discoverResumeInfo('feature/my-branch');
199
- if (info.success && info.info) {
200
- console.log(`Resume command: ${info.info.resumeCommand}`);
201
- }
202
- ```
203
-
204
- ### Claude Code Web
205
-
206
- Configure a repository for automatic sessionlog setup in [Claude Code Web](https://claude.ai/code) sessions.
207
-
208
- **The problem:** Claude Code Web (ccweb) sessions start with a fresh environment — sessionlog isn't installed, and the ccweb proxy restricts git pushes to only the current working branch, preventing sessionlog from pushing to its `sessionlog/checkpoints/v1` shadow branch.
209
-
210
- **The solution:** `setup-ccweb` creates a `SessionStart` hook that automatically installs and configures sessionlog on every ccweb session.
211
-
212
- **CLI usage:**
213
-
214
- ```bash
215
- # Run locally in your repository
216
- sessionlog setup-ccweb
217
-
218
- # Commit and push the generated .claude/ directory
219
- git add .claude/
220
- git commit -m "Add sessionlog ccweb integration"
221
- git push
222
- ```
223
-
224
- This creates two files:
225
-
226
- - `.claude/settings.json` — registers a `SessionStart` hook that runs on every ccweb session
227
- - `.claude/scripts/setup-env.sh` — installs sessionlog, enables it, configures GitHub direct-push access, and installs a branch push filter
228
-
229
- **Options:**
230
-
231
- ```bash
232
- # Force overwrite existing setup
233
- sessionlog setup-ccweb --force
234
-
235
- # Customize allowed push branch prefixes
236
- sessionlog setup-ccweb --push-prefixes "sessionlog/ my-prefix/"
237
- ```
238
-
239
- **Programmatic usage:**
240
-
241
- ```typescript
242
- import { setupCcweb } from 'sessionlog';
243
-
244
- const result = await setupCcweb({
245
- cwd: '/path/to/repo',
246
- force: true,
247
- pushPrefixes: 'sessionlog/ claude/',
248
- });
249
- // result: { success, settingsCreated, scriptCreated, errors }
250
- ```
251
-
252
- **Requirements:**
253
-
254
- - Set `GITHUB_TOKEN` as an environment variable in your ccweb settings (needed for pushing session data to GitHub)
255
- - Enable **Trusted** network access level in ccweb (needed to download the sessionlog npm package)
256
-
257
- **What the SessionStart hook does on each ccweb session:**
258
-
259
- 1. Installs sessionlog via `npm install -g sessionlog`
260
- 2. Runs `sessionlog enable --agent claude-code --local`
261
- 3. Configures git to push directly to GitHub using `GITHUB_TOKEN` (bypassing the ccweb proxy)
262
- 4. Installs a `pre-push` filter that only allows pushes to `sessionlog/` and `claude/` prefixed branches (safety guardrail)
263
-
264
- **Customizing push prefixes:**
265
-
266
- The setup script restricts direct pushes to branches matching allowed prefixes. To modify which prefixes are allowed, either pass `--push-prefixes` during setup or edit `ALLOWED_PUSH_PREFIXES` in `.claude/scripts/setup-env.sh` directly.
267
-
268
- ## Agent System
269
-
270
- Register and use AI agent integrations:
271
-
272
- ```typescript
273
- import {
274
- registerAgent,
275
- getAgent,
276
- detectAgents,
277
- createClaudeCodeAgent,
278
- } from 'sessionlog';
279
-
280
- // Agents auto-register on import. Detect installed agents:
281
- const agents = await detectAgents('/path/to/repo');
282
-
283
- // Or get a specific agent:
284
- const claude = getAgent('claude-code');
285
- if (claude) {
286
- const present = await claude.detectPresence('/path/to/repo');
287
- const transcript = await claude.readTranscript(sessionRef);
288
- }
289
- ```
290
-
291
- ### Supported Agents
292
-
293
- | Agent | Name | Hook Location |
294
- |-------|------|---------------|
295
- | Claude Code | `claude-code` | `.claude/settings.json` |
296
- | Cursor | `cursor` | `.cursor/hooks.json` |
297
- | Gemini CLI | `gemini` | `.gemini/settings.json` |
298
- | OpenCode | `opencode` | `.opencode/plugins/sessionlog.ts` |
299
-
300
- ## Strategy Engine
301
-
302
- The manual-commit strategy orchestrates the full checkpoint lifecycle:
303
-
304
- ```typescript
305
- import {
306
- createManualCommitStrategy,
307
- createSessionStore,
308
- createCheckpointStore,
309
- } from 'sessionlog';
310
-
311
- const strategy = createManualCommitStrategy({
312
- sessionStore: createSessionStore('/path/to/repo'),
313
- checkpointStore: createCheckpointStore('/path/to/repo'),
314
- cwd: '/path/to/repo',
315
- });
316
-
317
- // Git hook integration
318
- await strategy.prepareCommitMsg(msgFile, source, sha);
319
- await strategy.commitMsg(msgFile);
320
- await strategy.postCommit();
321
- await strategy.prePush('origin');
322
-
323
- // Session management
324
- await strategy.saveStep(stepContext);
325
- await strategy.saveTaskStep(taskStepContext);
326
- ```
327
-
328
- ## Lifecycle Handler
329
-
330
- Process agent events through the session state machine:
331
-
332
- ```typescript
333
- import {
334
- createLifecycleHandler,
335
- createSessionStore,
336
- createCheckpointStore,
337
- } from 'sessionlog';
338
-
339
- const handler = createLifecycleHandler({
340
- sessionStore: createSessionStore(),
341
- checkpointStore: createCheckpointStore(),
342
- });
343
-
344
- // Dispatch events from agent hooks
345
- await handler.dispatch(agent, event);
346
- ```
347
-
348
- ## Security
349
-
350
- Redact secrets before storing transcripts:
351
-
352
- ```typescript
353
- import { redactJSONL, detectSecrets, shannonEntropy } from 'sessionlog';
354
-
355
- // Redact a JSONL transcript buffer
356
- const safe = redactJSONL(transcriptBuffer);
357
-
358
- // Detect secrets in text
359
- const secrets = detectSecrets(content);
360
-
361
- // Check entropy of a string
362
- const entropy = shannonEntropy('AKIAIOSFODNN7EXAMPLE');
363
- ```
364
-
365
- ## Configuration
366
-
367
- Settings stored in `.sessionlog/`:
368
-
369
- | File | Purpose |
370
- |------|---------|
371
- | `.sessionlog/settings.json` | Team-shared, version-controlled |
372
- | `.sessionlog/settings.local.json` | Personal overrides, gitignored |
373
-
374
- ```typescript
375
- import { loadSettings, saveProjectSettings, isEnabled } from 'sessionlog';
376
-
377
- const settings = await loadSettings('/path/to/repo');
378
- // { enabled, strategy, logLevel, skipPushSessions, telemetryEnabled, summarizationEnabled }
379
-
380
- await saveProjectSettings({ enabled: true, strategy: 'manual-commit' });
381
-
382
- const enabled = await isEnabled('/path/to/repo');
383
- ```
384
-
385
- ### Configuration Options
386
-
387
- | Option | Type | Default | Purpose |
388
- |--------|------|---------|---------|
389
- | `enabled` | boolean | `false` | Toggle Sessionlog functionality |
390
- | `strategy` | string | `'manual-commit'` | Checkpoint strategy |
391
- | `logLevel` | string | `'warn'` | Log verbosity (debug/info/warn/error) |
392
- | `skipPushSessions` | boolean | `false` | Disable auto-push of checkpoints branch |
393
- | `telemetryEnabled` | boolean | `false` | Anonymous usage analytics |
394
- | `summarizationEnabled` | boolean | `false` | AI-generated summaries on commit |
395
-
396
- ## Summarization
397
-
398
- Generate AI-powered session summaries:
399
-
400
- ```typescript
401
- import {
402
- buildCondensedTranscript,
403
- buildSummarizationPrompt,
404
- createClaudeGenerator,
405
- } from 'sessionlog';
406
-
407
- // Build a condensed transcript from raw agent output
408
- const condensed = buildCondensedTranscript(entries);
409
-
410
- // Generate a summary using Claude
411
- const generator = createClaudeGenerator({ model: 'claude-sonnet-4-6' });
412
- const summary = await generator.generate({ condensed, prompt: 'Summarize this session' });
413
- // { intent, outcome, learnings, friction, openItems }
414
- ```
415
-
416
- ## Git Worktrees
417
-
418
- Sessionlog integrates with git worktrees, providing independent session tracking per worktree without conflicts.
419
-
420
- ## Development
421
-
422
- ```bash
423
- # Install dependencies
424
- npm install
425
-
426
- # Build
427
- npm run build
428
-
429
- # Run tests
430
- npm test
431
-
432
- # Watch mode
433
- npm run test:watch
434
-
435
- # Lint
436
- npm run lint
437
-
438
- # Format
439
- npm run format
440
- ```
441
-
442
- ## Troubleshooting
443
-
444
- | Problem | Fix |
445
- |---------|-----|
446
- | "Not a git repository" | Navigate to a Git repository first |
447
- | "Sessionlog is disabled" | Run `enable()` |
448
- | "No rewind points found" | Work with your agent and commit changes |
449
- | "shadow branch conflict" | Run `reset({ force: true })` |
450
-
451
- ## License
452
-
453
- MIT
@@ -1,58 +0,0 @@
1
- import js from '@eslint/js';
2
- import tseslint from 'typescript-eslint';
3
- import eslintConfigPrettier from 'eslint-config-prettier';
4
-
5
- export default tseslint.config(
6
- // Global ignores
7
- {
8
- ignores: ['dist/', 'node_modules/', 'references/', '*.config.ts', '*.config.js'],
9
- },
10
-
11
- // Base JS recommended rules
12
- js.configs.recommended,
13
-
14
- // TypeScript recommended rules
15
- ...tseslint.configs.recommended,
16
-
17
- // Project-specific TypeScript settings
18
- {
19
- languageOptions: {
20
- parserOptions: {
21
- projectService: true,
22
- tsconfigRootDir: import.meta.dirname,
23
- },
24
- },
25
- rules: {
26
- '@typescript-eslint/no-unused-vars': [
27
- 'error',
28
- {
29
- argsIgnorePattern: '^_',
30
- varsIgnorePattern: '^_',
31
- caughtErrorsIgnorePattern: '^_',
32
- },
33
- ],
34
- '@typescript-eslint/no-explicit-any': 'warn',
35
- '@typescript-eslint/consistent-type-imports': [
36
- 'error',
37
- { prefer: 'type-imports', fixStyle: 'inline-type-imports' },
38
- ],
39
- },
40
- },
41
-
42
- // Test file overrides — disable projectService since tsconfig excludes __tests__
43
- {
44
- files: ['**/__tests__/**/*.ts', '**/*.test.ts', 'tests/**/*.ts'],
45
- languageOptions: {
46
- parserOptions: {
47
- projectService: false,
48
- },
49
- },
50
- rules: {
51
- '@typescript-eslint/no-explicit-any': 'off',
52
- '@typescript-eslint/no-non-null-assertion': 'off',
53
- },
54
- },
55
-
56
- // Prettier must be last — disables conflicting formatting rules
57
- eslintConfigPrettier,
58
- );