opentasks 0.0.5 → 0.0.7

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 (406) hide show
  1. package/README.md +108 -0
  2. package/dist/cli.d.ts +1 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +217 -8
  5. package/dist/cli.js.map +1 -1
  6. package/dist/client/client.d.ts +47 -1
  7. package/dist/client/client.d.ts.map +1 -1
  8. package/dist/client/client.js +71 -0
  9. package/dist/client/client.js.map +1 -1
  10. package/dist/client/index.d.ts +1 -1
  11. package/dist/client/index.d.ts.map +1 -1
  12. package/dist/config/schema.d.ts +232 -4
  13. package/dist/config/schema.d.ts.map +1 -1
  14. package/dist/config/schema.js +161 -7
  15. package/dist/config/schema.js.map +1 -1
  16. package/dist/context-files/context-files.d.ts +72 -0
  17. package/dist/context-files/context-files.d.ts.map +1 -0
  18. package/dist/context-files/context-files.js +145 -0
  19. package/dist/context-files/context-files.js.map +1 -0
  20. package/dist/context-files/index.d.ts +16 -0
  21. package/dist/context-files/index.d.ts.map +1 -0
  22. package/dist/context-files/index.js +14 -0
  23. package/dist/context-files/index.js.map +1 -0
  24. package/dist/context-files/resolver.d.ts +43 -0
  25. package/dist/context-files/resolver.d.ts.map +1 -0
  26. package/dist/context-files/resolver.js +127 -0
  27. package/dist/context-files/resolver.js.map +1 -0
  28. package/dist/context-files/types.d.ts +94 -0
  29. package/dist/context-files/types.d.ts.map +1 -0
  30. package/dist/context-files/types.js +10 -0
  31. package/dist/context-files/types.js.map +1 -0
  32. package/dist/context-files/watcher-integration.d.ts +47 -0
  33. package/dist/context-files/watcher-integration.d.ts.map +1 -0
  34. package/dist/context-files/watcher-integration.js +47 -0
  35. package/dist/context-files/watcher-integration.js.map +1 -0
  36. package/dist/core/merge-driver.d.ts +11 -2
  37. package/dist/core/merge-driver.d.ts.map +1 -1
  38. package/dist/core/merge-driver.js +46 -7
  39. package/dist/core/merge-driver.js.map +1 -1
  40. package/dist/core/worktree.js +1 -1
  41. package/dist/core/worktree.js.map +1 -1
  42. package/dist/daemon/index.d.ts +6 -4
  43. package/dist/daemon/index.d.ts.map +1 -1
  44. package/dist/daemon/index.js +3 -2
  45. package/dist/daemon/index.js.map +1 -1
  46. package/dist/daemon/ipc.d.ts.map +1 -1
  47. package/dist/daemon/ipc.js +12 -2
  48. package/dist/daemon/ipc.js.map +1 -1
  49. package/dist/daemon/lifecycle.d.ts.map +1 -1
  50. package/dist/daemon/lifecycle.js +143 -25
  51. package/dist/daemon/lifecycle.js.map +1 -1
  52. package/dist/daemon/location-state.d.ts +12 -6
  53. package/dist/daemon/location-state.d.ts.map +1 -1
  54. package/dist/daemon/location-state.js +50 -20
  55. package/dist/daemon/location-state.js.map +1 -1
  56. package/dist/daemon/methods/context-files.d.ts +14 -0
  57. package/dist/daemon/methods/context-files.d.ts.map +1 -0
  58. package/dist/daemon/methods/context-files.js +95 -0
  59. package/dist/daemon/methods/context-files.js.map +1 -0
  60. package/dist/daemon/methods/provider.d.ts.map +1 -1
  61. package/dist/daemon/methods/provider.js +15 -0
  62. package/dist/daemon/methods/provider.js.map +1 -1
  63. package/dist/daemon/methods/tools.d.ts +1 -1
  64. package/dist/daemon/methods/tools.d.ts.map +1 -1
  65. package/dist/daemon/methods/tools.js +3 -2
  66. package/dist/daemon/methods/tools.js.map +1 -1
  67. package/dist/daemon/sessionlog-linker.d.ts +71 -0
  68. package/dist/daemon/sessionlog-linker.d.ts.map +1 -0
  69. package/dist/daemon/sessionlog-linker.js +472 -0
  70. package/dist/daemon/sessionlog-linker.js.map +1 -0
  71. package/dist/daemon/sessionlog-watcher.d.ts +79 -0
  72. package/dist/daemon/sessionlog-watcher.d.ts.map +1 -0
  73. package/dist/daemon/sessionlog-watcher.js +289 -0
  74. package/dist/daemon/sessionlog-watcher.js.map +1 -0
  75. package/dist/graph/git-graph-syncer.js +1 -1
  76. package/dist/graph/git-graph-syncer.js.map +1 -1
  77. package/dist/graph/index.d.ts +1 -1
  78. package/dist/graph/index.d.ts.map +1 -1
  79. package/dist/graph/index.js.map +1 -1
  80. package/dist/graph/provider-store.d.ts +78 -4
  81. package/dist/graph/provider-store.d.ts.map +1 -1
  82. package/dist/graph/provider-store.js +579 -55
  83. package/dist/graph/provider-store.js.map +1 -1
  84. package/dist/graph/store.d.ts.map +1 -1
  85. package/dist/graph/store.js +3 -0
  86. package/dist/graph/store.js.map +1 -1
  87. package/dist/graph/types.d.ts +16 -0
  88. package/dist/graph/types.d.ts.map +1 -1
  89. package/dist/graph/types.js.map +1 -1
  90. package/dist/index.d.ts +4 -2
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +9 -3
  93. package/dist/index.js.map +1 -1
  94. package/dist/materialization/git-archive-store.js +2 -2
  95. package/dist/materialization/git-archive-store.js.map +1 -1
  96. package/dist/materialization/git-remote-store.js +2 -2
  97. package/dist/materialization/git-remote-store.js.map +1 -1
  98. package/dist/materialization/snapshot.js +4 -4
  99. package/dist/materialization/snapshot.js.map +1 -1
  100. package/dist/mcp/index.d.ts +8 -0
  101. package/dist/mcp/index.d.ts.map +1 -0
  102. package/dist/mcp/index.js +8 -0
  103. package/dist/mcp/index.js.map +1 -0
  104. package/dist/mcp/server.d.ts +39 -0
  105. package/dist/mcp/server.d.ts.map +1 -0
  106. package/dist/mcp/server.js +677 -0
  107. package/dist/mcp/server.js.map +1 -0
  108. package/dist/mcp/stdio.d.ts +14 -0
  109. package/dist/mcp/stdio.d.ts.map +1 -0
  110. package/dist/mcp/stdio.js +19 -0
  111. package/dist/mcp/stdio.js.map +1 -0
  112. package/dist/providers/beads.d.ts.map +1 -1
  113. package/dist/providers/beads.js +17 -1
  114. package/dist/providers/beads.js.map +1 -1
  115. package/dist/providers/claude-tasks-fs.d.ts +22 -0
  116. package/dist/providers/claude-tasks-fs.d.ts.map +1 -0
  117. package/dist/providers/claude-tasks-fs.js +158 -0
  118. package/dist/providers/claude-tasks-fs.js.map +1 -0
  119. package/dist/providers/claude-tasks.d.ts +13 -4
  120. package/dist/providers/claude-tasks.d.ts.map +1 -1
  121. package/dist/providers/claude-tasks.js +318 -5
  122. package/dist/providers/claude-tasks.js.map +1 -1
  123. package/dist/providers/from-config.d.ts +3 -0
  124. package/dist/providers/from-config.d.ts.map +1 -1
  125. package/dist/providers/from-config.js +64 -17
  126. package/dist/providers/from-config.js.map +1 -1
  127. package/dist/providers/global.d.ts.map +1 -1
  128. package/dist/providers/global.js +5 -0
  129. package/dist/providers/global.js.map +1 -1
  130. package/dist/providers/index.d.ts +9 -4
  131. package/dist/providers/index.d.ts.map +1 -1
  132. package/dist/providers/index.js +10 -3
  133. package/dist/providers/index.js.map +1 -1
  134. package/dist/providers/map-client-factory.d.ts +55 -0
  135. package/dist/providers/map-client-factory.d.ts.map +1 -0
  136. package/dist/providers/map-client-factory.js +123 -0
  137. package/dist/providers/map-client-factory.js.map +1 -0
  138. package/dist/providers/map-event-bridge.d.ts +146 -0
  139. package/dist/providers/map-event-bridge.d.ts.map +1 -0
  140. package/dist/providers/map-event-bridge.js +208 -0
  141. package/dist/providers/map-event-bridge.js.map +1 -0
  142. package/dist/providers/map.d.ts +115 -0
  143. package/dist/providers/map.d.ts.map +1 -0
  144. package/dist/providers/map.js +381 -0
  145. package/dist/providers/map.js.map +1 -0
  146. package/dist/providers/materialization.d.ts +23 -5
  147. package/dist/providers/materialization.d.ts.map +1 -1
  148. package/dist/providers/materialization.js +95 -4
  149. package/dist/providers/materialization.js.map +1 -1
  150. package/dist/providers/native.d.ts.map +1 -1
  151. package/dist/providers/native.js +5 -0
  152. package/dist/providers/native.js.map +1 -1
  153. package/dist/providers/sessionlog.d.ts +81 -0
  154. package/dist/providers/sessionlog.d.ts.map +1 -0
  155. package/dist/providers/sessionlog.js +478 -0
  156. package/dist/providers/sessionlog.js.map +1 -0
  157. package/dist/providers/sudocode.d.ts.map +1 -1
  158. package/dist/providers/sudocode.js +17 -1
  159. package/dist/providers/sudocode.js.map +1 -1
  160. package/dist/providers/traits/Reconcilable.d.ts +57 -0
  161. package/dist/providers/traits/Reconcilable.d.ts.map +1 -0
  162. package/dist/providers/traits/Reconcilable.js +18 -0
  163. package/dist/providers/traits/Reconcilable.js.map +1 -0
  164. package/dist/providers/traits/index.d.ts +2 -0
  165. package/dist/providers/traits/index.d.ts.map +1 -1
  166. package/dist/providers/traits/index.js +1 -0
  167. package/dist/providers/traits/index.js.map +1 -1
  168. package/dist/providers/types.d.ts +63 -0
  169. package/dist/providers/types.d.ts.map +1 -1
  170. package/dist/providers/types.js +22 -0
  171. package/dist/providers/types.js.map +1 -1
  172. package/dist/schema/edges.d.ts +3 -3
  173. package/dist/schema/edges.d.ts.map +1 -1
  174. package/dist/sessionlog/agent/agents/claude-code.d.ts +76 -0
  175. package/dist/sessionlog/agent/agents/claude-code.d.ts.map +1 -0
  176. package/dist/sessionlog/agent/agents/claude-code.js +759 -0
  177. package/dist/sessionlog/agent/agents/claude-code.js.map +1 -0
  178. package/dist/sessionlog/agent/agents/cursor.d.ts +35 -0
  179. package/dist/sessionlog/agent/agents/cursor.d.ts.map +1 -0
  180. package/dist/sessionlog/agent/agents/cursor.js +294 -0
  181. package/dist/sessionlog/agent/agents/cursor.js.map +1 -0
  182. package/dist/sessionlog/agent/agents/gemini-cli.d.ts +62 -0
  183. package/dist/sessionlog/agent/agents/gemini-cli.d.ts.map +1 -0
  184. package/dist/sessionlog/agent/agents/gemini-cli.js +462 -0
  185. package/dist/sessionlog/agent/agents/gemini-cli.js.map +1 -0
  186. package/dist/sessionlog/agent/agents/opencode.d.ts +100 -0
  187. package/dist/sessionlog/agent/agents/opencode.d.ts.map +1 -0
  188. package/dist/sessionlog/agent/agents/opencode.js +423 -0
  189. package/dist/sessionlog/agent/agents/opencode.js.map +1 -0
  190. package/dist/sessionlog/agent/registry.d.ts +54 -0
  191. package/dist/sessionlog/agent/registry.d.ts.map +1 -0
  192. package/dist/sessionlog/agent/registry.js +123 -0
  193. package/dist/sessionlog/agent/registry.js.map +1 -0
  194. package/dist/sessionlog/agent/session-types.d.ts +45 -0
  195. package/dist/sessionlog/agent/session-types.d.ts.map +1 -0
  196. package/dist/sessionlog/agent/session-types.js +50 -0
  197. package/dist/sessionlog/agent/session-types.js.map +1 -0
  198. package/dist/sessionlog/agent/types.d.ts +126 -0
  199. package/dist/sessionlog/agent/types.d.ts.map +1 -0
  200. package/dist/sessionlog/agent/types.js +39 -0
  201. package/dist/sessionlog/agent/types.js.map +1 -0
  202. package/dist/sessionlog/commands/clean.d.ts +40 -0
  203. package/dist/sessionlog/commands/clean.d.ts.map +1 -0
  204. package/dist/sessionlog/commands/clean.js +105 -0
  205. package/dist/sessionlog/commands/clean.js.map +1 -0
  206. package/dist/sessionlog/commands/disable.d.ts +23 -0
  207. package/dist/sessionlog/commands/disable.d.ts.map +1 -0
  208. package/dist/sessionlog/commands/disable.js +57 -0
  209. package/dist/sessionlog/commands/disable.js.map +1 -0
  210. package/dist/sessionlog/commands/doctor.d.ts +43 -0
  211. package/dist/sessionlog/commands/doctor.d.ts.map +1 -0
  212. package/dist/sessionlog/commands/doctor.js +97 -0
  213. package/dist/sessionlog/commands/doctor.js.map +1 -0
  214. package/dist/sessionlog/commands/enable.d.ts +31 -0
  215. package/dist/sessionlog/commands/enable.d.ts.map +1 -0
  216. package/dist/sessionlog/commands/enable.js +102 -0
  217. package/dist/sessionlog/commands/enable.js.map +1 -0
  218. package/dist/sessionlog/commands/explain.d.ts +69 -0
  219. package/dist/sessionlog/commands/explain.d.ts.map +1 -0
  220. package/dist/sessionlog/commands/explain.js +185 -0
  221. package/dist/sessionlog/commands/explain.js.map +1 -0
  222. package/dist/sessionlog/commands/reset.d.ts +23 -0
  223. package/dist/sessionlog/commands/reset.d.ts.map +1 -0
  224. package/dist/sessionlog/commands/reset.js +68 -0
  225. package/dist/sessionlog/commands/reset.js.map +1 -0
  226. package/dist/sessionlog/commands/resume.d.ts +42 -0
  227. package/dist/sessionlog/commands/resume.d.ts.map +1 -0
  228. package/dist/sessionlog/commands/resume.js +134 -0
  229. package/dist/sessionlog/commands/resume.js.map +1 -0
  230. package/dist/sessionlog/commands/rewind.d.ts +40 -0
  231. package/dist/sessionlog/commands/rewind.d.ts.map +1 -0
  232. package/dist/sessionlog/commands/rewind.js +155 -0
  233. package/dist/sessionlog/commands/rewind.js.map +1 -0
  234. package/dist/sessionlog/commands/status.d.ts +54 -0
  235. package/dist/sessionlog/commands/status.d.ts.map +1 -0
  236. package/dist/sessionlog/commands/status.js +95 -0
  237. package/dist/sessionlog/commands/status.js.map +1 -0
  238. package/dist/sessionlog/config.d.ts +40 -0
  239. package/dist/sessionlog/config.d.ts.map +1 -0
  240. package/dist/sessionlog/config.js +126 -0
  241. package/dist/sessionlog/config.js.map +1 -0
  242. package/dist/sessionlog/git-operations.d.ts +173 -0
  243. package/dist/sessionlog/git-operations.d.ts.map +1 -0
  244. package/dist/sessionlog/git-operations.js +399 -0
  245. package/dist/sessionlog/git-operations.js.map +1 -0
  246. package/dist/sessionlog/hooks/git-hooks.d.ts +22 -0
  247. package/dist/sessionlog/hooks/git-hooks.d.ts.map +1 -0
  248. package/dist/sessionlog/hooks/git-hooks.js +145 -0
  249. package/dist/sessionlog/hooks/git-hooks.js.map +1 -0
  250. package/dist/sessionlog/hooks/lifecycle.d.ts +21 -0
  251. package/dist/sessionlog/hooks/lifecycle.d.ts.map +1 -0
  252. package/dist/sessionlog/hooks/lifecycle.js +179 -0
  253. package/dist/sessionlog/hooks/lifecycle.js.map +1 -0
  254. package/dist/sessionlog/index.d.ts +69 -0
  255. package/dist/sessionlog/index.d.ts.map +1 -0
  256. package/dist/sessionlog/index.js +154 -0
  257. package/dist/sessionlog/index.js.map +1 -0
  258. package/dist/sessionlog/security/redaction.d.ts +35 -0
  259. package/dist/sessionlog/security/redaction.d.ts.map +1 -0
  260. package/dist/sessionlog/security/redaction.js +221 -0
  261. package/dist/sessionlog/security/redaction.js.map +1 -0
  262. package/dist/sessionlog/session/state-machine.d.ts +90 -0
  263. package/dist/sessionlog/session/state-machine.d.ts.map +1 -0
  264. package/dist/sessionlog/session/state-machine.js +347 -0
  265. package/dist/sessionlog/session/state-machine.js.map +1 -0
  266. package/dist/sessionlog/store/checkpoint-store.d.ts +47 -0
  267. package/dist/sessionlog/store/checkpoint-store.d.ts.map +1 -0
  268. package/dist/sessionlog/store/checkpoint-store.js +309 -0
  269. package/dist/sessionlog/store/checkpoint-store.js.map +1 -0
  270. package/dist/sessionlog/store/native-store.d.ts +21 -0
  271. package/dist/sessionlog/store/native-store.d.ts.map +1 -0
  272. package/dist/sessionlog/store/native-store.js +162 -0
  273. package/dist/sessionlog/store/native-store.js.map +1 -0
  274. package/dist/sessionlog/store/provider-types.d.ts +78 -0
  275. package/dist/sessionlog/store/provider-types.d.ts.map +1 -0
  276. package/dist/sessionlog/store/provider-types.js +12 -0
  277. package/dist/sessionlog/store/provider-types.js.map +1 -0
  278. package/dist/sessionlog/store/session-store.d.ts +28 -0
  279. package/dist/sessionlog/store/session-store.d.ts.map +1 -0
  280. package/dist/sessionlog/store/session-store.js +187 -0
  281. package/dist/sessionlog/store/session-store.js.map +1 -0
  282. package/dist/sessionlog/strategy/attribution.d.ts +39 -0
  283. package/dist/sessionlog/strategy/attribution.d.ts.map +1 -0
  284. package/dist/sessionlog/strategy/attribution.js +227 -0
  285. package/dist/sessionlog/strategy/attribution.js.map +1 -0
  286. package/dist/sessionlog/strategy/common.d.ts +60 -0
  287. package/dist/sessionlog/strategy/common.d.ts.map +1 -0
  288. package/dist/sessionlog/strategy/common.js +162 -0
  289. package/dist/sessionlog/strategy/common.js.map +1 -0
  290. package/dist/sessionlog/strategy/content-overlap.d.ts +33 -0
  291. package/dist/sessionlog/strategy/content-overlap.d.ts.map +1 -0
  292. package/dist/sessionlog/strategy/content-overlap.js +168 -0
  293. package/dist/sessionlog/strategy/content-overlap.js.map +1 -0
  294. package/dist/sessionlog/strategy/manual-commit.d.ts +35 -0
  295. package/dist/sessionlog/strategy/manual-commit.d.ts.map +1 -0
  296. package/dist/sessionlog/strategy/manual-commit.js +732 -0
  297. package/dist/sessionlog/strategy/manual-commit.js.map +1 -0
  298. package/dist/sessionlog/strategy/types.d.ts +163 -0
  299. package/dist/sessionlog/strategy/types.d.ts.map +1 -0
  300. package/dist/sessionlog/strategy/types.js +49 -0
  301. package/dist/sessionlog/strategy/types.js.map +1 -0
  302. package/dist/sessionlog/summarize/claude-generator.d.ts +25 -0
  303. package/dist/sessionlog/summarize/claude-generator.d.ts.map +1 -0
  304. package/dist/sessionlog/summarize/claude-generator.js +87 -0
  305. package/dist/sessionlog/summarize/claude-generator.js.map +1 -0
  306. package/dist/sessionlog/summarize/summarize.d.ts +52 -0
  307. package/dist/sessionlog/summarize/summarize.d.ts.map +1 -0
  308. package/dist/sessionlog/summarize/summarize.js +335 -0
  309. package/dist/sessionlog/summarize/summarize.js.map +1 -0
  310. package/dist/sessionlog/types.d.ts +298 -0
  311. package/dist/sessionlog/types.d.ts.map +1 -0
  312. package/dist/sessionlog/types.js +104 -0
  313. package/dist/sessionlog/types.js.map +1 -0
  314. package/dist/sessionlog/utils/chunk-files.d.ts +25 -0
  315. package/dist/sessionlog/utils/chunk-files.d.ts.map +1 -0
  316. package/dist/sessionlog/utils/chunk-files.js +47 -0
  317. package/dist/sessionlog/utils/chunk-files.js.map +1 -0
  318. package/dist/sessionlog/utils/commit-message.d.ts +11 -0
  319. package/dist/sessionlog/utils/commit-message.d.ts.map +1 -0
  320. package/dist/sessionlog/utils/commit-message.js +54 -0
  321. package/dist/sessionlog/utils/commit-message.js.map +1 -0
  322. package/dist/sessionlog/utils/detect-agent.d.ts +19 -0
  323. package/dist/sessionlog/utils/detect-agent.d.ts.map +1 -0
  324. package/dist/sessionlog/utils/detect-agent.js +34 -0
  325. package/dist/sessionlog/utils/detect-agent.js.map +1 -0
  326. package/dist/sessionlog/utils/hook-managers.d.ts +24 -0
  327. package/dist/sessionlog/utils/hook-managers.d.ts.map +1 -0
  328. package/dist/sessionlog/utils/hook-managers.js +87 -0
  329. package/dist/sessionlog/utils/hook-managers.js.map +1 -0
  330. package/dist/sessionlog/utils/ide-tags.d.ts +12 -0
  331. package/dist/sessionlog/utils/ide-tags.d.ts.map +1 -0
  332. package/dist/sessionlog/utils/ide-tags.js +30 -0
  333. package/dist/sessionlog/utils/ide-tags.js.map +1 -0
  334. package/dist/sessionlog/utils/paths.d.ts +32 -0
  335. package/dist/sessionlog/utils/paths.d.ts.map +1 -0
  336. package/dist/sessionlog/utils/paths.js +55 -0
  337. package/dist/sessionlog/utils/paths.js.map +1 -0
  338. package/dist/sessionlog/utils/preview-rewind.d.ts +23 -0
  339. package/dist/sessionlog/utils/preview-rewind.d.ts.map +1 -0
  340. package/dist/sessionlog/utils/preview-rewind.js +63 -0
  341. package/dist/sessionlog/utils/preview-rewind.js.map +1 -0
  342. package/dist/sessionlog/utils/rewind-conflict.d.ts +52 -0
  343. package/dist/sessionlog/utils/rewind-conflict.d.ts.map +1 -0
  344. package/dist/sessionlog/utils/rewind-conflict.js +79 -0
  345. package/dist/sessionlog/utils/rewind-conflict.js.map +1 -0
  346. package/dist/sessionlog/utils/shadow-branch.d.ts +53 -0
  347. package/dist/sessionlog/utils/shadow-branch.d.ts.map +1 -0
  348. package/dist/sessionlog/utils/shadow-branch.js +97 -0
  349. package/dist/sessionlog/utils/shadow-branch.js.map +1 -0
  350. package/dist/sessionlog/utils/string-utils.d.ts +24 -0
  351. package/dist/sessionlog/utils/string-utils.d.ts.map +1 -0
  352. package/dist/sessionlog/utils/string-utils.js +47 -0
  353. package/dist/sessionlog/utils/string-utils.js.map +1 -0
  354. package/dist/sessionlog/utils/todo-extract.d.ts +52 -0
  355. package/dist/sessionlog/utils/todo-extract.d.ts.map +1 -0
  356. package/dist/sessionlog/utils/todo-extract.js +167 -0
  357. package/dist/sessionlog/utils/todo-extract.js.map +1 -0
  358. package/dist/sessionlog/utils/trailers.d.ts +36 -0
  359. package/dist/sessionlog/utils/trailers.d.ts.map +1 -0
  360. package/dist/sessionlog/utils/trailers.js +149 -0
  361. package/dist/sessionlog/utils/trailers.js.map +1 -0
  362. package/dist/sessionlog/utils/transcript-parse.d.ts +57 -0
  363. package/dist/sessionlog/utils/transcript-parse.d.ts.map +1 -0
  364. package/dist/sessionlog/utils/transcript-parse.js +126 -0
  365. package/dist/sessionlog/utils/transcript-parse.js.map +1 -0
  366. package/dist/sessionlog/utils/transcript-timestamp.d.ts +22 -0
  367. package/dist/sessionlog/utils/transcript-timestamp.d.ts.map +1 -0
  368. package/dist/sessionlog/utils/transcript-timestamp.js +56 -0
  369. package/dist/sessionlog/utils/transcript-timestamp.js.map +1 -0
  370. package/dist/sessionlog/utils/tree-ops.d.ts +47 -0
  371. package/dist/sessionlog/utils/tree-ops.d.ts.map +1 -0
  372. package/dist/sessionlog/utils/tree-ops.js +145 -0
  373. package/dist/sessionlog/utils/tree-ops.js.map +1 -0
  374. package/dist/sessionlog/utils/tty.d.ts +25 -0
  375. package/dist/sessionlog/utils/tty.d.ts.map +1 -0
  376. package/dist/sessionlog/utils/tty.js +70 -0
  377. package/dist/sessionlog/utils/tty.js.map +1 -0
  378. package/dist/sessionlog/utils/validation.d.ts +31 -0
  379. package/dist/sessionlog/utils/validation.d.ts.map +1 -0
  380. package/dist/sessionlog/utils/validation.js +59 -0
  381. package/dist/sessionlog/utils/validation.js.map +1 -0
  382. package/dist/sessionlog/utils/worktree.d.ts +16 -0
  383. package/dist/sessionlog/utils/worktree.d.ts.map +1 -0
  384. package/dist/sessionlog/utils/worktree.js +50 -0
  385. package/dist/sessionlog/utils/worktree.js.map +1 -0
  386. package/dist/storage/sqlite-schema.d.ts.map +1 -1
  387. package/dist/storage/sqlite-schema.js +2 -0
  388. package/dist/storage/sqlite-schema.js.map +1 -1
  389. package/dist/storage/sqlite.d.ts.map +1 -1
  390. package/dist/storage/sqlite.js +18 -4
  391. package/dist/storage/sqlite.js.map +1 -1
  392. package/dist/tools/index.d.ts +1 -1
  393. package/dist/tools/index.d.ts.map +1 -1
  394. package/dist/tools/index.js.map +1 -1
  395. package/dist/tools/query.d.ts +2 -1
  396. package/dist/tools/query.d.ts.map +1 -1
  397. package/dist/tools/query.js +217 -7
  398. package/dist/tools/query.js.map +1 -1
  399. package/dist/tools/types.d.ts +57 -0
  400. package/dist/tools/types.d.ts.map +1 -1
  401. package/dist/tools/types.js.map +1 -1
  402. package/dist/tracking/transcript-extractor.d.ts +3 -3
  403. package/dist/tracking/transcript-extractor.d.ts.map +1 -1
  404. package/dist/tracking/transcript-extractor.js +1 -1
  405. package/dist/tracking/transcript-extractor.js.map +1 -1
  406. package/package.json +3 -1
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Enable Command
3
+ *
4
+ * Enables Entire in a repository: creates settings, installs hooks,
5
+ * auto-detects agents.
6
+ */
7
+ import { type AgentName } from '../types.js';
8
+ export interface EnableOptions {
9
+ /** Working directory */
10
+ cwd?: string;
11
+ /** Specific agent to enable (auto-detect if not specified) */
12
+ agent?: AgentName;
13
+ /** Force reinstall hooks even if already present */
14
+ force?: boolean;
15
+ /** Save to local settings instead of project settings */
16
+ local?: boolean;
17
+ /** Session directory name under .git/ (default: SESSION_DIR_NAME) */
18
+ sessionDirName?: string;
19
+ }
20
+ export interface EnableResult {
21
+ enabled: boolean;
22
+ agent: AgentName | null;
23
+ agentHooksInstalled: number;
24
+ gitHooksInstalled: number;
25
+ errors: string[];
26
+ }
27
+ /**
28
+ * Enable Entire in a repository
29
+ */
30
+ export declare function enable(options?: EnableOptions): Promise<EnableResult>;
31
+ //# sourceMappingURL=enable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enable.d.ts","sourceRoot":"","sources":["../../../src/sessionlog/commands/enable.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAEL,KAAK,SAAS,EAKf,MAAM,aAAa,CAAC;AAWrB,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,8DAA8D;IAC9D,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAMD;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAuE/E"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Enable Command
3
+ *
4
+ * Enables Entire in a repository: creates settings, installs hooks,
5
+ * auto-detects agents.
6
+ */
7
+ import * as fs from 'node:fs';
8
+ import * as path from 'node:path';
9
+ import { ENTIRE_DIR, ENTIRE_METADATA_DIR, ENTIRE_TMP_DIR, SESSION_DIR_NAME, } from '../types.js';
10
+ import { isGitRepository, getWorktreeRoot, getGitDir, getHead } from '../git-operations.js';
11
+ import { saveProjectSettings, saveLocalSettings, ensureGitignore } from '../config.js';
12
+ import { installGitHooks } from '../hooks/git-hooks.js';
13
+ import { detectAgent, getAgent, listAgentNames } from '../agent/registry.js';
14
+ import { hasHookSupport } from '../agent/types.js';
15
+ // ============================================================================
16
+ // Implementation
17
+ // ============================================================================
18
+ /**
19
+ * Enable Entire in a repository
20
+ */
21
+ export async function enable(options = {}) {
22
+ const cwd = options.cwd ?? process.cwd();
23
+ const errors = [];
24
+ // Validate git repository
25
+ if (!(await isGitRepository(cwd))) {
26
+ return { enabled: false, agent: null, agentHooksInstalled: 0, gitHooksInstalled: 0, errors: ['Not a git repository'] };
27
+ }
28
+ // Validate repository has at least one commit
29
+ try {
30
+ await getHead(cwd);
31
+ }
32
+ catch {
33
+ return { enabled: false, agent: null, agentHooksInstalled: 0, gitHooksInstalled: 0, errors: ['Repository has no commits'] };
34
+ }
35
+ const root = await getWorktreeRoot(cwd);
36
+ // Detect or resolve agent
37
+ let agent = options.agent ? getAgent(options.agent) : await detectAgent(cwd);
38
+ if (!agent) {
39
+ errors.push(`No agent detected. Available agents: ${listAgentNames().join(', ')}. ` +
40
+ `Install an agent or specify one with --agent.`);
41
+ }
42
+ // Create directories
43
+ await createDirectories(root, cwd, options.sessionDirName);
44
+ // Save settings
45
+ const settings = {
46
+ enabled: true,
47
+ strategy: 'manual-commit',
48
+ };
49
+ if (options.local) {
50
+ await saveLocalSettings(settings, cwd);
51
+ }
52
+ else {
53
+ await saveProjectSettings(settings, cwd);
54
+ }
55
+ // Set up .gitignore for local files
56
+ await ensureGitignore(cwd);
57
+ // Install git hooks
58
+ let gitHooksInstalled = 0;
59
+ try {
60
+ gitHooksInstalled = await installGitHooks(root);
61
+ }
62
+ catch (e) {
63
+ errors.push(`Failed to install git hooks: ${e instanceof Error ? e.message : String(e)}`);
64
+ }
65
+ // Install agent hooks
66
+ let agentHooksInstalled = 0;
67
+ if (agent && hasHookSupport(agent)) {
68
+ try {
69
+ agentHooksInstalled = await agent.installHooks(root, options.force);
70
+ }
71
+ catch (e) {
72
+ errors.push(`Failed to install agent hooks: ${e instanceof Error ? e.message : String(e)}`);
73
+ }
74
+ }
75
+ return {
76
+ enabled: true,
77
+ agent: agent?.name ?? null,
78
+ agentHooksInstalled,
79
+ gitHooksInstalled,
80
+ errors,
81
+ };
82
+ }
83
+ async function createDirectories(root, cwd, sessionDirName) {
84
+ const dirs = [
85
+ path.join(root, ENTIRE_DIR),
86
+ path.join(root, ENTIRE_METADATA_DIR),
87
+ path.join(root, ENTIRE_TMP_DIR),
88
+ ];
89
+ // Also create .git/<sessionDirName>/
90
+ try {
91
+ const gitDir = await getGitDir(cwd);
92
+ const sessionsDir = path.resolve(root, gitDir, sessionDirName ?? SESSION_DIR_NAME);
93
+ dirs.push(sessionsDir);
94
+ }
95
+ catch {
96
+ // Ignore if git dir resolution fails
97
+ }
98
+ for (const dir of dirs) {
99
+ await fs.promises.mkdir(dir, { recursive: true });
100
+ }
101
+ }
102
+ //# sourceMappingURL=enable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enable.js","sourceRoot":"","sources":["../../../src/sessionlog/commands/enable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Explain Command
3
+ *
4
+ * Provides human-readable context about sessions, commits, and checkpoints.
5
+ * This is the library implementation - consumers (CLI, IDE plugins) handle
6
+ * their own output formatting and pager support.
7
+ */
8
+ import type { CheckpointID, Summary, AgentType, TokenUsage } from '../types.js';
9
+ export interface CheckpointDetail {
10
+ checkpointID: CheckpointID;
11
+ sessionID: string;
12
+ agent?: AgentType;
13
+ strategy: string;
14
+ createdAt: string;
15
+ branch?: string;
16
+ checkpointsCount: number;
17
+ filesTouched: string[];
18
+ tokenUsage?: TokenUsage;
19
+ summary?: Summary;
20
+ isTaskCheckpoint?: boolean;
21
+ turnID?: string;
22
+ transcriptIdentifierAtStart?: string;
23
+ checkpointTranscriptStart: number;
24
+ }
25
+ export interface CheckpointListItem {
26
+ checkpointID: CheckpointID;
27
+ sessionID: string;
28
+ message: string;
29
+ date: string;
30
+ isTaskCheckpoint: boolean;
31
+ agent?: AgentType;
32
+ sessionCount: number;
33
+ sessionIDs: string[];
34
+ }
35
+ export interface ExplainOptions {
36
+ cwd?: string;
37
+ sessionFilter?: string;
38
+ maxDepth?: number;
39
+ searchAll?: boolean;
40
+ checkpointsBranch?: string;
41
+ }
42
+ export interface CommitExplainResult {
43
+ commitSHA: string;
44
+ commitMessage: string;
45
+ checkpointID: CheckpointID | null;
46
+ detail: CheckpointDetail | null;
47
+ }
48
+ /**
49
+ * List checkpoints on the current branch.
50
+ * Optionally filtered by session ID prefix.
51
+ */
52
+ export declare function listCheckpoints(options?: ExplainOptions): Promise<CheckpointListItem[]>;
53
+ /**
54
+ * Get detailed information about a specific checkpoint.
55
+ */
56
+ export declare function getCheckpointDetail(checkpointID: CheckpointID, options?: ExplainOptions): Promise<CheckpointDetail | null>;
57
+ /**
58
+ * Get the transcript content for a checkpoint.
59
+ */
60
+ export declare function getCheckpointTranscript(checkpointID: CheckpointID, options?: ExplainOptions): Promise<Buffer | null>;
61
+ /**
62
+ * Explain a specific commit by finding its associated checkpoint.
63
+ */
64
+ export declare function explainCommit(commitRef: string, options?: ExplainOptions): Promise<CommitExplainResult | null>;
65
+ /**
66
+ * Find a checkpoint by ID prefix (partial match).
67
+ */
68
+ export declare function findCheckpointByPrefix(prefix: string, options?: ExplainOptions): Promise<CheckpointID | null>;
69
+ //# sourceMappingURL=explain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../src/sessionlog/commands/explain.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,YAAY,EAEZ,OAAO,EACP,SAAS,EACT,UAAU,EACX,MAAM,aAAa,CAAC;AASrB,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACjC;AAMD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAmE/B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA8BlC;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWxB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAgCrC;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CA2B9B"}
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Explain Command
3
+ *
4
+ * Provides human-readable context about sessions, commits, and checkpoints.
5
+ * This is the library implementation - consumers (CLI, IDE plugins) handle
6
+ * their own output formatting and pager support.
7
+ */
8
+ import { CHECKPOINTS_BRANCH, checkpointIDPath } from '../types.js';
9
+ import { git, catFile, lsTree } from '../git-operations.js';
10
+ import { parseCheckpoint, parseAllSessions } from '../utils/trailers.js';
11
+ // ============================================================================
12
+ // Public API
13
+ // ============================================================================
14
+ /**
15
+ * List checkpoints on the current branch.
16
+ * Optionally filtered by session ID prefix.
17
+ */
18
+ export async function listCheckpoints(options = {}) {
19
+ const cwd = options.cwd;
20
+ const maxDepth = options.searchAll ? 0 : (options.maxDepth ?? 500);
21
+ // Get commits on the current branch
22
+ const logArgs = ['log', '--format=%H %s'];
23
+ if (maxDepth > 0)
24
+ logArgs.push(`-n`, `${maxDepth}`);
25
+ let logOutput;
26
+ try {
27
+ logOutput = await git(logArgs, { cwd });
28
+ }
29
+ catch {
30
+ return [];
31
+ }
32
+ const items = [];
33
+ for (const line of logOutput.split('\n')) {
34
+ if (!line.trim())
35
+ continue;
36
+ const spaceIdx = line.indexOf(' ');
37
+ if (spaceIdx === -1)
38
+ continue;
39
+ const sha = line.slice(0, spaceIdx);
40
+ const message = line.slice(spaceIdx + 1);
41
+ // Get full commit message to check for trailers
42
+ let fullMessage;
43
+ try {
44
+ fullMessage = await git(['log', '-1', '--format=%B', sha], { cwd });
45
+ }
46
+ catch {
47
+ continue;
48
+ }
49
+ const [cpID, hasCp] = parseCheckpoint(fullMessage);
50
+ if (!hasCp || !cpID)
51
+ continue;
52
+ const sessionIDs = parseAllSessions(fullMessage);
53
+ // Apply session filter
54
+ if (options.sessionFilter) {
55
+ const hasMatch = sessionIDs.some((sid) => sid.startsWith(options.sessionFilter));
56
+ if (!hasMatch)
57
+ continue;
58
+ }
59
+ // Get commit date
60
+ let date;
61
+ try {
62
+ date = (await git(['log', '-1', '--format=%aI', sha], { cwd })).trim();
63
+ }
64
+ catch {
65
+ date = '';
66
+ }
67
+ items.push({
68
+ checkpointID: cpID,
69
+ sessionID: sessionIDs[0] ?? '',
70
+ message: message.trim(),
71
+ date,
72
+ isTaskCheckpoint: message.includes('[task]'),
73
+ sessionCount: sessionIDs.length,
74
+ sessionIDs,
75
+ });
76
+ }
77
+ return items;
78
+ }
79
+ /**
80
+ * Get detailed information about a specific checkpoint.
81
+ */
82
+ export async function getCheckpointDetail(checkpointID, options = {}) {
83
+ const cwd = options.cwd;
84
+ const branch = options.checkpointsBranch ?? CHECKPOINTS_BRANCH;
85
+ // Try to read committed metadata from the checkpoints branch
86
+ const metadataPath = `${checkpointIDPath(checkpointID)}/metadata.json`;
87
+ try {
88
+ const content = await catFile(`${branch}:${metadataPath}`, cwd);
89
+ const metadata = JSON.parse(content);
90
+ return {
91
+ checkpointID: metadata.checkpointID,
92
+ sessionID: metadata.sessionID,
93
+ agent: metadata.agent,
94
+ strategy: metadata.strategy,
95
+ createdAt: metadata.createdAt,
96
+ branch: metadata.branch,
97
+ checkpointsCount: metadata.checkpointsCount,
98
+ filesTouched: metadata.filesTouched,
99
+ tokenUsage: metadata.tokenUsage,
100
+ summary: metadata.summary,
101
+ isTaskCheckpoint: metadata.isTask,
102
+ turnID: metadata.turnID,
103
+ transcriptIdentifierAtStart: metadata.transcriptIdentifierAtStart,
104
+ checkpointTranscriptStart: metadata.checkpointTranscriptStart,
105
+ };
106
+ }
107
+ catch {
108
+ return null;
109
+ }
110
+ }
111
+ /**
112
+ * Get the transcript content for a checkpoint.
113
+ */
114
+ export async function getCheckpointTranscript(checkpointID, options = {}) {
115
+ const cwd = options.cwd;
116
+ const branch = options.checkpointsBranch ?? CHECKPOINTS_BRANCH;
117
+ const transcriptPath = `${checkpointIDPath(checkpointID)}/transcript`;
118
+ try {
119
+ const content = await catFile(`${branch}:${transcriptPath}`, cwd);
120
+ return Buffer.from(content, 'utf-8');
121
+ }
122
+ catch {
123
+ return null;
124
+ }
125
+ }
126
+ /**
127
+ * Explain a specific commit by finding its associated checkpoint.
128
+ */
129
+ export async function explainCommit(commitRef, options = {}) {
130
+ const cwd = options.cwd;
131
+ let fullMessage;
132
+ try {
133
+ fullMessage = await git(['log', '-1', '--format=%B', commitRef], { cwd });
134
+ }
135
+ catch {
136
+ return null;
137
+ }
138
+ const [cpID] = parseCheckpoint(fullMessage);
139
+ let sha;
140
+ try {
141
+ sha = (await git(['rev-parse', commitRef], { cwd })).trim();
142
+ }
143
+ catch {
144
+ return null;
145
+ }
146
+ const message = fullMessage.split('\n')[0] ?? '';
147
+ let detail = null;
148
+ if (cpID) {
149
+ detail = await getCheckpointDetail(cpID, options);
150
+ }
151
+ return {
152
+ commitSHA: sha,
153
+ commitMessage: message,
154
+ checkpointID: cpID,
155
+ detail,
156
+ };
157
+ }
158
+ /**
159
+ * Find a checkpoint by ID prefix (partial match).
160
+ */
161
+ export async function findCheckpointByPrefix(prefix, options = {}) {
162
+ const cwd = options.cwd;
163
+ // For full IDs, just return directly
164
+ if (prefix.length === 12)
165
+ return prefix;
166
+ // Need at least 2 chars for shard prefix
167
+ if (prefix.length < 2)
168
+ return null;
169
+ const shardPrefix = prefix.slice(0, 2);
170
+ const remainder = prefix.slice(2);
171
+ const branch = options.checkpointsBranch ?? CHECKPOINTS_BRANCH;
172
+ try {
173
+ const entries = await lsTree(branch, shardPrefix, cwd);
174
+ for (const entry of entries) {
175
+ if (entry.name.startsWith(remainder)) {
176
+ return `${shardPrefix}${entry.name}`;
177
+ }
178
+ }
179
+ }
180
+ catch {
181
+ // Shard doesn't exist
182
+ }
183
+ return null;
184
+ }
185
+ //# sourceMappingURL=explain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../src/sessionlog/commands/explain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Reset Command
3
+ *
4
+ * Deletes shadow branch and session state for the current HEAD.
5
+ * More targeted than clean — only affects the current commit's sessions.
6
+ */
7
+ export interface ResetOptions {
8
+ cwd?: string;
9
+ /** Reset a specific session instead of all */
10
+ sessionID?: string;
11
+ /** Skip confirmation (for programmatic use) */
12
+ force?: boolean;
13
+ }
14
+ export interface ResetResult {
15
+ sessionsReset: string[];
16
+ branchesDeleted: string[];
17
+ errors: string[];
18
+ }
19
+ /**
20
+ * Reset shadow branches and session state for the current HEAD
21
+ */
22
+ export declare function reset(options?: ResetOptions): Promise<ResetResult>;
23
+ //# sourceMappingURL=reset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../../src/sessionlog/commands/reset.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAMD;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAmE5E"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Reset Command
3
+ *
4
+ * Deletes shadow branch and session state for the current HEAD.
5
+ * More targeted than clean — only affects the current commit's sessions.
6
+ */
7
+ import { getHead } from '../git-operations.js';
8
+ import { createSessionStore } from '../store/session-store.js';
9
+ import { createCheckpointStore } from '../store/checkpoint-store.js';
10
+ // ============================================================================
11
+ // Implementation
12
+ // ============================================================================
13
+ /**
14
+ * Reset shadow branches and session state for the current HEAD
15
+ */
16
+ export async function reset(options = {}) {
17
+ const cwd = options.cwd;
18
+ const sessionStore = createSessionStore(cwd);
19
+ const checkpointStore = createCheckpointStore(cwd);
20
+ const head = await getHead(cwd);
21
+ const errors = [];
22
+ const sessionsReset = [];
23
+ const branchesDeleted = [];
24
+ const sessions = await sessionStore.list();
25
+ // Find sessions matching the current HEAD
26
+ let matchingSessions;
27
+ if (options.sessionID) {
28
+ matchingSessions = sessions.filter((s) => s.sessionID === options.sessionID);
29
+ if (matchingSessions.length === 0) {
30
+ errors.push(`Session not found: ${options.sessionID}`);
31
+ return { sessionsReset, branchesDeleted, errors };
32
+ }
33
+ }
34
+ else {
35
+ matchingSessions = sessions.filter((s) => s.baseCommit === head || head.startsWith(s.baseCommit));
36
+ }
37
+ // Safety check: warn about active sessions
38
+ if (!options.force) {
39
+ const activeSessions = matchingSessions.filter((s) => s.phase === 'active');
40
+ if (activeSessions.length > 0) {
41
+ errors.push(`${activeSessions.length} active session(s) found. Use --force to reset active sessions.`);
42
+ return { sessionsReset, branchesDeleted, errors };
43
+ }
44
+ }
45
+ for (const session of matchingSessions) {
46
+ // Delete shadow branch
47
+ if (session.baseCommit) {
48
+ const branchName = checkpointStore.getShadowBranchName(session.baseCommit, session.worktreeID);
49
+ try {
50
+ await checkpointStore.deleteShadowBranch(branchName);
51
+ branchesDeleted.push(branchName);
52
+ }
53
+ catch (e) {
54
+ errors.push(`Failed to delete branch ${branchName}: ${e instanceof Error ? e.message : String(e)}`);
55
+ }
56
+ }
57
+ // Delete session state
58
+ try {
59
+ await sessionStore.delete(session.sessionID);
60
+ sessionsReset.push(session.sessionID);
61
+ }
62
+ catch (e) {
63
+ errors.push(`Failed to delete session ${session.sessionID}: ${e instanceof Error ? e.message : String(e)}`);
64
+ }
65
+ }
66
+ return { sessionsReset, branchesDeleted, errors };
67
+ }
68
+ //# sourceMappingURL=reset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../src/sessionlog/commands/reset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Resume Command
3
+ *
4
+ * Library implementation for resuming agent sessions from branches.
5
+ * Handles branch checkout, session discovery from commit trailers,
6
+ * and transcript restoration.
7
+ */
8
+ import type { CheckpointID } from '../types.js';
9
+ export interface ResumeInfo {
10
+ branchName: string;
11
+ sessionID: string;
12
+ sessionIDs: string[];
13
+ checkpointID: CheckpointID | null;
14
+ resumeCommand: string;
15
+ commitSHA: string;
16
+ commitMessage: string;
17
+ needsReset: boolean;
18
+ resetTargetSHA?: string;
19
+ }
20
+ export interface ResumeOptions {
21
+ cwd?: string;
22
+ force?: boolean;
23
+ }
24
+ export interface ResumeResult {
25
+ success: boolean;
26
+ info?: ResumeInfo;
27
+ error?: string;
28
+ }
29
+ /**
30
+ * Discover resume information for a branch without performing any actions.
31
+ * This is useful for preview/dry-run scenarios.
32
+ */
33
+ export declare function discoverResumeInfo(branchName: string, options?: ResumeOptions): Promise<ResumeResult>;
34
+ /**
35
+ * Get a list of branches that have checkpointed sessions.
36
+ */
37
+ export declare function listResumableBranches(options?: ResumeOptions): Promise<Array<{
38
+ branch: string;
39
+ sessionID: string;
40
+ lastCommit: string;
41
+ }>>;
42
+ //# sourceMappingURL=resume.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../../src/sessionlog/commands/resume.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQhD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA+BvB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAiD3E"}