opentasks 0.0.6 → 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 (660) hide show
  1. package/README.md +68 -0
  2. package/dist/__tests__/cli-tools.test.d.ts +8 -0
  3. package/dist/__tests__/cli-tools.test.d.ts.map +1 -0
  4. package/dist/__tests__/cli-tools.test.js +546 -0
  5. package/dist/__tests__/cli-tools.test.js.map +1 -0
  6. package/dist/__tests__/cli.test.d.ts +5 -0
  7. package/dist/__tests__/cli.test.d.ts.map +1 -0
  8. package/dist/__tests__/cli.test.js +77 -0
  9. package/dist/__tests__/cli.test.js.map +1 -0
  10. package/dist/__tests__/p1-p3-gaps.test.d.ts +2 -0
  11. package/dist/__tests__/p1-p3-gaps.test.d.ts.map +1 -0
  12. package/dist/__tests__/p1-p3-gaps.test.js +463 -0
  13. package/dist/__tests__/p1-p3-gaps.test.js.map +1 -0
  14. package/dist/cli.d.ts +1 -0
  15. package/dist/cli.d.ts.map +1 -1
  16. package/dist/cli.js +64 -0
  17. package/dist/cli.js.map +1 -1
  18. package/dist/client/__tests__/client-crud.test.d.ts +7 -0
  19. package/dist/client/__tests__/client-crud.test.d.ts.map +1 -0
  20. package/dist/client/__tests__/client-crud.test.js +404 -0
  21. package/dist/client/__tests__/client-crud.test.js.map +1 -0
  22. package/dist/client/__tests__/client.test.d.ts +5 -0
  23. package/dist/client/__tests__/client.test.d.ts.map +1 -0
  24. package/dist/client/__tests__/client.test.js +518 -0
  25. package/dist/client/__tests__/client.test.js.map +1 -0
  26. package/dist/client/client.d.ts +47 -1
  27. package/dist/client/client.d.ts.map +1 -1
  28. package/dist/client/client.js +71 -0
  29. package/dist/client/client.js.map +1 -1
  30. package/dist/client/index.d.ts +1 -1
  31. package/dist/client/index.d.ts.map +1 -1
  32. package/dist/config/__tests__/defaults.test.d.ts +2 -0
  33. package/dist/config/__tests__/defaults.test.d.ts.map +1 -0
  34. package/dist/config/__tests__/defaults.test.js +57 -0
  35. package/dist/config/__tests__/defaults.test.js.map +1 -0
  36. package/dist/config/__tests__/env.test.d.ts +2 -0
  37. package/dist/config/__tests__/env.test.d.ts.map +1 -0
  38. package/dist/config/__tests__/env.test.js +136 -0
  39. package/dist/config/__tests__/env.test.js.map +1 -0
  40. package/dist/config/__tests__/index.test.d.ts +2 -0
  41. package/dist/config/__tests__/index.test.d.ts.map +1 -0
  42. package/dist/config/__tests__/index.test.js +113 -0
  43. package/dist/config/__tests__/index.test.js.map +1 -0
  44. package/dist/config/__tests__/loader.test.d.ts +2 -0
  45. package/dist/config/__tests__/loader.test.d.ts.map +1 -0
  46. package/dist/config/__tests__/loader.test.js +128 -0
  47. package/dist/config/__tests__/loader.test.js.map +1 -0
  48. package/dist/config/__tests__/merge.test.d.ts +2 -0
  49. package/dist/config/__tests__/merge.test.d.ts.map +1 -0
  50. package/dist/config/__tests__/merge.test.js +79 -0
  51. package/dist/config/__tests__/merge.test.js.map +1 -0
  52. package/dist/config/__tests__/schema.test.d.ts +2 -0
  53. package/dist/config/__tests__/schema.test.d.ts.map +1 -0
  54. package/dist/config/__tests__/schema.test.js +300 -0
  55. package/dist/config/__tests__/schema.test.js.map +1 -0
  56. package/dist/config/schema.d.ts +178 -4
  57. package/dist/config/schema.d.ts.map +1 -1
  58. package/dist/config/schema.js +109 -7
  59. package/dist/config/schema.js.map +1 -1
  60. package/dist/context-files/context-files.d.ts +72 -0
  61. package/dist/context-files/context-files.d.ts.map +1 -0
  62. package/dist/context-files/context-files.js +145 -0
  63. package/dist/context-files/context-files.js.map +1 -0
  64. package/dist/context-files/index.d.ts +16 -0
  65. package/dist/context-files/index.d.ts.map +1 -0
  66. package/dist/context-files/index.js +14 -0
  67. package/dist/context-files/index.js.map +1 -0
  68. package/dist/context-files/resolver.d.ts +43 -0
  69. package/dist/context-files/resolver.d.ts.map +1 -0
  70. package/dist/context-files/resolver.js +127 -0
  71. package/dist/context-files/resolver.js.map +1 -0
  72. package/dist/context-files/types.d.ts +94 -0
  73. package/dist/context-files/types.d.ts.map +1 -0
  74. package/dist/context-files/types.js +10 -0
  75. package/dist/context-files/types.js.map +1 -0
  76. package/dist/context-files/watcher-integration.d.ts +47 -0
  77. package/dist/context-files/watcher-integration.d.ts.map +1 -0
  78. package/dist/context-files/watcher-integration.js +47 -0
  79. package/dist/context-files/watcher-integration.js.map +1 -0
  80. package/dist/core/__tests__/conditional-redirects.test.d.ts +2 -0
  81. package/dist/core/__tests__/conditional-redirects.test.d.ts.map +1 -0
  82. package/dist/core/__tests__/conditional-redirects.test.js +83 -0
  83. package/dist/core/__tests__/conditional-redirects.test.js.map +1 -0
  84. package/dist/core/__tests__/connections.test.d.ts +2 -0
  85. package/dist/core/__tests__/connections.test.d.ts.map +1 -0
  86. package/dist/core/__tests__/connections.test.js +158 -0
  87. package/dist/core/__tests__/connections.test.js.map +1 -0
  88. package/dist/core/__tests__/hash.test.d.ts +2 -0
  89. package/dist/core/__tests__/hash.test.d.ts.map +1 -0
  90. package/dist/core/__tests__/hash.test.js +139 -0
  91. package/dist/core/__tests__/hash.test.js.map +1 -0
  92. package/dist/core/__tests__/id.test.d.ts +2 -0
  93. package/dist/core/__tests__/id.test.d.ts.map +1 -0
  94. package/dist/core/__tests__/id.test.js +142 -0
  95. package/dist/core/__tests__/id.test.js.map +1 -0
  96. package/dist/core/__tests__/location.test.d.ts +2 -0
  97. package/dist/core/__tests__/location.test.d.ts.map +1 -0
  98. package/dist/core/__tests__/location.test.js +77 -0
  99. package/dist/core/__tests__/location.test.js.map +1 -0
  100. package/dist/core/__tests__/merge-driver.test.d.ts +2 -0
  101. package/dist/core/__tests__/merge-driver.test.d.ts.map +1 -0
  102. package/dist/core/__tests__/merge-driver.test.js +218 -0
  103. package/dist/core/__tests__/merge-driver.test.js.map +1 -0
  104. package/dist/core/__tests__/redirects.test.d.ts +2 -0
  105. package/dist/core/__tests__/redirects.test.d.ts.map +1 -0
  106. package/dist/core/__tests__/redirects.test.js +123 -0
  107. package/dist/core/__tests__/redirects.test.js.map +1 -0
  108. package/dist/core/__tests__/resolve-location-target.test.d.ts +8 -0
  109. package/dist/core/__tests__/resolve-location-target.test.d.ts.map +1 -0
  110. package/dist/core/__tests__/resolve-location-target.test.js +303 -0
  111. package/dist/core/__tests__/resolve-location-target.test.js.map +1 -0
  112. package/dist/core/__tests__/uri.test.d.ts +2 -0
  113. package/dist/core/__tests__/uri.test.d.ts.map +1 -0
  114. package/dist/core/__tests__/uri.test.js +159 -0
  115. package/dist/core/__tests__/uri.test.js.map +1 -0
  116. package/dist/core/__tests__/worktree.test.d.ts +2 -0
  117. package/dist/core/__tests__/worktree.test.d.ts.map +1 -0
  118. package/dist/core/__tests__/worktree.test.js +120 -0
  119. package/dist/core/__tests__/worktree.test.js.map +1 -0
  120. package/dist/core/merge-driver.d.ts +5 -0
  121. package/dist/core/merge-driver.d.ts.map +1 -1
  122. package/dist/core/merge-driver.js +35 -0
  123. package/dist/core/merge-driver.js.map +1 -1
  124. package/dist/daemon/__tests__/flush.test.d.ts +5 -0
  125. package/dist/daemon/__tests__/flush.test.d.ts.map +1 -0
  126. package/dist/daemon/__tests__/flush.test.js +213 -0
  127. package/dist/daemon/__tests__/flush.test.js.map +1 -0
  128. package/dist/daemon/__tests__/integration.test.d.ts +7 -0
  129. package/dist/daemon/__tests__/integration.test.d.ts.map +1 -0
  130. package/dist/daemon/__tests__/integration.test.js +276 -0
  131. package/dist/daemon/__tests__/integration.test.js.map +1 -0
  132. package/dist/daemon/__tests__/ipc.test.d.ts +5 -0
  133. package/dist/daemon/__tests__/ipc.test.d.ts.map +1 -0
  134. package/dist/daemon/__tests__/ipc.test.js +314 -0
  135. package/dist/daemon/__tests__/ipc.test.js.map +1 -0
  136. package/dist/daemon/__tests__/lifecycle.test.d.ts +5 -0
  137. package/dist/daemon/__tests__/lifecycle.test.d.ts.map +1 -0
  138. package/dist/daemon/__tests__/lifecycle.test.js +301 -0
  139. package/dist/daemon/__tests__/lifecycle.test.js.map +1 -0
  140. package/dist/daemon/__tests__/lock.test.d.ts +5 -0
  141. package/dist/daemon/__tests__/lock.test.d.ts.map +1 -0
  142. package/dist/daemon/__tests__/lock.test.js +192 -0
  143. package/dist/daemon/__tests__/lock.test.js.map +1 -0
  144. package/dist/daemon/__tests__/methods/graph.test.d.ts +5 -0
  145. package/dist/daemon/__tests__/methods/graph.test.d.ts.map +1 -0
  146. package/dist/daemon/__tests__/methods/graph.test.js +309 -0
  147. package/dist/daemon/__tests__/methods/graph.test.js.map +1 -0
  148. package/dist/daemon/__tests__/methods/provider.test.d.ts +7 -0
  149. package/dist/daemon/__tests__/methods/provider.test.d.ts.map +1 -0
  150. package/dist/daemon/__tests__/methods/provider.test.js +181 -0
  151. package/dist/daemon/__tests__/methods/provider.test.js.map +1 -0
  152. package/dist/daemon/__tests__/methods/tools.test.d.ts +5 -0
  153. package/dist/daemon/__tests__/methods/tools.test.d.ts.map +1 -0
  154. package/dist/daemon/__tests__/methods/tools.test.js +587 -0
  155. package/dist/daemon/__tests__/methods/tools.test.js.map +1 -0
  156. package/dist/daemon/__tests__/multi-location.test.d.ts +8 -0
  157. package/dist/daemon/__tests__/multi-location.test.d.ts.map +1 -0
  158. package/dist/daemon/__tests__/multi-location.test.js +669 -0
  159. package/dist/daemon/__tests__/multi-location.test.js.map +1 -0
  160. package/dist/daemon/__tests__/registry.test.d.ts +5 -0
  161. package/dist/daemon/__tests__/registry.test.d.ts.map +1 -0
  162. package/dist/daemon/__tests__/registry.test.js +208 -0
  163. package/dist/daemon/__tests__/registry.test.js.map +1 -0
  164. package/dist/daemon/__tests__/watcher.test.d.ts +5 -0
  165. package/dist/daemon/__tests__/watcher.test.d.ts.map +1 -0
  166. package/dist/daemon/__tests__/watcher.test.js +234 -0
  167. package/dist/daemon/__tests__/watcher.test.js.map +1 -0
  168. package/dist/daemon/index.d.ts +6 -4
  169. package/dist/daemon/index.d.ts.map +1 -1
  170. package/dist/daemon/index.js +3 -2
  171. package/dist/daemon/index.js.map +1 -1
  172. package/dist/daemon/ipc.d.ts.map +1 -1
  173. package/dist/daemon/ipc.js +8 -1
  174. package/dist/daemon/ipc.js.map +1 -1
  175. package/dist/daemon/lifecycle.d.ts.map +1 -1
  176. package/dist/daemon/lifecycle.js +138 -25
  177. package/dist/daemon/lifecycle.js.map +1 -1
  178. package/dist/daemon/location-state.d.ts +12 -6
  179. package/dist/daemon/location-state.d.ts.map +1 -1
  180. package/dist/daemon/location-state.js +50 -20
  181. package/dist/daemon/location-state.js.map +1 -1
  182. package/dist/daemon/methods/__tests__/graph.test.d.ts +5 -0
  183. package/dist/daemon/methods/__tests__/graph.test.d.ts.map +1 -0
  184. package/dist/daemon/methods/__tests__/graph.test.js +274 -0
  185. package/dist/daemon/methods/__tests__/graph.test.js.map +1 -0
  186. package/dist/daemon/methods/__tests__/provider.test.d.ts +5 -0
  187. package/dist/daemon/methods/__tests__/provider.test.d.ts.map +1 -0
  188. package/dist/daemon/methods/__tests__/provider.test.js +184 -0
  189. package/dist/daemon/methods/__tests__/provider.test.js.map +1 -0
  190. package/dist/daemon/methods/__tests__/tools.test.d.ts +5 -0
  191. package/dist/daemon/methods/__tests__/tools.test.d.ts.map +1 -0
  192. package/dist/daemon/methods/__tests__/tools.test.js +295 -0
  193. package/dist/daemon/methods/__tests__/tools.test.js.map +1 -0
  194. package/dist/daemon/methods/context-files.d.ts +14 -0
  195. package/dist/daemon/methods/context-files.d.ts.map +1 -0
  196. package/dist/daemon/methods/context-files.js +95 -0
  197. package/dist/daemon/methods/context-files.js.map +1 -0
  198. package/dist/daemon/methods/provider.d.ts.map +1 -1
  199. package/dist/daemon/methods/provider.js +15 -0
  200. package/dist/daemon/methods/provider.js.map +1 -1
  201. package/dist/daemon/methods/tools.d.ts +1 -1
  202. package/dist/daemon/methods/tools.d.ts.map +1 -1
  203. package/dist/daemon/methods/tools.js +3 -2
  204. package/dist/daemon/methods/tools.js.map +1 -1
  205. package/dist/daemon/sessionlog-linker.d.ts +71 -0
  206. package/dist/daemon/sessionlog-linker.d.ts.map +1 -0
  207. package/dist/daemon/sessionlog-linker.js +472 -0
  208. package/dist/daemon/sessionlog-linker.js.map +1 -0
  209. package/dist/daemon/sessionlog-watcher.d.ts +79 -0
  210. package/dist/daemon/sessionlog-watcher.d.ts.map +1 -0
  211. package/dist/daemon/sessionlog-watcher.js +289 -0
  212. package/dist/daemon/sessionlog-watcher.js.map +1 -0
  213. package/dist/graph/__tests__/EdgeTypeRegistry.test.d.ts +2 -0
  214. package/dist/graph/__tests__/EdgeTypeRegistry.test.d.ts.map +1 -0
  215. package/dist/graph/__tests__/EdgeTypeRegistry.test.js +212 -0
  216. package/dist/graph/__tests__/EdgeTypeRegistry.test.js.map +1 -0
  217. package/dist/graph/__tests__/FederatedGraph.test.d.ts +2 -0
  218. package/dist/graph/__tests__/FederatedGraph.test.d.ts.map +1 -0
  219. package/dist/graph/__tests__/FederatedGraph.test.js +661 -0
  220. package/dist/graph/__tests__/FederatedGraph.test.js.map +1 -0
  221. package/dist/graph/__tests__/GraphologyAdapter.test.d.ts +2 -0
  222. package/dist/graph/__tests__/GraphologyAdapter.test.d.ts.map +1 -0
  223. package/dist/graph/__tests__/GraphologyAdapter.test.js +326 -0
  224. package/dist/graph/__tests__/GraphologyAdapter.test.js.map +1 -0
  225. package/dist/graph/__tests__/HydratingFederatedGraph.test.d.ts +2 -0
  226. package/dist/graph/__tests__/HydratingFederatedGraph.test.d.ts.map +1 -0
  227. package/dist/graph/__tests__/HydratingFederatedGraph.test.js +587 -0
  228. package/dist/graph/__tests__/HydratingFederatedGraph.test.js.map +1 -0
  229. package/dist/graph/__tests__/debounce.test.d.ts +5 -0
  230. package/dist/graph/__tests__/debounce.test.d.ts.map +1 -0
  231. package/dist/graph/__tests__/debounce.test.js +195 -0
  232. package/dist/graph/__tests__/debounce.test.js.map +1 -0
  233. package/dist/graph/__tests__/edge-cases.test.d.ts +8 -0
  234. package/dist/graph/__tests__/edge-cases.test.d.ts.map +1 -0
  235. package/dist/graph/__tests__/edge-cases.test.js +472 -0
  236. package/dist/graph/__tests__/edge-cases.test.js.map +1 -0
  237. package/dist/graph/__tests__/expansion.test.d.ts +2 -0
  238. package/dist/graph/__tests__/expansion.test.d.ts.map +1 -0
  239. package/dist/graph/__tests__/expansion.test.js +105 -0
  240. package/dist/graph/__tests__/expansion.test.js.map +1 -0
  241. package/dist/graph/__tests__/provider-store.test.d.ts +5 -0
  242. package/dist/graph/__tests__/provider-store.test.d.ts.map +1 -0
  243. package/dist/graph/__tests__/provider-store.test.js +791 -0
  244. package/dist/graph/__tests__/provider-store.test.js.map +1 -0
  245. package/dist/graph/__tests__/query.test.d.ts +5 -0
  246. package/dist/graph/__tests__/query.test.d.ts.map +1 -0
  247. package/dist/graph/__tests__/query.test.js +774 -0
  248. package/dist/graph/__tests__/query.test.js.map +1 -0
  249. package/dist/graph/__tests__/store.test.d.ts +5 -0
  250. package/dist/graph/__tests__/store.test.d.ts.map +1 -0
  251. package/dist/graph/__tests__/store.test.js +489 -0
  252. package/dist/graph/__tests__/store.test.js.map +1 -0
  253. package/dist/graph/__tests__/sync.test.d.ts +5 -0
  254. package/dist/graph/__tests__/sync.test.d.ts.map +1 -0
  255. package/dist/graph/__tests__/sync.test.js +129 -0
  256. package/dist/graph/__tests__/sync.test.js.map +1 -0
  257. package/dist/graph/__tests__/validation.test.d.ts +2 -0
  258. package/dist/graph/__tests__/validation.test.d.ts.map +1 -0
  259. package/dist/graph/__tests__/validation.test.js +521 -0
  260. package/dist/graph/__tests__/validation.test.js.map +1 -0
  261. package/dist/graph/index.d.ts +1 -1
  262. package/dist/graph/index.d.ts.map +1 -1
  263. package/dist/graph/index.js.map +1 -1
  264. package/dist/graph/provider-store.d.ts +78 -4
  265. package/dist/graph/provider-store.d.ts.map +1 -1
  266. package/dist/graph/provider-store.js +579 -55
  267. package/dist/graph/provider-store.js.map +1 -1
  268. package/dist/graph/store.d.ts.map +1 -1
  269. package/dist/graph/store.js +3 -0
  270. package/dist/graph/store.js.map +1 -1
  271. package/dist/graph/types.d.ts +16 -0
  272. package/dist/graph/types.d.ts.map +1 -1
  273. package/dist/graph/types.js.map +1 -1
  274. package/dist/index.d.ts +4 -2
  275. package/dist/index.d.ts.map +1 -1
  276. package/dist/index.js +9 -3
  277. package/dist/index.js.map +1 -1
  278. package/dist/materialization/git-archive-store.js +2 -2
  279. package/dist/materialization/git-archive-store.js.map +1 -1
  280. package/dist/materialization/git-remote-store.js +2 -2
  281. package/dist/materialization/git-remote-store.js.map +1 -1
  282. package/dist/materialization/snapshot.js +4 -4
  283. package/dist/materialization/snapshot.js.map +1 -1
  284. package/dist/mcp/index.d.ts +8 -0
  285. package/dist/mcp/index.d.ts.map +1 -0
  286. package/dist/mcp/index.js +8 -0
  287. package/dist/mcp/index.js.map +1 -0
  288. package/dist/mcp/server.d.ts +39 -0
  289. package/dist/mcp/server.d.ts.map +1 -0
  290. package/dist/mcp/server.js +677 -0
  291. package/dist/mcp/server.js.map +1 -0
  292. package/dist/mcp/stdio.d.ts +14 -0
  293. package/dist/mcp/stdio.d.ts.map +1 -0
  294. package/dist/mcp/stdio.js +19 -0
  295. package/dist/mcp/stdio.js.map +1 -0
  296. package/dist/providers/__tests__/beads.test.d.ts +5 -0
  297. package/dist/providers/__tests__/beads.test.d.ts.map +1 -0
  298. package/dist/providers/__tests__/beads.test.js +591 -0
  299. package/dist/providers/__tests__/beads.test.js.map +1 -0
  300. package/dist/providers/__tests__/claude-tasks.test.d.ts +5 -0
  301. package/dist/providers/__tests__/claude-tasks.test.d.ts.map +1 -0
  302. package/dist/providers/__tests__/claude-tasks.test.js +392 -0
  303. package/dist/providers/__tests__/claude-tasks.test.js.map +1 -0
  304. package/dist/providers/__tests__/from-config.test.d.ts +5 -0
  305. package/dist/providers/__tests__/from-config.test.d.ts.map +1 -0
  306. package/dist/providers/__tests__/from-config.test.js +152 -0
  307. package/dist/providers/__tests__/from-config.test.js.map +1 -0
  308. package/dist/providers/__tests__/materialization.test.d.ts +5 -0
  309. package/dist/providers/__tests__/materialization.test.d.ts.map +1 -0
  310. package/dist/providers/__tests__/materialization.test.js +407 -0
  311. package/dist/providers/__tests__/materialization.test.js.map +1 -0
  312. package/dist/providers/__tests__/native.test.d.ts +5 -0
  313. package/dist/providers/__tests__/native.test.d.ts.map +1 -0
  314. package/dist/providers/__tests__/native.test.js +566 -0
  315. package/dist/providers/__tests__/native.test.js.map +1 -0
  316. package/dist/providers/__tests__/registry.test.d.ts +5 -0
  317. package/dist/providers/__tests__/registry.test.d.ts.map +1 -0
  318. package/dist/providers/__tests__/registry.test.js +183 -0
  319. package/dist/providers/__tests__/registry.test.js.map +1 -0
  320. package/dist/providers/beads.d.ts.map +1 -1
  321. package/dist/providers/beads.js +17 -1
  322. package/dist/providers/beads.js.map +1 -1
  323. package/dist/providers/claude-tasks-fs.d.ts +22 -0
  324. package/dist/providers/claude-tasks-fs.d.ts.map +1 -0
  325. package/dist/providers/claude-tasks-fs.js +158 -0
  326. package/dist/providers/claude-tasks-fs.js.map +1 -0
  327. package/dist/providers/claude-tasks.d.ts +13 -4
  328. package/dist/providers/claude-tasks.d.ts.map +1 -1
  329. package/dist/providers/claude-tasks.js +318 -5
  330. package/dist/providers/claude-tasks.js.map +1 -1
  331. package/dist/providers/from-config.d.ts.map +1 -1
  332. package/dist/providers/from-config.js +35 -17
  333. package/dist/providers/from-config.js.map +1 -1
  334. package/dist/providers/global.d.ts.map +1 -1
  335. package/dist/providers/global.js +5 -0
  336. package/dist/providers/global.js.map +1 -1
  337. package/dist/providers/index.d.ts +6 -4
  338. package/dist/providers/index.d.ts.map +1 -1
  339. package/dist/providers/index.js +4 -3
  340. package/dist/providers/index.js.map +1 -1
  341. package/dist/providers/map.d.ts.map +1 -1
  342. package/dist/providers/map.js +5 -0
  343. package/dist/providers/map.js.map +1 -1
  344. package/dist/providers/materialization.d.ts +23 -5
  345. package/dist/providers/materialization.d.ts.map +1 -1
  346. package/dist/providers/materialization.js +95 -4
  347. package/dist/providers/materialization.js.map +1 -1
  348. package/dist/providers/native.d.ts.map +1 -1
  349. package/dist/providers/native.js +5 -0
  350. package/dist/providers/native.js.map +1 -1
  351. package/dist/providers/sessionlog.d.ts +81 -0
  352. package/dist/providers/sessionlog.d.ts.map +1 -0
  353. package/dist/providers/sessionlog.js +478 -0
  354. package/dist/providers/sessionlog.js.map +1 -0
  355. package/dist/providers/sudocode.d.ts.map +1 -1
  356. package/dist/providers/sudocode.js +17 -1
  357. package/dist/providers/sudocode.js.map +1 -1
  358. package/dist/providers/traits/Reconcilable.d.ts +57 -0
  359. package/dist/providers/traits/Reconcilable.d.ts.map +1 -0
  360. package/dist/providers/traits/Reconcilable.js +18 -0
  361. package/dist/providers/traits/Reconcilable.js.map +1 -0
  362. package/dist/providers/traits/__tests__/RelationshipQueryable.test.d.ts +2 -0
  363. package/dist/providers/traits/__tests__/RelationshipQueryable.test.d.ts.map +1 -0
  364. package/dist/providers/traits/__tests__/RelationshipQueryable.test.js +169 -0
  365. package/dist/providers/traits/__tests__/RelationshipQueryable.test.js.map +1 -0
  366. package/dist/providers/traits/__tests__/TaskManageable.test.d.ts +2 -0
  367. package/dist/providers/traits/__tests__/TaskManageable.test.d.ts.map +1 -0
  368. package/dist/providers/traits/__tests__/TaskManageable.test.js +172 -0
  369. package/dist/providers/traits/__tests__/TaskManageable.test.js.map +1 -0
  370. package/dist/providers/traits/index.d.ts +2 -0
  371. package/dist/providers/traits/index.d.ts.map +1 -1
  372. package/dist/providers/traits/index.js +1 -0
  373. package/dist/providers/traits/index.js.map +1 -1
  374. package/dist/providers/types.d.ts +63 -0
  375. package/dist/providers/types.d.ts.map +1 -1
  376. package/dist/providers/types.js +22 -0
  377. package/dist/providers/types.js.map +1 -1
  378. package/dist/schema/__tests__/validation.test.d.ts +2 -0
  379. package/dist/schema/__tests__/validation.test.d.ts.map +1 -0
  380. package/dist/schema/__tests__/validation.test.js +241 -0
  381. package/dist/schema/__tests__/validation.test.js.map +1 -0
  382. package/dist/schema/edges.d.ts +3 -3
  383. package/dist/schema/edges.d.ts.map +1 -1
  384. package/dist/sessionlog/agent/agents/claude-code.d.ts +76 -0
  385. package/dist/sessionlog/agent/agents/claude-code.d.ts.map +1 -0
  386. package/dist/sessionlog/agent/agents/claude-code.js +759 -0
  387. package/dist/sessionlog/agent/agents/claude-code.js.map +1 -0
  388. package/dist/sessionlog/agent/agents/cursor.d.ts +35 -0
  389. package/dist/sessionlog/agent/agents/cursor.d.ts.map +1 -0
  390. package/dist/sessionlog/agent/agents/cursor.js +294 -0
  391. package/dist/sessionlog/agent/agents/cursor.js.map +1 -0
  392. package/dist/sessionlog/agent/agents/gemini-cli.d.ts +62 -0
  393. package/dist/sessionlog/agent/agents/gemini-cli.d.ts.map +1 -0
  394. package/dist/sessionlog/agent/agents/gemini-cli.js +462 -0
  395. package/dist/sessionlog/agent/agents/gemini-cli.js.map +1 -0
  396. package/dist/sessionlog/agent/agents/opencode.d.ts +100 -0
  397. package/dist/sessionlog/agent/agents/opencode.d.ts.map +1 -0
  398. package/dist/sessionlog/agent/agents/opencode.js +423 -0
  399. package/dist/sessionlog/agent/agents/opencode.js.map +1 -0
  400. package/dist/sessionlog/agent/registry.d.ts +54 -0
  401. package/dist/sessionlog/agent/registry.d.ts.map +1 -0
  402. package/dist/sessionlog/agent/registry.js +123 -0
  403. package/dist/sessionlog/agent/registry.js.map +1 -0
  404. package/dist/sessionlog/agent/session-types.d.ts +45 -0
  405. package/dist/sessionlog/agent/session-types.d.ts.map +1 -0
  406. package/dist/sessionlog/agent/session-types.js +50 -0
  407. package/dist/sessionlog/agent/session-types.js.map +1 -0
  408. package/dist/sessionlog/agent/types.d.ts +126 -0
  409. package/dist/sessionlog/agent/types.d.ts.map +1 -0
  410. package/dist/sessionlog/agent/types.js +39 -0
  411. package/dist/sessionlog/agent/types.js.map +1 -0
  412. package/dist/sessionlog/commands/clean.d.ts +40 -0
  413. package/dist/sessionlog/commands/clean.d.ts.map +1 -0
  414. package/dist/sessionlog/commands/clean.js +105 -0
  415. package/dist/sessionlog/commands/clean.js.map +1 -0
  416. package/dist/sessionlog/commands/disable.d.ts +23 -0
  417. package/dist/sessionlog/commands/disable.d.ts.map +1 -0
  418. package/dist/sessionlog/commands/disable.js +57 -0
  419. package/dist/sessionlog/commands/disable.js.map +1 -0
  420. package/dist/sessionlog/commands/doctor.d.ts +43 -0
  421. package/dist/sessionlog/commands/doctor.d.ts.map +1 -0
  422. package/dist/sessionlog/commands/doctor.js +97 -0
  423. package/dist/sessionlog/commands/doctor.js.map +1 -0
  424. package/dist/sessionlog/commands/enable.d.ts +31 -0
  425. package/dist/sessionlog/commands/enable.d.ts.map +1 -0
  426. package/dist/sessionlog/commands/enable.js +102 -0
  427. package/dist/sessionlog/commands/enable.js.map +1 -0
  428. package/dist/sessionlog/commands/explain.d.ts +69 -0
  429. package/dist/sessionlog/commands/explain.d.ts.map +1 -0
  430. package/dist/sessionlog/commands/explain.js +185 -0
  431. package/dist/sessionlog/commands/explain.js.map +1 -0
  432. package/dist/sessionlog/commands/reset.d.ts +23 -0
  433. package/dist/sessionlog/commands/reset.d.ts.map +1 -0
  434. package/dist/sessionlog/commands/reset.js +68 -0
  435. package/dist/sessionlog/commands/reset.js.map +1 -0
  436. package/dist/sessionlog/commands/resume.d.ts +42 -0
  437. package/dist/sessionlog/commands/resume.d.ts.map +1 -0
  438. package/dist/sessionlog/commands/resume.js +134 -0
  439. package/dist/sessionlog/commands/resume.js.map +1 -0
  440. package/dist/sessionlog/commands/rewind.d.ts +40 -0
  441. package/dist/sessionlog/commands/rewind.d.ts.map +1 -0
  442. package/dist/sessionlog/commands/rewind.js +155 -0
  443. package/dist/sessionlog/commands/rewind.js.map +1 -0
  444. package/dist/sessionlog/commands/status.d.ts +54 -0
  445. package/dist/sessionlog/commands/status.d.ts.map +1 -0
  446. package/dist/sessionlog/commands/status.js +95 -0
  447. package/dist/sessionlog/commands/status.js.map +1 -0
  448. package/dist/sessionlog/config.d.ts +40 -0
  449. package/dist/sessionlog/config.d.ts.map +1 -0
  450. package/dist/sessionlog/config.js +126 -0
  451. package/dist/sessionlog/config.js.map +1 -0
  452. package/dist/sessionlog/git-operations.d.ts +173 -0
  453. package/dist/sessionlog/git-operations.d.ts.map +1 -0
  454. package/dist/sessionlog/git-operations.js +399 -0
  455. package/dist/sessionlog/git-operations.js.map +1 -0
  456. package/dist/sessionlog/hooks/git-hooks.d.ts +22 -0
  457. package/dist/sessionlog/hooks/git-hooks.d.ts.map +1 -0
  458. package/dist/sessionlog/hooks/git-hooks.js +145 -0
  459. package/dist/sessionlog/hooks/git-hooks.js.map +1 -0
  460. package/dist/sessionlog/hooks/lifecycle.d.ts +21 -0
  461. package/dist/sessionlog/hooks/lifecycle.d.ts.map +1 -0
  462. package/dist/sessionlog/hooks/lifecycle.js +179 -0
  463. package/dist/sessionlog/hooks/lifecycle.js.map +1 -0
  464. package/dist/sessionlog/index.d.ts +69 -0
  465. package/dist/sessionlog/index.d.ts.map +1 -0
  466. package/dist/sessionlog/index.js +154 -0
  467. package/dist/sessionlog/index.js.map +1 -0
  468. package/dist/sessionlog/security/redaction.d.ts +35 -0
  469. package/dist/sessionlog/security/redaction.d.ts.map +1 -0
  470. package/dist/sessionlog/security/redaction.js +221 -0
  471. package/dist/sessionlog/security/redaction.js.map +1 -0
  472. package/dist/sessionlog/session/state-machine.d.ts +90 -0
  473. package/dist/sessionlog/session/state-machine.d.ts.map +1 -0
  474. package/dist/sessionlog/session/state-machine.js +347 -0
  475. package/dist/sessionlog/session/state-machine.js.map +1 -0
  476. package/dist/sessionlog/store/checkpoint-store.d.ts +47 -0
  477. package/dist/sessionlog/store/checkpoint-store.d.ts.map +1 -0
  478. package/dist/sessionlog/store/checkpoint-store.js +309 -0
  479. package/dist/sessionlog/store/checkpoint-store.js.map +1 -0
  480. package/dist/sessionlog/store/native-store.d.ts +21 -0
  481. package/dist/sessionlog/store/native-store.d.ts.map +1 -0
  482. package/dist/sessionlog/store/native-store.js +162 -0
  483. package/dist/sessionlog/store/native-store.js.map +1 -0
  484. package/dist/sessionlog/store/provider-types.d.ts +78 -0
  485. package/dist/sessionlog/store/provider-types.d.ts.map +1 -0
  486. package/dist/sessionlog/store/provider-types.js +12 -0
  487. package/dist/sessionlog/store/provider-types.js.map +1 -0
  488. package/dist/sessionlog/store/session-store.d.ts +28 -0
  489. package/dist/sessionlog/store/session-store.d.ts.map +1 -0
  490. package/dist/sessionlog/store/session-store.js +187 -0
  491. package/dist/sessionlog/store/session-store.js.map +1 -0
  492. package/dist/sessionlog/strategy/attribution.d.ts +39 -0
  493. package/dist/sessionlog/strategy/attribution.d.ts.map +1 -0
  494. package/dist/sessionlog/strategy/attribution.js +227 -0
  495. package/dist/sessionlog/strategy/attribution.js.map +1 -0
  496. package/dist/sessionlog/strategy/common.d.ts +60 -0
  497. package/dist/sessionlog/strategy/common.d.ts.map +1 -0
  498. package/dist/sessionlog/strategy/common.js +162 -0
  499. package/dist/sessionlog/strategy/common.js.map +1 -0
  500. package/dist/sessionlog/strategy/content-overlap.d.ts +33 -0
  501. package/dist/sessionlog/strategy/content-overlap.d.ts.map +1 -0
  502. package/dist/sessionlog/strategy/content-overlap.js +168 -0
  503. package/dist/sessionlog/strategy/content-overlap.js.map +1 -0
  504. package/dist/sessionlog/strategy/manual-commit.d.ts +35 -0
  505. package/dist/sessionlog/strategy/manual-commit.d.ts.map +1 -0
  506. package/dist/sessionlog/strategy/manual-commit.js +732 -0
  507. package/dist/sessionlog/strategy/manual-commit.js.map +1 -0
  508. package/dist/sessionlog/strategy/types.d.ts +163 -0
  509. package/dist/sessionlog/strategy/types.d.ts.map +1 -0
  510. package/dist/sessionlog/strategy/types.js +49 -0
  511. package/dist/sessionlog/strategy/types.js.map +1 -0
  512. package/dist/sessionlog/summarize/claude-generator.d.ts +25 -0
  513. package/dist/sessionlog/summarize/claude-generator.d.ts.map +1 -0
  514. package/dist/sessionlog/summarize/claude-generator.js +87 -0
  515. package/dist/sessionlog/summarize/claude-generator.js.map +1 -0
  516. package/dist/sessionlog/summarize/summarize.d.ts +52 -0
  517. package/dist/sessionlog/summarize/summarize.d.ts.map +1 -0
  518. package/dist/sessionlog/summarize/summarize.js +335 -0
  519. package/dist/sessionlog/summarize/summarize.js.map +1 -0
  520. package/dist/sessionlog/types.d.ts +298 -0
  521. package/dist/sessionlog/types.d.ts.map +1 -0
  522. package/dist/sessionlog/types.js +104 -0
  523. package/dist/sessionlog/types.js.map +1 -0
  524. package/dist/sessionlog/utils/chunk-files.d.ts +25 -0
  525. package/dist/sessionlog/utils/chunk-files.d.ts.map +1 -0
  526. package/dist/sessionlog/utils/chunk-files.js +47 -0
  527. package/dist/sessionlog/utils/chunk-files.js.map +1 -0
  528. package/dist/sessionlog/utils/commit-message.d.ts +11 -0
  529. package/dist/sessionlog/utils/commit-message.d.ts.map +1 -0
  530. package/dist/sessionlog/utils/commit-message.js +54 -0
  531. package/dist/sessionlog/utils/commit-message.js.map +1 -0
  532. package/dist/sessionlog/utils/detect-agent.d.ts +19 -0
  533. package/dist/sessionlog/utils/detect-agent.d.ts.map +1 -0
  534. package/dist/sessionlog/utils/detect-agent.js +34 -0
  535. package/dist/sessionlog/utils/detect-agent.js.map +1 -0
  536. package/dist/sessionlog/utils/hook-managers.d.ts +24 -0
  537. package/dist/sessionlog/utils/hook-managers.d.ts.map +1 -0
  538. package/dist/sessionlog/utils/hook-managers.js +87 -0
  539. package/dist/sessionlog/utils/hook-managers.js.map +1 -0
  540. package/dist/sessionlog/utils/ide-tags.d.ts +12 -0
  541. package/dist/sessionlog/utils/ide-tags.d.ts.map +1 -0
  542. package/dist/sessionlog/utils/ide-tags.js +30 -0
  543. package/dist/sessionlog/utils/ide-tags.js.map +1 -0
  544. package/dist/sessionlog/utils/paths.d.ts +32 -0
  545. package/dist/sessionlog/utils/paths.d.ts.map +1 -0
  546. package/dist/sessionlog/utils/paths.js +55 -0
  547. package/dist/sessionlog/utils/paths.js.map +1 -0
  548. package/dist/sessionlog/utils/preview-rewind.d.ts +23 -0
  549. package/dist/sessionlog/utils/preview-rewind.d.ts.map +1 -0
  550. package/dist/sessionlog/utils/preview-rewind.js +63 -0
  551. package/dist/sessionlog/utils/preview-rewind.js.map +1 -0
  552. package/dist/sessionlog/utils/rewind-conflict.d.ts +52 -0
  553. package/dist/sessionlog/utils/rewind-conflict.d.ts.map +1 -0
  554. package/dist/sessionlog/utils/rewind-conflict.js +79 -0
  555. package/dist/sessionlog/utils/rewind-conflict.js.map +1 -0
  556. package/dist/sessionlog/utils/shadow-branch.d.ts +53 -0
  557. package/dist/sessionlog/utils/shadow-branch.d.ts.map +1 -0
  558. package/dist/sessionlog/utils/shadow-branch.js +97 -0
  559. package/dist/sessionlog/utils/shadow-branch.js.map +1 -0
  560. package/dist/sessionlog/utils/string-utils.d.ts +24 -0
  561. package/dist/sessionlog/utils/string-utils.d.ts.map +1 -0
  562. package/dist/sessionlog/utils/string-utils.js +47 -0
  563. package/dist/sessionlog/utils/string-utils.js.map +1 -0
  564. package/dist/sessionlog/utils/todo-extract.d.ts +52 -0
  565. package/dist/sessionlog/utils/todo-extract.d.ts.map +1 -0
  566. package/dist/sessionlog/utils/todo-extract.js +167 -0
  567. package/dist/sessionlog/utils/todo-extract.js.map +1 -0
  568. package/dist/sessionlog/utils/trailers.d.ts +36 -0
  569. package/dist/sessionlog/utils/trailers.d.ts.map +1 -0
  570. package/dist/sessionlog/utils/trailers.js +149 -0
  571. package/dist/sessionlog/utils/trailers.js.map +1 -0
  572. package/dist/sessionlog/utils/transcript-parse.d.ts +57 -0
  573. package/dist/sessionlog/utils/transcript-parse.d.ts.map +1 -0
  574. package/dist/sessionlog/utils/transcript-parse.js +126 -0
  575. package/dist/sessionlog/utils/transcript-parse.js.map +1 -0
  576. package/dist/sessionlog/utils/transcript-timestamp.d.ts +22 -0
  577. package/dist/sessionlog/utils/transcript-timestamp.d.ts.map +1 -0
  578. package/dist/sessionlog/utils/transcript-timestamp.js +56 -0
  579. package/dist/sessionlog/utils/transcript-timestamp.js.map +1 -0
  580. package/dist/sessionlog/utils/tree-ops.d.ts +47 -0
  581. package/dist/sessionlog/utils/tree-ops.d.ts.map +1 -0
  582. package/dist/sessionlog/utils/tree-ops.js +145 -0
  583. package/dist/sessionlog/utils/tree-ops.js.map +1 -0
  584. package/dist/sessionlog/utils/tty.d.ts +25 -0
  585. package/dist/sessionlog/utils/tty.d.ts.map +1 -0
  586. package/dist/sessionlog/utils/tty.js +70 -0
  587. package/dist/sessionlog/utils/tty.js.map +1 -0
  588. package/dist/sessionlog/utils/validation.d.ts +31 -0
  589. package/dist/sessionlog/utils/validation.d.ts.map +1 -0
  590. package/dist/sessionlog/utils/validation.js +59 -0
  591. package/dist/sessionlog/utils/validation.js.map +1 -0
  592. package/dist/sessionlog/utils/worktree.d.ts +16 -0
  593. package/dist/sessionlog/utils/worktree.d.ts.map +1 -0
  594. package/dist/sessionlog/utils/worktree.js +50 -0
  595. package/dist/sessionlog/utils/worktree.js.map +1 -0
  596. package/dist/storage/__tests__/atomic-write.test.d.ts +5 -0
  597. package/dist/storage/__tests__/atomic-write.test.d.ts.map +1 -0
  598. package/dist/storage/__tests__/atomic-write.test.js +170 -0
  599. package/dist/storage/__tests__/atomic-write.test.js.map +1 -0
  600. package/dist/storage/__tests__/file-lock.test.d.ts +2 -0
  601. package/dist/storage/__tests__/file-lock.test.d.ts.map +1 -0
  602. package/dist/storage/__tests__/file-lock.test.js +89 -0
  603. package/dist/storage/__tests__/file-lock.test.js.map +1 -0
  604. package/dist/storage/__tests__/jsonl.test.d.ts +2 -0
  605. package/dist/storage/__tests__/jsonl.test.d.ts.map +1 -0
  606. package/dist/storage/__tests__/jsonl.test.js +228 -0
  607. package/dist/storage/__tests__/jsonl.test.js.map +1 -0
  608. package/dist/storage/__tests__/locked-writer.test.d.ts +2 -0
  609. package/dist/storage/__tests__/locked-writer.test.d.ts.map +1 -0
  610. package/dist/storage/__tests__/locked-writer.test.js +109 -0
  611. package/dist/storage/__tests__/locked-writer.test.js.map +1 -0
  612. package/dist/storage/__tests__/sqlite.test.d.ts +2 -0
  613. package/dist/storage/__tests__/sqlite.test.d.ts.map +1 -0
  614. package/dist/storage/__tests__/sqlite.test.js +470 -0
  615. package/dist/storage/__tests__/sqlite.test.js.map +1 -0
  616. package/dist/storage/sqlite-schema.d.ts.map +1 -1
  617. package/dist/storage/sqlite-schema.js +2 -0
  618. package/dist/storage/sqlite-schema.js.map +1 -1
  619. package/dist/storage/sqlite.d.ts.map +1 -1
  620. package/dist/storage/sqlite.js +18 -4
  621. package/dist/storage/sqlite.js.map +1 -1
  622. package/dist/tools/__tests__/annotate.test.d.ts +5 -0
  623. package/dist/tools/__tests__/annotate.test.d.ts.map +1 -0
  624. package/dist/tools/__tests__/annotate.test.js +314 -0
  625. package/dist/tools/__tests__/annotate.test.js.map +1 -0
  626. package/dist/tools/__tests__/link.test.d.ts +5 -0
  627. package/dist/tools/__tests__/link.test.d.ts.map +1 -0
  628. package/dist/tools/__tests__/link.test.js +245 -0
  629. package/dist/tools/__tests__/link.test.js.map +1 -0
  630. package/dist/tools/__tests__/query.test.d.ts +5 -0
  631. package/dist/tools/__tests__/query.test.d.ts.map +1 -0
  632. package/dist/tools/__tests__/query.test.js +288 -0
  633. package/dist/tools/__tests__/query.test.js.map +1 -0
  634. package/dist/tools/__tests__/task.test.d.ts +5 -0
  635. package/dist/tools/__tests__/task.test.d.ts.map +1 -0
  636. package/dist/tools/__tests__/task.test.js +178 -0
  637. package/dist/tools/__tests__/task.test.js.map +1 -0
  638. package/dist/tools/index.d.ts +1 -1
  639. package/dist/tools/index.d.ts.map +1 -1
  640. package/dist/tools/index.js.map +1 -1
  641. package/dist/tools/query.d.ts +2 -1
  642. package/dist/tools/query.d.ts.map +1 -1
  643. package/dist/tools/query.js +217 -7
  644. package/dist/tools/query.js.map +1 -1
  645. package/dist/tools/types.d.ts +57 -0
  646. package/dist/tools/types.d.ts.map +1 -1
  647. package/dist/tools/types.js.map +1 -1
  648. package/dist/tracking/claude-task-reconstructor.d.ts +41 -0
  649. package/dist/tracking/claude-task-reconstructor.d.ts.map +1 -0
  650. package/dist/tracking/claude-task-reconstructor.js +91 -0
  651. package/dist/tracking/claude-task-reconstructor.js.map +1 -0
  652. package/dist/tracking/plan-mode-tracker.d.ts +20 -0
  653. package/dist/tracking/plan-mode-tracker.d.ts.map +1 -0
  654. package/dist/tracking/plan-mode-tracker.js +35 -0
  655. package/dist/tracking/plan-mode-tracker.js.map +1 -0
  656. package/dist/tracking/transcript-extractor.d.ts +3 -3
  657. package/dist/tracking/transcript-extractor.d.ts.map +1 -1
  658. package/dist/tracking/transcript-extractor.js +1 -1
  659. package/dist/tracking/transcript-extractor.js.map +1 -1
  660. package/package.json +3 -1
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Tests for Task Tool
3
+ */
4
+ import { describe, it, expect, beforeEach, vi } from 'vitest';
5
+ import { task } from '../task.js';
6
+ describe('task tool', () => {
7
+ let mockStore;
8
+ const sampleNode = {
9
+ id: 'x-task1',
10
+ uuid: 'uuid-1',
11
+ type: 'external',
12
+ title: 'Test Task',
13
+ priority: 1,
14
+ archived: false,
15
+ uri: 'beads://x-task1',
16
+ source: 'beads',
17
+ materialized: true,
18
+ created_at: '2024-01-01T00:00:00Z',
19
+ updated_at: '2024-01-01T00:00:00Z',
20
+ };
21
+ beforeEach(() => {
22
+ mockStore = {
23
+ taskTransition: vi.fn().mockResolvedValue({
24
+ node: { ...sampleNode, title: 'Started Task' },
25
+ provider: 'beads',
26
+ action: 'start',
27
+ }),
28
+ taskReady: vi.fn().mockResolvedValue([sampleNode]),
29
+ taskAssign: vi.fn().mockResolvedValue(sampleNode),
30
+ taskValidActions: vi.fn().mockResolvedValue(['start', 'complete', 'close']),
31
+ };
32
+ });
33
+ describe('operation validation', () => {
34
+ it('should error when no operation specified', async () => {
35
+ const result = await task(mockStore, {});
36
+ expect(result.success).toBe(false);
37
+ expect(result.error).toContain('No operation specified');
38
+ });
39
+ it('should error when multiple operations specified', async () => {
40
+ const result = await task(mockStore, {
41
+ transition: { id: 'x-task1', action: 'start' },
42
+ ready: {},
43
+ });
44
+ expect(result.success).toBe(false);
45
+ expect(result.error).toContain('Multiple operations');
46
+ });
47
+ });
48
+ describe('transition', () => {
49
+ it('should transition a task', async () => {
50
+ const result = await task(mockStore, {
51
+ transition: { id: 'x-task1', action: 'start' },
52
+ });
53
+ expect(result.success).toBe(true);
54
+ expect(result.data).toBeDefined();
55
+ expect(result.data.type).toBe('transition');
56
+ if (result.data.type === 'transition') {
57
+ expect(result.data.provider).toBe('beads');
58
+ expect(result.data.action).toBe('start');
59
+ expect(result.data.node.id).toBe('x-task1');
60
+ }
61
+ expect(mockStore.taskTransition).toHaveBeenCalledWith('x-task1', 'start');
62
+ });
63
+ it('should reject invalid action', async () => {
64
+ const result = await task(mockStore, {
65
+ transition: { id: 'x-task1', action: 'invalid' },
66
+ });
67
+ expect(result.success).toBe(false);
68
+ expect(result.error).toContain('Invalid action');
69
+ });
70
+ it('should require id', async () => {
71
+ const result = await task(mockStore, {
72
+ transition: { id: '', action: 'start' },
73
+ });
74
+ expect(result.success).toBe(false);
75
+ expect(result.error).toContain('Missing required parameter: id');
76
+ });
77
+ it('should handle provider errors gracefully', async () => {
78
+ vi.mocked(mockStore.taskTransition).mockRejectedValue(new Error('Provider beads does not support task operations'));
79
+ const result = await task(mockStore, {
80
+ transition: { id: 'x-task1', action: 'start' },
81
+ });
82
+ expect(result.success).toBe(false);
83
+ expect(result.error).toContain('does not support task operations');
84
+ });
85
+ it('should support all valid actions', async () => {
86
+ for (const action of ['start', 'complete', 'block', 'reopen', 'close']) {
87
+ vi.mocked(mockStore.taskTransition).mockResolvedValue({
88
+ node: sampleNode,
89
+ provider: 'beads',
90
+ action,
91
+ });
92
+ const result = await task(mockStore, {
93
+ transition: { id: 'x-task1', action },
94
+ });
95
+ expect(result.success).toBe(true);
96
+ }
97
+ });
98
+ });
99
+ describe('ready', () => {
100
+ it('should return ready tasks', async () => {
101
+ const result = await task(mockStore, { ready: {} });
102
+ expect(result.success).toBe(true);
103
+ expect(result.data).toBeDefined();
104
+ expect(result.data.type).toBe('ready');
105
+ if (result.data.type === 'ready') {
106
+ expect(result.data.items).toHaveLength(1);
107
+ expect(result.data.items[0].id).toBe('x-task1');
108
+ expect(result.data.total).toBe(1);
109
+ }
110
+ });
111
+ it('should forward filter options', async () => {
112
+ await task(mockStore, {
113
+ ready: { providers: ['beads'], limit: 5, tags: ['urgent'] },
114
+ });
115
+ expect(mockStore.taskReady).toHaveBeenCalledWith({
116
+ providers: ['beads'],
117
+ limit: 5,
118
+ tags: ['urgent'],
119
+ priority: undefined,
120
+ assignee: undefined,
121
+ });
122
+ });
123
+ it('should return empty list when no ready tasks', async () => {
124
+ vi.mocked(mockStore.taskReady).mockResolvedValue([]);
125
+ const result = await task(mockStore, { ready: {} });
126
+ expect(result.success).toBe(true);
127
+ if (result.data.type === 'ready') {
128
+ expect(result.data.items).toHaveLength(0);
129
+ expect(result.data.total).toBe(0);
130
+ }
131
+ });
132
+ });
133
+ describe('assign', () => {
134
+ it('should assign a task', async () => {
135
+ const result = await task(mockStore, {
136
+ assign: { id: 'x-task1', assignee: 'alice' },
137
+ });
138
+ expect(result.success).toBe(true);
139
+ expect(result.data.type).toBe('assign');
140
+ expect(mockStore.taskAssign).toHaveBeenCalledWith('x-task1', 'alice');
141
+ });
142
+ it('should require id', async () => {
143
+ const result = await task(mockStore, {
144
+ assign: { id: '', assignee: 'alice' },
145
+ });
146
+ expect(result.success).toBe(false);
147
+ expect(result.error).toContain('Missing required parameter: id');
148
+ });
149
+ it('should require assignee', async () => {
150
+ const result = await task(mockStore, {
151
+ assign: { id: 'x-task1', assignee: '' },
152
+ });
153
+ expect(result.success).toBe(false);
154
+ expect(result.error).toContain('Missing required parameter: assignee');
155
+ });
156
+ });
157
+ describe('validActions', () => {
158
+ it('should return valid actions', async () => {
159
+ const result = await task(mockStore, {
160
+ validActions: { id: 'x-task1' },
161
+ });
162
+ expect(result.success).toBe(true);
163
+ expect(result.data.type).toBe('validActions');
164
+ if (result.data.type === 'validActions') {
165
+ expect(result.data.actions).toEqual(['start', 'complete', 'close']);
166
+ }
167
+ expect(mockStore.taskValidActions).toHaveBeenCalledWith('x-task1');
168
+ });
169
+ it('should require id', async () => {
170
+ const result = await task(mockStore, {
171
+ validActions: { id: '' },
172
+ });
173
+ expect(result.success).toBe(false);
174
+ expect(result.error).toContain('Missing required parameter: id');
175
+ });
176
+ });
177
+ });
178
+ //# sourceMappingURL=task.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/task.test.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * @packageDocumentation
7
7
  */
8
- export type { LinkParams, LinkResult, QueryParams, QueryResult, NodeSummary, EdgeSummary, FeedbackSummary, BlockerQueryParams, FeedbackQueryParams, AnnotateParams, AnnotateResult, CreateFeedbackParams, FeedbackAnchor, FeedbackType, TaskParams, TaskResult, TaskTransitionData, TaskReadyData, TaskAssignData, TaskValidActionsData, EdgeType, NodeType, Node, Edge, NodeFilter, EdgeFilter, ReadyOptions, BlockerOptions, FeedbackOptions, OperationContext, ToolErrorCode, } from './types.js';
8
+ export type { LinkParams, LinkResult, QueryParams, QueryResult, NodeSummary, EdgeSummary, FeedbackSummary, BlockerQueryParams, FeedbackQueryParams, AnnotateParams, AnnotateResult, CreateFeedbackParams, FeedbackAnchor, FeedbackType, TaskParams, TaskResult, TaskTransitionData, TaskReadyData, TaskAssignData, TaskValidActionsData, EdgeType, NodeType, Node, Edge, NodeFilter, EdgeFilter, ReadyOptions, BlockerOptions, FeedbackOptions, OperationContext, ContextSummaryParams, ContextSummaryResult, Breadcrumb, ToolErrorCode, } from './types.js';
9
9
  export { ToolError } from './types.js';
10
10
  export { link } from './link.js';
11
11
  export { query } from './query.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EAEV,UAAU,EACV,UAAU,EAEV,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EAEnB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,YAAY,EAEZ,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,oBAAoB,EAEpB,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EAEf,gBAAgB,EAEhB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EAEV,UAAU,EACV,UAAU,EAEV,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EAEnB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,YAAY,EAEZ,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,oBAAoB,EAEpB,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EAEf,gBAAgB,EAEhB,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EAEV,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA4CH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,QAAQ;AACR,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgDH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,QAAQ;AACR,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
@@ -4,6 +4,7 @@
4
4
  * Unified query interface for graph traversal.
5
5
  */
6
6
  import type { GraphStore } from '../graph/store.js';
7
+ import type { ProviderAwareStore } from '../graph/provider-store.js';
7
8
  import type { QueryParams, QueryResult, OperationContext } from './types.js';
8
9
  /**
9
10
  * Query the graph with unified interface
@@ -13,5 +14,5 @@ import type { QueryParams, QueryResult, OperationContext } from './types.js';
13
14
  * @param _context - Optional operation context (unused but kept for API consistency)
14
15
  * @returns Query result with items and pagination info
15
16
  */
16
- export declare function query(store: GraphStore, params: QueryParams, _context?: OperationContext): Promise<QueryResult>;
17
+ export declare function query(store: GraphStore, params: QueryParams, _context?: OperationContext, providerStore?: ProviderAwareStore): Promise<QueryResult>;
17
18
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/tools/query.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EAIX,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAqHpB;;;;;;;GAOG;AACH,wBAAsB,KAAK,CACzB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,EACnB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,OAAO,CAAC,WAAW,CAAC,CA2DtB"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/tools/query.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EAIX,gBAAgB,EAIjB,MAAM,YAAY,CAAC;AAwHpB;;;;;;;GAOG;AACH,wBAAsB,KAAK,CACzB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,EACnB,QAAQ,CAAC,EAAE,gBAAgB,EAC3B,aAAa,CAAC,EAAE,kBAAkB,GACjC,OAAO,CAAC,WAAW,CAAC,CA+DtB"}
@@ -9,6 +9,7 @@
9
9
  const DEFAULT_LIMIT = 50;
10
10
  const DEFAULT_OFFSET = 0;
11
11
  const CONTENT_PREVIEW_LENGTH = 100;
12
+ const DEFAULT_BREADCRUMB_LIMIT = 10;
12
13
  // ============================================================================
13
14
  // Summary Converters
14
15
  // ============================================================================
@@ -79,6 +80,8 @@ function countQueryTypes(params) {
79
80
  count++;
80
81
  if (params.context !== undefined)
81
82
  count++;
83
+ if (params.contextSummary !== undefined)
84
+ count++;
82
85
  return count;
83
86
  }
84
87
  /**
@@ -103,6 +106,8 @@ function getQueryTypeName(params) {
103
106
  return 'tasks';
104
107
  if (params.context !== undefined)
105
108
  return 'context';
109
+ if (params.contextSummary !== undefined)
110
+ return 'contextSummary';
106
111
  return 'unknown';
107
112
  }
108
113
  // ============================================================================
@@ -129,21 +134,21 @@ function paginate(items, limit, offset) {
129
134
  * @param _context - Optional operation context (unused but kept for API consistency)
130
135
  * @returns Query result with items and pagination info
131
136
  */
132
- export async function query(store, params, _context) {
137
+ export async function query(store, params, _context, providerStore) {
133
138
  // Validate exactly one query type
134
139
  const queryTypeCount = countQueryTypes(params);
135
140
  if (queryTypeCount === 0) {
136
- throw new Error('No query type specified. Provide one of: nodes, edges, ready, blockers, blocking, feedback, unresolvedFeedback, tasks, context');
141
+ throw new Error('No query type specified. Provide one of: nodes, edges, ready, blockers, blocking, feedback, unresolvedFeedback, tasks, context, contextSummary');
137
142
  }
138
143
  if (queryTypeCount > 1) {
139
- throw new Error('Multiple query types specified. Provide exactly one of: nodes, edges, ready, blockers, blocking, feedback, unresolvedFeedback, tasks, context');
144
+ throw new Error('Multiple query types specified. Provide exactly one of: nodes, edges, ready, blockers, blocking, feedback, unresolvedFeedback, tasks, context, contextSummary');
140
145
  }
141
146
  const limit = params.limit ?? DEFAULT_LIMIT;
142
147
  const offset = params.offset ?? DEFAULT_OFFSET;
143
148
  const verbose = params.verbose ?? false;
144
149
  // Dispatch to appropriate query handler
145
150
  if (params.nodes !== undefined) {
146
- return queryNodes(store, params.nodes, limit, offset, verbose);
151
+ return queryNodes(store, params.nodes, limit, offset, verbose, providerStore);
147
152
  }
148
153
  if (params.edges !== undefined) {
149
154
  return queryEdges(store, params.edges, limit, offset, verbose);
@@ -169,15 +174,30 @@ export async function query(store, params, _context) {
169
174
  if (params.context !== undefined) {
170
175
  return queryContext(store, params.context, limit, offset, verbose);
171
176
  }
177
+ if (params.contextSummary !== undefined) {
178
+ return queryContextSummary(store, params.contextSummary);
179
+ }
172
180
  // Should never reach here
173
181
  throw new Error('Unknown query type');
174
182
  }
175
183
  // ============================================================================
176
184
  // Query Handlers
177
185
  // ============================================================================
178
- async function queryNodes(store, filter, limit, offset, verbose) {
179
- // Query without limit/offset first to get total
180
- const allNodes = await store.query.nodes({ ...filter, limit: undefined, offset: undefined });
186
+ async function queryNodes(store, filter, limit, offset, verbose, providerStore) {
187
+ // For task queries with a providerStore, federate across providers
188
+ const isTaskQuery = filter?.type === 'task' || (Array.isArray(filter?.type) && filter.type.includes('task'));
189
+ let allNodes;
190
+ if (isTaskQuery && providerStore) {
191
+ allNodes = await providerStore.providerListTasks({
192
+ status: filter?.status,
193
+ tags: filter?.tags,
194
+ assignee: filter?.assignee,
195
+ search: filter?.search,
196
+ });
197
+ }
198
+ else {
199
+ allNodes = await store.query.nodes({ ...filter, limit: undefined, offset: undefined });
200
+ }
181
201
  const { items: paginatedNodes, hasMore } = paginate(allNodes, limit, offset);
182
202
  if (verbose) {
183
203
  return {
@@ -339,4 +359,194 @@ async function queryContext(store, params, limit, offset, verbose) {
339
359
  hasMore,
340
360
  };
341
361
  }
362
+ // ============================================================================
363
+ // Context Summary (Breadcrumbs)
364
+ // ============================================================================
365
+ /**
366
+ * Convert a Node to a Breadcrumb
367
+ */
368
+ function toBreadcrumb(node, relevance) {
369
+ const content = node.content || '';
370
+ const preview = content.length > CONTENT_PREVIEW_LENGTH
371
+ ? content.substring(0, CONTENT_PREVIEW_LENGTH) + '...'
372
+ : content || undefined;
373
+ return {
374
+ id: node.id,
375
+ type: node.type,
376
+ title: node.title,
377
+ status: 'status' in node ? node.status : undefined,
378
+ priority: node.priority,
379
+ relevance,
380
+ contentPreview: preview,
381
+ tags: node.tags?.length ? node.tags : undefined,
382
+ branch: node.branch,
383
+ updatedAt: node.updated_at,
384
+ };
385
+ }
386
+ /**
387
+ * Check if a node matches the context summary filters
388
+ */
389
+ function matchesContextFilters(node, params) {
390
+ if (params.tags?.length) {
391
+ const nodeTags = node.tags || [];
392
+ if (!params.tags.some((t) => nodeTags.includes(t)))
393
+ return false;
394
+ }
395
+ if (params.branch && node.branch !== params.branch)
396
+ return false;
397
+ return true;
398
+ }
399
+ async function queryContextSummary(store, params) {
400
+ const limit = params.limit ?? DEFAULT_BREADCRUMB_LIMIT;
401
+ const result = {
402
+ recentlyCompleted: [],
403
+ activeTasks: [],
404
+ blockedTasks: [],
405
+ relatedContexts: [],
406
+ unresolvedFeedback: [],
407
+ };
408
+ // If a taskId is provided, gather context around that task
409
+ if (params.taskId) {
410
+ // Get the task's context nodes (specs/requirements it implements)
411
+ const contexts = await store.query.context(params.taskId);
412
+ for (const ctx of contexts.slice(0, limit)) {
413
+ result.relatedContexts.push(toBreadcrumb(ctx, 'implements'));
414
+ }
415
+ // Get blockers for this task
416
+ const blockers = await store.query.blockers(params.taskId, { activeOnly: true });
417
+ for (const blocker of blockers.slice(0, limit)) {
418
+ result.blockedTasks.push(toBreadcrumb(blocker, 'blocks-target'));
419
+ }
420
+ // Get siblings: other tasks implementing the same contexts
421
+ const siblingIds = new Set();
422
+ for (const ctx of contexts) {
423
+ const siblings = await store.query.tasks(ctx.id);
424
+ for (const sibling of siblings) {
425
+ if (sibling.id === params.taskId)
426
+ continue;
427
+ if (siblingIds.has(sibling.id))
428
+ continue;
429
+ siblingIds.add(sibling.id);
430
+ const relevance = `sibling-via:${ctx.id}`;
431
+ if (sibling.status === 'closed') {
432
+ if (result.recentlyCompleted.length < limit) {
433
+ result.recentlyCompleted.push(toBreadcrumb(sibling, relevance));
434
+ }
435
+ }
436
+ else if (sibling.status === 'blocked') {
437
+ if (result.blockedTasks.length < limit) {
438
+ result.blockedTasks.push(toBreadcrumb(sibling, relevance));
439
+ }
440
+ }
441
+ else {
442
+ if (result.activeTasks.length < limit) {
443
+ result.activeTasks.push(toBreadcrumb(sibling, relevance));
444
+ }
445
+ }
446
+ }
447
+ }
448
+ // Get unresolved feedback on this task
449
+ const feedback = await store.query.unresolvedFeedback(params.taskId);
450
+ for (const fb of feedback.slice(0, limit)) {
451
+ result.unresolvedFeedback.push(toBreadcrumb(fb, 'unresolved-on-target'));
452
+ }
453
+ }
454
+ // Broader queries: recent tasks by branch/tags
455
+ // Recently completed tasks
456
+ const closedTasks = await store.query.nodes({
457
+ type: 'task',
458
+ status: 'closed',
459
+ archived: false,
460
+ orderBy: 'updated_at',
461
+ orderDirection: 'desc',
462
+ limit: limit * 3, // fetch more to filter
463
+ });
464
+ for (const task of closedTasks) {
465
+ if (result.recentlyCompleted.length >= limit)
466
+ break;
467
+ if (!matchesContextFilters(task, params))
468
+ continue;
469
+ // Skip if already added via task-specific queries
470
+ if (result.recentlyCompleted.some((b) => b.id === task.id))
471
+ continue;
472
+ result.recentlyCompleted.push(toBreadcrumb(task, 'recent-closed'));
473
+ }
474
+ // Active tasks (in_progress + open)
475
+ const activeTasks = await store.query.nodes({
476
+ type: 'task',
477
+ status: ['open', 'in_progress'],
478
+ archived: false,
479
+ orderBy: 'updated_at',
480
+ orderDirection: 'desc',
481
+ limit: limit * 3,
482
+ });
483
+ for (const task of activeTasks) {
484
+ if (result.activeTasks.length >= limit)
485
+ break;
486
+ if (!matchesContextFilters(task, params))
487
+ continue;
488
+ if (result.activeTasks.some((b) => b.id === task.id))
489
+ continue;
490
+ result.activeTasks.push(toBreadcrumb(task, 'active'));
491
+ }
492
+ // Blocked tasks
493
+ const blockedTasks = await store.query.nodes({
494
+ type: 'task',
495
+ status: 'blocked',
496
+ archived: false,
497
+ orderBy: 'updated_at',
498
+ orderDirection: 'desc',
499
+ limit: limit * 3,
500
+ });
501
+ for (const task of blockedTasks) {
502
+ if (result.blockedTasks.length >= limit)
503
+ break;
504
+ if (!matchesContextFilters(task, params))
505
+ continue;
506
+ if (result.blockedTasks.some((b) => b.id === task.id))
507
+ continue;
508
+ result.blockedTasks.push(toBreadcrumb(task, 'blocked'));
509
+ }
510
+ // Related context nodes
511
+ const contexts = await store.query.nodes({
512
+ type: 'context',
513
+ status: 'active',
514
+ archived: false,
515
+ orderBy: 'updated_at',
516
+ orderDirection: 'desc',
517
+ limit: limit * 3,
518
+ });
519
+ for (const ctx of contexts) {
520
+ if (result.relatedContexts.length >= limit)
521
+ break;
522
+ if (!matchesContextFilters(ctx, params))
523
+ continue;
524
+ if (result.relatedContexts.some((b) => b.id === ctx.id))
525
+ continue;
526
+ result.relatedContexts.push(toBreadcrumb(ctx, 'active-context'));
527
+ }
528
+ // Unresolved feedback (global, not already captured)
529
+ if (!params.taskId) {
530
+ const allUnresolved = await store.query.unresolvedFeedback();
531
+ for (const fb of allUnresolved) {
532
+ if (result.unresolvedFeedback.length >= limit)
533
+ break;
534
+ if (!matchesContextFilters(fb, params))
535
+ continue;
536
+ result.unresolvedFeedback.push(toBreadcrumb(fb, 'unresolved'));
537
+ }
538
+ }
539
+ // Count total breadcrumbs across all sections
540
+ const totalBreadcrumbs = result.recentlyCompleted.length +
541
+ result.activeTasks.length +
542
+ result.blockedTasks.length +
543
+ result.relatedContexts.length +
544
+ result.unresolvedFeedback.length;
545
+ return {
546
+ items: [],
547
+ total: totalBreadcrumbs,
548
+ hasMore: false,
549
+ contextSummary: result,
550
+ };
551
+ }
342
552
  //# sourceMappingURL=query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/tools/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/tools/query.ts"],"names":[],"mappings":"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"}
@@ -104,6 +104,8 @@ export interface QueryParams {
104
104
  tasks?: TasksQueryParams;
105
105
  /** Get context nodes that a task implements */
106
106
  context?: ContextQueryParams;
107
+ /** Get context summary breadcrumbs for session continuity */
108
+ contextSummary?: ContextSummaryParams;
107
109
  /** Return full objects instead of summaries (default: false) */
108
110
  verbose?: boolean;
109
111
  /** Maximum results to return (default: 50) */
@@ -168,6 +170,8 @@ export interface QueryResult {
168
170
  total?: number;
169
171
  /** Whether more results exist beyond limit */
170
172
  hasMore: boolean;
173
+ /** Context summary (only present for contextSummary queries) */
174
+ contextSummary?: ContextSummaryResult;
171
175
  }
172
176
  /**
173
177
  * Feedback type
@@ -319,6 +323,59 @@ export interface TaskValidActionsData {
319
323
  /** Valid actions for the task's current state */
320
324
  actions: string[];
321
325
  }
326
+ /**
327
+ * Parameters for querying context summaries (breadcrumbs for future sessions)
328
+ */
329
+ export interface ContextSummaryParams {
330
+ /** Find context related to a specific task */
331
+ taskId?: string;
332
+ /** Filter by tags (nodes matching any of these tags) */
333
+ tags?: string[];
334
+ /** Filter by branch (nodes created on this branch) */
335
+ branch?: string;
336
+ /** Maximum breadcrumbs per section (default: 10) */
337
+ limit?: number;
338
+ }
339
+ /**
340
+ * A breadcrumb pointing to a related piece of work
341
+ */
342
+ export interface Breadcrumb {
343
+ /** Node ID */
344
+ id: string;
345
+ /** Node type */
346
+ type: NodeType;
347
+ /** Node title */
348
+ title: string;
349
+ /** Task status (if task) */
350
+ status?: string;
351
+ /** Priority (0=highest, 4=lowest) */
352
+ priority?: number;
353
+ /** Why this breadcrumb is relevant */
354
+ relevance: string;
355
+ /** Content preview (truncated) */
356
+ contentPreview?: string;
357
+ /** Tags on this node */
358
+ tags?: string[];
359
+ /** Branch this node was created on */
360
+ branch?: string;
361
+ /** Last updated timestamp */
362
+ updatedAt: string;
363
+ }
364
+ /**
365
+ * Structured context summary result
366
+ */
367
+ export interface ContextSummaryResult {
368
+ /** Recently completed tasks (potential prior art / context) */
369
+ recentlyCompleted: Breadcrumb[];
370
+ /** Currently active tasks (in progress or open) */
371
+ activeTasks: Breadcrumb[];
372
+ /** Blocked tasks needing attention */
373
+ blockedTasks: Breadcrumb[];
374
+ /** Related context nodes (specs, requirements) */
375
+ relatedContexts: Breadcrumb[];
376
+ /** Unresolved feedback requiring attention */
377
+ unresolvedFeedback: Breadcrumb[];
378
+ }
322
379
  /**
323
380
  * Error codes for tool operations
324
381
  */