opentasks 0.0.4 → 0.0.6

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 (373) hide show
  1. package/README.md +40 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +183 -21
  4. package/dist/cli.js.map +1 -1
  5. package/dist/client/client.d.ts.map +1 -1
  6. package/dist/client/client.js +14 -1
  7. package/dist/client/client.js.map +1 -1
  8. package/dist/config/schema.d.ts +139 -3
  9. package/dist/config/schema.d.ts.map +1 -1
  10. package/dist/config/schema.js +118 -2
  11. package/dist/config/schema.js.map +1 -1
  12. package/dist/core/discover.d.ts.map +1 -1
  13. package/dist/core/discover.js +55 -39
  14. package/dist/core/discover.js.map +1 -1
  15. package/dist/core/init.js +1 -1
  16. package/dist/core/init.js.map +1 -1
  17. package/dist/core/merge-driver.d.ts +6 -2
  18. package/dist/core/merge-driver.d.ts.map +1 -1
  19. package/dist/core/merge-driver.js +11 -7
  20. package/dist/core/merge-driver.js.map +1 -1
  21. package/dist/core/worktree.js +1 -1
  22. package/dist/core/worktree.js.map +1 -1
  23. package/dist/daemon/entire-linker.d.ts.map +1 -1
  24. package/dist/daemon/entire-linker.js +48 -42
  25. package/dist/daemon/entire-linker.js.map +1 -1
  26. package/dist/daemon/entire-watcher.d.ts +12 -1
  27. package/dist/daemon/entire-watcher.d.ts.map +1 -1
  28. package/dist/daemon/entire-watcher.js +34 -3
  29. package/dist/daemon/entire-watcher.js.map +1 -1
  30. package/dist/daemon/ipc.d.ts +9 -1
  31. package/dist/daemon/ipc.d.ts.map +1 -1
  32. package/dist/daemon/ipc.js +45 -2
  33. package/dist/daemon/ipc.js.map +1 -1
  34. package/dist/daemon/lifecycle.d.ts.map +1 -1
  35. package/dist/daemon/lifecycle.js +77 -3
  36. package/dist/daemon/lifecycle.js.map +1 -1
  37. package/dist/daemon/location-state.d.ts +3 -0
  38. package/dist/daemon/location-state.d.ts.map +1 -1
  39. package/dist/daemon/location-state.js +49 -2
  40. package/dist/daemon/location-state.js.map +1 -1
  41. package/dist/daemon/methods/watch.d.ts +23 -0
  42. package/dist/daemon/methods/watch.d.ts.map +1 -0
  43. package/dist/daemon/methods/watch.js +172 -0
  44. package/dist/daemon/methods/watch.js.map +1 -0
  45. package/dist/daemon/registry.d.ts.map +1 -1
  46. package/dist/daemon/registry.js +2 -1
  47. package/dist/daemon/registry.js.map +1 -1
  48. package/dist/entire/index.d.ts +1 -0
  49. package/dist/entire/index.d.ts.map +1 -1
  50. package/dist/entire/index.js.map +1 -1
  51. package/dist/entire/store/native-store.d.ts +1 -1
  52. package/dist/entire/store/native-store.d.ts.map +1 -1
  53. package/dist/entire/store/provider-types.d.ts +78 -0
  54. package/dist/entire/store/provider-types.d.ts.map +1 -0
  55. package/dist/entire/store/provider-types.js +12 -0
  56. package/dist/entire/store/provider-types.js.map +1 -0
  57. package/dist/graph/expansion.d.ts +3 -1
  58. package/dist/graph/expansion.d.ts.map +1 -1
  59. package/dist/graph/expansion.js +32 -2
  60. package/dist/graph/expansion.js.map +1 -1
  61. package/dist/graph/git-graph-syncer.d.ts +72 -0
  62. package/dist/graph/git-graph-syncer.d.ts.map +1 -0
  63. package/dist/graph/git-graph-syncer.js +205 -0
  64. package/dist/graph/git-graph-syncer.js.map +1 -0
  65. package/dist/graph/store.d.ts +4 -0
  66. package/dist/graph/store.d.ts.map +1 -1
  67. package/dist/graph/store.js +97 -2
  68. package/dist/graph/store.js.map +1 -1
  69. package/dist/providers/entire.d.ts +34 -69
  70. package/dist/providers/entire.d.ts.map +1 -1
  71. package/dist/providers/entire.js +63 -9
  72. package/dist/providers/entire.js.map +1 -1
  73. package/dist/providers/from-config.d.ts +3 -0
  74. package/dist/providers/from-config.d.ts.map +1 -1
  75. package/dist/providers/from-config.js +45 -20
  76. package/dist/providers/from-config.js.map +1 -1
  77. package/dist/providers/global.d.ts +2 -1
  78. package/dist/providers/global.d.ts.map +1 -1
  79. package/dist/providers/global.js +52 -1
  80. package/dist/providers/global.js.map +1 -1
  81. package/dist/providers/index.d.ts +3 -0
  82. package/dist/providers/index.d.ts.map +1 -1
  83. package/dist/providers/index.js +6 -0
  84. package/dist/providers/index.js.map +1 -1
  85. package/dist/providers/map-client-factory.d.ts +55 -0
  86. package/dist/providers/map-client-factory.d.ts.map +1 -0
  87. package/dist/providers/map-client-factory.js +123 -0
  88. package/dist/providers/map-client-factory.js.map +1 -0
  89. package/dist/providers/map-event-bridge.d.ts +146 -0
  90. package/dist/providers/map-event-bridge.d.ts.map +1 -0
  91. package/dist/providers/map-event-bridge.js +208 -0
  92. package/dist/providers/map-event-bridge.js.map +1 -0
  93. package/dist/providers/map.d.ts +115 -0
  94. package/dist/providers/map.d.ts.map +1 -0
  95. package/dist/providers/map.js +376 -0
  96. package/dist/providers/map.js.map +1 -0
  97. package/dist/tracking/index.d.ts +0 -4
  98. package/dist/tracking/index.d.ts.map +1 -1
  99. package/dist/tracking/index.js +0 -2
  100. package/dist/tracking/index.js.map +1 -1
  101. package/dist/tracking/transcript-extractor.d.ts +0 -6
  102. package/dist/tracking/transcript-extractor.d.ts.map +1 -1
  103. package/dist/tracking/transcript-extractor.js +3 -12
  104. package/dist/tracking/transcript-extractor.js.map +1 -1
  105. package/package.json +3 -1
  106. package/dist/__tests__/cli-tools.test.d.ts +0 -8
  107. package/dist/__tests__/cli-tools.test.d.ts.map +0 -1
  108. package/dist/__tests__/cli-tools.test.js +0 -546
  109. package/dist/__tests__/cli-tools.test.js.map +0 -1
  110. package/dist/__tests__/cli.test.d.ts +0 -5
  111. package/dist/__tests__/cli.test.d.ts.map +0 -1
  112. package/dist/__tests__/cli.test.js +0 -77
  113. package/dist/__tests__/cli.test.js.map +0 -1
  114. package/dist/__tests__/p1-p3-gaps.test.d.ts +0 -2
  115. package/dist/__tests__/p1-p3-gaps.test.d.ts.map +0 -1
  116. package/dist/__tests__/p1-p3-gaps.test.js +0 -463
  117. package/dist/__tests__/p1-p3-gaps.test.js.map +0 -1
  118. package/dist/client/__tests__/client-crud.test.d.ts +0 -7
  119. package/dist/client/__tests__/client-crud.test.d.ts.map +0 -1
  120. package/dist/client/__tests__/client-crud.test.js +0 -404
  121. package/dist/client/__tests__/client-crud.test.js.map +0 -1
  122. package/dist/client/__tests__/client.test.d.ts +0 -5
  123. package/dist/client/__tests__/client.test.d.ts.map +0 -1
  124. package/dist/client/__tests__/client.test.js +0 -518
  125. package/dist/client/__tests__/client.test.js.map +0 -1
  126. package/dist/config/__tests__/defaults.test.d.ts +0 -2
  127. package/dist/config/__tests__/defaults.test.d.ts.map +0 -1
  128. package/dist/config/__tests__/defaults.test.js +0 -57
  129. package/dist/config/__tests__/defaults.test.js.map +0 -1
  130. package/dist/config/__tests__/env.test.d.ts +0 -2
  131. package/dist/config/__tests__/env.test.d.ts.map +0 -1
  132. package/dist/config/__tests__/env.test.js +0 -136
  133. package/dist/config/__tests__/env.test.js.map +0 -1
  134. package/dist/config/__tests__/index.test.d.ts +0 -2
  135. package/dist/config/__tests__/index.test.d.ts.map +0 -1
  136. package/dist/config/__tests__/index.test.js +0 -113
  137. package/dist/config/__tests__/index.test.js.map +0 -1
  138. package/dist/config/__tests__/loader.test.d.ts +0 -2
  139. package/dist/config/__tests__/loader.test.d.ts.map +0 -1
  140. package/dist/config/__tests__/loader.test.js +0 -128
  141. package/dist/config/__tests__/loader.test.js.map +0 -1
  142. package/dist/config/__tests__/merge.test.d.ts +0 -2
  143. package/dist/config/__tests__/merge.test.d.ts.map +0 -1
  144. package/dist/config/__tests__/merge.test.js +0 -79
  145. package/dist/config/__tests__/merge.test.js.map +0 -1
  146. package/dist/config/__tests__/schema.test.d.ts +0 -2
  147. package/dist/config/__tests__/schema.test.d.ts.map +0 -1
  148. package/dist/config/__tests__/schema.test.js +0 -300
  149. package/dist/config/__tests__/schema.test.js.map +0 -1
  150. package/dist/core/__tests__/conditional-redirects.test.d.ts +0 -2
  151. package/dist/core/__tests__/conditional-redirects.test.d.ts.map +0 -1
  152. package/dist/core/__tests__/conditional-redirects.test.js +0 -83
  153. package/dist/core/__tests__/conditional-redirects.test.js.map +0 -1
  154. package/dist/core/__tests__/connections.test.d.ts +0 -2
  155. package/dist/core/__tests__/connections.test.d.ts.map +0 -1
  156. package/dist/core/__tests__/connections.test.js +0 -158
  157. package/dist/core/__tests__/connections.test.js.map +0 -1
  158. package/dist/core/__tests__/hash.test.d.ts +0 -2
  159. package/dist/core/__tests__/hash.test.d.ts.map +0 -1
  160. package/dist/core/__tests__/hash.test.js +0 -139
  161. package/dist/core/__tests__/hash.test.js.map +0 -1
  162. package/dist/core/__tests__/id.test.d.ts +0 -2
  163. package/dist/core/__tests__/id.test.d.ts.map +0 -1
  164. package/dist/core/__tests__/id.test.js +0 -142
  165. package/dist/core/__tests__/id.test.js.map +0 -1
  166. package/dist/core/__tests__/location.test.d.ts +0 -2
  167. package/dist/core/__tests__/location.test.d.ts.map +0 -1
  168. package/dist/core/__tests__/location.test.js +0 -77
  169. package/dist/core/__tests__/location.test.js.map +0 -1
  170. package/dist/core/__tests__/merge-driver.test.d.ts +0 -2
  171. package/dist/core/__tests__/merge-driver.test.d.ts.map +0 -1
  172. package/dist/core/__tests__/merge-driver.test.js +0 -218
  173. package/dist/core/__tests__/merge-driver.test.js.map +0 -1
  174. package/dist/core/__tests__/redirects.test.d.ts +0 -2
  175. package/dist/core/__tests__/redirects.test.d.ts.map +0 -1
  176. package/dist/core/__tests__/redirects.test.js +0 -123
  177. package/dist/core/__tests__/redirects.test.js.map +0 -1
  178. package/dist/core/__tests__/resolve-location-target.test.d.ts +0 -8
  179. package/dist/core/__tests__/resolve-location-target.test.d.ts.map +0 -1
  180. package/dist/core/__tests__/resolve-location-target.test.js +0 -303
  181. package/dist/core/__tests__/resolve-location-target.test.js.map +0 -1
  182. package/dist/core/__tests__/uri.test.d.ts +0 -2
  183. package/dist/core/__tests__/uri.test.d.ts.map +0 -1
  184. package/dist/core/__tests__/uri.test.js +0 -159
  185. package/dist/core/__tests__/uri.test.js.map +0 -1
  186. package/dist/core/__tests__/worktree.test.d.ts +0 -2
  187. package/dist/core/__tests__/worktree.test.d.ts.map +0 -1
  188. package/dist/core/__tests__/worktree.test.js +0 -120
  189. package/dist/core/__tests__/worktree.test.js.map +0 -1
  190. package/dist/daemon/__tests__/flush.test.d.ts +0 -5
  191. package/dist/daemon/__tests__/flush.test.d.ts.map +0 -1
  192. package/dist/daemon/__tests__/flush.test.js +0 -213
  193. package/dist/daemon/__tests__/flush.test.js.map +0 -1
  194. package/dist/daemon/__tests__/integration.test.d.ts +0 -7
  195. package/dist/daemon/__tests__/integration.test.d.ts.map +0 -1
  196. package/dist/daemon/__tests__/integration.test.js +0 -276
  197. package/dist/daemon/__tests__/integration.test.js.map +0 -1
  198. package/dist/daemon/__tests__/ipc.test.d.ts +0 -5
  199. package/dist/daemon/__tests__/ipc.test.d.ts.map +0 -1
  200. package/dist/daemon/__tests__/ipc.test.js +0 -314
  201. package/dist/daemon/__tests__/ipc.test.js.map +0 -1
  202. package/dist/daemon/__tests__/lifecycle.test.d.ts +0 -5
  203. package/dist/daemon/__tests__/lifecycle.test.d.ts.map +0 -1
  204. package/dist/daemon/__tests__/lifecycle.test.js +0 -301
  205. package/dist/daemon/__tests__/lifecycle.test.js.map +0 -1
  206. package/dist/daemon/__tests__/lock.test.d.ts +0 -5
  207. package/dist/daemon/__tests__/lock.test.d.ts.map +0 -1
  208. package/dist/daemon/__tests__/lock.test.js +0 -192
  209. package/dist/daemon/__tests__/lock.test.js.map +0 -1
  210. package/dist/daemon/__tests__/methods/graph.test.d.ts +0 -5
  211. package/dist/daemon/__tests__/methods/graph.test.d.ts.map +0 -1
  212. package/dist/daemon/__tests__/methods/graph.test.js +0 -309
  213. package/dist/daemon/__tests__/methods/graph.test.js.map +0 -1
  214. package/dist/daemon/__tests__/methods/provider.test.d.ts +0 -7
  215. package/dist/daemon/__tests__/methods/provider.test.d.ts.map +0 -1
  216. package/dist/daemon/__tests__/methods/provider.test.js +0 -181
  217. package/dist/daemon/__tests__/methods/provider.test.js.map +0 -1
  218. package/dist/daemon/__tests__/methods/tools.test.d.ts +0 -5
  219. package/dist/daemon/__tests__/methods/tools.test.d.ts.map +0 -1
  220. package/dist/daemon/__tests__/methods/tools.test.js +0 -587
  221. package/dist/daemon/__tests__/methods/tools.test.js.map +0 -1
  222. package/dist/daemon/__tests__/multi-location.test.d.ts +0 -8
  223. package/dist/daemon/__tests__/multi-location.test.d.ts.map +0 -1
  224. package/dist/daemon/__tests__/multi-location.test.js +0 -669
  225. package/dist/daemon/__tests__/multi-location.test.js.map +0 -1
  226. package/dist/daemon/__tests__/registry.test.d.ts +0 -5
  227. package/dist/daemon/__tests__/registry.test.d.ts.map +0 -1
  228. package/dist/daemon/__tests__/registry.test.js +0 -208
  229. package/dist/daemon/__tests__/registry.test.js.map +0 -1
  230. package/dist/daemon/__tests__/watcher.test.d.ts +0 -5
  231. package/dist/daemon/__tests__/watcher.test.d.ts.map +0 -1
  232. package/dist/daemon/__tests__/watcher.test.js +0 -234
  233. package/dist/daemon/__tests__/watcher.test.js.map +0 -1
  234. package/dist/daemon/methods/__tests__/graph.test.d.ts +0 -5
  235. package/dist/daemon/methods/__tests__/graph.test.d.ts.map +0 -1
  236. package/dist/daemon/methods/__tests__/graph.test.js +0 -274
  237. package/dist/daemon/methods/__tests__/graph.test.js.map +0 -1
  238. package/dist/daemon/methods/__tests__/provider.test.d.ts +0 -5
  239. package/dist/daemon/methods/__tests__/provider.test.d.ts.map +0 -1
  240. package/dist/daemon/methods/__tests__/provider.test.js +0 -184
  241. package/dist/daemon/methods/__tests__/provider.test.js.map +0 -1
  242. package/dist/daemon/methods/__tests__/tools.test.d.ts +0 -5
  243. package/dist/daemon/methods/__tests__/tools.test.d.ts.map +0 -1
  244. package/dist/daemon/methods/__tests__/tools.test.js +0 -295
  245. package/dist/daemon/methods/__tests__/tools.test.js.map +0 -1
  246. package/dist/graph/__tests__/EdgeTypeRegistry.test.d.ts +0 -2
  247. package/dist/graph/__tests__/EdgeTypeRegistry.test.d.ts.map +0 -1
  248. package/dist/graph/__tests__/EdgeTypeRegistry.test.js +0 -212
  249. package/dist/graph/__tests__/EdgeTypeRegistry.test.js.map +0 -1
  250. package/dist/graph/__tests__/FederatedGraph.test.d.ts +0 -2
  251. package/dist/graph/__tests__/FederatedGraph.test.d.ts.map +0 -1
  252. package/dist/graph/__tests__/FederatedGraph.test.js +0 -661
  253. package/dist/graph/__tests__/FederatedGraph.test.js.map +0 -1
  254. package/dist/graph/__tests__/GraphologyAdapter.test.d.ts +0 -2
  255. package/dist/graph/__tests__/GraphologyAdapter.test.d.ts.map +0 -1
  256. package/dist/graph/__tests__/GraphologyAdapter.test.js +0 -326
  257. package/dist/graph/__tests__/GraphologyAdapter.test.js.map +0 -1
  258. package/dist/graph/__tests__/HydratingFederatedGraph.test.d.ts +0 -2
  259. package/dist/graph/__tests__/HydratingFederatedGraph.test.d.ts.map +0 -1
  260. package/dist/graph/__tests__/HydratingFederatedGraph.test.js +0 -587
  261. package/dist/graph/__tests__/HydratingFederatedGraph.test.js.map +0 -1
  262. package/dist/graph/__tests__/debounce.test.d.ts +0 -5
  263. package/dist/graph/__tests__/debounce.test.d.ts.map +0 -1
  264. package/dist/graph/__tests__/debounce.test.js +0 -195
  265. package/dist/graph/__tests__/debounce.test.js.map +0 -1
  266. package/dist/graph/__tests__/edge-cases.test.d.ts +0 -8
  267. package/dist/graph/__tests__/edge-cases.test.d.ts.map +0 -1
  268. package/dist/graph/__tests__/edge-cases.test.js +0 -472
  269. package/dist/graph/__tests__/edge-cases.test.js.map +0 -1
  270. package/dist/graph/__tests__/expansion.test.d.ts +0 -2
  271. package/dist/graph/__tests__/expansion.test.d.ts.map +0 -1
  272. package/dist/graph/__tests__/expansion.test.js +0 -105
  273. package/dist/graph/__tests__/expansion.test.js.map +0 -1
  274. package/dist/graph/__tests__/provider-store.test.d.ts +0 -5
  275. package/dist/graph/__tests__/provider-store.test.d.ts.map +0 -1
  276. package/dist/graph/__tests__/provider-store.test.js +0 -791
  277. package/dist/graph/__tests__/provider-store.test.js.map +0 -1
  278. package/dist/graph/__tests__/query.test.d.ts +0 -5
  279. package/dist/graph/__tests__/query.test.d.ts.map +0 -1
  280. package/dist/graph/__tests__/query.test.js +0 -774
  281. package/dist/graph/__tests__/query.test.js.map +0 -1
  282. package/dist/graph/__tests__/store.test.d.ts +0 -5
  283. package/dist/graph/__tests__/store.test.d.ts.map +0 -1
  284. package/dist/graph/__tests__/store.test.js +0 -489
  285. package/dist/graph/__tests__/store.test.js.map +0 -1
  286. package/dist/graph/__tests__/sync.test.d.ts +0 -5
  287. package/dist/graph/__tests__/sync.test.d.ts.map +0 -1
  288. package/dist/graph/__tests__/sync.test.js +0 -129
  289. package/dist/graph/__tests__/sync.test.js.map +0 -1
  290. package/dist/graph/__tests__/validation.test.d.ts +0 -2
  291. package/dist/graph/__tests__/validation.test.d.ts.map +0 -1
  292. package/dist/graph/__tests__/validation.test.js +0 -521
  293. package/dist/graph/__tests__/validation.test.js.map +0 -1
  294. package/dist/providers/__tests__/beads.test.d.ts +0 -5
  295. package/dist/providers/__tests__/beads.test.d.ts.map +0 -1
  296. package/dist/providers/__tests__/beads.test.js +0 -591
  297. package/dist/providers/__tests__/beads.test.js.map +0 -1
  298. package/dist/providers/__tests__/claude-tasks.test.d.ts +0 -5
  299. package/dist/providers/__tests__/claude-tasks.test.d.ts.map +0 -1
  300. package/dist/providers/__tests__/claude-tasks.test.js +0 -392
  301. package/dist/providers/__tests__/claude-tasks.test.js.map +0 -1
  302. package/dist/providers/__tests__/from-config.test.d.ts +0 -5
  303. package/dist/providers/__tests__/from-config.test.d.ts.map +0 -1
  304. package/dist/providers/__tests__/from-config.test.js +0 -152
  305. package/dist/providers/__tests__/from-config.test.js.map +0 -1
  306. package/dist/providers/__tests__/materialization.test.d.ts +0 -5
  307. package/dist/providers/__tests__/materialization.test.d.ts.map +0 -1
  308. package/dist/providers/__tests__/materialization.test.js +0 -407
  309. package/dist/providers/__tests__/materialization.test.js.map +0 -1
  310. package/dist/providers/__tests__/native.test.d.ts +0 -5
  311. package/dist/providers/__tests__/native.test.d.ts.map +0 -1
  312. package/dist/providers/__tests__/native.test.js +0 -566
  313. package/dist/providers/__tests__/native.test.js.map +0 -1
  314. package/dist/providers/__tests__/registry.test.d.ts +0 -5
  315. package/dist/providers/__tests__/registry.test.d.ts.map +0 -1
  316. package/dist/providers/__tests__/registry.test.js +0 -183
  317. package/dist/providers/__tests__/registry.test.js.map +0 -1
  318. package/dist/providers/traits/__tests__/RelationshipQueryable.test.d.ts +0 -2
  319. package/dist/providers/traits/__tests__/RelationshipQueryable.test.d.ts.map +0 -1
  320. package/dist/providers/traits/__tests__/RelationshipQueryable.test.js +0 -169
  321. package/dist/providers/traits/__tests__/RelationshipQueryable.test.js.map +0 -1
  322. package/dist/providers/traits/__tests__/TaskManageable.test.d.ts +0 -2
  323. package/dist/providers/traits/__tests__/TaskManageable.test.d.ts.map +0 -1
  324. package/dist/providers/traits/__tests__/TaskManageable.test.js +0 -172
  325. package/dist/providers/traits/__tests__/TaskManageable.test.js.map +0 -1
  326. package/dist/schema/__tests__/validation.test.d.ts +0 -2
  327. package/dist/schema/__tests__/validation.test.d.ts.map +0 -1
  328. package/dist/schema/__tests__/validation.test.js +0 -241
  329. package/dist/schema/__tests__/validation.test.js.map +0 -1
  330. package/dist/storage/__tests__/atomic-write.test.d.ts +0 -5
  331. package/dist/storage/__tests__/atomic-write.test.d.ts.map +0 -1
  332. package/dist/storage/__tests__/atomic-write.test.js +0 -170
  333. package/dist/storage/__tests__/atomic-write.test.js.map +0 -1
  334. package/dist/storage/__tests__/file-lock.test.d.ts +0 -2
  335. package/dist/storage/__tests__/file-lock.test.d.ts.map +0 -1
  336. package/dist/storage/__tests__/file-lock.test.js +0 -89
  337. package/dist/storage/__tests__/file-lock.test.js.map +0 -1
  338. package/dist/storage/__tests__/jsonl.test.d.ts +0 -2
  339. package/dist/storage/__tests__/jsonl.test.d.ts.map +0 -1
  340. package/dist/storage/__tests__/jsonl.test.js +0 -228
  341. package/dist/storage/__tests__/jsonl.test.js.map +0 -1
  342. package/dist/storage/__tests__/locked-writer.test.d.ts +0 -2
  343. package/dist/storage/__tests__/locked-writer.test.d.ts.map +0 -1
  344. package/dist/storage/__tests__/locked-writer.test.js +0 -109
  345. package/dist/storage/__tests__/locked-writer.test.js.map +0 -1
  346. package/dist/storage/__tests__/sqlite.test.d.ts +0 -2
  347. package/dist/storage/__tests__/sqlite.test.d.ts.map +0 -1
  348. package/dist/storage/__tests__/sqlite.test.js +0 -470
  349. package/dist/storage/__tests__/sqlite.test.js.map +0 -1
  350. package/dist/tools/__tests__/annotate.test.d.ts +0 -5
  351. package/dist/tools/__tests__/annotate.test.d.ts.map +0 -1
  352. package/dist/tools/__tests__/annotate.test.js +0 -314
  353. package/dist/tools/__tests__/annotate.test.js.map +0 -1
  354. package/dist/tools/__tests__/link.test.d.ts +0 -5
  355. package/dist/tools/__tests__/link.test.d.ts.map +0 -1
  356. package/dist/tools/__tests__/link.test.js +0 -245
  357. package/dist/tools/__tests__/link.test.js.map +0 -1
  358. package/dist/tools/__tests__/query.test.d.ts +0 -5
  359. package/dist/tools/__tests__/query.test.d.ts.map +0 -1
  360. package/dist/tools/__tests__/query.test.js +0 -288
  361. package/dist/tools/__tests__/query.test.js.map +0 -1
  362. package/dist/tools/__tests__/task.test.d.ts +0 -5
  363. package/dist/tools/__tests__/task.test.d.ts.map +0 -1
  364. package/dist/tools/__tests__/task.test.js +0 -178
  365. package/dist/tools/__tests__/task.test.js.map +0 -1
  366. package/dist/tracking/claude-task-reconstructor.d.ts +0 -41
  367. package/dist/tracking/claude-task-reconstructor.d.ts.map +0 -1
  368. package/dist/tracking/claude-task-reconstructor.js +0 -91
  369. package/dist/tracking/claude-task-reconstructor.js.map +0 -1
  370. package/dist/tracking/plan-mode-tracker.d.ts +0 -20
  371. package/dist/tracking/plan-mode-tracker.d.ts.map +0 -1
  372. package/dist/tracking/plan-mode-tracker.js +0 -35
  373. package/dist/tracking/plan-mode-tracker.js.map +0 -1
@@ -1,295 +0,0 @@
1
- /**
2
- * Tests for Tools Method Handlers
3
- */
4
- import { describe, it, expect, beforeEach, vi } from 'vitest';
5
- import { registerToolsMethods } from '../tools.js';
6
- // ============================================================================
7
- // Mocks
8
- // ============================================================================
9
- function createMockServer() {
10
- const handlers = new Map();
11
- return {
12
- handle: vi.fn((method, handler) => {
13
- handlers.set(method, handler);
14
- }),
15
- call: async (method, params) => {
16
- const handler = handlers.get(method);
17
- if (!handler) {
18
- throw new Error(`Method not found: ${method}`);
19
- }
20
- return handler(params);
21
- },
22
- handlers,
23
- };
24
- }
25
- function createMockFlushManager() {
26
- return {
27
- markDirty: vi.fn(),
28
- schedule: vi.fn(),
29
- flush: vi.fn().mockResolvedValue(undefined),
30
- };
31
- }
32
- function createMockStore() {
33
- const nodes = new Map();
34
- const edges = new Map();
35
- return {
36
- query: {
37
- nodes: vi.fn().mockResolvedValue([]),
38
- edges: vi.fn().mockResolvedValue([]),
39
- ready: vi.fn().mockResolvedValue([]),
40
- blockers: vi.fn().mockResolvedValue([]),
41
- blocking: vi.fn().mockResolvedValue([]),
42
- feedback: vi.fn().mockResolvedValue([]),
43
- implementers: vi.fn().mockResolvedValue([]),
44
- specs: vi.fn().mockResolvedValue([]),
45
- },
46
- getNode: vi.fn((id) => Promise.resolve(nodes.get(id) ?? null)),
47
- getEdge: vi.fn((id) => Promise.resolve(edges.get(id) ?? null)),
48
- createNode: vi.fn((input) => {
49
- const prefix = input.type === 'feedback' ? 'f' : input.type.charAt(0);
50
- const node = { id: `${prefix}-1`, ...input };
51
- nodes.set(node.id, node);
52
- return Promise.resolve(node);
53
- }),
54
- updateNode: vi.fn((id, updates) => {
55
- const node = nodes.get(id);
56
- if (!node) {
57
- throw new Error(`Node not found: ${id}`);
58
- }
59
- const updated = { ...node, ...updates };
60
- nodes.set(id, updated);
61
- return Promise.resolve(updated);
62
- }),
63
- deleteNode: vi.fn((id) => {
64
- if (!nodes.has(id)) {
65
- throw new Error(`Node not found: ${id}`);
66
- }
67
- nodes.delete(id);
68
- return Promise.resolve();
69
- }),
70
- createEdge: vi.fn((input) => {
71
- const edge = { id: `e-1`, ...input };
72
- edges.set(edge.id, edge);
73
- return Promise.resolve(edge);
74
- }),
75
- deleteEdge: vi.fn((id) => {
76
- if (!edges.has(id)) {
77
- throw new Error(`Edge not found: ${id}`);
78
- }
79
- edges.delete(id);
80
- return Promise.resolve();
81
- }),
82
- _nodes: nodes,
83
- _edges: edges,
84
- };
85
- }
86
- // ============================================================================
87
- // Tests
88
- // ============================================================================
89
- function createMockLocationResolver(store, flushManager) {
90
- const state = {
91
- hash: 'primary',
92
- opentasksPath: '/tmp/.opentasks',
93
- store: store,
94
- flushManager: flushManager,
95
- watcher: {},
96
- primary: true,
97
- healthy: true,
98
- };
99
- return {
100
- resolve: () => state,
101
- getDefault: () => state,
102
- list: () => [{ hash: 'primary', opentasksPath: '/tmp/.opentasks', primary: true, healthy: true }],
103
- has: () => true,
104
- add: () => { },
105
- remove: async () => { },
106
- };
107
- }
108
- describe('registerToolsMethods', () => {
109
- let server;
110
- let store;
111
- let flushManager;
112
- beforeEach(() => {
113
- server = createMockServer();
114
- store = createMockStore();
115
- flushManager = createMockFlushManager();
116
- const locationResolver = createMockLocationResolver(store, flushManager);
117
- registerToolsMethods({ server, locationResolver });
118
- });
119
- describe('tools.link', () => {
120
- it('should register handler', () => {
121
- expect(server.handlers.has('tools.link')).toBe(true);
122
- });
123
- it('should create edge between local nodes', async () => {
124
- // Set up nodes
125
- store._nodes.set('i-1', { id: 'i-1', type: 'issue', title: 'Issue 1' });
126
- store._nodes.set('i-2', { id: 'i-2', type: 'issue', title: 'Issue 2' });
127
- store.getNode = vi.fn((id) => Promise.resolve(store._nodes.get(id) ?? null));
128
- const result = await server.call('tools.link', {
129
- fromId: 'i-1',
130
- toId: 'i-2',
131
- type: 'blocks',
132
- });
133
- expect(result).toHaveProperty('success', true);
134
- expect(result).toHaveProperty('edgeId');
135
- expect(flushManager.markDirty).toHaveBeenCalledWith('i-1');
136
- expect(flushManager.markDirty).toHaveBeenCalledWith('i-2');
137
- expect(flushManager.schedule).toHaveBeenCalled();
138
- });
139
- it('should return error if params is undefined', async () => {
140
- const result = await server.call('tools.link', undefined);
141
- expect(result).toEqual({
142
- success: false,
143
- error: 'Missing required parameters',
144
- });
145
- });
146
- it('should return error for missing fromId', async () => {
147
- const result = await server.call('tools.link', {
148
- toId: 'i-2',
149
- type: 'blocks',
150
- });
151
- expect(result).toHaveProperty('success', false);
152
- expect(result).toHaveProperty('error');
153
- });
154
- it('should not mark dirty for provider URIs', async () => {
155
- // Provider URI doesn't match local ID pattern
156
- const result = await server.call('tools.link', {
157
- fromId: 'beads://./test',
158
- toId: 'jira://PROJ-123',
159
- type: 'blocks',
160
- });
161
- // Should succeed but not mark dirty (URIs don't match local pattern)
162
- expect(result).toHaveProperty('success', true);
163
- expect(flushManager.markDirty).not.toHaveBeenCalled();
164
- });
165
- });
166
- describe('tools.query', () => {
167
- it('should register handler', () => {
168
- expect(server.handlers.has('tools.query')).toBe(true);
169
- });
170
- it('should query nodes', async () => {
171
- ;
172
- store.query.nodes.mockResolvedValue([
173
- { id: 'i-1', type: 'issue', title: 'Test', archived: false },
174
- ]);
175
- const result = await server.call('tools.query', {
176
- nodes: { type: 'issue' },
177
- });
178
- expect(result).toHaveProperty('items');
179
- expect(result).toHaveProperty('hasMore');
180
- expect(store.query.nodes).toHaveBeenCalled();
181
- });
182
- it('should query ready items', async () => {
183
- ;
184
- store.query.ready.mockResolvedValue([
185
- { id: 'i-1', type: 'issue', title: 'Ready Issue', archived: false },
186
- ]);
187
- const result = await server.call('tools.query', {
188
- ready: {},
189
- });
190
- expect(result).toHaveProperty('items');
191
- expect(store.query.ready).toHaveBeenCalled();
192
- });
193
- it('should throw error if params is undefined', async () => {
194
- await expect(server.call('tools.query', undefined)).rejects.toThrow('Missing required parameters');
195
- });
196
- it('should throw error if no query type specified', async () => {
197
- await expect(server.call('tools.query', {})).rejects.toThrow('No query type specified');
198
- });
199
- });
200
- describe('tools.annotate', () => {
201
- it('should register handler', () => {
202
- expect(server.handlers.has('tools.annotate')).toBe(true);
203
- });
204
- it('should create feedback on target node', async () => {
205
- // Set up target node
206
- store._nodes.set('s-1', { id: 's-1', type: 'spec', title: 'Test Spec' });
207
- store.getNode = vi.fn((id) => Promise.resolve(store._nodes.get(id) ?? null));
208
- const result = await server.call('tools.annotate', {
209
- targetId: 's-1',
210
- create: {
211
- content: 'This is feedback',
212
- type: 'comment',
213
- },
214
- });
215
- expect(result).toHaveProperty('success', true);
216
- expect(result).toHaveProperty('feedbackId');
217
- expect(store.createNode).toHaveBeenCalled();
218
- expect(flushManager.markDirty).toHaveBeenCalledWith('s-1');
219
- expect(flushManager.schedule).toHaveBeenCalled();
220
- });
221
- it('should return error if params is undefined', async () => {
222
- const result = await server.call('tools.annotate', undefined);
223
- expect(result).toEqual({
224
- success: false,
225
- error: 'Missing required parameters',
226
- });
227
- });
228
- it('should return error if targetId is missing', async () => {
229
- const result = await server.call('tools.annotate', {
230
- create: { content: 'Test' },
231
- });
232
- expect(result).toHaveProperty('success', false);
233
- expect(result).toHaveProperty('error', 'Missing required parameter: targetId');
234
- });
235
- it('should return error if target node not found', async () => {
236
- store.getNode = vi.fn().mockResolvedValue(null);
237
- const result = await server.call('tools.annotate', {
238
- targetId: 'nonexistent',
239
- create: { content: 'Test' },
240
- });
241
- expect(result).toHaveProperty('success', false);
242
- expect(result).toHaveProperty('error');
243
- });
244
- it('should resolve feedback', async () => {
245
- // Set up feedback node
246
- store._nodes.set('f-1', {
247
- id: 'f-1',
248
- type: 'feedback',
249
- title: 'Feedback',
250
- resolved: false,
251
- });
252
- store.getNode = vi.fn((id) => Promise.resolve(store._nodes.get(id) ?? null));
253
- const result = await server.call('tools.annotate', {
254
- targetId: 'f-1',
255
- resolve: 'f-1',
256
- });
257
- expect(result).toHaveProperty('success', true);
258
- expect(store.updateNode).toHaveBeenCalledWith('f-1', { resolved: true });
259
- });
260
- it('should dismiss feedback', async () => {
261
- // Set up feedback node
262
- store._nodes.set('f-1', {
263
- id: 'f-1',
264
- type: 'feedback',
265
- title: 'Feedback',
266
- dismissed: false,
267
- });
268
- store.getNode = vi.fn((id) => Promise.resolve(store._nodes.get(id) ?? null));
269
- const result = await server.call('tools.annotate', {
270
- targetId: 'f-1',
271
- dismiss: 'f-1',
272
- });
273
- expect(result).toHaveProperty('success', true);
274
- expect(store.updateNode).toHaveBeenCalledWith('f-1', { dismissed: true });
275
- });
276
- it('should mark fromId dirty when provided', async () => {
277
- // Set up nodes
278
- store._nodes.set('s-1', { id: 's-1', type: 'spec', title: 'Test Spec' });
279
- store._nodes.set('i-1', { id: 'i-1', type: 'issue', title: 'Test Issue' });
280
- store.getNode = vi.fn((id) => Promise.resolve(store._nodes.get(id) ?? null));
281
- const result = await server.call('tools.annotate', {
282
- targetId: 's-1',
283
- fromId: 'i-1',
284
- create: {
285
- content: 'Feedback from issue',
286
- type: 'suggestion',
287
- },
288
- });
289
- expect(result).toHaveProperty('success', true);
290
- expect(flushManager.markDirty).toHaveBeenCalledWith('s-1');
291
- expect(flushManager.markDirty).toHaveBeenCalledWith('i-1');
292
- });
293
- });
294
- });
295
- //# sourceMappingURL=tools.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../../../src/daemon/methods/__tests__/tools.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=EdgeTypeRegistry.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EdgeTypeRegistry.test.d.ts","sourceRoot":"","sources":["../../../src/graph/__tests__/EdgeTypeRegistry.test.ts"],"names":[],"mappings":""}
@@ -1,212 +0,0 @@
1
- import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
- import { createEdgeTypeRegistry, getEdgeTypeRegistry, resetEdgeTypeRegistry, BUILTIN_EDGE_TYPES, } from '../EdgeTypeRegistry.js';
3
- describe('EdgeTypeRegistry', () => {
4
- let registry;
5
- beforeEach(() => {
6
- registry = createEdgeTypeRegistry();
7
- });
8
- describe('built-in types', () => {
9
- it('has all built-in types registered', () => {
10
- for (const type of BUILTIN_EDGE_TYPES) {
11
- expect(registry.has(type.name)).toBe(true);
12
- }
13
- });
14
- it('includes blocks type with affectsReady=true', () => {
15
- const result = registry.lookup('blocks');
16
- expect(result).not.toBeNull();
17
- expect(result.definition.affectsReady).toBe(true);
18
- });
19
- it('includes implements type with affectsReady=false', () => {
20
- const result = registry.lookup('implements');
21
- expect(result).not.toBeNull();
22
- expect(result.definition.affectsReady).toBe(false);
23
- });
24
- it('has correct provider assignments', () => {
25
- const blocks = registry.lookup('blocks');
26
- expect(blocks.definition.providers).toContain('native');
27
- expect(blocks.definition.providers).toContain('beads');
28
- const implements_ = registry.lookup('implements');
29
- expect(implements_.definition.providers).toContain('native');
30
- expect(implements_.definition.providers).not.toContain('beads');
31
- });
32
- });
33
- describe('lookup()', () => {
34
- it('returns null for unknown type', () => {
35
- const result = registry.lookup('unknown-type');
36
- expect(result).toBeNull();
37
- });
38
- it('returns definition for known type', () => {
39
- const result = registry.lookup('blocks');
40
- expect(result).not.toBeNull();
41
- expect(result.definition.name).toBe('blocks');
42
- expect(result.definition.description).toBe('Source must complete before target can start');
43
- });
44
- it('identifies canonical type correctly', () => {
45
- const blocks = registry.lookup('blocks');
46
- expect(blocks.isCanonical).toBe(true);
47
- expect(blocks.canonicalType).toBe('blocks');
48
- const blockedBy = registry.lookup('blocked-by');
49
- expect(blockedBy.isCanonical).toBe(false);
50
- expect(blockedBy.canonicalType).toBe('blocks');
51
- });
52
- it('handles types without inverse', () => {
53
- const result = registry.lookup('implements');
54
- expect(result.isCanonical).toBe(true);
55
- expect(result.canonicalType).toBe('implements');
56
- });
57
- });
58
- describe('getInverse()', () => {
59
- it('returns inverse for blocks', () => {
60
- expect(registry.getInverse('blocks')).toBe('blocked-by');
61
- });
62
- it('returns inverse for blocked-by', () => {
63
- expect(registry.getInverse('blocked-by')).toBe('blocks');
64
- });
65
- it('returns inverse for parent-of', () => {
66
- expect(registry.getInverse('parent-of')).toBe('child-of');
67
- });
68
- it('returns null for types without inverse', () => {
69
- expect(registry.getInverse('implements')).toBeNull();
70
- expect(registry.getInverse('references')).toBeNull();
71
- });
72
- it('returns null for unknown types', () => {
73
- expect(registry.getInverse('unknown')).toBeNull();
74
- });
75
- });
76
- describe('affectsReady()', () => {
77
- it('returns true for blocks', () => {
78
- expect(registry.affectsReady('blocks')).toBe(true);
79
- });
80
- it('returns true for blocked-by', () => {
81
- expect(registry.affectsReady('blocked-by')).toBe(true);
82
- });
83
- it('returns false for implements', () => {
84
- expect(registry.affectsReady('implements')).toBe(false);
85
- });
86
- it('returns false for related', () => {
87
- expect(registry.affectsReady('related')).toBe(false);
88
- });
89
- it('returns false for unknown types', () => {
90
- expect(registry.affectsReady('unknown')).toBe(false);
91
- });
92
- });
93
- describe('getReadyAffectingTypes()', () => {
94
- it('returns only types that affect ready', () => {
95
- const types = registry.getReadyAffectingTypes();
96
- expect(types).toContain('blocks');
97
- expect(types).toContain('blocked-by');
98
- expect(types).not.toContain('implements');
99
- expect(types).not.toContain('related');
100
- });
101
- });
102
- describe('getTypesForProvider()', () => {
103
- it('returns types for native provider', () => {
104
- const types = registry.getTypesForProvider('native');
105
- const names = types.map((t) => t.name);
106
- expect(names).toContain('blocks');
107
- expect(names).toContain('implements');
108
- expect(names).toContain('references');
109
- });
110
- it('returns types for beads provider', () => {
111
- const types = registry.getTypesForProvider('beads');
112
- const names = types.map((t) => t.name);
113
- expect(names).toContain('blocks');
114
- expect(names).toContain('related');
115
- expect(names).not.toContain('implements'); // Native only
116
- });
117
- it('returns empty for unknown provider', () => {
118
- const types = registry.getTypesForProvider('unknown-provider');
119
- expect(types).toHaveLength(0);
120
- });
121
- });
122
- describe('register()', () => {
123
- it('allows registering new types', () => {
124
- const customType = {
125
- name: 'custom-blocks',
126
- description: 'Custom blocking relationship',
127
- affectsReady: true,
128
- direction: 'directed',
129
- providers: ['custom-provider'],
130
- };
131
- registry.register(customType);
132
- expect(registry.has('custom-blocks')).toBe(true);
133
- const result = registry.lookup('custom-blocks');
134
- expect(result.definition.description).toBe('Custom blocking relationship');
135
- });
136
- it('allows re-registering same definition (idempotent)', () => {
137
- const type = BUILTIN_EDGE_TYPES[0];
138
- expect(() => registry.register(type)).not.toThrow();
139
- });
140
- it('throws when re-registering with different definition', () => {
141
- const conflicting = {
142
- name: 'blocks',
143
- description: 'Different description',
144
- affectsReady: false, // Different!
145
- direction: 'directed',
146
- providers: ['native'],
147
- };
148
- expect(() => registry.register(conflicting)).toThrow("Edge type 'blocks' already registered with different definition");
149
- });
150
- it('tracks inverse relationships for custom types', () => {
151
- const typeA = {
152
- name: 'triggers',
153
- description: 'Triggers execution of',
154
- inverseOf: 'triggered-by',
155
- affectsReady: false,
156
- direction: 'directed',
157
- providers: ['native'],
158
- };
159
- const typeB = {
160
- name: 'triggered-by',
161
- description: 'Is triggered by',
162
- inverseOf: 'triggers',
163
- affectsReady: false,
164
- direction: 'directed',
165
- providers: ['native'],
166
- };
167
- registry.register(typeA);
168
- registry.register(typeB);
169
- expect(registry.getInverse('triggers')).toBe('triggered-by');
170
- expect(registry.getInverse('triggered-by')).toBe('triggers');
171
- });
172
- });
173
- describe('getAll()', () => {
174
- it('returns all registered types', () => {
175
- const all = registry.getAll();
176
- expect(all.length).toBeGreaterThanOrEqual(BUILTIN_EDGE_TYPES.length);
177
- for (const type of BUILTIN_EDGE_TYPES) {
178
- expect(all.find((t) => t.name === type.name)).toBeDefined();
179
- }
180
- });
181
- });
182
- describe('has()', () => {
183
- it('returns true for registered types', () => {
184
- expect(registry.has('blocks')).toBe(true);
185
- expect(registry.has('implements')).toBe(true);
186
- });
187
- it('returns false for unregistered types', () => {
188
- expect(registry.has('non-existent')).toBe(false);
189
- });
190
- });
191
- });
192
- describe('Global Registry', () => {
193
- afterEach(() => {
194
- resetEdgeTypeRegistry();
195
- });
196
- it('returns singleton instance', () => {
197
- const reg1 = getEdgeTypeRegistry();
198
- const reg2 = getEdgeTypeRegistry();
199
- expect(reg1).toBe(reg2);
200
- });
201
- it('resets properly', () => {
202
- const reg1 = getEdgeTypeRegistry();
203
- resetEdgeTypeRegistry();
204
- const reg2 = getEdgeTypeRegistry();
205
- expect(reg1).not.toBe(reg2);
206
- });
207
- it('has built-in types', () => {
208
- const reg = getEdgeTypeRegistry();
209
- expect(reg.has('blocks')).toBe(true);
210
- });
211
- });
212
- //# sourceMappingURL=EdgeTypeRegistry.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EdgeTypeRegistry.test.js","sourceRoot":"","sources":["../../../src/graph/__tests__/EdgeTypeRegistry.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=FederatedGraph.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FederatedGraph.test.d.ts","sourceRoot":"","sources":["../../../src/graph/__tests__/FederatedGraph.test.ts"],"names":[],"mappings":""}