macro-agent 0.1.2 → 0.1.4

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 (1540) hide show
  1. package/.gitattributes +3 -0
  2. package/.opentasks/config.json +9 -0
  3. package/CLAUDE.md +432 -206
  4. package/README.md +129 -371
  5. package/dist/acp/index.d.ts +9 -51
  6. package/dist/acp/index.d.ts.map +1 -1
  7. package/dist/acp/index.js +5 -46
  8. package/dist/acp/index.js.map +1 -1
  9. package/dist/acp/macro-agent.d.ts +28 -255
  10. package/dist/acp/macro-agent.d.ts.map +1 -1
  11. package/dist/acp/macro-agent.js +593 -1231
  12. package/dist/acp/macro-agent.js.map +1 -1
  13. package/dist/acp/map-bridge.d.ts +62 -0
  14. package/dist/acp/map-bridge.d.ts.map +1 -0
  15. package/dist/acp/map-bridge.js +123 -0
  16. package/dist/acp/map-bridge.js.map +1 -0
  17. package/dist/acp/session-mapper.d.ts +29 -126
  18. package/dist/acp/session-mapper.d.ts.map +1 -1
  19. package/dist/acp/session-mapper.js +36 -234
  20. package/dist/acp/session-mapper.js.map +1 -1
  21. package/dist/acp/types.d.ts +24 -535
  22. package/dist/acp/types.d.ts.map +1 -1
  23. package/dist/acp/types.js +7 -7
  24. package/dist/acp/types.js.map +1 -1
  25. package/dist/acp/websocket-server.d.ts +16 -136
  26. package/dist/acp/websocket-server.d.ts.map +1 -1
  27. package/dist/acp/websocket-server.js +131 -371
  28. package/dist/acp/websocket-server.js.map +1 -1
  29. package/dist/adapters/federation.d.ts +76 -0
  30. package/dist/adapters/federation.d.ts.map +1 -0
  31. package/dist/adapters/federation.js +120 -0
  32. package/dist/adapters/federation.js.map +1 -0
  33. package/dist/adapters/inbox-adapter.d.ts +72 -0
  34. package/dist/adapters/inbox-adapter.d.ts.map +1 -0
  35. package/dist/adapters/inbox-adapter.js +196 -0
  36. package/dist/adapters/inbox-adapter.js.map +1 -0
  37. package/dist/adapters/inbox-client-adapter.d.ts +40 -0
  38. package/dist/adapters/inbox-client-adapter.d.ts.map +1 -0
  39. package/dist/adapters/inbox-client-adapter.js +135 -0
  40. package/dist/adapters/inbox-client-adapter.js.map +1 -0
  41. package/dist/adapters/index.d.ts +11 -0
  42. package/dist/adapters/index.d.ts.map +1 -0
  43. package/dist/adapters/index.js +10 -0
  44. package/dist/adapters/index.js.map +1 -0
  45. package/dist/adapters/opentasks-daemon.d.ts +32 -0
  46. package/dist/adapters/opentasks-daemon.d.ts.map +1 -0
  47. package/dist/adapters/opentasks-daemon.js +190 -0
  48. package/dist/adapters/opentasks-daemon.js.map +1 -0
  49. package/dist/adapters/tasks-adapter.d.ts +49 -0
  50. package/dist/adapters/tasks-adapter.d.ts.map +1 -0
  51. package/dist/adapters/tasks-adapter.js +209 -0
  52. package/dist/adapters/tasks-adapter.js.map +1 -0
  53. package/dist/adapters/types.d.ts +198 -0
  54. package/dist/adapters/types.d.ts.map +1 -0
  55. package/dist/adapters/types.js +13 -0
  56. package/dist/adapters/types.js.map +1 -0
  57. package/dist/agent/agent-manager-v2.d.ts +38 -0
  58. package/dist/agent/agent-manager-v2.d.ts.map +1 -0
  59. package/dist/agent/agent-manager-v2.js +1097 -0
  60. package/dist/agent/agent-manager-v2.js.map +1 -0
  61. package/dist/agent/agent-manager.d.ts +52 -42
  62. package/dist/agent/agent-manager.d.ts.map +1 -1
  63. package/dist/agent/agent-manager.js +11 -1318
  64. package/dist/agent/agent-manager.js.map +1 -1
  65. package/dist/agent/agent-store.d.ts +89 -0
  66. package/dist/agent/agent-store.d.ts.map +1 -0
  67. package/dist/agent/agent-store.js +279 -0
  68. package/dist/agent/agent-store.js.map +1 -0
  69. package/dist/api/index.d.ts +5 -3
  70. package/dist/api/index.d.ts.map +1 -1
  71. package/dist/api/index.js +4 -3
  72. package/dist/api/index.js.map +1 -1
  73. package/dist/api/server.d.ts +6 -127
  74. package/dist/api/server.d.ts.map +1 -1
  75. package/dist/api/server.js +235 -1574
  76. package/dist/api/server.js.map +1 -1
  77. package/dist/api/types.d.ts +20 -248
  78. package/dist/api/types.d.ts.map +1 -1
  79. package/dist/api/types.js +3 -1
  80. package/dist/api/types.js.map +1 -1
  81. package/dist/boot-v2.d.ts +165 -0
  82. package/dist/boot-v2.d.ts.map +1 -0
  83. package/dist/boot-v2.js +315 -0
  84. package/dist/boot-v2.js.map +1 -0
  85. package/dist/cli/acp.d.ts +6 -28
  86. package/dist/cli/acp.d.ts.map +1 -1
  87. package/dist/cli/acp.js +38 -442
  88. package/dist/cli/acp.js.map +1 -1
  89. package/dist/cli/index.d.ts +1 -2
  90. package/dist/cli/index.d.ts.map +1 -1
  91. package/dist/cli/index.js +65 -453
  92. package/dist/cli/index.js.map +1 -1
  93. package/dist/cli/mcp.d.ts +18 -8
  94. package/dist/cli/mcp.d.ts.map +1 -1
  95. package/dist/cli/mcp.js +231 -301
  96. package/dist/cli/mcp.js.map +1 -1
  97. package/dist/cognitive/analyst-role.d.ts +13 -0
  98. package/dist/cognitive/analyst-role.d.ts.map +1 -0
  99. package/dist/cognitive/analyst-role.js +48 -0
  100. package/dist/cognitive/analyst-role.js.map +1 -0
  101. package/dist/cognitive/index.d.ts +18 -0
  102. package/dist/cognitive/index.d.ts.map +1 -0
  103. package/dist/cognitive/index.js +21 -0
  104. package/dist/cognitive/index.js.map +1 -0
  105. package/dist/cognitive/macro-agent-backend.d.ts +40 -0
  106. package/dist/cognitive/macro-agent-backend.d.ts.map +1 -0
  107. package/dist/cognitive/macro-agent-backend.js +290 -0
  108. package/dist/cognitive/macro-agent-backend.js.map +1 -0
  109. package/dist/cognitive/session-converter.d.ts +30 -0
  110. package/dist/cognitive/session-converter.d.ts.map +1 -0
  111. package/dist/cognitive/session-converter.js +119 -0
  112. package/dist/cognitive/session-converter.js.map +1 -0
  113. package/dist/cognitive/types.d.ts +129 -0
  114. package/dist/cognitive/types.d.ts.map +1 -0
  115. package/dist/cognitive/types.js +12 -0
  116. package/dist/cognitive/types.js.map +1 -0
  117. package/dist/cognitive/workspace-handler.d.ts +38 -0
  118. package/dist/cognitive/workspace-handler.d.ts.map +1 -0
  119. package/dist/cognitive/workspace-handler.js +136 -0
  120. package/dist/cognitive/workspace-handler.js.map +1 -0
  121. package/dist/control/control-client.d.ts +63 -0
  122. package/dist/control/control-client.d.ts.map +1 -0
  123. package/dist/control/control-client.js +276 -0
  124. package/dist/control/control-client.js.map +1 -0
  125. package/dist/control/control-server.d.ts +46 -0
  126. package/dist/control/control-server.d.ts.map +1 -0
  127. package/dist/control/control-server.js +237 -0
  128. package/dist/control/control-server.js.map +1 -0
  129. package/dist/control/index.d.ts +9 -0
  130. package/dist/control/index.d.ts.map +1 -0
  131. package/dist/control/index.js +8 -0
  132. package/dist/control/index.js.map +1 -0
  133. package/dist/control/types.d.ts +64 -0
  134. package/dist/control/types.d.ts.map +1 -0
  135. package/dist/control/types.js +10 -0
  136. package/dist/control/types.js.map +1 -0
  137. package/dist/index.d.ts +14 -16
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +15 -34
  140. package/dist/index.js.map +1 -1
  141. package/dist/integrations/context-builder.d.ts +49 -0
  142. package/dist/integrations/context-builder.d.ts.map +1 -0
  143. package/dist/integrations/context-builder.js +160 -0
  144. package/dist/integrations/context-builder.js.map +1 -0
  145. package/dist/integrations/sessionlog.d.ts +58 -0
  146. package/dist/integrations/sessionlog.d.ts.map +1 -0
  147. package/dist/integrations/sessionlog.js +152 -0
  148. package/dist/integrations/sessionlog.js.map +1 -0
  149. package/dist/integrations/skilltree.d.ts +53 -0
  150. package/dist/integrations/skilltree.d.ts.map +1 -0
  151. package/dist/integrations/skilltree.js +140 -0
  152. package/dist/integrations/skilltree.js.map +1 -0
  153. package/dist/lifecycle/cleanup.d.ts +5 -14
  154. package/dist/lifecycle/cleanup.d.ts.map +1 -1
  155. package/dist/lifecycle/cleanup.js +4 -34
  156. package/dist/lifecycle/cleanup.js.map +1 -1
  157. package/dist/lifecycle/handlers-v2.d.ts +33 -0
  158. package/dist/lifecycle/handlers-v2.d.ts.map +1 -0
  159. package/dist/lifecycle/handlers-v2.js +319 -0
  160. package/dist/lifecycle/handlers-v2.js.map +1 -0
  161. package/dist/lifecycle/index.d.ts +3 -5
  162. package/dist/lifecycle/index.d.ts.map +1 -1
  163. package/dist/lifecycle/index.js +3 -12
  164. package/dist/lifecycle/index.js.map +1 -1
  165. package/dist/map/acp-bridge.d.ts +39 -0
  166. package/dist/map/acp-bridge.d.ts.map +1 -0
  167. package/dist/map/acp-bridge.js +180 -0
  168. package/dist/map/acp-bridge.js.map +1 -0
  169. package/dist/map/cc-swarm-hooks.d.ts +36 -0
  170. package/dist/map/cc-swarm-hooks.d.ts.map +1 -0
  171. package/dist/map/cc-swarm-hooks.js +218 -0
  172. package/dist/map/cc-swarm-hooks.js.map +1 -0
  173. package/dist/map/coordination-handler.d.ts +36 -0
  174. package/dist/map/coordination-handler.d.ts.map +1 -0
  175. package/dist/map/coordination-handler.js +170 -0
  176. package/dist/map/coordination-handler.js.map +1 -0
  177. package/dist/map/index.d.ts +5 -10
  178. package/dist/map/index.d.ts.map +1 -1
  179. package/dist/map/index.js +4 -13
  180. package/dist/map/index.js.map +1 -1
  181. package/dist/map/lifecycle-bridge.d.ts +34 -0
  182. package/dist/map/lifecycle-bridge.d.ts.map +1 -0
  183. package/dist/map/lifecycle-bridge.js +96 -0
  184. package/dist/map/lifecycle-bridge.js.map +1 -0
  185. package/dist/map/server.d.ts +38 -0
  186. package/dist/map/server.d.ts.map +1 -0
  187. package/dist/map/server.js +461 -0
  188. package/dist/map/server.js.map +1 -0
  189. package/dist/map/sidecar.d.ts +24 -0
  190. package/dist/map/sidecar.d.ts.map +1 -0
  191. package/dist/map/sidecar.js +277 -0
  192. package/dist/map/sidecar.js.map +1 -0
  193. package/dist/map/task-bridge.d.ts +22 -0
  194. package/dist/map/task-bridge.d.ts.map +1 -0
  195. package/dist/map/task-bridge.js +67 -0
  196. package/dist/map/task-bridge.js.map +1 -0
  197. package/dist/map/trajectory-reporter.d.ts +24 -0
  198. package/dist/map/trajectory-reporter.d.ts.map +1 -0
  199. package/dist/map/trajectory-reporter.js +86 -0
  200. package/dist/map/trajectory-reporter.js.map +1 -0
  201. package/dist/map/types.d.ts +162 -226
  202. package/dist/map/types.d.ts.map +1 -1
  203. package/dist/map/types.js +6 -165
  204. package/dist/map/types.js.map +1 -1
  205. package/dist/mcp/index.d.ts +2 -2
  206. package/dist/mcp/index.d.ts.map +1 -1
  207. package/dist/mcp/index.js +2 -2
  208. package/dist/mcp/index.js.map +1 -1
  209. package/dist/mcp/mcp-server-v2.d.ts +44 -0
  210. package/dist/mcp/mcp-server-v2.d.ts.map +1 -0
  211. package/dist/mcp/mcp-server-v2.js +376 -0
  212. package/dist/mcp/mcp-server-v2.js.map +1 -0
  213. package/dist/mcp/tools/done-v2.d.ts +57 -0
  214. package/dist/mcp/tools/done-v2.d.ts.map +1 -0
  215. package/dist/mcp/tools/done-v2.js +129 -0
  216. package/dist/mcp/tools/done-v2.js.map +1 -0
  217. package/dist/metrics/index.d.ts +7 -1
  218. package/dist/metrics/index.d.ts.map +1 -1
  219. package/dist/metrics/index.js +6 -1
  220. package/dist/metrics/index.js.map +1 -1
  221. package/dist/metrics/metrics.d.ts +9 -70
  222. package/dist/metrics/metrics.d.ts.map +1 -1
  223. package/dist/metrics/metrics.js +89 -145
  224. package/dist/metrics/metrics.js.map +1 -1
  225. package/dist/metrics/types.d.ts +44 -0
  226. package/dist/metrics/types.d.ts.map +1 -0
  227. package/dist/metrics/types.js +7 -0
  228. package/dist/metrics/types.js.map +1 -0
  229. package/dist/store/index.d.ts +3 -6
  230. package/dist/store/index.d.ts.map +1 -1
  231. package/dist/store/index.js +3 -21
  232. package/dist/store/index.js.map +1 -1
  233. package/dist/store/types/events.d.ts +3 -60
  234. package/dist/store/types/events.d.ts.map +1 -1
  235. package/dist/store/types/events.js +3 -46
  236. package/dist/store/types/events.js.map +1 -1
  237. package/dist/store/types/index.d.ts +0 -3
  238. package/dist/store/types/index.d.ts.map +1 -1
  239. package/dist/store/types/index.js +0 -3
  240. package/dist/store/types/index.js.map +1 -1
  241. package/dist/teams/index.d.ts +0 -2
  242. package/dist/teams/index.d.ts.map +1 -1
  243. package/dist/teams/index.js +0 -2
  244. package/dist/teams/index.js.map +1 -1
  245. package/dist/teams/team-manager-v2.d.ts +87 -0
  246. package/dist/teams/team-manager-v2.d.ts.map +1 -0
  247. package/dist/teams/team-manager-v2.js +203 -0
  248. package/dist/teams/team-manager-v2.js.map +1 -0
  249. package/dist/teams/team-runtime-v2.d.ts +149 -0
  250. package/dist/teams/team-runtime-v2.d.ts.map +1 -0
  251. package/dist/teams/team-runtime-v2.js +741 -0
  252. package/dist/teams/team-runtime-v2.js.map +1 -0
  253. package/dist/trigger/index.d.ts +2 -2
  254. package/dist/trigger/index.d.ts.map +1 -1
  255. package/dist/trigger/index.js +4 -4
  256. package/dist/trigger/index.js.map +1 -1
  257. package/dist/trigger/sources/cron/cron-service.d.ts +1 -1
  258. package/dist/trigger/sources/cron/cron-service.d.ts.map +1 -1
  259. package/dist/trigger/sources/webhook/webhook-handler.d.ts +1 -1
  260. package/dist/trigger/sources/webhook/webhook-handler.d.ts.map +1 -1
  261. package/dist/trigger/strategies/ai-router.d.ts +31 -0
  262. package/dist/trigger/strategies/ai-router.d.ts.map +1 -0
  263. package/dist/trigger/strategies/ai-router.js +132 -0
  264. package/dist/trigger/strategies/ai-router.js.map +1 -0
  265. package/dist/trigger/trigger-system-v2.d.ts +106 -0
  266. package/dist/trigger/trigger-system-v2.d.ts.map +1 -0
  267. package/dist/trigger/trigger-system-v2.js +347 -0
  268. package/dist/trigger/trigger-system-v2.js.map +1 -0
  269. package/dist/trigger/types.d.ts +8 -0
  270. package/dist/trigger/types.d.ts.map +1 -1
  271. package/dist/trigger/types.js.map +1 -1
  272. package/dist/workspace/strategies/optimistic.d.ts +13 -3
  273. package/dist/workspace/strategies/optimistic.d.ts.map +1 -1
  274. package/dist/workspace/strategies/optimistic.js +4 -4
  275. package/dist/workspace/strategies/optimistic.js.map +1 -1
  276. package/docs/design-subsystem-extraction.md +627 -0
  277. package/docs/lifecycle-events-design.md +111 -0
  278. package/docs/openhive-capability-summary.md +415 -0
  279. package/docs/openhive-integration.md +415 -0
  280. package/docs/roadmap-v2-gaps.md +216 -0
  281. package/package.json +27 -7
  282. package/src/__tests__/boot-v2.test.ts +196 -0
  283. package/src/__tests__/e2e/acp-over-map-live.e2e.test.ts +496 -0
  284. package/src/__tests__/e2e/acp-over-map.e2e.test.ts +365 -0
  285. package/src/__tests__/e2e/agent-lifecycle.e2e.test.ts +770 -0
  286. package/src/__tests__/e2e/cc-swarm-bridge.e2e.test.ts +253 -0
  287. package/src/__tests__/e2e/cognitive-workspace.e2e.test.ts +282 -0
  288. package/src/__tests__/e2e/done-scenarios.e2e.test.ts +322 -0
  289. package/src/__tests__/e2e/live-agent.e2e.test.ts +1330 -0
  290. package/src/__tests__/e2e/map-server.e2e.test.ts +128 -0
  291. package/src/__tests__/e2e/map-sidecar.e2e.test.ts +139 -0
  292. package/src/__tests__/e2e/opentasks-integration.e2e.test.ts +280 -0
  293. package/src/__tests__/e2e/pull-mode.e2e.test.ts +632 -0
  294. package/src/__tests__/e2e/resume-continue.e2e.test.ts +312 -0
  295. package/src/__tests__/e2e/swarmkit-integration.e2e.test.ts +562 -0
  296. package/src/__tests__/e2e/swarmkit-live.e2e.test.ts +1049 -0
  297. package/src/__tests__/e2e/trajectory-tracking.e2e.test.ts +258 -0
  298. package/src/__tests__/e2e/trigger-wake.e2e.test.ts +257 -0
  299. package/src/__tests__/e2e/workspace-lifecycle.e2e.test.ts +375 -0
  300. package/src/acp/__tests__/macro-agent.test.ts +234 -945
  301. package/src/acp/__tests__/session-mapper.test.ts +82 -155
  302. package/src/acp/__tests__/websocket-server.test.ts +121 -270
  303. package/src/acp/index.ts +18 -118
  304. package/src/acp/macro-agent.ts +692 -1752
  305. package/src/acp/map-bridge.ts +193 -0
  306. package/src/acp/session-mapper.ts +43 -276
  307. package/src/acp/types.ts +39 -767
  308. package/src/acp/websocket-server.ts +152 -588
  309. package/src/adapters/__tests__/federation.test.ts +256 -0
  310. package/src/adapters/__tests__/inbox-adapter.test.ts +316 -0
  311. package/src/adapters/__tests__/tasks-adapter.test.ts +269 -0
  312. package/src/adapters/federation.ts +185 -0
  313. package/src/adapters/inbox-adapter.ts +292 -0
  314. package/src/adapters/inbox-client-adapter.ts +173 -0
  315. package/src/adapters/index.ts +44 -0
  316. package/src/adapters/opentasks-daemon.ts +252 -0
  317. package/src/adapters/tasks-adapter.ts +327 -0
  318. package/src/adapters/types.ts +285 -0
  319. package/src/agent/__tests__/agent-manager-v2.test.ts +554 -0
  320. package/src/agent/__tests__/agent-store.test.ts +413 -0
  321. package/src/agent/agent-manager-v2.ts +1476 -0
  322. package/src/agent/agent-manager.ts +41 -1794
  323. package/src/agent/agent-store.ts +385 -0
  324. package/src/api/__tests__/server.test.ts +235 -1157
  325. package/src/api/index.ts +5 -3
  326. package/src/api/server.ts +270 -1989
  327. package/src/api/types.ts +25 -339
  328. package/src/boot-v2.ts +527 -0
  329. package/src/cli/acp.ts +38 -500
  330. package/src/cli/index.ts +68 -470
  331. package/src/cli/mcp.ts +260 -340
  332. package/src/cognitive/__tests__/macro-agent-backend.test.ts +478 -0
  333. package/src/cognitive/__tests__/session-converter.test.ts +423 -0
  334. package/src/cognitive/__tests__/workspace-handler.test.ts +221 -0
  335. package/src/cognitive/analyst-role.ts +59 -0
  336. package/src/cognitive/index.ts +49 -0
  337. package/src/cognitive/macro-agent-backend.ts +354 -0
  338. package/src/cognitive/session-converter.ts +151 -0
  339. package/src/cognitive/types.ts +163 -0
  340. package/src/cognitive/workspace-handler.ts +160 -0
  341. package/src/control/__tests__/control-resilience.test.ts +251 -0
  342. package/src/control/__tests__/control-socket.test.ts +240 -0
  343. package/src/control/control-client.ts +337 -0
  344. package/src/control/control-server.ts +298 -0
  345. package/src/control/index.ts +17 -0
  346. package/src/control/types.ts +95 -0
  347. package/src/index.ts +42 -224
  348. package/src/integrations/__tests__/context-builder.test.ts +218 -0
  349. package/src/integrations/__tests__/sessionlog.test.ts +498 -0
  350. package/src/integrations/__tests__/skilltree.test.ts +136 -0
  351. package/src/integrations/context-builder.ts +280 -0
  352. package/src/integrations/sessionlog.ts +194 -0
  353. package/src/integrations/skilltree.ts +183 -0
  354. package/src/lifecycle/__tests__/handlers-v2.test.ts +565 -0
  355. package/src/lifecycle/cleanup.ts +6 -46
  356. package/src/lifecycle/handlers-v2.ts +437 -0
  357. package/src/lifecycle/index.ts +2 -28
  358. package/src/map/__tests__/lifecycle-bridge.test.ts +223 -0
  359. package/src/map/__tests__/permission-forwarding.test.ts +143 -0
  360. package/src/map/__tests__/sidecar-integration.test.ts +190 -0
  361. package/src/map/__tests__/task-bridge.test.ts +153 -0
  362. package/src/map/__tests__/trajectory-reporter.test.ts +173 -0
  363. package/src/map/acp-bridge.ts +270 -0
  364. package/src/map/cc-swarm-hooks.ts +242 -0
  365. package/src/map/coordination-handler.ts +224 -0
  366. package/src/map/index.ts +13 -14
  367. package/src/map/lifecycle-bridge.ts +140 -0
  368. package/src/map/server.ts +527 -0
  369. package/src/map/sidecar.ts +331 -0
  370. package/src/map/task-bridge.ts +89 -0
  371. package/src/map/trajectory-reporter.ts +124 -0
  372. package/src/map/types.ts +195 -367
  373. package/src/mcp/__tests__/mcp-server-v2.test.ts +236 -0
  374. package/src/mcp/index.ts +2 -2
  375. package/src/mcp/mcp-server-v2.ts +485 -0
  376. package/src/mcp/tools/done-v2.ts +203 -0
  377. package/src/metrics/__tests__/metrics.test.ts +205 -0
  378. package/src/metrics/index.ts +13 -9
  379. package/src/metrics/metrics.ts +110 -239
  380. package/src/metrics/types.ts +63 -0
  381. package/src/store/index.ts +3 -64
  382. package/src/store/types/events.ts +5 -100
  383. package/src/store/types/index.ts +0 -3
  384. package/src/teams/__tests__/team-manager-v2.test.ts +425 -0
  385. package/src/teams/__tests__/team-runtime-v2.test.ts +402 -0
  386. package/src/teams/index.ts +0 -2
  387. package/src/teams/team-manager-v2.ts +268 -0
  388. package/src/teams/team-runtime-v2.ts +898 -0
  389. package/src/trigger/__tests__/trigger-system-v2.test.ts +257 -0
  390. package/src/trigger/index.ts +16 -31
  391. package/src/trigger/sources/cron/cron-service.ts +1 -1
  392. package/src/trigger/sources/webhook/webhook-handler.ts +1 -1
  393. package/src/trigger/strategies/ai-router.ts +170 -0
  394. package/src/trigger/trigger-system-v2.ts +536 -0
  395. package/src/trigger/types.ts +13 -0
  396. package/src/workspace/strategies/optimistic.ts +9 -6
  397. package/.claude/settings.local.json +0 -61
  398. package/dist/acp/websocket-stream.d.ts +0 -30
  399. package/dist/acp/websocket-stream.d.ts.map +0 -1
  400. package/dist/acp/websocket-stream.js +0 -118
  401. package/dist/acp/websocket-stream.js.map +0 -1
  402. package/dist/activity/deduplication.d.ts +0 -85
  403. package/dist/activity/deduplication.d.ts.map +0 -1
  404. package/dist/activity/deduplication.js +0 -149
  405. package/dist/activity/deduplication.js.map +0 -1
  406. package/dist/activity/index.d.ts +0 -16
  407. package/dist/activity/index.d.ts.map +0 -1
  408. package/dist/activity/index.js +0 -17
  409. package/dist/activity/index.js.map +0 -1
  410. package/dist/activity/relevance.d.ts +0 -81
  411. package/dist/activity/relevance.d.ts.map +0 -1
  412. package/dist/activity/relevance.js +0 -161
  413. package/dist/activity/relevance.js.map +0 -1
  414. package/dist/activity/types.d.ts +0 -169
  415. package/dist/activity/types.d.ts.map +0 -1
  416. package/dist/activity/types.js +0 -33
  417. package/dist/activity/types.js.map +0 -1
  418. package/dist/activity/watcher.d.ts +0 -64
  419. package/dist/activity/watcher.d.ts.map +0 -1
  420. package/dist/activity/watcher.js +0 -212
  421. package/dist/activity/watcher.js.map +0 -1
  422. package/dist/agent/wake.d.ts +0 -85
  423. package/dist/agent/wake.d.ts.map +0 -1
  424. package/dist/agent/wake.js +0 -278
  425. package/dist/agent/wake.js.map +0 -1
  426. package/dist/lifecycle/handlers/generic.d.ts +0 -27
  427. package/dist/lifecycle/handlers/generic.d.ts.map +0 -1
  428. package/dist/lifecycle/handlers/generic.js +0 -56
  429. package/dist/lifecycle/handlers/generic.js.map +0 -1
  430. package/dist/lifecycle/handlers/index.d.ts +0 -51
  431. package/dist/lifecycle/handlers/index.d.ts.map +0 -1
  432. package/dist/lifecycle/handlers/index.js +0 -110
  433. package/dist/lifecycle/handlers/index.js.map +0 -1
  434. package/dist/lifecycle/handlers/integrator.d.ts +0 -81
  435. package/dist/lifecycle/handlers/integrator.d.ts.map +0 -1
  436. package/dist/lifecycle/handlers/integrator.js +0 -451
  437. package/dist/lifecycle/handlers/integrator.js.map +0 -1
  438. package/dist/lifecycle/handlers/monitor.d.ts +0 -29
  439. package/dist/lifecycle/handlers/monitor.d.ts.map +0 -1
  440. package/dist/lifecycle/handlers/monitor.js +0 -79
  441. package/dist/lifecycle/handlers/monitor.js.map +0 -1
  442. package/dist/lifecycle/handlers/worker.d.ts +0 -56
  443. package/dist/lifecycle/handlers/worker.d.ts.map +0 -1
  444. package/dist/lifecycle/handlers/worker.js +0 -381
  445. package/dist/lifecycle/handlers/worker.js.map +0 -1
  446. package/dist/mail/conversation-map.d.ts +0 -33
  447. package/dist/mail/conversation-map.d.ts.map +0 -1
  448. package/dist/mail/conversation-map.js +0 -61
  449. package/dist/mail/conversation-map.js.map +0 -1
  450. package/dist/mail/index.d.ts +0 -11
  451. package/dist/mail/index.d.ts.map +0 -1
  452. package/dist/mail/index.js +0 -11
  453. package/dist/mail/index.js.map +0 -1
  454. package/dist/mail/mail-service.d.ts +0 -85
  455. package/dist/mail/mail-service.d.ts.map +0 -1
  456. package/dist/mail/mail-service.js +0 -121
  457. package/dist/mail/mail-service.js.map +0 -1
  458. package/dist/mail/stores/eventstore-conversation-store.d.ts +0 -40
  459. package/dist/mail/stores/eventstore-conversation-store.d.ts.map +0 -1
  460. package/dist/mail/stores/eventstore-conversation-store.js +0 -131
  461. package/dist/mail/stores/eventstore-conversation-store.js.map +0 -1
  462. package/dist/mail/stores/eventstore-participant-store.d.ts +0 -43
  463. package/dist/mail/stores/eventstore-participant-store.d.ts.map +0 -1
  464. package/dist/mail/stores/eventstore-participant-store.js +0 -145
  465. package/dist/mail/stores/eventstore-participant-store.js.map +0 -1
  466. package/dist/mail/stores/eventstore-thread-store.d.ts +0 -46
  467. package/dist/mail/stores/eventstore-thread-store.d.ts.map +0 -1
  468. package/dist/mail/stores/eventstore-thread-store.js +0 -118
  469. package/dist/mail/stores/eventstore-thread-store.js.map +0 -1
  470. package/dist/mail/stores/eventstore-turn-store.d.ts +0 -47
  471. package/dist/mail/stores/eventstore-turn-store.d.ts.map +0 -1
  472. package/dist/mail/stores/eventstore-turn-store.js +0 -153
  473. package/dist/mail/stores/eventstore-turn-store.js.map +0 -1
  474. package/dist/mail/stores/index.d.ts +0 -12
  475. package/dist/mail/stores/index.d.ts.map +0 -1
  476. package/dist/mail/stores/index.js +0 -12
  477. package/dist/mail/stores/index.js.map +0 -1
  478. package/dist/mail/stores/types.d.ts +0 -146
  479. package/dist/mail/stores/types.d.ts.map +0 -1
  480. package/dist/mail/stores/types.js +0 -13
  481. package/dist/mail/stores/types.js.map +0 -1
  482. package/dist/mail/turn-recorder.d.ts +0 -30
  483. package/dist/mail/turn-recorder.d.ts.map +0 -1
  484. package/dist/mail/turn-recorder.js +0 -98
  485. package/dist/mail/turn-recorder.js.map +0 -1
  486. package/dist/map/adapter/acp-over-map.d.ts +0 -115
  487. package/dist/map/adapter/acp-over-map.d.ts.map +0 -1
  488. package/dist/map/adapter/acp-over-map.js +0 -1024
  489. package/dist/map/adapter/acp-over-map.js.map +0 -1
  490. package/dist/map/adapter/connection-manager.d.ts +0 -150
  491. package/dist/map/adapter/connection-manager.d.ts.map +0 -1
  492. package/dist/map/adapter/connection-manager.js +0 -207
  493. package/dist/map/adapter/connection-manager.js.map +0 -1
  494. package/dist/map/adapter/event-log.d.ts +0 -87
  495. package/dist/map/adapter/event-log.d.ts.map +0 -1
  496. package/dist/map/adapter/event-log.js +0 -122
  497. package/dist/map/adapter/event-log.js.map +0 -1
  498. package/dist/map/adapter/event-translator.d.ts +0 -85
  499. package/dist/map/adapter/event-translator.d.ts.map +0 -1
  500. package/dist/map/adapter/event-translator.js +0 -295
  501. package/dist/map/adapter/event-translator.js.map +0 -1
  502. package/dist/map/adapter/extensions/agent-detection.d.ts +0 -49
  503. package/dist/map/adapter/extensions/agent-detection.d.ts.map +0 -1
  504. package/dist/map/adapter/extensions/agent-detection.js +0 -91
  505. package/dist/map/adapter/extensions/agent-detection.js.map +0 -1
  506. package/dist/map/adapter/extensions/agent-lifecycle.d.ts +0 -82
  507. package/dist/map/adapter/extensions/agent-lifecycle.d.ts.map +0 -1
  508. package/dist/map/adapter/extensions/agent-lifecycle.js +0 -164
  509. package/dist/map/adapter/extensions/agent-lifecycle.js.map +0 -1
  510. package/dist/map/adapter/extensions/index.d.ts +0 -92
  511. package/dist/map/adapter/extensions/index.d.ts.map +0 -1
  512. package/dist/map/adapter/extensions/index.js +0 -214
  513. package/dist/map/adapter/extensions/index.js.map +0 -1
  514. package/dist/map/adapter/extensions/mcp-bridge.d.ts +0 -57
  515. package/dist/map/adapter/extensions/mcp-bridge.d.ts.map +0 -1
  516. package/dist/map/adapter/extensions/mcp-bridge.js +0 -745
  517. package/dist/map/adapter/extensions/mcp-bridge.js.map +0 -1
  518. package/dist/map/adapter/extensions/rename.d.ts +0 -29
  519. package/dist/map/adapter/extensions/rename.d.ts.map +0 -1
  520. package/dist/map/adapter/extensions/rename.js +0 -49
  521. package/dist/map/adapter/extensions/rename.js.map +0 -1
  522. package/dist/map/adapter/extensions/resume.d.ts +0 -47
  523. package/dist/map/adapter/extensions/resume.d.ts.map +0 -1
  524. package/dist/map/adapter/extensions/resume.js +0 -59
  525. package/dist/map/adapter/extensions/resume.js.map +0 -1
  526. package/dist/map/adapter/extensions/streams.d.ts +0 -95
  527. package/dist/map/adapter/extensions/streams.d.ts.map +0 -1
  528. package/dist/map/adapter/extensions/streams.js +0 -515
  529. package/dist/map/adapter/extensions/streams.js.map +0 -1
  530. package/dist/map/adapter/extensions/task.d.ts +0 -40
  531. package/dist/map/adapter/extensions/task.d.ts.map +0 -1
  532. package/dist/map/adapter/extensions/task.js +0 -197
  533. package/dist/map/adapter/extensions/task.js.map +0 -1
  534. package/dist/map/adapter/extensions/update-metadata.d.ts +0 -29
  535. package/dist/map/adapter/extensions/update-metadata.d.ts.map +0 -1
  536. package/dist/map/adapter/extensions/update-metadata.js +0 -67
  537. package/dist/map/adapter/extensions/update-metadata.js.map +0 -1
  538. package/dist/map/adapter/extensions/wake.d.ts +0 -60
  539. package/dist/map/adapter/extensions/wake.d.ts.map +0 -1
  540. package/dist/map/adapter/extensions/wake.js +0 -144
  541. package/dist/map/adapter/extensions/wake.js.map +0 -1
  542. package/dist/map/adapter/extensions/workspace-files.d.ts +0 -42
  543. package/dist/map/adapter/extensions/workspace-files.d.ts.map +0 -1
  544. package/dist/map/adapter/extensions/workspace-files.js +0 -338
  545. package/dist/map/adapter/extensions/workspace-files.js.map +0 -1
  546. package/dist/map/adapter/extensions/workspace.d.ts +0 -57
  547. package/dist/map/adapter/extensions/workspace.d.ts.map +0 -1
  548. package/dist/map/adapter/extensions/workspace.js +0 -81
  549. package/dist/map/adapter/extensions/workspace.js.map +0 -1
  550. package/dist/map/adapter/index.d.ts +0 -20
  551. package/dist/map/adapter/index.d.ts.map +0 -1
  552. package/dist/map/adapter/index.js +0 -40
  553. package/dist/map/adapter/index.js.map +0 -1
  554. package/dist/map/adapter/interface.d.ts +0 -450
  555. package/dist/map/adapter/interface.d.ts.map +0 -1
  556. package/dist/map/adapter/interface.js +0 -24
  557. package/dist/map/adapter/interface.js.map +0 -1
  558. package/dist/map/adapter/mail-handler-adapter.d.ts +0 -27
  559. package/dist/map/adapter/mail-handler-adapter.d.ts.map +0 -1
  560. package/dist/map/adapter/mail-handler-adapter.js +0 -292
  561. package/dist/map/adapter/mail-handler-adapter.js.map +0 -1
  562. package/dist/map/adapter/map-adapter.d.ts +0 -200
  563. package/dist/map/adapter/map-adapter.d.ts.map +0 -1
  564. package/dist/map/adapter/map-adapter.js +0 -1199
  565. package/dist/map/adapter/map-adapter.js.map +0 -1
  566. package/dist/map/adapter/rpc-handler.d.ts +0 -263
  567. package/dist/map/adapter/rpc-handler.d.ts.map +0 -1
  568. package/dist/map/adapter/rpc-handler.js +0 -365
  569. package/dist/map/adapter/rpc-handler.js.map +0 -1
  570. package/dist/map/adapter/subscription-manager.d.ts +0 -174
  571. package/dist/map/adapter/subscription-manager.d.ts.map +0 -1
  572. package/dist/map/adapter/subscription-manager.js +0 -248
  573. package/dist/map/adapter/subscription-manager.js.map +0 -1
  574. package/dist/map/adapter/types.d.ts +0 -194
  575. package/dist/map/adapter/types.d.ts.map +0 -1
  576. package/dist/map/adapter/types.js +0 -27
  577. package/dist/map/adapter/types.js.map +0 -1
  578. package/dist/map/adapter/websocket-integration.d.ts +0 -113
  579. package/dist/map/adapter/websocket-integration.d.ts.map +0 -1
  580. package/dist/map/adapter/websocket-integration.js +0 -134
  581. package/dist/map/adapter/websocket-integration.js.map +0 -1
  582. package/dist/map/federation/envelope.d.ts +0 -98
  583. package/dist/map/federation/envelope.d.ts.map +0 -1
  584. package/dist/map/federation/envelope.js +0 -160
  585. package/dist/map/federation/envelope.js.map +0 -1
  586. package/dist/map/federation/federation-handler.d.ts +0 -50
  587. package/dist/map/federation/federation-handler.d.ts.map +0 -1
  588. package/dist/map/federation/federation-handler.js +0 -306
  589. package/dist/map/federation/federation-handler.js.map +0 -1
  590. package/dist/map/federation/index.d.ts +0 -14
  591. package/dist/map/federation/index.d.ts.map +0 -1
  592. package/dist/map/federation/index.js +0 -13
  593. package/dist/map/federation/index.js.map +0 -1
  594. package/dist/map/federation/types.d.ts +0 -239
  595. package/dist/map/federation/types.d.ts.map +0 -1
  596. package/dist/map/federation/types.js +0 -23
  597. package/dist/map/federation/types.js.map +0 -1
  598. package/dist/map/utils/address-translation.d.ts +0 -99
  599. package/dist/map/utils/address-translation.d.ts.map +0 -1
  600. package/dist/map/utils/address-translation.js +0 -285
  601. package/dist/map/utils/address-translation.js.map +0 -1
  602. package/dist/map/utils/index.d.ts +0 -7
  603. package/dist/map/utils/index.d.ts.map +0 -1
  604. package/dist/map/utils/index.js +0 -7
  605. package/dist/map/utils/index.js.map +0 -1
  606. package/dist/mcp/map-client.d.ts +0 -39
  607. package/dist/mcp/map-client.d.ts.map +0 -1
  608. package/dist/mcp/map-client.js +0 -129
  609. package/dist/mcp/map-client.js.map +0 -1
  610. package/dist/mcp/mcp-server.d.ts +0 -72
  611. package/dist/mcp/mcp-server.d.ts.map +0 -1
  612. package/dist/mcp/mcp-server.js +0 -1024
  613. package/dist/mcp/mcp-server.js.map +0 -1
  614. package/dist/mcp/tools/claim_task.d.ts +0 -35
  615. package/dist/mcp/tools/claim_task.d.ts.map +0 -1
  616. package/dist/mcp/tools/claim_task.js +0 -58
  617. package/dist/mcp/tools/claim_task.js.map +0 -1
  618. package/dist/mcp/tools/done.d.ts +0 -102
  619. package/dist/mcp/tools/done.d.ts.map +0 -1
  620. package/dist/mcp/tools/done.js +0 -252
  621. package/dist/mcp/tools/done.js.map +0 -1
  622. package/dist/mcp/tools/inject_context.d.ts +0 -61
  623. package/dist/mcp/tools/inject_context.d.ts.map +0 -1
  624. package/dist/mcp/tools/inject_context.js +0 -123
  625. package/dist/mcp/tools/inject_context.js.map +0 -1
  626. package/dist/mcp/tools/list_claimable_tasks.d.ts +0 -38
  627. package/dist/mcp/tools/list_claimable_tasks.d.ts.map +0 -1
  628. package/dist/mcp/tools/list_claimable_tasks.js +0 -63
  629. package/dist/mcp/tools/list_claimable_tasks.js.map +0 -1
  630. package/dist/mcp/tools/unclaim_task.d.ts +0 -31
  631. package/dist/mcp/tools/unclaim_task.d.ts.map +0 -1
  632. package/dist/mcp/tools/unclaim_task.js +0 -47
  633. package/dist/mcp/tools/unclaim_task.js.map +0 -1
  634. package/dist/mcp/tools/wait_for_activity.d.ts +0 -60
  635. package/dist/mcp/tools/wait_for_activity.d.ts.map +0 -1
  636. package/dist/mcp/tools/wait_for_activity.js +0 -135
  637. package/dist/mcp/tools/wait_for_activity.js.map +0 -1
  638. package/dist/monitor/health-check-service.d.ts +0 -143
  639. package/dist/monitor/health-check-service.d.ts.map +0 -1
  640. package/dist/monitor/health-check-service.js +0 -240
  641. package/dist/monitor/health-check-service.js.map +0 -1
  642. package/dist/monitor/index.d.ts +0 -14
  643. package/dist/monitor/index.d.ts.map +0 -1
  644. package/dist/monitor/index.js +0 -14
  645. package/dist/monitor/index.js.map +0 -1
  646. package/dist/monitor/stall-detector.d.ts +0 -109
  647. package/dist/monitor/stall-detector.d.ts.map +0 -1
  648. package/dist/monitor/stall-detector.js +0 -152
  649. package/dist/monitor/stall-detector.js.map +0 -1
  650. package/dist/peer/capability-manager.d.ts +0 -56
  651. package/dist/peer/capability-manager.d.ts.map +0 -1
  652. package/dist/peer/capability-manager.js +0 -186
  653. package/dist/peer/capability-manager.js.map +0 -1
  654. package/dist/peer/encapsulation-manager.d.ts +0 -190
  655. package/dist/peer/encapsulation-manager.d.ts.map +0 -1
  656. package/dist/peer/encapsulation-manager.js +0 -486
  657. package/dist/peer/encapsulation-manager.js.map +0 -1
  658. package/dist/peer/federation-manager.d.ts +0 -223
  659. package/dist/peer/federation-manager.d.ts.map +0 -1
  660. package/dist/peer/federation-manager.js +0 -528
  661. package/dist/peer/federation-manager.js.map +0 -1
  662. package/dist/peer/hierarchy-errors.d.ts +0 -208
  663. package/dist/peer/hierarchy-errors.d.ts.map +0 -1
  664. package/dist/peer/hierarchy-errors.js +0 -268
  665. package/dist/peer/hierarchy-errors.js.map +0 -1
  666. package/dist/peer/hierarchy-protocol.d.ts +0 -159
  667. package/dist/peer/hierarchy-protocol.d.ts.map +0 -1
  668. package/dist/peer/hierarchy-protocol.js +0 -142
  669. package/dist/peer/hierarchy-protocol.js.map +0 -1
  670. package/dist/peer/index.d.ts +0 -15
  671. package/dist/peer/index.d.ts.map +0 -1
  672. package/dist/peer/index.js +0 -15
  673. package/dist/peer/index.js.map +0 -1
  674. package/dist/peer/peer-manager.d.ts +0 -99
  675. package/dist/peer/peer-manager.d.ts.map +0 -1
  676. package/dist/peer/peer-manager.js +0 -333
  677. package/dist/peer/peer-manager.js.map +0 -1
  678. package/dist/peer/task-delegation.d.ts +0 -189
  679. package/dist/peer/task-delegation.d.ts.map +0 -1
  680. package/dist/peer/task-delegation.js +0 -303
  681. package/dist/peer/task-delegation.js.map +0 -1
  682. package/dist/peer/transports/index.d.ts +0 -8
  683. package/dist/peer/transports/index.d.ts.map +0 -1
  684. package/dist/peer/transports/index.js +0 -8
  685. package/dist/peer/transports/index.js.map +0 -1
  686. package/dist/peer/transports/local-transport.d.ts +0 -56
  687. package/dist/peer/transports/local-transport.d.ts.map +0 -1
  688. package/dist/peer/transports/local-transport.js +0 -263
  689. package/dist/peer/transports/local-transport.js.map +0 -1
  690. package/dist/peer/transports/websocket-transport.d.ts +0 -86
  691. package/dist/peer/transports/websocket-transport.d.ts.map +0 -1
  692. package/dist/peer/transports/websocket-transport.js +0 -338
  693. package/dist/peer/transports/websocket-transport.js.map +0 -1
  694. package/dist/peer/types.d.ts +0 -268
  695. package/dist/peer/types.d.ts.map +0 -1
  696. package/dist/peer/types.js +0 -36
  697. package/dist/peer/types.js.map +0 -1
  698. package/dist/router/address-resolver.d.ts +0 -102
  699. package/dist/router/address-resolver.d.ts.map +0 -1
  700. package/dist/router/address-resolver.js +0 -198
  701. package/dist/router/address-resolver.js.map +0 -1
  702. package/dist/router/broadcast.d.ts +0 -53
  703. package/dist/router/broadcast.d.ts.map +0 -1
  704. package/dist/router/broadcast.js +0 -75
  705. package/dist/router/broadcast.js.map +0 -1
  706. package/dist/router/channels.d.ts +0 -148
  707. package/dist/router/channels.d.ts.map +0 -1
  708. package/dist/router/channels.js +0 -126
  709. package/dist/router/channels.js.map +0 -1
  710. package/dist/router/index.d.ts +0 -21
  711. package/dist/router/index.d.ts.map +0 -1
  712. package/dist/router/index.js +0 -18
  713. package/dist/router/index.js.map +0 -1
  714. package/dist/router/message-router.d.ts +0 -197
  715. package/dist/router/message-router.d.ts.map +0 -1
  716. package/dist/router/message-router.js +0 -903
  717. package/dist/router/message-router.js.map +0 -1
  718. package/dist/router/message-types.d.ts +0 -183
  719. package/dist/router/message-types.d.ts.map +0 -1
  720. package/dist/router/message-types.js +0 -79
  721. package/dist/router/message-types.js.map +0 -1
  722. package/dist/router/role-resolver.d.ts +0 -67
  723. package/dist/router/role-resolver.d.ts.map +0 -1
  724. package/dist/router/role-resolver.js +0 -106
  725. package/dist/router/role-resolver.js.map +0 -1
  726. package/dist/router/signals.d.ts +0 -253
  727. package/dist/router/signals.d.ts.map +0 -1
  728. package/dist/router/signals.js +0 -53
  729. package/dist/router/signals.js.map +0 -1
  730. package/dist/router/types.d.ts +0 -191
  731. package/dist/router/types.d.ts.map +0 -1
  732. package/dist/router/types.js +0 -34
  733. package/dist/router/types.js.map +0 -1
  734. package/dist/router/wake.d.ts +0 -111
  735. package/dist/router/wake.d.ts.map +0 -1
  736. package/dist/router/wake.js +0 -180
  737. package/dist/router/wake.js.map +0 -1
  738. package/dist/server/combined-server.d.ts +0 -95
  739. package/dist/server/combined-server.d.ts.map +0 -1
  740. package/dist/server/combined-server.js +0 -335
  741. package/dist/server/combined-server.js.map +0 -1
  742. package/dist/steering/index.d.ts +0 -11
  743. package/dist/steering/index.d.ts.map +0 -1
  744. package/dist/steering/index.js +0 -11
  745. package/dist/steering/index.js.map +0 -1
  746. package/dist/steering/inject.d.ts +0 -39
  747. package/dist/steering/inject.d.ts.map +0 -1
  748. package/dist/steering/inject.js +0 -197
  749. package/dist/steering/inject.js.map +0 -1
  750. package/dist/steering/types.d.ts +0 -100
  751. package/dist/steering/types.d.ts.map +0 -1
  752. package/dist/steering/types.js +0 -11
  753. package/dist/steering/types.js.map +0 -1
  754. package/dist/store/backends/index.d.ts +0 -11
  755. package/dist/store/backends/index.d.ts.map +0 -1
  756. package/dist/store/backends/index.js +0 -15
  757. package/dist/store/backends/index.js.map +0 -1
  758. package/dist/store/backends/json-backend.d.ts +0 -23
  759. package/dist/store/backends/json-backend.d.ts.map +0 -1
  760. package/dist/store/backends/json-backend.js +0 -220
  761. package/dist/store/backends/json-backend.js.map +0 -1
  762. package/dist/store/backends/memory-backend.d.ts +0 -12
  763. package/dist/store/backends/memory-backend.d.ts.map +0 -1
  764. package/dist/store/backends/memory-backend.js +0 -205
  765. package/dist/store/backends/memory-backend.js.map +0 -1
  766. package/dist/store/backends/sqlite-backend.d.ts +0 -27
  767. package/dist/store/backends/sqlite-backend.d.ts.map +0 -1
  768. package/dist/store/backends/sqlite-backend.js +0 -231
  769. package/dist/store/backends/sqlite-backend.js.map +0 -1
  770. package/dist/store/backends/tinybase-backend.d.ts +0 -22
  771. package/dist/store/backends/tinybase-backend.d.ts.map +0 -1
  772. package/dist/store/backends/tinybase-backend.js +0 -203
  773. package/dist/store/backends/tinybase-backend.js.map +0 -1
  774. package/dist/store/backends/types.d.ts +0 -175
  775. package/dist/store/backends/types.d.ts.map +0 -1
  776. package/dist/store/backends/types.js +0 -28
  777. package/dist/store/backends/types.js.map +0 -1
  778. package/dist/store/event-store.d.ts +0 -128
  779. package/dist/store/event-store.d.ts.map +0 -1
  780. package/dist/store/event-store.js +0 -1746
  781. package/dist/store/event-store.js.map +0 -1
  782. package/dist/store/instance.d.ts +0 -283
  783. package/dist/store/instance.d.ts.map +0 -1
  784. package/dist/store/instance.js +0 -363
  785. package/dist/store/instance.js.map +0 -1
  786. package/dist/store/migrations.d.ts +0 -41
  787. package/dist/store/migrations.d.ts.map +0 -1
  788. package/dist/store/migrations.js +0 -79
  789. package/dist/store/migrations.js.map +0 -1
  790. package/dist/store/types/config.d.ts +0 -16
  791. package/dist/store/types/config.d.ts.map +0 -1
  792. package/dist/store/types/config.js +0 -8
  793. package/dist/store/types/config.js.map +0 -1
  794. package/dist/store/types/conversations.d.ts +0 -91
  795. package/dist/store/types/conversations.d.ts.map +0 -1
  796. package/dist/store/types/conversations.js +0 -8
  797. package/dist/store/types/conversations.js.map +0 -1
  798. package/dist/store/types/sessions.d.ts +0 -44
  799. package/dist/store/types/sessions.d.ts.map +0 -1
  800. package/dist/store/types/sessions.js +0 -9
  801. package/dist/store/types/sessions.js.map +0 -1
  802. package/dist/task/backend/index.d.ts +0 -93
  803. package/dist/task/backend/index.d.ts.map +0 -1
  804. package/dist/task/backend/index.js +0 -178
  805. package/dist/task/backend/index.js.map +0 -1
  806. package/dist/task/backend/memory.d.ts +0 -70
  807. package/dist/task/backend/memory.d.ts.map +0 -1
  808. package/dist/task/backend/memory.js +0 -621
  809. package/dist/task/backend/memory.js.map +0 -1
  810. package/dist/task/backend/opentasks/backend.d.ts +0 -140
  811. package/dist/task/backend/opentasks/backend.d.ts.map +0 -1
  812. package/dist/task/backend/opentasks/backend.js +0 -1023
  813. package/dist/task/backend/opentasks/backend.js.map +0 -1
  814. package/dist/task/backend/opentasks/client.d.ts +0 -337
  815. package/dist/task/backend/opentasks/client.d.ts.map +0 -1
  816. package/dist/task/backend/opentasks/client.js +0 -225
  817. package/dist/task/backend/opentasks/client.js.map +0 -1
  818. package/dist/task/backend/opentasks/daemon-manager.d.ts +0 -89
  819. package/dist/task/backend/opentasks/daemon-manager.d.ts.map +0 -1
  820. package/dist/task/backend/opentasks/daemon-manager.js +0 -195
  821. package/dist/task/backend/opentasks/daemon-manager.js.map +0 -1
  822. package/dist/task/backend/opentasks/index.d.ts +0 -21
  823. package/dist/task/backend/opentasks/index.d.ts.map +0 -1
  824. package/dist/task/backend/opentasks/index.js +0 -21
  825. package/dist/task/backend/opentasks/index.js.map +0 -1
  826. package/dist/task/backend/opentasks/mapping.d.ts +0 -48
  827. package/dist/task/backend/opentasks/mapping.d.ts.map +0 -1
  828. package/dist/task/backend/opentasks/mapping.js +0 -77
  829. package/dist/task/backend/opentasks/mapping.js.map +0 -1
  830. package/dist/task/backend/sudocode/__tests__/integration/test-utils.d.ts +0 -54
  831. package/dist/task/backend/sudocode/__tests__/integration/test-utils.d.ts.map +0 -1
  832. package/dist/task/backend/sudocode/__tests__/integration/test-utils.js +0 -88
  833. package/dist/task/backend/sudocode/__tests__/integration/test-utils.js.map +0 -1
  834. package/dist/task/backend/sudocode/backend.d.ts +0 -155
  835. package/dist/task/backend/sudocode/backend.d.ts.map +0 -1
  836. package/dist/task/backend/sudocode/backend.js +0 -942
  837. package/dist/task/backend/sudocode/backend.js.map +0 -1
  838. package/dist/task/backend/sudocode/client.d.ts +0 -303
  839. package/dist/task/backend/sudocode/client.d.ts.map +0 -1
  840. package/dist/task/backend/sudocode/client.js +0 -101
  841. package/dist/task/backend/sudocode/client.js.map +0 -1
  842. package/dist/task/backend/sudocode/index.d.ts +0 -19
  843. package/dist/task/backend/sudocode/index.d.ts.map +0 -1
  844. package/dist/task/backend/sudocode/index.js +0 -17
  845. package/dist/task/backend/sudocode/index.js.map +0 -1
  846. package/dist/task/backend/sudocode/mapping.d.ts +0 -51
  847. package/dist/task/backend/sudocode/mapping.d.ts.map +0 -1
  848. package/dist/task/backend/sudocode/mapping.js +0 -86
  849. package/dist/task/backend/sudocode/mapping.js.map +0 -1
  850. package/dist/task/backend/sudocode/server-client.d.ts +0 -56
  851. package/dist/task/backend/sudocode/server-client.d.ts.map +0 -1
  852. package/dist/task/backend/sudocode/server-client.js +0 -367
  853. package/dist/task/backend/sudocode/server-client.js.map +0 -1
  854. package/dist/task/backend/sudocode/standalone-client.d.ts +0 -91
  855. package/dist/task/backend/sudocode/standalone-client.d.ts.map +0 -1
  856. package/dist/task/backend/sudocode/standalone-client.js +0 -476
  857. package/dist/task/backend/sudocode/standalone-client.js.map +0 -1
  858. package/dist/task/backend/sudocode/sync-policy.d.ts +0 -166
  859. package/dist/task/backend/sudocode/sync-policy.d.ts.map +0 -1
  860. package/dist/task/backend/sudocode/sync-policy.js +0 -221
  861. package/dist/task/backend/sudocode/sync-policy.js.map +0 -1
  862. package/dist/task/backend/sudocode/tools.d.ts +0 -87
  863. package/dist/task/backend/sudocode/tools.d.ts.map +0 -1
  864. package/dist/task/backend/sudocode/tools.js +0 -743
  865. package/dist/task/backend/sudocode/tools.js.map +0 -1
  866. package/dist/task/backend/tool-provider.d.ts +0 -56
  867. package/dist/task/backend/tool-provider.d.ts.map +0 -1
  868. package/dist/task/backend/tool-provider.js +0 -424
  869. package/dist/task/backend/tool-provider.js.map +0 -1
  870. package/dist/task/backend/types.d.ts +0 -297
  871. package/dist/task/backend/types.d.ts.map +0 -1
  872. package/dist/task/backend/types.js +0 -27
  873. package/dist/task/backend/types.js.map +0 -1
  874. package/dist/task/backend/unified-tool-provider.d.ts +0 -57
  875. package/dist/task/backend/unified-tool-provider.d.ts.map +0 -1
  876. package/dist/task/backend/unified-tool-provider.js +0 -623
  877. package/dist/task/backend/unified-tool-provider.js.map +0 -1
  878. package/dist/task/index.d.ts +0 -7
  879. package/dist/task/index.d.ts.map +0 -1
  880. package/dist/task/index.js +0 -7
  881. package/dist/task/index.js.map +0 -1
  882. package/dist/task/retry-policy.d.ts +0 -89
  883. package/dist/task/retry-policy.d.ts.map +0 -1
  884. package/dist/task/retry-policy.js +0 -160
  885. package/dist/task/retry-policy.js.map +0 -1
  886. package/dist/task/task-manager.d.ts +0 -70
  887. package/dist/task/task-manager.d.ts.map +0 -1
  888. package/dist/task/task-manager.js +0 -319
  889. package/dist/task/task-manager.js.map +0 -1
  890. package/dist/task/types.d.ts +0 -72
  891. package/dist/task/types.d.ts.map +0 -1
  892. package/dist/task/types.js +0 -33
  893. package/dist/task/types.js.map +0 -1
  894. package/dist/teams/team-manager.d.ts +0 -112
  895. package/dist/teams/team-manager.d.ts.map +0 -1
  896. package/dist/teams/team-manager.js +0 -305
  897. package/dist/teams/team-manager.js.map +0 -1
  898. package/dist/teams/team-runtime.d.ts +0 -245
  899. package/dist/teams/team-runtime.d.ts.map +0 -1
  900. package/dist/teams/team-runtime.js +0 -1023
  901. package/dist/teams/team-runtime.js.map +0 -1
  902. package/dist/trigger/router/index.d.ts +0 -11
  903. package/dist/trigger/router/index.d.ts.map +0 -1
  904. package/dist/trigger/router/index.js +0 -10
  905. package/dist/trigger/router/index.js.map +0 -1
  906. package/dist/trigger/router/strategies/ai-router-strategy.d.ts +0 -34
  907. package/dist/trigger/router/strategies/ai-router-strategy.d.ts.map +0 -1
  908. package/dist/trigger/router/strategies/ai-router-strategy.js +0 -359
  909. package/dist/trigger/router/strategies/ai-router-strategy.js.map +0 -1
  910. package/dist/trigger/router/strategies/direct-strategy.d.ts +0 -32
  911. package/dist/trigger/router/strategies/direct-strategy.d.ts.map +0 -1
  912. package/dist/trigger/router/strategies/direct-strategy.js +0 -119
  913. package/dist/trigger/router/strategies/direct-strategy.js.map +0 -1
  914. package/dist/trigger/router/strategies/index.d.ts +0 -11
  915. package/dist/trigger/router/strategies/index.d.ts.map +0 -1
  916. package/dist/trigger/router/strategies/index.js +0 -11
  917. package/dist/trigger/router/strategies/index.js.map +0 -1
  918. package/dist/trigger/router/strategies/role-strategy.d.ts +0 -39
  919. package/dist/trigger/router/strategies/role-strategy.d.ts.map +0 -1
  920. package/dist/trigger/router/strategies/role-strategy.js +0 -207
  921. package/dist/trigger/router/strategies/role-strategy.js.map +0 -1
  922. package/dist/trigger/router/trigger-router.d.ts +0 -54
  923. package/dist/trigger/router/trigger-router.d.ts.map +0 -1
  924. package/dist/trigger/router/trigger-router.js +0 -362
  925. package/dist/trigger/router/trigger-router.js.map +0 -1
  926. package/dist/trigger/router/types.d.ts +0 -225
  927. package/dist/trigger/router/types.d.ts.map +0 -1
  928. package/dist/trigger/router/types.js +0 -10
  929. package/dist/trigger/router/types.js.map +0 -1
  930. package/dist/trigger/trigger-system.d.ts +0 -77
  931. package/dist/trigger/trigger-system.d.ts.map +0 -1
  932. package/dist/trigger/trigger-system.js +0 -84
  933. package/dist/trigger/trigger-system.js.map +0 -1
  934. package/references/acp-factory-ref/CHANGELOG.md +0 -33
  935. package/references/acp-factory-ref/LICENSE +0 -21
  936. package/references/acp-factory-ref/README.md +0 -341
  937. package/references/acp-factory-ref/package-lock.json +0 -3102
  938. package/references/acp-factory-ref/package.json +0 -96
  939. package/references/acp-factory-ref/python/CHANGELOG.md +0 -33
  940. package/references/acp-factory-ref/python/LICENSE +0 -21
  941. package/references/acp-factory-ref/python/Makefile +0 -57
  942. package/references/acp-factory-ref/python/README.md +0 -253
  943. package/references/acp-factory-ref/python/pyproject.toml +0 -73
  944. package/references/acp-factory-ref/python/tests/e2e/__init__.py +0 -1
  945. package/references/acp-factory-ref/python/tests/e2e/test_codex_e2e.py +0 -349
  946. package/references/acp-factory-ref/python/tests/e2e/test_gemini_e2e.py +0 -165
  947. package/references/acp-factory-ref/python/tests/e2e/test_opencode_e2e.py +0 -296
  948. package/references/acp-factory-ref/python/tests/test_client_handler.py +0 -543
  949. package/references/acp-factory-ref/python/tests/test_pushable.py +0 -199
  950. package/references/claude-code-acp/.github/workflows/ci.yml +0 -45
  951. package/references/claude-code-acp/.github/workflows/publish.yml +0 -34
  952. package/references/claude-code-acp/.prettierrc.json +0 -4
  953. package/references/claude-code-acp/CHANGELOG.md +0 -249
  954. package/references/claude-code-acp/LICENSE +0 -222
  955. package/references/claude-code-acp/README.md +0 -53
  956. package/references/claude-code-acp/docs/RELEASES.md +0 -24
  957. package/references/claude-code-acp/eslint.config.js +0 -48
  958. package/references/claude-code-acp/package-lock.json +0 -4570
  959. package/references/claude-code-acp/package.json +0 -88
  960. package/references/claude-code-acp/scripts/release.sh +0 -119
  961. package/references/claude-code-acp/src/acp-agent.ts +0 -2076
  962. package/references/claude-code-acp/src/index.ts +0 -26
  963. package/references/claude-code-acp/src/lib.ts +0 -38
  964. package/references/claude-code-acp/src/mcp-server.ts +0 -911
  965. package/references/claude-code-acp/src/settings.ts +0 -522
  966. package/references/claude-code-acp/src/tests/.claude/commands/quick-math.md +0 -5
  967. package/references/claude-code-acp/src/tests/.claude/commands/say-hello.md +0 -6
  968. package/references/claude-code-acp/src/tests/acp-agent-fork.test.ts +0 -479
  969. package/references/claude-code-acp/src/tests/acp-agent.test.ts +0 -1502
  970. package/references/claude-code-acp/src/tests/extract-lines.test.ts +0 -103
  971. package/references/claude-code-acp/src/tests/fork-session.test.ts +0 -335
  972. package/references/claude-code-acp/src/tests/replace-and-calculate-location.test.ts +0 -334
  973. package/references/claude-code-acp/src/tests/settings.test.ts +0 -617
  974. package/references/claude-code-acp/src/tests/skills-options.test.ts +0 -187
  975. package/references/claude-code-acp/src/tests/tools.test.ts +0 -318
  976. package/references/claude-code-acp/src/tests/typescript-declarations.test.ts +0 -558
  977. package/references/claude-code-acp/src/tools.ts +0 -819
  978. package/references/claude-code-acp/src/utils.ts +0 -171
  979. package/references/claude-code-acp/tsconfig.json +0 -18
  980. package/references/claude-code-acp/vitest.config.ts +0 -19
  981. package/references/minimem/.claude/settings.json +0 -7
  982. package/references/minimem/.sudocode/issues.jsonl +0 -18
  983. package/references/minimem/.sudocode/specs.jsonl +0 -1
  984. package/references/minimem/CLAUDE.md +0 -310
  985. package/references/minimem/README.md +0 -562
  986. package/references/minimem/claude-plugin/.claude-plugin/plugin.json +0 -10
  987. package/references/minimem/claude-plugin/.mcp.json +0 -7
  988. package/references/minimem/claude-plugin/README.md +0 -158
  989. package/references/minimem/claude-plugin/commands/recall.md +0 -47
  990. package/references/minimem/claude-plugin/commands/remember.md +0 -41
  991. package/references/minimem/claude-plugin/hooks/__tests__/hooks.test.ts +0 -272
  992. package/references/minimem/claude-plugin/hooks/hooks.json +0 -27
  993. package/references/minimem/claude-plugin/hooks/session-end.sh +0 -86
  994. package/references/minimem/claude-plugin/hooks/session-start.sh +0 -85
  995. package/references/minimem/claude-plugin/skills/memory/SKILL.md +0 -108
  996. package/references/minimem/media/banner.png +0 -0
  997. package/references/minimem/package-lock.json +0 -5373
  998. package/references/minimem/package.json +0 -72
  999. package/references/minimem/scripts/postbuild.js +0 -35
  1000. package/references/minimem/src/__tests__/edge-cases.test.ts +0 -371
  1001. package/references/minimem/src/__tests__/errors.test.ts +0 -265
  1002. package/references/minimem/src/__tests__/helpers.ts +0 -199
  1003. package/references/minimem/src/__tests__/internal.test.ts +0 -407
  1004. package/references/minimem/src/__tests__/knowledge.test.ts +0 -287
  1005. package/references/minimem/src/__tests__/minimem.integration.test.ts +0 -1127
  1006. package/references/minimem/src/__tests__/session.test.ts +0 -190
  1007. package/references/minimem/src/cli/__tests__/commands.test.ts +0 -759
  1008. package/references/minimem/src/cli/commands/__tests__/conflicts.test.ts +0 -141
  1009. package/references/minimem/src/cli/commands/append.ts +0 -76
  1010. package/references/minimem/src/cli/commands/config.ts +0 -262
  1011. package/references/minimem/src/cli/commands/conflicts.ts +0 -413
  1012. package/references/minimem/src/cli/commands/daemon.ts +0 -169
  1013. package/references/minimem/src/cli/commands/index.ts +0 -12
  1014. package/references/minimem/src/cli/commands/init.ts +0 -88
  1015. package/references/minimem/src/cli/commands/mcp.ts +0 -177
  1016. package/references/minimem/src/cli/commands/push-pull.ts +0 -213
  1017. package/references/minimem/src/cli/commands/search.ts +0 -158
  1018. package/references/minimem/src/cli/commands/status.ts +0 -84
  1019. package/references/minimem/src/cli/commands/sync-init.ts +0 -290
  1020. package/references/minimem/src/cli/commands/sync.ts +0 -70
  1021. package/references/minimem/src/cli/commands/upsert.ts +0 -197
  1022. package/references/minimem/src/cli/config.ts +0 -584
  1023. package/references/minimem/src/cli/index.ts +0 -264
  1024. package/references/minimem/src/cli/shared.ts +0 -161
  1025. package/references/minimem/src/cli/sync/__tests__/central.test.ts +0 -152
  1026. package/references/minimem/src/cli/sync/__tests__/conflicts.test.ts +0 -209
  1027. package/references/minimem/src/cli/sync/__tests__/daemon.test.ts +0 -118
  1028. package/references/minimem/src/cli/sync/__tests__/detection.test.ts +0 -207
  1029. package/references/minimem/src/cli/sync/__tests__/integration.test.ts +0 -476
  1030. package/references/minimem/src/cli/sync/__tests__/registry.test.ts +0 -363
  1031. package/references/minimem/src/cli/sync/__tests__/state.test.ts +0 -255
  1032. package/references/minimem/src/cli/sync/__tests__/validation.test.ts +0 -193
  1033. package/references/minimem/src/cli/sync/__tests__/watcher.test.ts +0 -178
  1034. package/references/minimem/src/cli/sync/central.ts +0 -292
  1035. package/references/minimem/src/cli/sync/conflicts.ts +0 -204
  1036. package/references/minimem/src/cli/sync/daemon.ts +0 -407
  1037. package/references/minimem/src/cli/sync/detection.ts +0 -138
  1038. package/references/minimem/src/cli/sync/index.ts +0 -107
  1039. package/references/minimem/src/cli/sync/operations.ts +0 -373
  1040. package/references/minimem/src/cli/sync/registry.ts +0 -279
  1041. package/references/minimem/src/cli/sync/state.ts +0 -355
  1042. package/references/minimem/src/cli/sync/validation.ts +0 -206
  1043. package/references/minimem/src/cli/sync/watcher.ts +0 -234
  1044. package/references/minimem/src/cli/version.ts +0 -34
  1045. package/references/minimem/src/core/index.ts +0 -9
  1046. package/references/minimem/src/core/indexer.ts +0 -628
  1047. package/references/minimem/src/core/searcher.ts +0 -221
  1048. package/references/minimem/src/db/schema.ts +0 -183
  1049. package/references/minimem/src/db/sqlite-vec.ts +0 -24
  1050. package/references/minimem/src/embeddings/__tests__/embeddings.test.ts +0 -431
  1051. package/references/minimem/src/embeddings/batch-gemini.ts +0 -392
  1052. package/references/minimem/src/embeddings/batch-openai.ts +0 -409
  1053. package/references/minimem/src/embeddings/embeddings.ts +0 -434
  1054. package/references/minimem/src/index.ts +0 -109
  1055. package/references/minimem/src/internal.ts +0 -299
  1056. package/references/minimem/src/minimem.ts +0 -1276
  1057. package/references/minimem/src/search/__tests__/hybrid.test.ts +0 -247
  1058. package/references/minimem/src/search/graph.ts +0 -234
  1059. package/references/minimem/src/search/hybrid.ts +0 -151
  1060. package/references/minimem/src/search/search.ts +0 -256
  1061. package/references/minimem/src/server/__tests__/mcp.test.ts +0 -341
  1062. package/references/minimem/src/server/__tests__/tools.test.ts +0 -364
  1063. package/references/minimem/src/server/mcp.ts +0 -326
  1064. package/references/minimem/src/server/tools.ts +0 -720
  1065. package/references/minimem/src/session.ts +0 -460
  1066. package/references/minimem/tsconfig.json +0 -19
  1067. package/references/minimem/tsup.config.ts +0 -26
  1068. package/references/minimem/vitest.config.ts +0 -24
  1069. package/references/multi-agent-protocol/.sudocode/issues.jsonl +0 -111
  1070. package/references/multi-agent-protocol/.sudocode/specs.jsonl +0 -13
  1071. package/references/multi-agent-protocol/LICENSE +0 -21
  1072. package/references/multi-agent-protocol/README.md +0 -113
  1073. package/references/multi-agent-protocol/docs/00-design-specification.md +0 -496
  1074. package/references/multi-agent-protocol/docs/01-open-questions.md +0 -1050
  1075. package/references/multi-agent-protocol/docs/02-wire-protocol.md +0 -296
  1076. package/references/multi-agent-protocol/docs/03-streaming-semantics.md +0 -252
  1077. package/references/multi-agent-protocol/docs/04-error-handling.md +0 -231
  1078. package/references/multi-agent-protocol/docs/05-connection-model.md +0 -244
  1079. package/references/multi-agent-protocol/docs/06-visibility-permissions.md +0 -243
  1080. package/references/multi-agent-protocol/docs/07-federation.md +0 -259
  1081. package/references/multi-agent-protocol/docs/08-macro-agent-migration.md +0 -253
  1082. package/references/multi-agent-protocol/docs/09-authentication.md +0 -680
  1083. package/references/multi-agent-protocol/docs/10-mail-protocol.md +0 -553
  1084. package/references/multi-agent-protocol/docs/agent-iam-integration.md +0 -877
  1085. package/references/multi-agent-protocol/docs/agentic-mesh-integration-draft.md +0 -459
  1086. package/references/multi-agent-protocol/docs/git-transport-draft.md +0 -251
  1087. package/references/multi-agent-protocol/docs-site/Gemfile +0 -22
  1088. package/references/multi-agent-protocol/docs-site/README.md +0 -82
  1089. package/references/multi-agent-protocol/docs-site/_config.yml +0 -91
  1090. package/references/multi-agent-protocol/docs-site/_includes/head_custom.html +0 -20
  1091. package/references/multi-agent-protocol/docs-site/_sass/color_schemes/map.scss +0 -42
  1092. package/references/multi-agent-protocol/docs-site/_sass/custom/custom.scss +0 -34
  1093. package/references/multi-agent-protocol/docs-site/examples/full-integration.md +0 -510
  1094. package/references/multi-agent-protocol/docs-site/examples/index.md +0 -138
  1095. package/references/multi-agent-protocol/docs-site/examples/simple-chat.md +0 -282
  1096. package/references/multi-agent-protocol/docs-site/examples/task-queue.md +0 -399
  1097. package/references/multi-agent-protocol/docs-site/getting-started/index.md +0 -98
  1098. package/references/multi-agent-protocol/docs-site/getting-started/installation.md +0 -219
  1099. package/references/multi-agent-protocol/docs-site/getting-started/overview.md +0 -172
  1100. package/references/multi-agent-protocol/docs-site/getting-started/quickstart.md +0 -237
  1101. package/references/multi-agent-protocol/docs-site/index.md +0 -136
  1102. package/references/multi-agent-protocol/docs-site/protocol/authentication.md +0 -391
  1103. package/references/multi-agent-protocol/docs-site/protocol/connection-model.md +0 -376
  1104. package/references/multi-agent-protocol/docs-site/protocol/design.md +0 -284
  1105. package/references/multi-agent-protocol/docs-site/protocol/error-handling.md +0 -312
  1106. package/references/multi-agent-protocol/docs-site/protocol/federation.md +0 -449
  1107. package/references/multi-agent-protocol/docs-site/protocol/index.md +0 -129
  1108. package/references/multi-agent-protocol/docs-site/protocol/permissions.md +0 -398
  1109. package/references/multi-agent-protocol/docs-site/protocol/streaming.md +0 -353
  1110. package/references/multi-agent-protocol/docs-site/protocol/wire-protocol.md +0 -369
  1111. package/references/multi-agent-protocol/docs-site/sdk/api/agent.md +0 -357
  1112. package/references/multi-agent-protocol/docs-site/sdk/api/client.md +0 -380
  1113. package/references/multi-agent-protocol/docs-site/sdk/api/index.md +0 -62
  1114. package/references/multi-agent-protocol/docs-site/sdk/api/server.md +0 -453
  1115. package/references/multi-agent-protocol/docs-site/sdk/api/types.md +0 -468
  1116. package/references/multi-agent-protocol/docs-site/sdk/guides/agent.md +0 -375
  1117. package/references/multi-agent-protocol/docs-site/sdk/guides/authentication.md +0 -405
  1118. package/references/multi-agent-protocol/docs-site/sdk/guides/client.md +0 -352
  1119. package/references/multi-agent-protocol/docs-site/sdk/guides/index.md +0 -89
  1120. package/references/multi-agent-protocol/docs-site/sdk/guides/server.md +0 -360
  1121. package/references/multi-agent-protocol/docs-site/sdk/guides/testing.md +0 -446
  1122. package/references/multi-agent-protocol/docs-site/sdk/guides/transports.md +0 -363
  1123. package/references/multi-agent-protocol/docs-site/sdk/index.md +0 -206
  1124. package/references/multi-agent-protocol/package-lock.json +0 -3886
  1125. package/references/multi-agent-protocol/package.json +0 -56
  1126. package/references/multi-agent-protocol/schema/meta.json +0 -467
  1127. package/references/multi-agent-protocol/schema/schema.json +0 -2558
  1128. package/references/openteams/.claude/settings.json +0 -6
  1129. package/references/openteams/README.md +0 -1
  1130. package/references/openteams/SKILL.md +0 -341
  1131. package/references/openteams/design.md +0 -411
  1132. package/references/openteams/examples/bmad-method/prompts/analyst/ROLE.md +0 -16
  1133. package/references/openteams/examples/bmad-method/prompts/analyst/SOUL.md +0 -5
  1134. package/references/openteams/examples/bmad-method/prompts/architect/ROLE.md +0 -24
  1135. package/references/openteams/examples/bmad-method/prompts/architect/SOUL.md +0 -5
  1136. package/references/openteams/examples/bmad-method/prompts/developer/ROLE.md +0 -25
  1137. package/references/openteams/examples/bmad-method/prompts/developer/SOUL.md +0 -5
  1138. package/references/openteams/examples/bmad-method/prompts/master/ROLE.md +0 -21
  1139. package/references/openteams/examples/bmad-method/prompts/master/SOUL.md +0 -5
  1140. package/references/openteams/examples/bmad-method/prompts/pm/ROLE.md +0 -20
  1141. package/references/openteams/examples/bmad-method/prompts/pm/SOUL.md +0 -5
  1142. package/references/openteams/examples/bmad-method/prompts/qa/ROLE.md +0 -17
  1143. package/references/openteams/examples/bmad-method/prompts/qa/SOUL.md +0 -5
  1144. package/references/openteams/examples/bmad-method/prompts/quick-flow-dev/ROLE.md +0 -23
  1145. package/references/openteams/examples/bmad-method/prompts/quick-flow-dev/SOUL.md +0 -5
  1146. package/references/openteams/examples/bmad-method/prompts/scrum-master/ROLE.md +0 -27
  1147. package/references/openteams/examples/bmad-method/prompts/scrum-master/SOUL.md +0 -5
  1148. package/references/openteams/examples/bmad-method/prompts/tech-writer/ROLE.md +0 -21
  1149. package/references/openteams/examples/bmad-method/prompts/tech-writer/SOUL.md +0 -5
  1150. package/references/openteams/examples/bmad-method/prompts/ux-designer/ROLE.md +0 -16
  1151. package/references/openteams/examples/bmad-method/prompts/ux-designer/SOUL.md +0 -5
  1152. package/references/openteams/examples/bmad-method/roles/analyst.yaml +0 -9
  1153. package/references/openteams/examples/bmad-method/roles/architect.yaml +0 -9
  1154. package/references/openteams/examples/bmad-method/roles/developer.yaml +0 -8
  1155. package/references/openteams/examples/bmad-method/roles/master.yaml +0 -8
  1156. package/references/openteams/examples/bmad-method/roles/pm.yaml +0 -9
  1157. package/references/openteams/examples/bmad-method/roles/qa.yaml +0 -8
  1158. package/references/openteams/examples/bmad-method/roles/quick-flow-dev.yaml +0 -8
  1159. package/references/openteams/examples/bmad-method/roles/scrum-master.yaml +0 -9
  1160. package/references/openteams/examples/bmad-method/roles/tech-writer.yaml +0 -8
  1161. package/references/openteams/examples/bmad-method/roles/ux-designer.yaml +0 -8
  1162. package/references/openteams/examples/bmad-method/team.yaml +0 -161
  1163. package/references/openteams/examples/get-shit-done/prompts/codebase-mapper/ROLE.md +0 -17
  1164. package/references/openteams/examples/get-shit-done/prompts/codebase-mapper/SOUL.md +0 -5
  1165. package/references/openteams/examples/get-shit-done/prompts/debugger/ROLE.md +0 -25
  1166. package/references/openteams/examples/get-shit-done/prompts/debugger/SOUL.md +0 -5
  1167. package/references/openteams/examples/get-shit-done/prompts/executor/ROLE.md +0 -34
  1168. package/references/openteams/examples/get-shit-done/prompts/executor/SOUL.md +0 -5
  1169. package/references/openteams/examples/get-shit-done/prompts/integration-checker/ROLE.md +0 -18
  1170. package/references/openteams/examples/get-shit-done/prompts/integration-checker/SOUL.md +0 -3
  1171. package/references/openteams/examples/get-shit-done/prompts/orchestrator/ROLE.md +0 -42
  1172. package/references/openteams/examples/get-shit-done/prompts/orchestrator/SOUL.md +0 -5
  1173. package/references/openteams/examples/get-shit-done/prompts/phase-researcher/ROLE.md +0 -15
  1174. package/references/openteams/examples/get-shit-done/prompts/phase-researcher/SOUL.md +0 -3
  1175. package/references/openteams/examples/get-shit-done/prompts/plan-checker/ROLE.md +0 -17
  1176. package/references/openteams/examples/get-shit-done/prompts/plan-checker/SOUL.md +0 -3
  1177. package/references/openteams/examples/get-shit-done/prompts/planner/ROLE.md +0 -28
  1178. package/references/openteams/examples/get-shit-done/prompts/planner/SOUL.md +0 -5
  1179. package/references/openteams/examples/get-shit-done/prompts/project-researcher/ROLE.md +0 -16
  1180. package/references/openteams/examples/get-shit-done/prompts/project-researcher/SOUL.md +0 -3
  1181. package/references/openteams/examples/get-shit-done/prompts/research-synthesizer/ROLE.md +0 -13
  1182. package/references/openteams/examples/get-shit-done/prompts/research-synthesizer/SOUL.md +0 -3
  1183. package/references/openteams/examples/get-shit-done/prompts/roadmapper/ROLE.md +0 -14
  1184. package/references/openteams/examples/get-shit-done/prompts/roadmapper/SOUL.md +0 -3
  1185. package/references/openteams/examples/get-shit-done/prompts/verifier/ROLE.md +0 -19
  1186. package/references/openteams/examples/get-shit-done/prompts/verifier/SOUL.md +0 -5
  1187. package/references/openteams/examples/get-shit-done/roles/codebase-mapper.yaml +0 -8
  1188. package/references/openteams/examples/get-shit-done/roles/debugger.yaml +0 -8
  1189. package/references/openteams/examples/get-shit-done/roles/executor.yaml +0 -8
  1190. package/references/openteams/examples/get-shit-done/roles/integration-checker.yaml +0 -8
  1191. package/references/openteams/examples/get-shit-done/roles/orchestrator.yaml +0 -9
  1192. package/references/openteams/examples/get-shit-done/roles/phase-researcher.yaml +0 -7
  1193. package/references/openteams/examples/get-shit-done/roles/plan-checker.yaml +0 -8
  1194. package/references/openteams/examples/get-shit-done/roles/planner.yaml +0 -8
  1195. package/references/openteams/examples/get-shit-done/roles/project-researcher.yaml +0 -8
  1196. package/references/openteams/examples/get-shit-done/roles/research-synthesizer.yaml +0 -7
  1197. package/references/openteams/examples/get-shit-done/roles/roadmapper.yaml +0 -7
  1198. package/references/openteams/examples/get-shit-done/roles/verifier.yaml +0 -8
  1199. package/references/openteams/examples/get-shit-done/team.yaml +0 -154
  1200. package/references/openteams/package-lock.json +0 -2181
  1201. package/references/openteams/package.json +0 -48
  1202. package/references/openteams/schema/role.schema.json +0 -125
  1203. package/references/openteams/schema/team.schema.json +0 -284
  1204. package/references/openteams/src/cli/agent.ts +0 -104
  1205. package/references/openteams/src/cli/cli.test.ts +0 -381
  1206. package/references/openteams/src/cli/generate.ts +0 -220
  1207. package/references/openteams/src/cli/message.ts +0 -241
  1208. package/references/openteams/src/cli/task.ts +0 -154
  1209. package/references/openteams/src/cli/team.ts +0 -104
  1210. package/references/openteams/src/cli/template.ts +0 -207
  1211. package/references/openteams/src/cli.ts +0 -45
  1212. package/references/openteams/src/db/database.test.ts +0 -185
  1213. package/references/openteams/src/db/database.ts +0 -240
  1214. package/references/openteams/src/generators/agent-prompt-generator.test.ts +0 -332
  1215. package/references/openteams/src/generators/agent-prompt-generator.ts +0 -521
  1216. package/references/openteams/src/generators/package-generator.test.ts +0 -129
  1217. package/references/openteams/src/generators/package-generator.ts +0 -102
  1218. package/references/openteams/src/generators/skill-generator.test.ts +0 -246
  1219. package/references/openteams/src/generators/skill-generator.ts +0 -374
  1220. package/references/openteams/src/index.ts +0 -104
  1221. package/references/openteams/src/services/agent-service.test.ts +0 -158
  1222. package/references/openteams/src/services/agent-service.ts +0 -84
  1223. package/references/openteams/src/services/communication-service.test.ts +0 -455
  1224. package/references/openteams/src/services/communication-service.ts +0 -371
  1225. package/references/openteams/src/services/message-service.test.ts +0 -342
  1226. package/references/openteams/src/services/message-service.ts +0 -203
  1227. package/references/openteams/src/services/task-service.test.ts +0 -434
  1228. package/references/openteams/src/services/task-service.ts +0 -239
  1229. package/references/openteams/src/services/team-service.test.ts +0 -181
  1230. package/references/openteams/src/services/team-service.ts +0 -139
  1231. package/references/openteams/src/services/template-service.test.ts +0 -306
  1232. package/references/openteams/src/services/template-service.ts +0 -182
  1233. package/references/openteams/src/spawner/acp-factory.ts +0 -96
  1234. package/references/openteams/src/spawner/interface.ts +0 -31
  1235. package/references/openteams/src/spawner/mock.test.ts +0 -93
  1236. package/references/openteams/src/spawner/mock.ts +0 -59
  1237. package/references/openteams/src/template/loader.test.ts +0 -1319
  1238. package/references/openteams/src/template/loader.ts +0 -698
  1239. package/references/openteams/src/template/types.ts +0 -200
  1240. package/references/openteams/src/types.ts +0 -205
  1241. package/references/openteams/tsconfig.json +0 -18
  1242. package/references/openteams/vitest.config.ts +0 -9
  1243. package/references/skill-tree/.claude/settings.json +0 -6
  1244. package/references/skill-tree/.sudocode/issues.jsonl +0 -11
  1245. package/references/skill-tree/.sudocode/specs.jsonl +0 -1
  1246. package/references/skill-tree/CLAUDE.md +0 -150
  1247. package/references/skill-tree/README.md +0 -324
  1248. package/references/skill-tree/docs/GAPS_v1.md +0 -221
  1249. package/references/skill-tree/docs/INTEGRATION_PLAN.md +0 -467
  1250. package/references/skill-tree/docs/TODOS.md +0 -91
  1251. package/references/skill-tree/docs/anthropic_skill_guide.md +0 -1364
  1252. package/references/skill-tree/docs/design/federated-skill-trees.md +0 -524
  1253. package/references/skill-tree/docs/design/multi-agent-sync.md +0 -759
  1254. package/references/skill-tree/docs/scraper/BRAINSTORM.md +0 -583
  1255. package/references/skill-tree/docs/scraper/POC_PLAN.md +0 -420
  1256. package/references/skill-tree/docs/scraper/README.md +0 -170
  1257. package/references/skill-tree/examples/basic-usage.ts +0 -190
  1258. package/references/skill-tree/package-lock.json +0 -1509
  1259. package/references/skill-tree/package.json +0 -66
  1260. package/references/skill-tree/scraper/README.md +0 -123
  1261. package/references/skill-tree/scraper/docs/DESIGN.md +0 -683
  1262. package/references/skill-tree/scraper/docs/PLAN.md +0 -336
  1263. package/references/skill-tree/scraper/drizzle.config.ts +0 -10
  1264. package/references/skill-tree/scraper/package-lock.json +0 -6329
  1265. package/references/skill-tree/scraper/package.json +0 -68
  1266. package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-description.md +0 -7
  1267. package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-name.md +0 -7
  1268. package/references/skill-tree/scraper/test/fixtures/minimal-skill/SKILL.md +0 -27
  1269. package/references/skill-tree/scraper/test/fixtures/skill-json/SKILL.json +0 -21
  1270. package/references/skill-tree/scraper/test/fixtures/skill-with-meta/SKILL.md +0 -54
  1271. package/references/skill-tree/scraper/test/fixtures/skill-with-meta/_meta.json +0 -24
  1272. package/references/skill-tree/scraper/test/fixtures/valid-skill/SKILL.md +0 -93
  1273. package/references/skill-tree/scraper/test/fixtures/valid-skill/_meta.json +0 -22
  1274. package/references/skill-tree/scraper/tsup.config.ts +0 -14
  1275. package/references/skill-tree/scraper/vitest.config.ts +0 -17
  1276. package/references/skill-tree/scripts/convert-to-vitest.ts +0 -166
  1277. package/references/skill-tree/skills/skill-writer/SKILL.md +0 -339
  1278. package/references/skill-tree/skills/skill-writer/references/examples.md +0 -326
  1279. package/references/skill-tree/skills/skill-writer/references/patterns.md +0 -210
  1280. package/references/skill-tree/skills/skill-writer/references/quality-checklist.md +0 -123
  1281. package/references/skill-tree/test/run-all.ts +0 -106
  1282. package/references/skill-tree/test/utils.ts +0 -128
  1283. package/references/skill-tree/vitest.config.ts +0 -16
  1284. package/src/__tests__/e2e/agent-spawn-visibility.e2e.test.ts +0 -761
  1285. package/src/__tests__/e2e/cascade-termination.e2e.test.ts +0 -588
  1286. package/src/__tests__/e2e/conflict-resolution-flow.e2e.test.ts +0 -790
  1287. package/src/__tests__/e2e/full-agent-conflict-resolution.e2e.test.ts +0 -714
  1288. package/src/__tests__/e2e/full-agent-orchestration.e2e.test.ts +0 -536
  1289. package/src/__tests__/e2e/mcp-server-debug.e2e.test.ts +0 -372
  1290. package/src/__tests__/e2e/mcp-thin-client-bridge.e2e.test.ts +0 -304
  1291. package/src/__tests__/e2e/mcp-tools-available.e2e.test.ts +0 -324
  1292. package/src/__tests__/e2e/multi-agent.e2e.test.ts +0 -1527
  1293. package/src/__tests__/e2e/multi-coordinator.e2e.test.ts +0 -602
  1294. package/src/__tests__/e2e/orchestration-flow.e2e.test.ts +0 -686
  1295. package/src/__tests__/e2e/spawn-session-streaming.e2e.test.ts +0 -563
  1296. package/src/__tests__/e2e/steering-task.e2e.test.ts +0 -840
  1297. package/src/__tests__/integration.e2e.test.ts +0 -407
  1298. package/src/acp/__tests__/combined-websocket-server.test.ts +0 -260
  1299. package/src/acp/__tests__/history.test.ts +0 -530
  1300. package/src/acp/__tests__/integration.test.ts +0 -1049
  1301. package/src/acp/__tests__/multi-client-mounting.test.ts +0 -303
  1302. package/src/acp/__tests__/session-persistence.test.ts +0 -276
  1303. package/src/acp/__tests__/websocket-full.e2e.test.ts +0 -401
  1304. package/src/acp/__tests__/websocket-integration.test.ts +0 -484
  1305. package/src/acp/__tests__/websocket-stream.test.ts +0 -281
  1306. package/src/acp/__tests__/websocket.e2e.test.ts +0 -390
  1307. package/src/acp/websocket-stream.ts +0 -140
  1308. package/src/activity/__tests__/deduplication.test.ts +0 -345
  1309. package/src/activity/__tests__/relevance.test.ts +0 -347
  1310. package/src/activity/__tests__/watcher.test.ts +0 -344
  1311. package/src/activity/deduplication.ts +0 -219
  1312. package/src/activity/index.ts +0 -51
  1313. package/src/activity/relevance.ts +0 -258
  1314. package/src/activity/types.ts +0 -263
  1315. package/src/activity/watcher.ts +0 -345
  1316. package/src/agent/__tests__/agent-manager.test.ts +0 -1382
  1317. package/src/agent/__tests__/wake.test.ts +0 -768
  1318. package/src/agent/wake.ts +0 -357
  1319. package/src/api/__tests__/conversation-api.test.ts +0 -468
  1320. package/src/cli/__tests__/acp.test.ts +0 -214
  1321. package/src/lifecycle/__tests__/cascade-termination.test.ts +0 -919
  1322. package/src/lifecycle/__tests__/cascade.test.ts +0 -595
  1323. package/src/lifecycle/__tests__/cleanup.test.ts +0 -322
  1324. package/src/lifecycle/__tests__/handlers.test.ts +0 -1879
  1325. package/src/lifecycle/__tests__/lifecycle.e2e.test.ts +0 -354
  1326. package/src/lifecycle/__tests__/merge-queue.e2e.test.ts +0 -602
  1327. package/src/lifecycle/handlers/generic.ts +0 -87
  1328. package/src/lifecycle/handlers/index.ts +0 -183
  1329. package/src/lifecycle/handlers/integrator.ts +0 -672
  1330. package/src/lifecycle/handlers/monitor.ts +0 -114
  1331. package/src/lifecycle/handlers/worker.ts +0 -506
  1332. package/src/mail/__tests__/conversation-lifecycle.test.ts +0 -409
  1333. package/src/mail/__tests__/eventstore-stores.test.ts +0 -1073
  1334. package/src/mail/__tests__/mail-full-agent.e2e.test.ts +0 -575
  1335. package/src/mail/__tests__/mail-integration.test.ts +0 -759
  1336. package/src/mail/__tests__/mail-map-protocol.e2e.test.ts +0 -1068
  1337. package/src/mail/__tests__/mail-service.test.ts +0 -506
  1338. package/src/mail/__tests__/turn-recorder.test.ts +0 -328
  1339. package/src/mail/conversation-map.ts +0 -107
  1340. package/src/mail/index.ts +0 -25
  1341. package/src/mail/mail-service.ts +0 -257
  1342. package/src/mail/stores/eventstore-conversation-store.ts +0 -146
  1343. package/src/mail/stores/eventstore-participant-store.ts +0 -172
  1344. package/src/mail/stores/eventstore-thread-store.ts +0 -129
  1345. package/src/mail/stores/eventstore-turn-store.ts +0 -173
  1346. package/src/mail/stores/index.ts +0 -12
  1347. package/src/mail/stores/types.ts +0 -160
  1348. package/src/mail/turn-recorder.ts +0 -124
  1349. package/src/map/README.md +0 -79
  1350. package/src/map/__tests__/adapter-types.test.ts +0 -326
  1351. package/src/map/__tests__/interface-types.test.ts +0 -342
  1352. package/src/map/__tests__/types.test.ts +0 -411
  1353. package/src/map/adapter/__tests__/acp-over-map-cancel.test.ts +0 -820
  1354. package/src/map/adapter/__tests__/acp-over-map-getmodels.test.ts +0 -355
  1355. package/src/map/adapter/__tests__/acp-over-map-history.test.ts +0 -1386
  1356. package/src/map/adapter/__tests__/acp-over-map-persistence.e2e.test.ts +0 -440
  1357. package/src/map/adapter/__tests__/connection-manager.test.ts +0 -344
  1358. package/src/map/adapter/__tests__/event-broadcast.test.ts +0 -420
  1359. package/src/map/adapter/__tests__/event-log.test.ts +0 -527
  1360. package/src/map/adapter/__tests__/event-translator.test.ts +0 -550
  1361. package/src/map/adapter/__tests__/extensions.test.ts +0 -1387
  1362. package/src/map/adapter/__tests__/map-adapter.test.ts +0 -926
  1363. package/src/map/adapter/__tests__/mcp-bridge.test.ts +0 -1187
  1364. package/src/map/adapter/__tests__/multi-client-broadcast.test.ts +0 -711
  1365. package/src/map/adapter/__tests__/rpc-handler.test.ts +0 -644
  1366. package/src/map/adapter/__tests__/stream-extensions.test.ts +0 -494
  1367. package/src/map/adapter/__tests__/subscription-manager.test.ts +0 -536
  1368. package/src/map/adapter/__tests__/websocket-integration.test.ts +0 -487
  1369. package/src/map/adapter/__tests__/workspace-files.test.ts +0 -673
  1370. package/src/map/adapter/acp-over-map.ts +0 -1483
  1371. package/src/map/adapter/connection-manager.ts +0 -400
  1372. package/src/map/adapter/event-log.ts +0 -208
  1373. package/src/map/adapter/event-translator.ts +0 -415
  1374. package/src/map/adapter/extensions/agent-detection.ts +0 -201
  1375. package/src/map/adapter/extensions/agent-lifecycle.ts +0 -267
  1376. package/src/map/adapter/extensions/index.ts +0 -316
  1377. package/src/map/adapter/extensions/mcp-bridge.ts +0 -995
  1378. package/src/map/adapter/extensions/resume.ts +0 -114
  1379. package/src/map/adapter/extensions/streams.ts +0 -839
  1380. package/src/map/adapter/extensions/task.ts +0 -326
  1381. package/src/map/adapter/extensions/update-metadata.ts +0 -126
  1382. package/src/map/adapter/extensions/wake.ts +0 -239
  1383. package/src/map/adapter/extensions/workspace-files.ts +0 -449
  1384. package/src/map/adapter/extensions/workspace.ts +0 -176
  1385. package/src/map/adapter/index.ts +0 -163
  1386. package/src/map/adapter/interface.ts +0 -581
  1387. package/src/map/adapter/mail-handler-adapter.ts +0 -429
  1388. package/src/map/adapter/map-adapter.ts +0 -1749
  1389. package/src/map/adapter/rpc-handler.ts +0 -604
  1390. package/src/map/adapter/subscription-manager.ts +0 -474
  1391. package/src/map/adapter/types.ts +0 -266
  1392. package/src/map/adapter/websocket-integration.ts +0 -229
  1393. package/src/map/federation/__tests__/envelope.test.ts +0 -362
  1394. package/src/map/federation/__tests__/federation-handler.test.ts +0 -461
  1395. package/src/map/federation/envelope.ts +0 -243
  1396. package/src/map/federation/federation-handler.ts +0 -442
  1397. package/src/map/federation/index.ts +0 -65
  1398. package/src/map/federation/types.ts +0 -344
  1399. package/src/mcp/__tests__/map-client.test.ts +0 -386
  1400. package/src/mcp/__tests__/mcp-server-thin-client.test.ts +0 -368
  1401. package/src/mcp/__tests__/mcp-server.test.ts +0 -1002
  1402. package/src/mcp/map-client.ts +0 -177
  1403. package/src/mcp/mcp-server.ts +0 -1406
  1404. package/src/mcp/tools/__tests__/done.test.ts +0 -484
  1405. package/src/mcp/tools/claim_task.ts +0 -86
  1406. package/src/mcp/tools/done.ts +0 -357
  1407. package/src/mcp/tools/inject_context.ts +0 -173
  1408. package/src/mcp/tools/list_claimable_tasks.ts +0 -93
  1409. package/src/mcp/tools/unclaim_task.ts +0 -71
  1410. package/src/mcp/tools/wait_for_activity.ts +0 -185
  1411. package/src/monitor/__tests__/health-check-service.test.ts +0 -425
  1412. package/src/monitor/__tests__/stale-agent-flow.integration.test.ts +0 -393
  1413. package/src/monitor/__tests__/stall-detector.test.ts +0 -395
  1414. package/src/monitor/health-check-service.ts +0 -359
  1415. package/src/monitor/index.ts +0 -28
  1416. package/src/monitor/stall-detector.ts +0 -238
  1417. package/src/peer/__tests__/capability-manager.test.ts +0 -454
  1418. package/src/peer/__tests__/encapsulation-manager.test.ts +0 -787
  1419. package/src/peer/__tests__/federation-manager.test.ts +0 -828
  1420. package/src/peer/__tests__/hierarchy-errors.test.ts +0 -307
  1421. package/src/peer/__tests__/peer-manager.test.ts +0 -535
  1422. package/src/peer/__tests__/task-delegation.test.ts +0 -741
  1423. package/src/peer/capability-manager.ts +0 -289
  1424. package/src/peer/encapsulation-manager.ts +0 -831
  1425. package/src/peer/federation-manager.ts +0 -897
  1426. package/src/peer/hierarchy-errors.ts +0 -382
  1427. package/src/peer/hierarchy-protocol.ts +0 -328
  1428. package/src/peer/index.ts +0 -15
  1429. package/src/peer/peer-manager.ts +0 -540
  1430. package/src/peer/task-delegation.ts +0 -594
  1431. package/src/peer/transports/__tests__/local-transport.test.ts +0 -355
  1432. package/src/peer/transports/__tests__/websocket-transport.test.ts +0 -270
  1433. package/src/peer/transports/index.ts +0 -18
  1434. package/src/peer/transports/local-transport.ts +0 -348
  1435. package/src/peer/transports/websocket-transport.ts +0 -452
  1436. package/src/peer/types.ts +0 -331
  1437. package/src/roles/__tests__/capability-enforcement.test.ts +0 -989
  1438. package/src/roles/__tests__/message-routing.e2e.test.ts +0 -464
  1439. package/src/roles/__tests__/role-resolution.test.ts +0 -576
  1440. package/src/router/README.md +0 -120
  1441. package/src/router/__tests__/address-resolver.test.ts +0 -340
  1442. package/src/router/__tests__/broadcast.test.ts +0 -185
  1443. package/src/router/__tests__/message-router.test.ts +0 -1070
  1444. package/src/router/__tests__/role-channel.test.ts +0 -213
  1445. package/src/router/__tests__/send-to-address.test.ts +0 -731
  1446. package/src/router/__tests__/wake.test.ts +0 -459
  1447. package/src/router/address-resolver.ts +0 -303
  1448. package/src/router/broadcast.ts +0 -117
  1449. package/src/router/channels.ts +0 -283
  1450. package/src/router/index.ts +0 -148
  1451. package/src/router/message-router.ts +0 -1392
  1452. package/src/router/message-types.ts +0 -294
  1453. package/src/router/role-resolver.ts +0 -164
  1454. package/src/router/signals.ts +0 -335
  1455. package/src/router/types.ts +0 -306
  1456. package/src/router/wake.ts +0 -270
  1457. package/src/server/__tests__/combined-server.test.ts +0 -360
  1458. package/src/server/combined-server.ts +0 -544
  1459. package/src/steering/__tests__/inject.test.ts +0 -405
  1460. package/src/steering/__tests__/injection.e2e.test.ts +0 -932
  1461. package/src/steering/__tests__/steering-integration.test.ts +0 -747
  1462. package/src/steering/index.ts +0 -25
  1463. package/src/steering/inject.ts +0 -262
  1464. package/src/steering/types.ts +0 -143
  1465. package/src/store/README.md +0 -134
  1466. package/src/store/__tests__/event-store-oob.test.ts +0 -109
  1467. package/src/store/__tests__/event-store.test.ts +0 -1446
  1468. package/src/store/__tests__/instance.test.ts +0 -556
  1469. package/src/store/__tests__/migrations.test.ts +0 -109
  1470. package/src/store/backends/__tests__/memory-backend.test.ts +0 -383
  1471. package/src/store/backends/__tests__/sqlite-backend.test.ts +0 -427
  1472. package/src/store/backends/index.ts +0 -42
  1473. package/src/store/backends/json-backend.ts +0 -295
  1474. package/src/store/backends/memory-backend.ts +0 -256
  1475. package/src/store/backends/sqlite-backend.ts +0 -337
  1476. package/src/store/backends/tinybase-backend.ts +0 -276
  1477. package/src/store/backends/types.ts +0 -252
  1478. package/src/store/event-store.ts +0 -2214
  1479. package/src/store/instance.ts +0 -681
  1480. package/src/store/migrations.ts +0 -96
  1481. package/src/store/types/config.ts +0 -19
  1482. package/src/store/types/conversations.ts +0 -129
  1483. package/src/store/types/sessions.ts +0 -53
  1484. package/src/task/__tests__/retry-policy.test.ts +0 -409
  1485. package/src/task/__tests__/task-integration.test.ts +0 -457
  1486. package/src/task/__tests__/task-manager.test.ts +0 -815
  1487. package/src/task/backend/__tests__/create-task-backend.test.ts +0 -225
  1488. package/src/task/backend/__tests__/e2e/unified-tool-provider-opentasks.e2e.test.ts +0 -524
  1489. package/src/task/backend/__tests__/memory-pull-mode.test.ts +0 -153
  1490. package/src/task/backend/__tests__/memory.test.ts +0 -1274
  1491. package/src/task/backend/__tests__/unified-tool-provider.test.ts +0 -579
  1492. package/src/task/backend/index.ts +0 -310
  1493. package/src/task/backend/memory.ts +0 -828
  1494. package/src/task/backend/opentasks/__tests__/backend.test.ts +0 -968
  1495. package/src/task/backend/opentasks/__tests__/daemon-manager.test.ts +0 -406
  1496. package/src/task/backend/opentasks/__tests__/mapping.test.ts +0 -84
  1497. package/src/task/backend/opentasks/__tests__/opentasks-backend.e2e.test.ts +0 -1338
  1498. package/src/task/backend/opentasks/backend.ts +0 -1323
  1499. package/src/task/backend/opentasks/client.ts +0 -652
  1500. package/src/task/backend/opentasks/daemon-manager.ts +0 -256
  1501. package/src/task/backend/opentasks/index.ts +0 -69
  1502. package/src/task/backend/opentasks/mapping.ts +0 -94
  1503. package/src/task/backend/types.ts +0 -458
  1504. package/src/task/backend/unified-tool-provider.ts +0 -779
  1505. package/src/task/index.ts +0 -7
  1506. package/src/task/retry-policy.ts +0 -204
  1507. package/src/task/task-manager.ts +0 -515
  1508. package/src/task/types.ts +0 -136
  1509. package/src/teams/CLAUDE.md +0 -180
  1510. package/src/teams/__tests__/cross-subsystem.integration.test.ts +0 -983
  1511. package/src/teams/__tests__/e2e/team-runtime.e2e.test.ts +0 -553
  1512. package/src/teams/__tests__/e2e/workspace-isolation.e2e.test.ts +0 -1263
  1513. package/src/teams/__tests__/team-manager.test.ts +0 -814
  1514. package/src/teams/__tests__/team-system.test.ts +0 -2563
  1515. package/src/teams/team-manager.ts +0 -387
  1516. package/src/teams/team-runtime.ts +0 -1198
  1517. package/src/trigger/CLAUDE.md +0 -308
  1518. package/src/trigger/README.md +0 -429
  1519. package/src/trigger/__tests__/macro-agent-regression.test.ts +0 -946
  1520. package/src/trigger/__tests__/routing-strategies.test.ts +0 -329
  1521. package/src/trigger/__tests__/trigger-router.test.ts +0 -433
  1522. package/src/trigger/__tests__/trigger-system-integration.test.ts +0 -581
  1523. package/src/trigger/router/index.ts +0 -36
  1524. package/src/trigger/router/strategies/ai-router-strategy.ts +0 -481
  1525. package/src/trigger/router/strategies/direct-strategy.ts +0 -162
  1526. package/src/trigger/router/strategies/index.ts +0 -26
  1527. package/src/trigger/router/strategies/role-strategy.ts +0 -274
  1528. package/src/trigger/router/trigger-router.ts +0 -463
  1529. package/src/trigger/router/types.ts +0 -273
  1530. package/src/trigger/trigger-system.ts +0 -206
  1531. package/src/workspace/__tests__/multi-coordinator.test.ts +0 -1005
  1532. package/src/workspace/__tests__/workspace-manager.test.ts +0 -391
  1533. package/src/workspace/__tests__/workspace.e2e.test.ts +0 -1155
  1534. package/src/workspace/merge-queue/__tests__/hierarchical-consolidation.e2e.test.ts +0 -414
  1535. package/test_fixtures/harness/__tests__/behavior-executor-and-stepper.test.ts +0 -714
  1536. package/test_fixtures/harness/__tests__/fixtures.test.ts +0 -347
  1537. package/test_fixtures/harness/__tests__/merge-queue-and-worktrees.test.ts +0 -452
  1538. package/test_fixtures/harness/__tests__/temp-repo-and-simulator.test.ts +0 -422
  1539. package/test_fixtures/harness/__tests__/test-harness-and-assertions.test.ts +0 -568
  1540. /package/{references/acp-factory-ref/python/tests/__init__.py → .opentasks/graph.jsonl} +0 -0
@@ -1,171 +0,0 @@
1
- // A pushable async iterable: allows you to push items and consume them with for-await.
2
-
3
- import { Readable, Writable } from "node:stream";
4
- import { WritableStream, ReadableStream } from "node:stream/web";
5
- import { readFileSync } from "node:fs";
6
- import { Logger } from "./acp-agent.js";
7
- import { ClaudeCodeSettings, getManagedSettingsPath } from "./settings.js";
8
-
9
- // Useful for bridging push-based and async-iterator-based code.
10
- export class Pushable<T> implements AsyncIterable<T> {
11
- private queue: T[] = [];
12
- private resolvers: ((value: IteratorResult<T>) => void)[] = [];
13
- private done = false;
14
-
15
- push(item: T) {
16
- if (this.resolvers.length > 0) {
17
- const resolve = this.resolvers.shift()!;
18
- resolve({ value: item, done: false });
19
- } else {
20
- this.queue.push(item);
21
- }
22
- }
23
-
24
- end() {
25
- this.done = true;
26
- while (this.resolvers.length > 0) {
27
- const resolve = this.resolvers.shift()!;
28
- resolve({ value: undefined as any, done: true });
29
- }
30
- }
31
-
32
- [Symbol.asyncIterator](): AsyncIterator<T> {
33
- return {
34
- next: (): Promise<IteratorResult<T>> => {
35
- if (this.queue.length > 0) {
36
- const value = this.queue.shift()!;
37
- return Promise.resolve({ value, done: false });
38
- }
39
- if (this.done) {
40
- return Promise.resolve({ value: undefined as any, done: true });
41
- }
42
- return new Promise<IteratorResult<T>>((resolve) => {
43
- this.resolvers.push(resolve);
44
- });
45
- },
46
- };
47
- }
48
- }
49
-
50
- // Helper to convert Node.js streams to Web Streams
51
- export function nodeToWebWritable(nodeStream: Writable): WritableStream<Uint8Array> {
52
- return new WritableStream<Uint8Array>({
53
- write(chunk) {
54
- return new Promise<void>((resolve, reject) => {
55
- nodeStream.write(Buffer.from(chunk), (err) => {
56
- if (err) {
57
- reject(err);
58
- } else {
59
- resolve();
60
- }
61
- });
62
- });
63
- },
64
- });
65
- }
66
-
67
- export function nodeToWebReadable(nodeStream: Readable): ReadableStream<Uint8Array> {
68
- return new ReadableStream<Uint8Array>({
69
- start(controller) {
70
- nodeStream.on("data", (chunk: Buffer) => {
71
- controller.enqueue(new Uint8Array(chunk));
72
- });
73
- nodeStream.on("end", () => controller.close());
74
- nodeStream.on("error", (err) => controller.error(err));
75
- },
76
- });
77
- }
78
-
79
- export function unreachable(value: never, logger: Logger = console) {
80
- let valueAsString;
81
- try {
82
- valueAsString = JSON.stringify(value);
83
- } catch {
84
- valueAsString = value;
85
- }
86
- logger.error(`Unexpected case: ${valueAsString}`);
87
- }
88
-
89
- export function sleep(time: number): Promise<void> {
90
- return new Promise((resolve) => setTimeout(resolve, time));
91
- }
92
-
93
- export function loadManagedSettings(): ClaudeCodeSettings | null {
94
- try {
95
- return JSON.parse(readFileSync(getManagedSettingsPath(), "utf8")) as ClaudeCodeSettings;
96
- } catch {
97
- return null;
98
- }
99
- }
100
-
101
- export function applyEnvironmentSettings(settings: ClaudeCodeSettings): void {
102
- if (settings.env) {
103
- for (const [key, value] of Object.entries(settings.env)) {
104
- process.env[key] = value;
105
- }
106
- }
107
- }
108
-
109
- export interface ExtractLinesResult {
110
- content: string;
111
- wasLimited: boolean;
112
- linesRead: number;
113
- }
114
-
115
- /**
116
- * Extracts lines from file content with byte limit enforcement.
117
- *
118
- * @param fullContent - The complete file content
119
- * @param maxContentLength - Maximum number of UTF-16 Code Units to return
120
- * @returns Object containing extracted content and metadata
121
- */
122
- export function extractLinesWithByteLimit(
123
- fullContent: string,
124
- maxContentLength: number,
125
- ): ExtractLinesResult {
126
- if (fullContent === "") {
127
- return {
128
- content: "",
129
- wasLimited: false,
130
- linesRead: 1,
131
- };
132
- }
133
-
134
- let linesSeen = 0;
135
- let index = 0;
136
- linesSeen = 0;
137
-
138
- let contentLength = 0;
139
- let wasLimited = false;
140
-
141
- while (true) {
142
- const nextIndex = fullContent.indexOf("\n", index);
143
-
144
- if (nextIndex < 0) {
145
- // Last line in file (no trailing newline)
146
- if (linesSeen > 0 && fullContent.length > maxContentLength) {
147
- wasLimited = true;
148
- break;
149
- }
150
- linesSeen += 1;
151
- contentLength = fullContent.length;
152
- break;
153
- } else {
154
- // Line with newline - include up to the newline
155
- const newContentLength = nextIndex + 1;
156
- if (linesSeen > 0 && newContentLength > maxContentLength) {
157
- wasLimited = true;
158
- break;
159
- }
160
- linesSeen += 1;
161
- contentLength = newContentLength;
162
- index = newContentLength;
163
- }
164
- }
165
-
166
- return {
167
- content: fullContent.slice(0, contentLength),
168
- wasLimited,
169
- linesRead: linesSeen,
170
- };
171
- }
@@ -1,18 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2020",
4
- "module": "NodeNext",
5
- "moduleResolution": "NodeNext",
6
- "lib": ["ES2020"],
7
- "strict": true,
8
- "esModuleInterop": true,
9
- "forceConsistentCasingInFileNames": true,
10
- "skipLibCheck": true,
11
- "outDir": "dist",
12
- "rootDir": "src",
13
- "declaration": true,
14
- "declarationMap": true
15
- },
16
- "include": ["src/**/*.ts"],
17
- "exclude": ["node_modules", "dist"]
18
- }
@@ -1,19 +0,0 @@
1
- import { defineConfig } from "vitest/config";
2
-
3
- export default defineConfig({
4
- test: {
5
- watch: false,
6
- globals: true,
7
- environment: "node",
8
- include: ["src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
9
- coverage: {
10
- provider: "v8",
11
- reporter: ["text", "json", "html"],
12
- },
13
- },
14
- resolve: {
15
- alias: {
16
- "@": "/src",
17
- },
18
- },
19
- });
@@ -1,7 +0,0 @@
1
- {
2
- "attribution":
3
- {
4
- "commit": "",
5
- "pr": ""
6
- }
7
- }
@@ -1,18 +0,0 @@
1
- {"id":"i-7edu","uuid":"d7e8cb3b-73c5-4ac8-b0c3-75d30b3af857","title":"Implement global and per-directory config system for sync","content":"## Overview\nExtend the existing config system to support sync-related configuration at both global and per-directory levels.\n\n## Acceptance Criteria\n- [ ] Global config at `~/.config/minimem/config.json` supports:\n - `centralRepo`: path to central repository\n - `sync.conflictStrategy`: default merge strategy\n - `sync.autoSync`: boolean for daemon auto-sync\n - `sync.autoCommit`: boolean for auto-committing\n- [ ] Per-directory config at `.minimem/config.json` supports:\n - `sync.enabled`: boolean\n - `sync.path`: path in central repo\n - `sync.include`: glob patterns for files to sync\n - `sync.exclude`: glob patterns to exclude\n- [ ] Default include pattern: `[\"MEMORY.md\", \"memory/**/*.md\"]`\n- [ ] Config loading merges global defaults with per-directory overrides\n- [ ] `minimem config set` and `minimem config get` work for sync settings\n\n## Technical Notes\n- Extend existing `src/cli/config.ts`\n- Use JSON schema validation for config\n- Handle `~` expansion in paths\n\n## Implements\n[[s-2wx5]] - Config system requirement","status":"closed","priority":0,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:55:58","updated_at":"2026-02-03 05:36:54","closed_at":"2026-02-03 05:36:54","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-7edu","from_type":"issue","to":"i-1ce6","to_type":"issue","type":"blocks"},{"from":"i-7edu","from_type":"issue","to":"i-1tlk","to_type":"issue","type":"blocks"},{"from":"i-7edu","from_type":"issue","to":"i-8gam","to_type":"issue","type":"blocks"},{"from":"i-7edu","from_type":"issue","to":"i-dvoe","to_type":"issue","type":"blocks"},{"from":"i-7edu","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["cli","config","foundation"],"feedback":[{"id":"a8f202b4-f0a8-4455-816d-78bbb53e06f5","from_id":"i-7edu","to_id":"s-2wx5","feedback_type":"comment","content":"Implemented config system for sync with:\n- Extended CliConfig with sync section (enabled, path, include, exclude)\n- Added GlobalConfig type for XDG config (~/.config/minimem/config.json)\n- Added centralRepo, machineId, and sync settings to global config\n- Added expandPath utility for ~ expansion\n- Added loadXdgConfig, saveXdgConfig functions\n- Added getMachineId function (generates hostname-{random4hex})\n- Added getSyncConfig to merge local + global with defaults\n- Updated config command to display sync settings\n- Added --xdg-global flag to config command\n- All 39 tests pass","agent":"alexngai","anchor":null,"dismissed":false,"created_at":"2026-02-03T05:36:54.045Z","updated_at":"2026-02-03T05:36:54.045Z"}]}
2
- {"id":"i-1tlk","uuid":"855b8770-3183-4956-8b80-d9b7b26b173f","title":"Implement directory type auto-detection","content":"## Overview\nDetect which of the four directory types a memory directory is: project-bound, standalone, hybrid, or unmanaged.\n\n## Acceptance Criteria\n- [ ] `detectDirectoryType(dir: string)` function returns one of:\n - `project-bound`: inside git repo, no sync config\n - `standalone`: has sync config, not inside git repo\n - `hybrid`: inside git repo AND has sync config\n - `unmanaged`: no git repo, no sync config\n- [ ] Detection checks for `.git` in parent directories\n- [ ] Detection reads `.minimem/config.json` for sync config\n- [ ] Exported for use by other commands (sync, push, pull, daemon)\n- [ ] Unit tests for all four detection cases\n\n## Technical Notes\n- Walk up directory tree looking for `.git`\n- Check for `sync.enabled` in local config\n- Consider caching result per session\n\n## Implements\n[[s-2wx5]] - Auto-detection requirement","status":"closed","priority":0,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:56:06","updated_at":"2026-02-03 05:37:57","closed_at":"2026-02-03 05:37:57","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-1tlk","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["detection","foundation"]}
3
- {"id":"i-31u0","uuid":"900cf512-3ed8-47d7-a6bb-3ea7e8668e43","title":"Implement machine ID generation and storage","content":"## Overview\nGenerate a unique machine identifier for registry tracking, stored in global config.\n\n## Acceptance Criteria\n- [ ] `getMachineId()` returns consistent ID for this machine\n- [ ] ID format: `{hostname}-{random-suffix}` (e.g., `macbook-pro-a1b2`)\n- [ ] Generated once on first use, stored in global config\n- [ ] Random suffix is 4 hex characters\n- [ ] Function is idempotent (same ID on repeated calls)\n\n## Technical Notes\n- Use `os.hostname()` for hostname\n- Use `crypto.randomBytes(2).toString('hex')` for suffix\n- Store in `~/.config/minimem/config.json` as `machineId`\n\n## Implements\n[[s-2wx5]] - Machine ID for registry","status":"closed","priority":0,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:56:10","updated_at":"2026-02-03 05:36:54","closed_at":"2026-02-03 05:36:54","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-31u0","from_type":"issue","to":"i-dvoe","to_type":"issue","type":"blocks"},{"from":"i-31u0","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["config","foundation"]}
4
- {"id":"i-1ce6","uuid":"ec0bde24-9cb6-4545-88bb-87f7c552d028","title":"Implement central repo initialization (sync init-central)","content":"## Overview\nCreate a new central repository for syncing memories, or configure an existing repo as central.\n\n## Acceptance Criteria\n- [ ] `minimem sync init-central <path>` creates new central repo:\n - Initializes git repo if not exists\n - Creates `.gitignore` (ignores `*.db`, `staging/`, `conflicts/`)\n - Creates empty `.minimem-registry.json`\n - Creates README.md explaining the repo\n- [ ] If path is existing git repo, adds registry file if missing\n- [ ] Warns if existing repo has unusual structure\n- [ ] Sets `centralRepo` in global config after creation\n- [ ] Validates path is writable\n\n## Technical Notes\n- Use `simple-git` for git operations\n- Create directory structure atomically\n\n## Implements\n[[s-2wx5]] - Bootstrap Flow A","status":"closed","priority":1,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:56:17","updated_at":"2026-02-03 05:40:19","closed_at":"2026-02-03 05:40:19","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-1ce6","from_type":"issue","to":"i-1ll7","to_type":"issue","type":"blocks"},{"from":"i-1ce6","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["bootstrap","central-repo","cli"]}
5
- {"id":"i-dvoe","uuid":"ad511324-6191-4e0c-bbf4-5be94f92a63e","title":"Implement registry system for path collision prevention","content":"## Overview\nManage the `.minimem-registry.json` file in central repo to track all sync mappings and prevent path collisions.\n\n## Acceptance Criteria\n- [ ] Registry schema with mappings array:\n - `path`: central repo path\n - `localPath`: local directory path\n - `machineId`: machine identifier\n - `lastSync`: ISO timestamp\n- [ ] `readRegistry(centralRepo)` loads registry\n- [ ] `writeRegistry(centralRepo, registry)` saves registry\n- [ ] `checkCollision(registry, path, localPath, machineId)` returns:\n - `none`: path is free\n - `same-machine`: can remap (update)\n - `collision`: different machine has this path\n- [ ] `addMapping(registry, mapping)` adds/updates entry\n- [ ] `removeMapping(registry, path, machineId)` removes entry\n- [ ] Registry file is created if missing\n\n## Technical Notes\n- Atomic writes (write to temp, rename)\n- Handle concurrent access gracefully\n\n## Implements\n[[s-2wx5]] - Central Repo Registry","status":"closed","priority":1,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:56:22","updated_at":"2026-02-03 05:40:20","closed_at":"2026-02-03 05:40:20","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-dvoe","from_type":"issue","to":"i-1ll7","to_type":"issue","type":"blocks"},{"from":"i-dvoe","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["central-repo","registry"]}
6
- {"id":"i-1ll7","uuid":"9ea75ed5-2fa2-430b-87d1-4f7a7f518d4a","title":"Implement sync init command with collision validation","content":"## Overview\nInitialize sync for a memory directory, mapping it to a path in the central repo with collision checking.\n\n## Acceptance Criteria\n- [ ] `minimem sync init --path <central-path>` for current directory\n- [ ] `minimem sync init --local <dir> --path <central-path>` for explicit directory\n- [ ] Validates central repo is configured\n- [ ] Checks registry for path collisions, blocks if collision detected\n- [ ] Creates `.minimem/config.json` with sync settings\n- [ ] Registers mapping in central repo registry\n- [ ] Performs initial sync (pull if central has content, push if local-only)\n- [ ] Shows clear error messages for:\n - Central repo not configured\n - Path already mapped by different directory\n - Local directory doesn't exist\n\n## Technical Notes\n- Requires: config system, registry system, machine ID\n- Initial sync direction based on which side has content\n\n## Implements\n[[s-2wx5]] - Bootstrap Flow C","status":"closed","priority":1,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:56:29","updated_at":"2026-02-03 05:42:51","closed_at":"2026-02-03 05:42:51","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-1ll7","from_type":"issue","to":"i-7gne","to_type":"issue","type":"blocks"},{"from":"i-1ll7","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["cli","sync-setup"]}
7
- {"id":"i-7gne","uuid":"b793a113-8ab4-4921-82e7-273f16320a0a","title":"Implement sync list and sync remove commands","content":"## Overview\nCommands to view all sync mappings and remove a directory from sync.\n\n## Acceptance Criteria\n- [ ] `minimem sync list` shows all mappings from registry:\n - Central path\n - Local path\n - Machine ID\n - Last sync time\n - Highlights current machine's mappings\n- [ ] `minimem sync remove` removes current directory from sync:\n - Removes from local `.minimem/config.json`\n - Removes from central repo registry\n - Does NOT delete synced files (just unlinks)\n- [ ] `minimem sync remove --local <dir>` for explicit directory\n- [ ] Confirms before removing\n\n## Technical Notes\n- Read registry from central repo\n- Format output as table\n\n## Implements\n[[s-2wx5]] - CLI commands for sync management","status":"closed","priority":2,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:56:33","updated_at":"2026-02-03 05:42:57","closed_at":"2026-02-03 05:42:57","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-7gne","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["cli","sync-setup"]}
8
- {"id":"i-8gam","uuid":"4450c802-d293-45e1-8a6b-76c476764814","title":"Implement sync state tracking with content hashing","content":"## Overview\nTrack the sync state of files using content hashes to detect changes and conflicts.\n\n## Acceptance Criteria\n- [ ] Sync state stored in `.minimem/sync-state.json`:\n - `lastSync`: ISO timestamp\n - `files`: map of filename to hash info\n- [ ] Each file entry has:\n - `localHash`: SHA-256 of local content\n - `remoteHash`: SHA-256 of remote content\n - `lastSyncedHash`: hash at last successful sync\n- [ ] `computeFileHash(filePath)` returns SHA-256 hex\n- [ ] `loadSyncState(dir)` reads state file\n- [ ] `saveSyncState(dir, state)` writes state file\n- [ ] `updateSyncState(dir, files)` updates hashes after sync\n- [ ] Handles missing state file (first sync)\n\n## Technical Notes\n- Use `crypto.createHash('sha256')`\n- Atomic writes for state file\n- Only track files matching include/exclude patterns\n\n## Implements\n[[s-2wx5]] - Conflict Detection (Hash + Shadow)","status":"closed","priority":1,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:56:41","updated_at":"2026-02-03 05:42:50","closed_at":"2026-02-03 05:42:50","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-8gam","from_type":"issue","to":"i-3jn4","to_type":"issue","type":"blocks"},{"from":"i-8gam","from_type":"issue","to":"i-5ooa","to_type":"issue","type":"blocks"},{"from":"i-8gam","from_type":"issue","to":"i-9fm3","to_type":"issue","type":"blocks"},{"from":"i-8gam","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["core-sync","state"]}
9
- {"id":"i-5ooa","uuid":"17bc44e4-1373-4fde-8114-06320d27b71e","title":"Implement push command","content":"## Overview\nPush local memory files to the central repository.\n\n## Acceptance Criteria\n- [ ] `minimem push` syncs current directory to central repo\n- [ ] `minimem push --dir <path>` for explicit directory\n- [ ] Only pushes files matching include/exclude patterns\n- [ ] Uses atomic staging:\n 1. Copy to `.minimem/staging/{timestamp}/`\n 2. Validate all files copied\n 3. Move to central repo path\n 4. Clean up staging\n- [ ] Updates sync state after successful push\n- [ ] Updates registry `lastSync` timestamp\n- [ ] Detects conflicts (both sides changed) and delegates to conflict handler\n- [ ] Shows summary: files pushed, conflicts found, errors\n\n## Technical Notes\n- Requires: sync state, config, registry\n- Use conflict detection before overwriting\n\n## Implements\n[[s-2wx5]] - Push command","status":"closed","priority":1,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:56:46","updated_at":"2026-02-03 05:45:16","closed_at":"2026-02-03 05:45:16","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-5ooa","from_type":"issue","to":"i-25ys","to_type":"issue","type":"blocks"},{"from":"i-5ooa","from_type":"issue","to":"i-7l8f","to_type":"issue","type":"blocks"},{"from":"i-5ooa","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["cli","core-sync"]}
10
- {"id":"i-3jn4","uuid":"5c9b07bf-718d-47b2-bc32-5b19b9087d33","title":"Implement pull command","content":"## Overview\nPull memory files from the central repository to local directory.\n\n## Acceptance Criteria\n- [ ] `minimem pull` syncs central repo to current directory\n- [ ] `minimem pull --dir <path>` for explicit directory\n- [ ] Only pulls files matching include/exclude patterns\n- [ ] Uses atomic staging:\n 1. Copy from central to `.minimem/staging/{timestamp}/`\n 2. Validate all files copied\n 3. Move to local directory\n 4. Clean up staging\n- [ ] Updates sync state after successful pull\n- [ ] Detects conflicts (both sides changed) and delegates to conflict handler\n- [ ] Shows summary: files pulled, conflicts found, errors\n- [ ] Creates local directories as needed\n\n## Technical Notes\n- Requires: sync state, config, registry\n- Mirror of push logic but reversed direction\n\n## Implements\n[[s-2wx5]] - Pull command","status":"closed","priority":1,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:56:48","updated_at":"2026-02-03 05:45:16","closed_at":"2026-02-03 05:45:16","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-3jn4","from_type":"issue","to":"i-25ys","to_type":"issue","type":"blocks"},{"from":"i-3jn4","from_type":"issue","to":"i-7l8f","to_type":"issue","type":"blocks"},{"from":"i-3jn4","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["cli","core-sync"]}
11
- {"id":"i-9fm3","uuid":"f5cb95c3-ba65-4ffe-a863-da414d6dc801","title":"Implement conflict detection algorithm","content":"## Overview\nDetect when both local and remote have changed since last sync, requiring conflict resolution.\n\n## Acceptance Criteria\n- [ ] `detectConflicts(dir, centralRepo)` returns list of:\n - `file`: filename\n - `status`: `no-change` | `local-only` | `remote-only` | `conflict`\n - `localHash`, `remoteHash`, `baseHash`\n- [ ] Algorithm per file:\n - If localHash == remoteHash → `no-change`\n - If localHash == baseHash → `remote-only` (pull)\n - If remoteHash == baseHash → `local-only` (push)\n - Else → `conflict`\n- [ ] Creates shadow copy for conflicts:\n - `.minimem/shadows/{filename}.base` from lastSyncedHash content\n- [ ] Handles new files (no base hash)\n- [ ] Handles deleted files\n\n## Technical Notes\n- Shadow copies needed for 3-way merge\n- Consider file renames (future enhancement)\n\n## Implements\n[[s-2wx5]] - Conflict Detection Algorithm","status":"closed","priority":1,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:56:56","updated_at":"2026-02-03 05:45:12","closed_at":"2026-02-03 05:45:12","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-9fm3","from_type":"issue","to":"i-3jn4","to_type":"issue","type":"blocks"},{"from":"i-9fm3","from_type":"issue","to":"i-5ooa","to_type":"issue","type":"blocks"},{"from":"i-9fm3","from_type":"issue","to":"i-8t0z","to_type":"issue","type":"blocks"},{"from":"i-9fm3","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["conflict","core-sync"]}
12
- {"id":"i-8t0z","uuid":"f4a413ac-3349-4d99-9c24-b6ba0cbe982e","title":"Implement merge resolution strategies","content":"## Overview\nApply configured merge strategy when conflicts are detected.\n\n## Acceptance Criteria\n- [ ] `resolveConflict(file, strategy, options)` applies strategy:\n - `keep-both`: Append both with conflict markers and timestamps\n - `merge`: Git-style 3-way merge using diff3\n - `manual`: Move to quarantine, fail sync for this file\n - `last-write-wins`: Use file with later mtime\n- [ ] Keep-both format:\n ```\n <<<<<<< LOCAL (2024-01-15 10:30)\n local content\n =======\n remote content\n >>>>>>> REMOTE (2024-01-15 09:45)\n ```\n- [ ] Merge resolver hook support:\n - If `mergeResolver` configured, spawn external tool\n - Wait for tool to exit\n - Read merged result\n- [ ] Returns: `resolved` | `quarantined` | `failed`\n\n## Technical Notes\n- Use `diff3` or similar for 3-way merge\n- External tools get paths: base, local, remote, output\n\n## Implements\n[[s-2wx5]] - Merge Resolution Strategies","status":"closed","priority":1,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:57:02","updated_at":"2026-02-03 05:45:17","closed_at":"2026-02-03 05:45:17","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-8t0z","from_type":"issue","to":"i-9a8e","to_type":"issue","type":"blocks"},{"from":"i-8t0z","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["conflict","merge"]}
13
- {"id":"i-9a8e","uuid":"57a30353-f397-4bce-9478-3b429da858ee","title":"Implement quarantine and recovery system","content":"## Overview\nQuarantine conflicted files and provide recovery commands for failed syncs.\n\n## Acceptance Criteria\n- [ ] Quarantine structure:\n ```\n .minimem/conflicts/{timestamp}/\n ├── {filename}.local\n ├── {filename}.remote\n └── {filename}.base\n ```\n- [ ] `quarantineConflict(file, local, remote, base)` saves copies\n- [ ] `minimem sync conflicts` lists all quarantined conflicts:\n - Timestamp, filename, local/remote timestamps\n- [ ] `minimem sync resolve <file>` opens merge tool for manual resolution\n- [ ] `minimem sync recover` retries last failed sync\n- [ ] Sync log at `.minimem/sync.log`:\n - Timestamp, operation, result, errors\n- [ ] Cleanup old quarantine (configurable retention)\n\n## Technical Notes\n- Quarantine preserves all versions for safety\n- Recovery reads from staging if present\n\n## Implements\n[[s-2wx5]] - Sync Failure Recovery","status":"closed","priority":2,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:57:08","updated_at":"2026-02-03 07:24:05","closed_at":"2026-02-03 07:24:05","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-9a8e","from_type":"issue","to":"i-65zj","to_type":"issue","type":"blocks"},{"from":"i-9a8e","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["cli","conflict","recovery"],"feedback":[{"id":"c65a26ed-b934-4357-89e3-05ab096f6ced","from_id":"i-9a8e","to_id":"s-2wx5","feedback_type":"comment","content":"Implemented quarantine and recovery system:\n- Quarantine structure in `.minimem/conflicts/{timestamp}/` with `.local`, `.remote`, `.base` files\n- `quarantineConflict()` and `listQuarantinedConflicts()` in conflicts.ts\n- CLI commands: `sync:conflicts`, `sync:resolve <timestamp>`, `sync:cleanup`\n- Sync log at `.minimem/sync.log` with JSONL format\n- `sync:log` command to view history\n- Auto-detects merge tools (code, meld, kdiff3, vimdiff)\n- Cleanup supports --days and --dry-run options","agent":"alexngai","anchor":null,"dismissed":false,"created_at":"2026-02-03T07:24:04.899Z","updated_at":"2026-02-03T07:24:04.899Z"}]}
14
- {"id":"i-7l8f","uuid":"95c7277b-dfb0-47c0-8092-51116a648069","title":"Implement file watcher with debouncing","content":"## Overview\nWatch memory directories for file changes with debouncing to avoid rapid-fire syncs.\n\n## Acceptance Criteria\n- [ ] `createFileWatcher(dir, options)` returns watcher instance\n- [ ] Watches files matching include/exclude patterns\n- [ ] Debounces changes (default 2 seconds):\n - Multiple rapid changes trigger single callback\n - Configurable debounce interval\n- [ ] Emits events: `change`, `add`, `unlink`\n- [ ] Ignores `.minimem/` directory (staging, conflicts, db)\n- [ ] `watcher.close()` cleans up\n- [ ] Works cross-platform (macOS, Linux, Windows)\n\n## Technical Notes\n- Use `chokidar` for cross-platform watching\n- Debounce per-file or batch all changes\n- Consider `usePolling` fallback for network drives\n\n## Implements\n[[s-2wx5]] - Daemon file watching","status":"closed","priority":2,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:57:15","updated_at":"2026-02-03 07:30:17","closed_at":"2026-02-03 07:30:17","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-7l8f","from_type":"issue","to":"i-3ko0","to_type":"issue","type":"blocks"},{"from":"i-7l8f","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["daemon","watcher"],"feedback":[{"id":"9ec16de1-c190-4de5-871d-80cd5eebdf1d","from_id":"i-7l8f","to_id":"s-2wx5","feedback_type":"comment","content":"Implemented file watcher with debouncing in src/cli/sync/watcher.ts:\n- `createFileWatcher(dir, options)` returns watcher instance\n- Watches files matching include/exclude patterns (default: MEMORY.md, memory/*.md)\n- Debounces changes (default 2 seconds, configurable)\n- Emits batched 'changes' events with event type (add, change, unlink)\n- Ignores .minimem/ directory automatically\n- `createMultiDirWatcher()` for watching multiple directories\n- Uses chokidar for cross-platform support\n- Supports usePolling option for network drives\n- `watcher.close()` cleans up resources","agent":"alexngai","anchor":null,"dismissed":false,"created_at":"2026-02-03T07:30:17.354Z","updated_at":"2026-02-03T07:30:17.354Z"}]}
15
- {"id":"i-3ko0","uuid":"d113f827-40c7-4072-9c1e-d7b95c10c661","title":"Implement daemon core with auto-sync","content":"## Overview\nBackground daemon that watches configured directories and syncs automatically.\n\n## Acceptance Criteria\n- [ ] `minimem daemon` starts daemon in foreground\n- [ ] `minimem daemon --background` detaches (writes PID file)\n- [ ] `minimem daemon stop` stops running daemon\n- [ ] `minimem daemon status` shows daemon state\n- [ ] Daemon behavior:\n - Reads all directories with sync config from registry\n - Starts file watcher for each\n - On local change: triggers push (if autoSync enabled)\n - Watches central repo for changes (polling or git hooks)\n - On central change: triggers pull to affected directories\n- [ ] Respects `autoCommit` setting (stage only vs commit)\n- [ ] Logs activity to `.minimem/daemon.log`\n- [ ] Graceful shutdown on SIGTERM/SIGINT\n\n## Technical Notes\n- Use PID file for singleton daemon\n- Consider systemd/launchd integration later\n\n## Implements\n[[s-2wx5]] - Daemon Architecture","status":"closed","priority":2,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:57:21","updated_at":"2026-02-03 07:32:36","closed_at":"2026-02-03 07:32:36","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-3ko0","from_type":"issue","to":"i-5skx","to_type":"issue","type":"blocks"},{"from":"i-3ko0","from_type":"issue","to":"i-65zj","to_type":"issue","type":"blocks"},{"from":"i-3ko0","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["auto-sync","daemon"],"feedback":[{"id":"a6defc05-2fc0-4c4c-ba67-33e9a311330e","from_id":"i-3ko0","to_id":"s-2wx5","feedback_type":"comment","content":"Implemented daemon core in src/cli/sync/daemon.ts and src/cli/commands/daemon.ts:\n- `minimem daemon` starts daemon in foreground\n- `minimem daemon --background` detaches with PID file\n- `minimem daemon:stop` stops running daemon\n- `minimem daemon:status` shows daemon state\n- `minimem daemon:logs` shows daemon log with -f/--follow option\n- Daemon reads sync-enabled directories from registry\n- Auto-syncs on local changes when autoSync is enabled\n- Polls central repo for remote changes\n- Logs activity to ~/.minimem/daemon.log with rotation\n- Graceful shutdown on SIGTERM/SIGINT","agent":"alexngai","anchor":null,"dismissed":false,"created_at":"2026-02-03T07:32:36.150Z","updated_at":"2026-02-03T07:32:36.150Z"}]}
16
- {"id":"i-5skx","uuid":"66e3932f-7064-4d65-a2f5-8c40dd69ed76","title":"Implement registry validation in daemon","content":"## Overview\nDaemon periodically validates registry for path collisions and warns users.\n\n## Acceptance Criteria\n- [ ] Daemon checks registry on startup\n- [ ] Periodic validation (configurable interval, default 5 minutes)\n- [ ] Detects invalid states:\n - Same path mapped by multiple machines\n - Stale mappings (machine not seen in X days)\n - Local directory no longer exists\n- [ ] Warnings logged and optionally shown to user\n- [ ] Does not auto-fix, just warns\n- [ ] `minimem sync validate` manual validation command\n\n## Technical Notes\n- Avoid spamming warnings (once per issue per session)\n- Consider notification system integration\n\n## Implements\n[[s-2wx5]] - Daemon validates registry","status":"closed","priority":3,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:57:25","updated_at":"2026-02-03 07:35:11","closed_at":"2026-02-03 07:35:11","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-5skx","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["daemon","registry","validation"],"feedback":[{"id":"7235dfb2-ab25-4b72-b673-e9472ae54bdf","from_id":"i-5skx","to_id":"s-2wx5","feedback_type":"comment","content":"Implemented registry validation in src/cli/sync/validation.ts:\n- Detects path collisions (same path mapped by different machines)\n- Detects stale mappings (not synced in 30+ days)\n- Detects missing local directories (for current machine only)\n- `minimem sync:validate` CLI command with JSON output option\n- Daemon validates registry on startup and periodically (every 5 minutes)\n- Warnings logged to daemon.log without spamming","agent":"alexngai","anchor":null,"dismissed":false,"created_at":"2026-02-03T07:35:11.209Z","updated_at":"2026-02-03T07:35:11.209Z"}]}
17
- {"id":"i-25ys","uuid":"93fdc287-ae2b-49fa-905f-d109eb12da84","title":"Implement sync status command","content":"## Overview\nShow sync status across all configured directories.\n\n## Acceptance Criteria\n- [ ] `minimem sync status` shows for each synced directory:\n - Local path\n - Central repo path\n - Last sync time\n - Status: `synced` | `local-changes` | `remote-changes` | `conflicts`\n - Number of pending changes\n- [ ] `minimem sync status --dir <path>` for specific directory\n- [ ] Color-coded output (green=synced, yellow=changes, red=conflicts)\n- [ ] Shows daemon status (running/stopped)\n- [ ] Quick summary line at end\n\n## Technical Notes\n- Reads sync state files\n- Compares current hashes to detect pending changes\n- Does not perform sync, just reports\n\n## Implements\n[[s-2wx5]] - Status command (nice to have)","status":"closed","priority":3,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:57:32","updated_at":"2026-02-03 07:20:56","closed_at":"2026-02-03 07:20:56","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-25ys","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["cli","status"],"feedback":[{"id":"b06307fd-5ecc-4c1c-ad85-bce61065228e","from_id":"i-25ys","to_id":"s-2wx5","feedback_type":"comment","content":"Implemented sync:status command in src/cli/commands/push-pull.ts. Shows sync status with counts for unchanged, local changes, remote changes, new files, deleted files, and conflicts. Color-coding deferred to future enhancement. Daemon status will be added when daemon is implemented.","agent":"alexngai","anchor":null,"dismissed":false,"created_at":"2026-02-03T07:20:56.704Z","updated_at":"2026-02-03T07:20:56.704Z"}]}
18
- {"id":"i-65zj","uuid":"3f63eb98-b13e-4ba9-8a97-7e2b28d019ce","title":"Write integration tests for git sync system","content":"## Overview\nEnd-to-end tests for the complete sync workflow.\n\n## Acceptance Criteria\n- [ ] Test bootstrap flows:\n - Fresh central repo creation\n - Existing repo as central\n - Directory sync init\n - Clone setup on \"new machine\" (simulated)\n- [ ] Test sync operations:\n - Push local changes\n - Pull remote changes\n - Bidirectional sync\n- [ ] Test conflict scenarios:\n - Both sides changed, keep-both resolution\n - Conflict quarantine\n - Recovery from failed sync\n- [ ] Test collision prevention:\n - Block duplicate path mapping\n - Allow same-machine remap\n- [ ] Test daemon (if feasible):\n - Auto-sync on file change\n - Registry validation warnings\n- [ ] Use temp directories, no real git remotes\n\n## Technical Notes\n- Mock git operations or use real local repos\n- Clean up temp directories after tests\n- Consider test isolation\n\n## Implements\n[[s-2wx5]] - Success Criteria validation","status":"closed","priority":3,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-02 23:57:37","updated_at":"2026-02-03 18:40:36","closed_at":"2026-02-03 18:40:36","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-65zj","from_type":"issue","to":"s-2wx5","to_type":"spec","type":"implements"}],"tags":["integration","testing"],"feedback":[{"id":"ee25b64f-eaa8-4f55-ae5f-73863958c6a6","from_id":"i-65zj","to_id":"s-2wx5","feedback_type":"comment","content":"Implemented comprehensive integration tests in src/cli/sync/__tests__/integration.test.ts:\n\n**Bootstrap Flows:**\n- Fresh central repo creation and validation\n- XDG config setup with central repo path\n- Directory sync initialization\n- Clone setup simulation on \"new machine\"\n\n**Sync Operations:**\n- Push local changes to central\n- Pull remote changes to local\n- Bidirectional sync\n\n**Conflict Scenarios:**\n- Detect conflicts when both sides changed\n- Keep-both strategy for conflict resolution\n- Quarantine conflicts for manual resolution\n\n**Collision Prevention:**\n- Block duplicate path mapping from different machines\n- Allow same machine to remap path\n- Allow different paths for different machines\n- Detect collisions in validation\n\n**Full Workflow Test:**\n- Complete end-to-end sync workflow covering all components\n\nTotal: 133 tests across 10 test files, all passing.","agent":"alexngai","anchor":null,"dismissed":false,"created_at":"2026-02-03T18:40:35.831Z","updated_at":"2026-02-03T18:40:35.831Z"}]}
@@ -1 +0,0 @@
1
- {"id":"s-2wx5","uuid":"f2e6f765-0ff1-40ee-b93c-4ea832231e94","title":"Git Sync System for Memory Directories","file_path":"specs/s-2wx5_git_sync_system_for_memory_directories.md","content":"# Git Sync System for Memory Directories\n\n## Context\n\nminimem stores memories as plain Markdown files which are inherently git-friendly. However, users need a way to sync memories across machines and collaborate with others. The SQLite database with embeddings is **not** the source of truth and should never be committed—it's rebuilt locally via `minimem sync`.\n\nUsers have two distinct use cases:\n1. **Project-bound memories** - embedded directly in code repos alongside source code\n2. **Standalone memories** - scattered directories that should sync to a central repository\n3. **Hybrid** - project memories that are ALSO synced to a central repo for aggregation\n\n## Out of Scope\n\n- Real-time collaborative editing (not Google Docs)\n- Full git client replacement (we use git, not replace it)\n- Remote repository hosting (user provides their own)\n- Encryption at rest (use git-crypt or similar if needed)\n\n## Requirements\n\n### Must Have\n\n- [ ] CLI commands to configure sync mappings between local directories and central repo paths\n- [ ] Auto-detection of directory type (project-bound, standalone, hybrid)\n- [ ] Push/pull commands to sync directories with central repo\n- [ ] Configurable merge resolution strategies\n- [ ] Support for multiple directories syncing to one central repo\n- [ ] Path collision validation on init\n- [ ] Graceful sync failure recovery with atomic operations\n\n### Should Have\n\n- [ ] Daemon for automatic sync with file watching\n- [ ] Git hooks integration in central repo (post-pull triggers local sync)\n- [ ] Merge resolver hook for custom conflict resolution tools\n- [ ] Sync state registry in central repo to detect collisions\n\n### Nice to Have\n\n- [ ] Integration with MCP server (daemon runs alongside)\n- [ ] Periodic sync fallback when file watching unavailable\n- [ ] Status command showing sync state across all configured directories\n\n## Design\n\n### Directory Types\n\n| Type | Detection | Git Management | Sync Behavior |\n|------|-----------|----------------|---------------|\n| **Project-bound** | Inside git repo, no sync config | User handles git | No sync |\n| **Standalone** | Has sync config, not in project git | minimem manages | Full sync |\n| **Hybrid** | Inside git repo AND has sync config | User handles project git | Also syncs to central |\n| **Unmanaged** | No git repo, no sync config | None | Prompt to set up |\n\n### Auto-Detection Logic\n\n```\nIs there a sync config in .minimem/config.json?\n├─ Yes: \n│ └─ Is directory inside a git repo?\n│ ├─ Yes → Hybrid (user manages project git, minimem syncs to central)\n│ └─ No → Standalone (minimem manages sync)\n└─ No:\n └─ Is directory inside a git repo?\n ├─ Yes → Project-bound (user manages everything)\n └─ No → Unmanaged (prompt to set up sync?)\n```\n\n### Configuration\n\n**Global config** (`~/.config/minimem/config.json`):\n```json\n{\n \"centralRepo\": \"~/memories-repo\",\n \"sync\": {\n \"conflictStrategy\": \"keep-both\",\n \"autoSync\": true,\n \"autoCommit\": false\n }\n}\n```\n\n**Per-directory config** (`.minimem/config.json`):\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"path\": \"global/\",\n \"include\": [\"MEMORY.md\", \"memory/**/*.md\"],\n \"exclude\": [\"memory/drafts/**\"]\n }\n}\n```\n\n**Default sync scope:** `MEMORY.md` + `memory/**/*.md`\n\n### Central Repo Registry\n\nThe central repo maintains a registry to prevent path collisions:\n\n**`.minimem-registry.json`** (in central repo root):\n```json\n{\n \"mappings\": [\n {\n \"path\": \"global/\",\n \"localPath\": \"~/.minimem\",\n \"machineId\": \"macbook-pro-a1b2\",\n \"lastSync\": \"2024-01-15T10:30:00Z\"\n },\n {\n \"path\": \"work/\",\n \"localPath\": \"~/work/memories\",\n \"machineId\": \"macbook-pro-a1b2\",\n \"lastSync\": \"2024-01-15T10:30:00Z\"\n }\n ]\n}\n```\n\n**Collision detection:**\n- On `sync init`: check registry, block if path already mapped by different local path\n- Daemon: periodically validate registry, warn on conflicts\n- Same machine can remap (update), different machine with same path = collision\n\n### CLI Commands\n\n```bash\n# === Central Repo Setup ===\n\n# Use existing repo as central\nminimem config set centralRepo ~/existing-memories-repo\n\n# Initialize new central repo\nminimem sync init-central ~/new-memories-repo\n# Creates repo structure, .gitignore, registry file\n\n# === Directory Sync Setup ===\n\n# Initialize sync for current directory\nminimem sync init --path global/\n# Validates path not already mapped, updates registry\n\n# Explicit paths\nminimem sync init --local ~/work/memories --path work/\n\n# List all sync mappings (from registry)\nminimem sync list\n\n# Remove mapping\nminimem sync remove\n# Removes from local config and registry\n\n# === Sync Operations ===\n\nminimem push # local → central repo\nminimem pull # central repo → local\nminimem sync status # show sync state for all directories\n```\n\n### Conflict Detection (Hybrid: Hash + Shadow)\n\n**Sync state tracking** (`.minimem/sync-state.json`):\n```json\n{\n \"lastSync\": \"2024-01-15T10:30:00Z\",\n \"files\": {\n \"MEMORY.md\": {\n \"localHash\": \"abc123\",\n \"remoteHash\": \"abc123\",\n \"lastSyncedHash\": \"abc123\"\n },\n \"memory/2024-01-15.md\": {\n \"localHash\": \"def456\",\n \"remoteHash\": \"def456\",\n \"lastSyncedHash\": \"def456\"\n }\n }\n}\n```\n\n**Detection algorithm:**\n```\nFor each file:\n localHash = hash(local file)\n remoteHash = hash(central repo file)\n baseHash = lastSyncedHash from sync-state.json\n \n if localHash == remoteHash:\n → No change, skip\n elif localHash == baseHash:\n → Only remote changed, pull\n elif remoteHash == baseHash:\n → Only local changed, push\n else:\n → Both changed, CONFLICT\n → Create shadow copy for 3-way merge\n → Apply merge strategy\n```\n\n**Shadow copies** (created only on conflict):\n- `.minimem/shadows/{filename}.base` - last synced version\n- Used as merge base for 3-way merge\n- Cleaned up after resolution\n\n### Merge Resolution Strategies\n\n| Strategy | Behavior | Use Case |\n|----------|----------|----------|\n| `merge` | Git-style 3-way merge | Technical content |\n| `keep-both` | Append both versions with separator | **Default for memories** |\n| `manual` | Fail, open in merge tool | Critical content |\n| `last-write-wins` | Overwrite with latest timestamp | Low-stakes |\n\n**Keep-both format:**\n```markdown\n<<<<<<< LOCAL (2024-01-15 10:30)\nLocal version of content\n=======\nRemote version of content\n>>>>>>> REMOTE (2024-01-15 09:45)\n```\n\nMerge resolver hook:\n```json\n{\n \"sync\": {\n \"conflictStrategy\": \"manual\",\n \"mergeResolver\": \"code --wait --merge\"\n }\n}\n```\n\n### Sync Failure Recovery (Atomic + Quarantine)\n\n**Atomic sync process:**\n```\n1. Create staging: .minimem/staging/{timestamp}/\n2. Copy files to staging\n3. Validate all files copied successfully\n4. On success: move staging → final destination\n5. On failure: \n - Leave staging intact\n - Log error to .minimem/sync.log\n - Notify user\n```\n\n**Quarantine for conflicts:**\n```\n.minimem/\n├── conflicts/\n│ └── 2024-01-15T10-30-00/\n│ ├── MEMORY.md.local\n│ ├── MEMORY.md.remote\n│ └── MEMORY.md.base\n└── staging/\n └── {in-progress sync files}\n```\n\n**Recovery commands:**\n```bash\nminimem sync recover # retry failed sync\nminimem sync conflicts # list unresolved conflicts\nminimem sync resolve <file> # manually resolve conflict\n```\n\n### Daemon Architecture\n\n```\n ┌─────────────────┐\n │ Daemon │\n └────────┬────────┘\n │\n ┌───────────────────┼───────────────────┐\n │ │ │\n ▼ ▼ ▼\n Watch local dirs Watch central repo Validate registry\n (file changes) (git pull detected) (detect collisions)\n │ │ │\n ▼ ▼ ▼\n Debounce + Push Pull to local dirs Warn on conflicts\n```\n\n**Daemon responsibilities:**\n- Watch configured directories for file changes\n- Debounce rapid changes (e.g., 2 second delay)\n- Trigger push on local changes (if autoSync enabled)\n- Watch central repo for pulls (git hooks or polling)\n- Periodically validate registry for path collisions\n- Stage changes only by default (autoCommit: false)\n\nDaemon modes:\n- Standalone: `minimem daemon`\n- Integrated: runs with MCP server\n- System service: launchd/systemd\n\n### Bootstrap Flows\n\n**Flow A: Fresh central repo**\n```bash\nminimem sync init-central ~/memories-repo\n# Creates:\n# ~/memories-repo/\n# ├── .git/\n# ├── .gitignore # ignores *.db, staging/, conflicts/\n# ├── .minimem-registry.json\n# └── README.md\n\nminimem config set centralRepo ~/memories-repo\n```\n\n**Flow B: Existing repo as central**\n```bash\nminimem config set centralRepo ~/existing-repo\n# Validates repo exists\n# Creates .minimem-registry.json if missing\n# Warns if structure looks unusual\n```\n\n**Flow C: Add directory to sync**\n```bash\ncd ~/.minimem\nminimem sync init --path global/\n# Checks registry for collision\n# Updates .minimem/config.json\n# Registers in central repo\n# Initial sync (pull or push based on state)\n```\n\n**Flow D: Clone setup on new machine**\n```bash\ngit clone <central-repo> ~/memories-repo\nminimem config set centralRepo ~/memories-repo\nminimem sync list # shows all registered paths\nminimem sync init --local ~/.minimem --path global/\n# Links local directory to existing central path\n# Updates registry with new machine ID\n# Pulls content from central\n```\n\n### Central Repo Structure\n\n```\nmemories-repo/ # git repo\n├── .git/\n├── .gitignore\n├── .minimem-registry.json # path collision prevention\n├── global/ # maps to ~/.minimem/\n│ ├── MEMORY.md\n│ └── memory/\n├── work/ # maps to ~/work/memories/\n│ ├── MEMORY.md\n│ └── memory/\n└── projects/\n └── projectA/ # hybrid: also in project repo\n ├── MEMORY.md\n └── memory/\n```\n\n## Success Criteria\n\n- [ ] User can configure a central repo and map multiple directories to it\n- [ ] `minimem push/pull` correctly syncs files between local and central\n- [ ] Conflicts are detected using hash comparison and resolved with keep-both strategy\n- [ ] Path collisions are prevented via registry validation on init\n- [ ] Auto-detection correctly identifies all four directory types\n- [ ] Sync failures are recoverable via atomic operations and quarantine\n- [ ] Daemon watches for changes and syncs automatically when enabled\n- [ ] Daemon detects and warns about registry conflicts\n\n## Technical Considerations\n\n- Use `chokidar` for cross-platform file watching\n- Git operations via `simple-git` library\n- Debounce file changes (2 second default) before sync\n- Content hashing with SHA-256 for conflict detection\n- Machine ID from `os.hostname()` + random suffix on first run\n- Store machine ID in global config\n- Central repo only contains `.md` files, registry, and gitignore\n\n## Decisions Made\n\n| Question | Decision | Rationale |\n|----------|----------|-----------|\n| Daemon auto-commit? | Configurable, default off | User controls when to commit |\n| Conflict strategy default? | `keep-both` | Never lose memory data |\n| Lock mechanism? | Atomic staging | Simpler than locks, same safety |\n| Path collision handling? | Registry + validation on init | Prevent rather than recover |\n","priority":1,"archived":0,"archived_at":null,"created_at":"2026-02-02 06:36:19","updated_at":"2026-02-02 23:50:18","parent_id":null,"parent_uuid":null,"relationships":[],"tags":["cli","daemon","git","sync"]}
@@ -1,310 +0,0 @@
1
- # CLAUDE.md
2
-
3
- This file provides context for AI agents working on the minimem codebase.
4
-
5
- ## Project Overview
6
-
7
- **minimem** is a file-based memory system with vector search for AI agents. It lets users store memories as Markdown files and search them semantically using embeddings.
8
-
9
- **Key value props:**
10
- - Plain Markdown files (git-friendly, human-readable)
11
- - Semantic search via embeddings (OpenAI, Gemini, or local)
12
- - Hybrid search combining vectors + full-text (BM25)
13
- - MCP server for Claude Desktop/Cursor integration
14
- - CLI for command-line usage
15
-
16
- ## Architecture
17
-
18
- ```
19
- src/
20
- ├── minimem.ts # Main Minimem class - core logic
21
- ├── internal.ts # Utilities: chunking, hashing, file listing
22
- ├── index.ts # Public exports
23
- ├── cli/ # CLI implementation
24
- │ ├── index.ts # Entry point, command registration
25
- │ ├── config.ts # Config loading, directory resolution
26
- │ └── commands/ # Individual command implementations
27
- ├── db/ # Database layer
28
- │ ├── schema.ts # SQLite schema creation (v4)
29
- │ └── sqlite-vec.ts # Vector extension loading
30
- ├── embeddings/ # Embedding providers
31
- │ ├── embeddings.ts # Provider factory and interfaces
32
- │ ├── batch-openai.ts # OpenAI batch embedding
33
- │ └── batch-gemini.ts # Gemini batch embedding
34
- ├── search/ # Search implementation
35
- │ ├── hybrid.ts # Hybrid vector+FTS search, BM25
36
- │ ├── search.ts # Knowledge-filtered search helpers
37
- │ └── graph.ts # Knowledge graph traversal (BFS)
38
- └── server/ # MCP server
39
- ├── mcp.ts # MCP protocol implementation
40
- └── tools.ts # Tool definitions for LLM integration
41
- ```
42
-
43
- ## Key Files
44
-
45
- | File | Purpose |
46
- |------|---------|
47
- | `src/minimem.ts` | Core class with search, sync, append, knowledge methods |
48
- | `src/internal.ts` | `chunkMarkdown()`, `hashText()`, `listMemoryFiles()` |
49
- | `src/session.ts` | Frontmatter parsing/serialization (incl. knowledge fields) |
50
- | `src/cli/commands/search.ts` | Multi-directory search implementation |
51
- | `src/embeddings/embeddings.ts` | `createEmbeddingProvider()` factory |
52
- | `src/search/hybrid.ts` | `mergeHybridResults()`, BM25 scoring |
53
- | `src/search/search.ts` | `buildKnowledgeFilterSql()` for metadata filtering |
54
- | `src/search/graph.ts` | `getLinksFrom()`, `getLinksTo()`, `getNeighbors()`, `getPathBetween()` |
55
- | `src/server/mcp.ts` | MCP server for Claude Desktop integration |
56
- | `src/server/tools.ts` | MCP tool definitions (memory + knowledge) |
57
-
58
- ## Development Commands
59
-
60
- ```bash
61
- npm run build # Build library and CLI
62
- npm run dev # Watch mode
63
- npm run test # Unit tests (vitest)
64
- npm run test:cli # CLI command tests
65
- npm run test:integration # E2E integration tests
66
- npm run test:all # All tests
67
- ```
68
-
69
- ## Testing
70
-
71
- Tests are in `__tests__/` directories alongside source:
72
-
73
- - `src/__tests__/minimem.integration.test.ts` - Full E2E with mock embeddings
74
- - `src/__tests__/knowledge.test.ts` - Knowledge frontmatter parsing + graph traversal
75
- - `src/cli/__tests__/commands.test.ts` - CLI command tests
76
- - `src/embeddings/__tests__/` - Embedding provider tests
77
- - `src/search/__tests__/` - Hybrid search tests
78
- - `src/server/__tests__/` - MCP server + knowledge tool tests
79
-
80
- **Mock embeddings:** Tests use deterministic embeddings based on keyword presence (no API calls needed). See `createDeterministicEmbedding()` in test files.
81
-
82
- ## Build System
83
-
84
- - **tsup** for bundling (ESM only, Node 22+)
85
- - Library: `dist/index.js` with types
86
- - CLI: `dist/cli/index.js` (bundled with shebang)
87
- - **postbuild** script fixes `node:sqlite` import (esbuild strips `node:` prefix)
88
-
89
- ## Important Patterns
90
-
91
- ### Memory Path Validation
92
- Only `MEMORY.md` and `memory/*.md` files are indexed. The `validateMemoryPath()` method enforces this.
93
-
94
- ### Embedding Cache
95
- Embeddings are cached by content hash in SQLite. Same content = same embedding, even across files.
96
-
97
- ### Hybrid Search
98
- Default weights: 70% vector similarity, 30% BM25 text search. Configurable via `hybrid.vectorWeight` and `hybrid.textWeight`.
99
-
100
- ### Multi-Directory Search
101
- The search command can query multiple directories:
102
- ```bash
103
- minimem search "query" --dir ~/a --dir ~/b --global
104
- ```
105
- Results are merged and sorted by score.
106
-
107
- ## Common Tasks
108
-
109
- ### Adding a new CLI command
110
-
111
- 1. Create `src/cli/commands/newcmd.ts`:
112
- ```typescript
113
- export type NewCmdOptions = { dir?: string; global?: boolean; };
114
-
115
- export async function newcmd(options: NewCmdOptions): Promise<void> {
116
- const memoryDir = resolveMemoryDir({ dir: options.dir, global: options.global });
117
- // ... implementation
118
- }
119
- ```
120
-
121
- 2. Export from `src/cli/commands/index.ts`
122
-
123
- 3. Register in `src/cli/index.ts`:
124
- ```typescript
125
- program
126
- .command("newcmd")
127
- .description("Description")
128
- .option("-d, --dir <path>", "Memory directory")
129
- .action(newcmd);
130
- ```
131
-
132
- 4. Add tests in `src/cli/__tests__/commands.test.ts`
133
-
134
- ### Adding a new embedding provider
135
-
136
- 1. Add provider type to `EmbeddingProviderOptions` in `src/embeddings/embeddings.ts`
137
- 2. Implement in `createEmbeddingProvider()` switch statement
138
- 3. Add batch function in `src/embeddings/batch-{provider}.ts` if needed
139
- 4. Update `auto` provider detection logic
140
-
141
- ### Modifying the database schema
142
-
143
- 1. Update `createSchema()` in `src/db/schema.ts` (currently at SCHEMA_VERSION 4)
144
- 2. Consider migration strategy (currently: recreate on schema change)
145
- 3. Update relevant queries in `src/minimem.ts`
146
- 4. If adding knowledge-related columns, update `indexKnowledgeMetadata()` in `src/minimem.ts`
147
-
148
- ## Gotchas
149
-
150
- 1. **node:sqlite is experimental** - Requires Node 22+, shows warning on every run
151
- 2. **sqlite-vec may not load** - Falls back to FTS-only search if extension fails
152
- 3. **CLI bundle strips node: prefix** - postbuild script fixes this
153
- 4. **Commander.js is CJS** - Must be external in CLI bundle, not inlined
154
-
155
- ## Environment Variables
156
-
157
- | Variable | Purpose |
158
- |----------|---------|
159
- | `OPENAI_API_KEY` | OpenAI embeddings |
160
- | `GOOGLE_API_KEY` | Gemini embeddings |
161
- | `GEMINI_API_KEY` | Alternative Gemini key |
162
- | `MEMORY_DIR` | Default memory directory |
163
-
164
- ## File Structure Convention
165
-
166
- ```
167
- project/
168
- ├── MEMORY.md # Main memory (required for init)
169
- ├── memory/ # Additional memories
170
- │ ├── YYYY-MM-DD.md # Daily logs (from append)
171
- │ └── *.md # Topic files
172
- └── .minimem/
173
- ├── config.json # User config
174
- ├── index.db # SQLite with vectors
175
- └── .gitignore # Ignores index.db
176
- ```
177
-
178
- ## MCP Integration
179
-
180
- The MCP server exposes 5 tools over stdio, compatible with Claude Desktop and Cursor:
181
-
182
- | Tool | Purpose |
183
- |------|---------|
184
- | `memory_search` | General semantic search across all memory files |
185
- | `memory_get_details` | Retrieve full content of a specific memory file |
186
- | `knowledge_search` | Search knowledge notes with domain/entity/confidence/type filters |
187
- | `knowledge_graph` | Traverse knowledge graph relationships from a note |
188
- | `knowledge_path` | Find shortest path between two knowledge notes via graph links |
189
-
190
- The 3 `knowledge_*` tools are additive — they only return results when knowledge-formatted notes (with the frontmatter convention below) are present. Without knowledge notes, they return empty results.
191
-
192
- Config location for Claude Desktop:
193
- - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
194
- - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
195
-
196
- ## Claude Code Plugin
197
-
198
- The `claude-plugin/` directory contains a ready-to-use Claude Code plugin:
199
-
200
- ```
201
- claude-plugin/
202
- ├── .claude-plugin/
203
- │ └── plugin.json # Plugin manifest
204
- ├── .mcp.json # MCP server definition (uses npx minimem mcp)
205
- ├── skills/
206
- │ └── memory/
207
- │ └── SKILL.md # Auto-invoked memory skill
208
- └── commands/
209
- ├── remember.md # /minimem:remember command
210
- └── recall.md # /minimem:recall command
211
- ```
212
-
213
- ### Testing the Plugin
214
-
215
- ```bash
216
- claude --plugin-dir ./claude-plugin
217
- ```
218
-
219
- ### Plugin Commands
220
-
221
- - `/minimem:remember <text>` - Store information in memory
222
- - `/minimem:recall <query>` - Search for stored memories
223
-
224
- ## Knowledge Frontmatter Convention
225
-
226
- minimem can index structured knowledge notes produced by external systems (e.g., cognitive-core). This is a **file-format convention only** — minimem does not import or depend on any external package.
227
-
228
- When a memory file's YAML frontmatter contains knowledge-specific fields, minimem parses them and populates metadata columns in the `chunks` table and edges in the `knowledge_links` table.
229
-
230
- ### Supported fields
231
-
232
- All fields are optional. If absent, the file is treated as a regular memory note.
233
-
234
- ```yaml
235
- ---
236
- id: k-abc123 # Unique knowledge node ID
237
- type: observation # observation | entity | domain-summary
238
- domain: [database, devops] # Domain tags
239
- entities: [prisma, postgres] # Referenced entities
240
- confidence: 0.85 # Confidence score (0.0–1.0)
241
- source: # Provenance metadata
242
- origin: extracted # extracted | agent-authored
243
- trajectories: [t-001, t-002] # Source trajectory IDs
244
- agentId: agent-v1 # Authoring agent
245
- links: # Graph edges to other knowledge nodes
246
- - target: k-other
247
- relation: related-to # related-to | depends-on | supports | etc.
248
- layer: semantic # semantic | temporal | causal | entity
249
- - target: k-dep
250
- relation: depends-on
251
- created: 2025-01-15T10:00:00Z
252
- updated: 2025-01-15T12:00:00Z
253
- supersedes: k-old # ID of note this replaces
254
- tags: [migration, patterns]
255
- ---
256
- # Note Title
257
-
258
- Body content in Markdown.
259
- ```
260
-
261
- ### How it works
262
-
263
- 1. **Indexing** (`indexFile()`): When a file is indexed, frontmatter is parsed via `parseFrontmatter()`. If `type` is present, the chunk row gets `knowledge_type`, `knowledge_id`, `domains` (JSON), `entities` (JSON), and `confidence` populated. If `links` is present, rows are upserted into `knowledge_links`.
264
-
265
- 2. **Filtered search** (`knowledgeSearch()`): Accepts `domain`, `entities`, `minConfidence`, and `knowledgeType` filters. Uses `json_each()` SQL for array column matching. Falls back to regular search when no filters are provided.
266
-
267
- 3. **Graph traversal** (`src/search/graph.ts`): Operates on the `knowledge_links` table. Supports outgoing/incoming edge queries, BFS neighbor discovery (configurable depth), and shortest-path finding.
268
-
269
- 4. **Re-indexing**: When a file changes, old `knowledge_links` for that file are deleted before new ones are inserted, keeping the graph consistent.
270
-
271
- ### Independence guarantee
272
-
273
- - minimem defines its own types (`KnowledgeSource`, `KnowledgeLink`, `MemoryFrontmatter`) locally in `src/session.ts`
274
- - Zero imports from cognitive-core or any external knowledge system
275
- - All knowledge columns are nullable — regular memory files index without them
276
- - The `knowledge_links` table only gets rows when frontmatter contains `links`
277
- - All knowledge MCP tools (`knowledge_search`, `knowledge_graph`, `knowledge_path`) are additive alongside existing tools
278
-
279
- ### Database schema (v4)
280
-
281
- Knowledge-related additions to the schema:
282
-
283
- ```sql
284
- -- Added columns on chunks table (all nullable)
285
- knowledge_type TEXT -- 'observation', 'entity', 'domain-summary'
286
- knowledge_id TEXT -- Note ID from frontmatter
287
- domains TEXT -- JSON array of domain strings
288
- entities TEXT -- JSON array of entity strings
289
- confidence REAL -- 0.0–1.0
290
-
291
- -- New table for graph edges
292
- CREATE TABLE knowledge_links (
293
- from_id TEXT NOT NULL,
294
- to_id TEXT NOT NULL,
295
- relation TEXT NOT NULL,
296
- layer TEXT, -- semantic, temporal, causal, entity
297
- weight REAL DEFAULT 0.5,
298
- source_path TEXT,
299
- created_at INTEGER DEFAULT (unixepoch()),
300
- PRIMARY KEY (from_id, to_id, relation)
301
- );
302
- ```
303
-
304
- ## Code Style
305
-
306
- - TypeScript with strict mode
307
- - ESM modules (no CommonJS)
308
- - Async/await for all I/O
309
- - Types exported alongside implementations
310
- - Tests use Node.js native test runner (not vitest) for integration tests