@mc1global/opencode-jarvis 0.1.0

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 (415) hide show
  1. package/LICENSE +10 -0
  2. package/README.md +171 -0
  3. package/dist/application/context-memory/dtos.d.ts +100 -0
  4. package/dist/application/context-memory/dtos.d.ts.map +1 -0
  5. package/dist/application/context-memory/dtos.js +11 -0
  6. package/dist/application/context-memory/dtos.js.map +1 -0
  7. package/dist/application/context-memory/note-use-cases.d.ts +22 -0
  8. package/dist/application/context-memory/note-use-cases.d.ts.map +1 -0
  9. package/dist/application/context-memory/note-use-cases.js +76 -0
  10. package/dist/application/context-memory/note-use-cases.js.map +1 -0
  11. package/dist/application/context-memory/session-use-cases.d.ts +23 -0
  12. package/dist/application/context-memory/session-use-cases.d.ts.map +1 -0
  13. package/dist/application/context-memory/session-use-cases.js +63 -0
  14. package/dist/application/context-memory/session-use-cases.js.map +1 -0
  15. package/dist/application/context-memory/todo-use-cases.d.ts +25 -0
  16. package/dist/application/context-memory/todo-use-cases.d.ts.map +1 -0
  17. package/dist/application/context-memory/todo-use-cases.js +100 -0
  18. package/dist/application/context-memory/todo-use-cases.js.map +1 -0
  19. package/dist/application/domain-map/dtos.d.ts +58 -0
  20. package/dist/application/domain-map/dtos.d.ts.map +1 -0
  21. package/dist/application/domain-map/dtos.js +11 -0
  22. package/dist/application/domain-map/dtos.js.map +1 -0
  23. package/dist/application/domain-map/use-cases.d.ts +64 -0
  24. package/dist/application/domain-map/use-cases.d.ts.map +1 -0
  25. package/dist/application/domain-map/use-cases.js +217 -0
  26. package/dist/application/domain-map/use-cases.js.map +1 -0
  27. package/dist/application/environment/dtos.d.ts +74 -0
  28. package/dist/application/environment/dtos.d.ts.map +1 -0
  29. package/dist/application/environment/dtos.js +10 -0
  30. package/dist/application/environment/dtos.js.map +1 -0
  31. package/dist/application/environment/use-cases.d.ts +29 -0
  32. package/dist/application/environment/use-cases.d.ts.map +1 -0
  33. package/dist/application/environment/use-cases.js +232 -0
  34. package/dist/application/environment/use-cases.js.map +1 -0
  35. package/dist/application/governance/validation-use-cases.d.ts +45 -0
  36. package/dist/application/governance/validation-use-cases.d.ts.map +1 -0
  37. package/dist/application/governance/validation-use-cases.js +51 -0
  38. package/dist/application/governance/validation-use-cases.js.map +1 -0
  39. package/dist/application/kanban/board-use-cases.d.ts +45 -0
  40. package/dist/application/kanban/board-use-cases.d.ts.map +1 -0
  41. package/dist/application/kanban/board-use-cases.js +124 -0
  42. package/dist/application/kanban/board-use-cases.js.map +1 -0
  43. package/dist/application/kanban/card-use-cases.d.ts +32 -0
  44. package/dist/application/kanban/card-use-cases.d.ts.map +1 -0
  45. package/dist/application/kanban/card-use-cases.js +204 -0
  46. package/dist/application/kanban/card-use-cases.js.map +1 -0
  47. package/dist/application/kanban/dtos.d.ts +165 -0
  48. package/dist/application/kanban/dtos.d.ts.map +1 -0
  49. package/dist/application/kanban/dtos.js +11 -0
  50. package/dist/application/kanban/dtos.js.map +1 -0
  51. package/dist/application/kanban/sprint-use-cases.d.ts +34 -0
  52. package/dist/application/kanban/sprint-use-cases.d.ts.map +1 -0
  53. package/dist/application/kanban/sprint-use-cases.js +243 -0
  54. package/dist/application/kanban/sprint-use-cases.js.map +1 -0
  55. package/dist/application/rag/dtos.d.ts +113 -0
  56. package/dist/application/rag/dtos.d.ts.map +1 -0
  57. package/dist/application/rag/dtos.js +11 -0
  58. package/dist/application/rag/dtos.js.map +1 -0
  59. package/dist/application/rag/oracle-use-cases.d.ts +30 -0
  60. package/dist/application/rag/oracle-use-cases.d.ts.map +1 -0
  61. package/dist/application/rag/oracle-use-cases.js +91 -0
  62. package/dist/application/rag/oracle-use-cases.js.map +1 -0
  63. package/dist/application/rag/use-cases.d.ts +34 -0
  64. package/dist/application/rag/use-cases.d.ts.map +1 -0
  65. package/dist/application/rag/use-cases.js +234 -0
  66. package/dist/application/rag/use-cases.js.map +1 -0
  67. package/dist/application/token-metrics/dtos.d.ts +126 -0
  68. package/dist/application/token-metrics/dtos.d.ts.map +1 -0
  69. package/dist/application/token-metrics/dtos.js +11 -0
  70. package/dist/application/token-metrics/dtos.js.map +1 -0
  71. package/dist/application/token-metrics/tracking-use-cases.d.ts +33 -0
  72. package/dist/application/token-metrics/tracking-use-cases.d.ts.map +1 -0
  73. package/dist/application/token-metrics/tracking-use-cases.js +220 -0
  74. package/dist/application/token-metrics/tracking-use-cases.js.map +1 -0
  75. package/dist/application/vault/dtos.d.ts +91 -0
  76. package/dist/application/vault/dtos.d.ts.map +1 -0
  77. package/dist/application/vault/dtos.js +11 -0
  78. package/dist/application/vault/dtos.js.map +1 -0
  79. package/dist/application/vault/use-cases.d.ts +30 -0
  80. package/dist/application/vault/use-cases.d.ts.map +1 -0
  81. package/dist/application/vault/use-cases.js +307 -0
  82. package/dist/application/vault/use-cases.js.map +1 -0
  83. package/dist/application/vault/vault-manager.d.ts +47 -0
  84. package/dist/application/vault/vault-manager.d.ts.map +1 -0
  85. package/dist/application/vault/vault-manager.js +272 -0
  86. package/dist/application/vault/vault-manager.js.map +1 -0
  87. package/dist/application/workspace-registry/dtos.d.ts +91 -0
  88. package/dist/application/workspace-registry/dtos.d.ts.map +1 -0
  89. package/dist/application/workspace-registry/dtos.js +11 -0
  90. package/dist/application/workspace-registry/dtos.js.map +1 -0
  91. package/dist/application/workspace-registry/use-cases.d.ts +29 -0
  92. package/dist/application/workspace-registry/use-cases.d.ts.map +1 -0
  93. package/dist/application/workspace-registry/use-cases.js +249 -0
  94. package/dist/application/workspace-registry/use-cases.js.map +1 -0
  95. package/dist/domain/context-memory/entities.d.ts +123 -0
  96. package/dist/domain/context-memory/entities.d.ts.map +1 -0
  97. package/dist/domain/context-memory/entities.js +229 -0
  98. package/dist/domain/context-memory/entities.js.map +1 -0
  99. package/dist/domain/context-memory/repositories.d.ts +46 -0
  100. package/dist/domain/context-memory/repositories.d.ts.map +1 -0
  101. package/dist/domain/context-memory/repositories.js +2 -0
  102. package/dist/domain/context-memory/repositories.js.map +1 -0
  103. package/dist/domain/context-memory/services.d.ts +62 -0
  104. package/dist/domain/context-memory/services.d.ts.map +1 -0
  105. package/dist/domain/context-memory/services.js +162 -0
  106. package/dist/domain/context-memory/services.js.map +1 -0
  107. package/dist/domain/context-memory/value-objects.d.ts +65 -0
  108. package/dist/domain/context-memory/value-objects.d.ts.map +1 -0
  109. package/dist/domain/context-memory/value-objects.js +105 -0
  110. package/dist/domain/context-memory/value-objects.js.map +1 -0
  111. package/dist/domain/domain-map/repositories.d.ts +126 -0
  112. package/dist/domain/domain-map/repositories.d.ts.map +1 -0
  113. package/dist/domain/domain-map/repositories.js +2 -0
  114. package/dist/domain/domain-map/repositories.js.map +1 -0
  115. package/dist/domain/domain-map/services.d.ts +108 -0
  116. package/dist/domain/domain-map/services.d.ts.map +1 -0
  117. package/dist/domain/domain-map/services.js +335 -0
  118. package/dist/domain/domain-map/services.js.map +1 -0
  119. package/dist/domain/domain-map/value-objects.d.ts +186 -0
  120. package/dist/domain/domain-map/value-objects.d.ts.map +1 -0
  121. package/dist/domain/domain-map/value-objects.js +215 -0
  122. package/dist/domain/domain-map/value-objects.js.map +1 -0
  123. package/dist/domain/environment/entities.d.ts +93 -0
  124. package/dist/domain/environment/entities.d.ts.map +1 -0
  125. package/dist/domain/environment/entities.js +207 -0
  126. package/dist/domain/environment/entities.js.map +1 -0
  127. package/dist/domain/environment/renderers.d.ts +30 -0
  128. package/dist/domain/environment/renderers.d.ts.map +1 -0
  129. package/dist/domain/environment/renderers.js +139 -0
  130. package/dist/domain/environment/renderers.js.map +1 -0
  131. package/dist/domain/environment/repositories.d.ts +73 -0
  132. package/dist/domain/environment/repositories.d.ts.map +1 -0
  133. package/dist/domain/environment/repositories.js +16 -0
  134. package/dist/domain/environment/repositories.js.map +1 -0
  135. package/dist/domain/environment/services.d.ts +62 -0
  136. package/dist/domain/environment/services.d.ts.map +1 -0
  137. package/dist/domain/environment/services.js +282 -0
  138. package/dist/domain/environment/services.js.map +1 -0
  139. package/dist/domain/environment/value-objects.d.ts +127 -0
  140. package/dist/domain/environment/value-objects.d.ts.map +1 -0
  141. package/dist/domain/environment/value-objects.js +179 -0
  142. package/dist/domain/environment/value-objects.js.map +1 -0
  143. package/dist/domain/governance/policies.d.ts +42 -0
  144. package/dist/domain/governance/policies.d.ts.map +1 -0
  145. package/dist/domain/governance/policies.js +304 -0
  146. package/dist/domain/governance/policies.js.map +1 -0
  147. package/dist/domain/governance/services.d.ts +38 -0
  148. package/dist/domain/governance/services.d.ts.map +1 -0
  149. package/dist/domain/governance/services.js +42 -0
  150. package/dist/domain/governance/services.js.map +1 -0
  151. package/dist/domain/kanban/entities.d.ts +105 -0
  152. package/dist/domain/kanban/entities.d.ts.map +1 -0
  153. package/dist/domain/kanban/entities.js +211 -0
  154. package/dist/domain/kanban/entities.js.map +1 -0
  155. package/dist/domain/kanban/grooming.d.ts +40 -0
  156. package/dist/domain/kanban/grooming.d.ts.map +1 -0
  157. package/dist/domain/kanban/grooming.js +50 -0
  158. package/dist/domain/kanban/grooming.js.map +1 -0
  159. package/dist/domain/kanban/repositories.d.ts +41 -0
  160. package/dist/domain/kanban/repositories.d.ts.map +1 -0
  161. package/dist/domain/kanban/repositories.js +2 -0
  162. package/dist/domain/kanban/repositories.js.map +1 -0
  163. package/dist/domain/kanban/services.d.ts +49 -0
  164. package/dist/domain/kanban/services.d.ts.map +1 -0
  165. package/dist/domain/kanban/services.js +154 -0
  166. package/dist/domain/kanban/services.js.map +1 -0
  167. package/dist/domain/kanban/sprint.d.ts +103 -0
  168. package/dist/domain/kanban/sprint.d.ts.map +1 -0
  169. package/dist/domain/kanban/sprint.js +192 -0
  170. package/dist/domain/kanban/sprint.js.map +1 -0
  171. package/dist/domain/kanban/value-objects.d.ts +91 -0
  172. package/dist/domain/kanban/value-objects.d.ts.map +1 -0
  173. package/dist/domain/kanban/value-objects.js +167 -0
  174. package/dist/domain/kanban/value-objects.js.map +1 -0
  175. package/dist/domain/rag/repositories.d.ts +152 -0
  176. package/dist/domain/rag/repositories.d.ts.map +1 -0
  177. package/dist/domain/rag/repositories.js +2 -0
  178. package/dist/domain/rag/repositories.js.map +1 -0
  179. package/dist/domain/rag/services.d.ts +57 -0
  180. package/dist/domain/rag/services.d.ts.map +1 -0
  181. package/dist/domain/rag/services.js +224 -0
  182. package/dist/domain/rag/services.js.map +1 -0
  183. package/dist/domain/rag/value-objects.d.ts +118 -0
  184. package/dist/domain/rag/value-objects.d.ts.map +1 -0
  185. package/dist/domain/rag/value-objects.js +114 -0
  186. package/dist/domain/rag/value-objects.js.map +1 -0
  187. package/dist/domain/shared/value-objects.d.ts +56 -0
  188. package/dist/domain/shared/value-objects.d.ts.map +1 -0
  189. package/dist/domain/shared/value-objects.js +89 -0
  190. package/dist/domain/shared/value-objects.js.map +1 -0
  191. package/dist/domain/token-metrics/entities.d.ts +90 -0
  192. package/dist/domain/token-metrics/entities.d.ts.map +1 -0
  193. package/dist/domain/token-metrics/entities.js +115 -0
  194. package/dist/domain/token-metrics/entities.js.map +1 -0
  195. package/dist/domain/token-metrics/repositories.d.ts +93 -0
  196. package/dist/domain/token-metrics/repositories.d.ts.map +1 -0
  197. package/dist/domain/token-metrics/repositories.js +2 -0
  198. package/dist/domain/token-metrics/repositories.js.map +1 -0
  199. package/dist/domain/token-metrics/value-objects.d.ts +81 -0
  200. package/dist/domain/token-metrics/value-objects.d.ts.map +1 -0
  201. package/dist/domain/token-metrics/value-objects.js +144 -0
  202. package/dist/domain/token-metrics/value-objects.js.map +1 -0
  203. package/dist/domain/vault/canvas.d.ts +70 -0
  204. package/dist/domain/vault/canvas.d.ts.map +1 -0
  205. package/dist/domain/vault/canvas.js +70 -0
  206. package/dist/domain/vault/canvas.js.map +1 -0
  207. package/dist/domain/vault/document.d.ts +71 -0
  208. package/dist/domain/vault/document.d.ts.map +1 -0
  209. package/dist/domain/vault/document.js +244 -0
  210. package/dist/domain/vault/document.js.map +1 -0
  211. package/dist/domain/vault/repositories.d.ts +35 -0
  212. package/dist/domain/vault/repositories.d.ts.map +1 -0
  213. package/dist/domain/vault/repositories.js +2 -0
  214. package/dist/domain/vault/repositories.js.map +1 -0
  215. package/dist/domain/vault/section.d.ts +33 -0
  216. package/dist/domain/vault/section.d.ts.map +1 -0
  217. package/dist/domain/vault/section.js +39 -0
  218. package/dist/domain/vault/section.js.map +1 -0
  219. package/dist/domain/vault/services.d.ts +48 -0
  220. package/dist/domain/vault/services.d.ts.map +1 -0
  221. package/dist/domain/vault/services.js +249 -0
  222. package/dist/domain/vault/services.js.map +1 -0
  223. package/dist/domain/vault/table.d.ts +58 -0
  224. package/dist/domain/vault/table.d.ts.map +1 -0
  225. package/dist/domain/vault/table.js +204 -0
  226. package/dist/domain/vault/table.js.map +1 -0
  227. package/dist/domain/vault/timeline.d.ts +53 -0
  228. package/dist/domain/vault/timeline.d.ts.map +1 -0
  229. package/dist/domain/vault/timeline.js +214 -0
  230. package/dist/domain/vault/timeline.js.map +1 -0
  231. package/dist/domain/vault/value-objects.d.ts +45 -0
  232. package/dist/domain/vault/value-objects.d.ts.map +1 -0
  233. package/dist/domain/vault/value-objects.js +89 -0
  234. package/dist/domain/vault/value-objects.js.map +1 -0
  235. package/dist/domain/workspace-registry/entities.d.ts +57 -0
  236. package/dist/domain/workspace-registry/entities.d.ts.map +1 -0
  237. package/dist/domain/workspace-registry/entities.js +148 -0
  238. package/dist/domain/workspace-registry/entities.js.map +1 -0
  239. package/dist/domain/workspace-registry/repositories.d.ts +57 -0
  240. package/dist/domain/workspace-registry/repositories.d.ts.map +1 -0
  241. package/dist/domain/workspace-registry/repositories.js +12 -0
  242. package/dist/domain/workspace-registry/repositories.js.map +1 -0
  243. package/dist/domain/workspace-registry/services.d.ts +56 -0
  244. package/dist/domain/workspace-registry/services.d.ts.map +1 -0
  245. package/dist/domain/workspace-registry/services.js +283 -0
  246. package/dist/domain/workspace-registry/services.js.map +1 -0
  247. package/dist/domain/workspace-registry/value-objects.d.ts +113 -0
  248. package/dist/domain/workspace-registry/value-objects.d.ts.map +1 -0
  249. package/dist/domain/workspace-registry/value-objects.js +235 -0
  250. package/dist/domain/workspace-registry/value-objects.js.map +1 -0
  251. package/dist/hooks/context-compacting.d.ts +35 -0
  252. package/dist/hooks/context-compacting.d.ts.map +1 -0
  253. package/dist/hooks/context-compacting.js +48 -0
  254. package/dist/hooks/context-compacting.js.map +1 -0
  255. package/dist/hooks/event-handlers.d.ts +39 -0
  256. package/dist/hooks/event-handlers.d.ts.map +1 -0
  257. package/dist/hooks/event-handlers.js +75 -0
  258. package/dist/hooks/event-handlers.js.map +1 -0
  259. package/dist/hooks/guardrails.d.ts +33 -0
  260. package/dist/hooks/guardrails.d.ts.map +1 -0
  261. package/dist/hooks/guardrails.js +22 -0
  262. package/dist/hooks/guardrails.js.map +1 -0
  263. package/dist/hooks/shell-env.d.ts +28 -0
  264. package/dist/hooks/shell-env.d.ts.map +1 -0
  265. package/dist/hooks/shell-env.js +17 -0
  266. package/dist/hooks/shell-env.js.map +1 -0
  267. package/dist/index.d.ts +16 -0
  268. package/dist/index.d.ts.map +1 -0
  269. package/dist/index.js +349 -0
  270. package/dist/index.js.map +1 -0
  271. package/dist/infrastructure/context-memory/note-repository.d.ts +26 -0
  272. package/dist/infrastructure/context-memory/note-repository.d.ts.map +1 -0
  273. package/dist/infrastructure/context-memory/note-repository.js +87 -0
  274. package/dist/infrastructure/context-memory/note-repository.js.map +1 -0
  275. package/dist/infrastructure/context-memory/search-repository.d.ts +20 -0
  276. package/dist/infrastructure/context-memory/search-repository.d.ts.map +1 -0
  277. package/dist/infrastructure/context-memory/search-repository.js +44 -0
  278. package/dist/infrastructure/context-memory/search-repository.js.map +1 -0
  279. package/dist/infrastructure/context-memory/session-repository.d.ts +26 -0
  280. package/dist/infrastructure/context-memory/session-repository.d.ts.map +1 -0
  281. package/dist/infrastructure/context-memory/session-repository.js +79 -0
  282. package/dist/infrastructure/context-memory/session-repository.js.map +1 -0
  283. package/dist/infrastructure/context-memory/todo-repository.d.ts +26 -0
  284. package/dist/infrastructure/context-memory/todo-repository.d.ts.map +1 -0
  285. package/dist/infrastructure/context-memory/todo-repository.js +105 -0
  286. package/dist/infrastructure/context-memory/todo-repository.js.map +1 -0
  287. package/dist/infrastructure/database/sqlite-adapter.d.ts +60 -0
  288. package/dist/infrastructure/database/sqlite-adapter.d.ts.map +1 -0
  289. package/dist/infrastructure/database/sqlite-adapter.js +93 -0
  290. package/dist/infrastructure/database/sqlite-adapter.js.map +1 -0
  291. package/dist/infrastructure/domain-map/llm-analyzer.d.ts +60 -0
  292. package/dist/infrastructure/domain-map/llm-analyzer.d.ts.map +1 -0
  293. package/dist/infrastructure/domain-map/llm-analyzer.js +249 -0
  294. package/dist/infrastructure/domain-map/llm-analyzer.js.map +1 -0
  295. package/dist/infrastructure/domain-map/lsp-adapter.d.ts +61 -0
  296. package/dist/infrastructure/domain-map/lsp-adapter.d.ts.map +1 -0
  297. package/dist/infrastructure/domain-map/lsp-adapter.js +210 -0
  298. package/dist/infrastructure/domain-map/lsp-adapter.js.map +1 -0
  299. package/dist/infrastructure/domain-map/lsp-configs.d.ts +53 -0
  300. package/dist/infrastructure/domain-map/lsp-configs.d.ts.map +1 -0
  301. package/dist/infrastructure/domain-map/lsp-configs.js +274 -0
  302. package/dist/infrastructure/domain-map/lsp-configs.js.map +1 -0
  303. package/dist/infrastructure/domain-map/lsp-json-rpc.d.ts +132 -0
  304. package/dist/infrastructure/domain-map/lsp-json-rpc.d.ts.map +1 -0
  305. package/dist/infrastructure/domain-map/lsp-json-rpc.js +320 -0
  306. package/dist/infrastructure/domain-map/lsp-json-rpc.js.map +1 -0
  307. package/dist/infrastructure/domain-map/project-scanner.d.ts +43 -0
  308. package/dist/infrastructure/domain-map/project-scanner.d.ts.map +1 -0
  309. package/dist/infrastructure/domain-map/project-scanner.js +193 -0
  310. package/dist/infrastructure/domain-map/project-scanner.js.map +1 -0
  311. package/dist/infrastructure/environment/environment-repository.d.ts +33 -0
  312. package/dist/infrastructure/environment/environment-repository.d.ts.map +1 -0
  313. package/dist/infrastructure/environment/environment-repository.js +161 -0
  314. package/dist/infrastructure/environment/environment-repository.js.map +1 -0
  315. package/dist/infrastructure/environment/scanner-adapter.d.ts +23 -0
  316. package/dist/infrastructure/environment/scanner-adapter.d.ts.map +1 -0
  317. package/dist/infrastructure/environment/scanner-adapter.js +102 -0
  318. package/dist/infrastructure/environment/scanner-adapter.js.map +1 -0
  319. package/dist/infrastructure/kanban/card-repository.d.ts +41 -0
  320. package/dist/infrastructure/kanban/card-repository.d.ts.map +1 -0
  321. package/dist/infrastructure/kanban/card-repository.js +185 -0
  322. package/dist/infrastructure/kanban/card-repository.js.map +1 -0
  323. package/dist/infrastructure/kanban/sprint-repository.d.ts +40 -0
  324. package/dist/infrastructure/kanban/sprint-repository.d.ts.map +1 -0
  325. package/dist/infrastructure/kanban/sprint-repository.js +186 -0
  326. package/dist/infrastructure/kanban/sprint-repository.js.map +1 -0
  327. package/dist/infrastructure/rag/file-discovery.d.ts +19 -0
  328. package/dist/infrastructure/rag/file-discovery.d.ts.map +1 -0
  329. package/dist/infrastructure/rag/file-discovery.js +201 -0
  330. package/dist/infrastructure/rag/file-discovery.js.map +1 -0
  331. package/dist/infrastructure/rag/ollama-embeddings.d.ts +18 -0
  332. package/dist/infrastructure/rag/ollama-embeddings.d.ts.map +1 -0
  333. package/dist/infrastructure/rag/ollama-embeddings.js +54 -0
  334. package/dist/infrastructure/rag/ollama-embeddings.js.map +1 -0
  335. package/dist/infrastructure/rag/text-splitter.d.ts +19 -0
  336. package/dist/infrastructure/rag/text-splitter.d.ts.map +1 -0
  337. package/dist/infrastructure/rag/text-splitter.js +38 -0
  338. package/dist/infrastructure/rag/text-splitter.js.map +1 -0
  339. package/dist/infrastructure/rag/vectra-adapter.d.ts +38 -0
  340. package/dist/infrastructure/rag/vectra-adapter.d.ts.map +1 -0
  341. package/dist/infrastructure/rag/vectra-adapter.js +275 -0
  342. package/dist/infrastructure/rag/vectra-adapter.js.map +1 -0
  343. package/dist/infrastructure/token-metrics/token-metrics-repository.d.ts +29 -0
  344. package/dist/infrastructure/token-metrics/token-metrics-repository.d.ts.map +1 -0
  345. package/dist/infrastructure/token-metrics/token-metrics-repository.js +254 -0
  346. package/dist/infrastructure/token-metrics/token-metrics-repository.js.map +1 -0
  347. package/dist/infrastructure/vault/markdown-parser.d.ts +35 -0
  348. package/dist/infrastructure/vault/markdown-parser.d.ts.map +1 -0
  349. package/dist/infrastructure/vault/markdown-parser.js +145 -0
  350. package/dist/infrastructure/vault/markdown-parser.js.map +1 -0
  351. package/dist/infrastructure/vault/vault-fs-adapter.d.ts +17 -0
  352. package/dist/infrastructure/vault/vault-fs-adapter.d.ts.map +1 -0
  353. package/dist/infrastructure/vault/vault-fs-adapter.js +105 -0
  354. package/dist/infrastructure/vault/vault-fs-adapter.js.map +1 -0
  355. package/dist/infrastructure/workspace-registry/dependency-repository.d.ts +27 -0
  356. package/dist/infrastructure/workspace-registry/dependency-repository.d.ts.map +1 -0
  357. package/dist/infrastructure/workspace-registry/dependency-repository.js +89 -0
  358. package/dist/infrastructure/workspace-registry/dependency-repository.js.map +1 -0
  359. package/dist/infrastructure/workspace-registry/workspace-repository.d.ts +28 -0
  360. package/dist/infrastructure/workspace-registry/workspace-repository.d.ts.map +1 -0
  361. package/dist/infrastructure/workspace-registry/workspace-repository.js +108 -0
  362. package/dist/infrastructure/workspace-registry/workspace-repository.js.map +1 -0
  363. package/dist/tools/agent-tools.d.ts +14 -0
  364. package/dist/tools/agent-tools.d.ts.map +1 -0
  365. package/dist/tools/agent-tools.js +238 -0
  366. package/dist/tools/agent-tools.js.map +1 -0
  367. package/dist/tools/context-memory-tools.d.ts +16 -0
  368. package/dist/tools/context-memory-tools.d.ts.map +1 -0
  369. package/dist/tools/context-memory-tools.js +242 -0
  370. package/dist/tools/context-memory-tools.js.map +1 -0
  371. package/dist/tools/data-tools.d.ts +3 -0
  372. package/dist/tools/data-tools.d.ts.map +1 -0
  373. package/dist/tools/data-tools.js +383 -0
  374. package/dist/tools/data-tools.js.map +1 -0
  375. package/dist/tools/domain-map-tools.d.ts +41 -0
  376. package/dist/tools/domain-map-tools.d.ts.map +1 -0
  377. package/dist/tools/domain-map-tools.js +134 -0
  378. package/dist/tools/domain-map-tools.js.map +1 -0
  379. package/dist/tools/environment-tools.d.ts +85 -0
  380. package/dist/tools/environment-tools.d.ts.map +1 -0
  381. package/dist/tools/environment-tools.js +223 -0
  382. package/dist/tools/environment-tools.js.map +1 -0
  383. package/dist/tools/governance-tools.d.ts +7 -0
  384. package/dist/tools/governance-tools.d.ts.map +1 -0
  385. package/dist/tools/governance-tools.js +73 -0
  386. package/dist/tools/governance-tools.js.map +1 -0
  387. package/dist/tools/kanban-board-tools.d.ts +11 -0
  388. package/dist/tools/kanban-board-tools.d.ts.map +1 -0
  389. package/dist/tools/kanban-board-tools.js +354 -0
  390. package/dist/tools/kanban-board-tools.js.map +1 -0
  391. package/dist/tools/kanban-card-tools.d.ts +11 -0
  392. package/dist/tools/kanban-card-tools.d.ts.map +1 -0
  393. package/dist/tools/kanban-card-tools.js +407 -0
  394. package/dist/tools/kanban-card-tools.js.map +1 -0
  395. package/dist/tools/rag-tools.d.ts +10 -0
  396. package/dist/tools/rag-tools.d.ts.map +1 -0
  397. package/dist/tools/rag-tools.js +279 -0
  398. package/dist/tools/rag-tools.js.map +1 -0
  399. package/dist/tools/token-metrics-tools.d.ts +98 -0
  400. package/dist/tools/token-metrics-tools.d.ts.map +1 -0
  401. package/dist/tools/token-metrics-tools.js +287 -0
  402. package/dist/tools/token-metrics-tools.js.map +1 -0
  403. package/dist/tools/vault-manage-tool.d.ts +7 -0
  404. package/dist/tools/vault-manage-tool.d.ts.map +1 -0
  405. package/dist/tools/vault-manage-tool.js +193 -0
  406. package/dist/tools/vault-manage-tool.js.map +1 -0
  407. package/dist/tools/vault-tools.d.ts +7 -0
  408. package/dist/tools/vault-tools.d.ts.map +1 -0
  409. package/dist/tools/vault-tools.js +348 -0
  410. package/dist/tools/vault-tools.js.map +1 -0
  411. package/dist/tools/workspace-registry-tools.d.ts +93 -0
  412. package/dist/tools/workspace-registry-tools.d.ts.map +1 -0
  413. package/dist/tools/workspace-registry-tools.js +217 -0
  414. package/dist/tools/workspace-registry-tools.js.map +1 -0
  415. package/package.json +59 -0
@@ -0,0 +1,238 @@
1
+ /**
2
+ * Agent Communication Tools
3
+ *
4
+ * OpenCode tool definitions for inter-session agent communication.
5
+ * Uses the OpenCode SDK client to discover and interact with other
6
+ * sessions running on the same server.
7
+ *
8
+ * Tools (4):
9
+ * agent-sessions — List all active OpenCode sessions
10
+ * agent-send — Send a prompt to another session (triggers AI response)
11
+ * agent-notify — Inject context into another session (silent, no AI reply)
12
+ * agent-dispatch — Send a card brief + instructions to another session
13
+ *
14
+ * SOLID: SRP - each tool handles one communication action
15
+ * SOLID: DIP - depends on SDK client abstraction
16
+ */
17
+ import { tool } from "@opencode-ai/plugin";
18
+ const z = tool.schema;
19
+ // ── Tool Factory ──────────────────────────────────────────────────────
20
+ export function createAgentTools(deps) {
21
+ const { client, cardUseCases, sprintUseCases, epicUseCases } = deps;
22
+ // ── agent-sessions ────────────────────────────────────────────────
23
+ const agentSessions = tool({
24
+ description: "List all active OpenCode sessions on this server. " +
25
+ "Shows session IDs, titles, and status. Use this to discover " +
26
+ "other agent sessions for coordination.",
27
+ args: {},
28
+ async execute(_args, ctx) {
29
+ try {
30
+ const result = await client.session.list();
31
+ const sessions = result.data;
32
+ if (!sessions || sessions.length === 0) {
33
+ return "No sessions found.";
34
+ }
35
+ const lines = [`Active Sessions (${sessions.length}):`];
36
+ for (const session of sessions) {
37
+ const current = session.id === ctx.sessionID ? " (THIS SESSION)" : "";
38
+ const title = session.title ?? "(untitled)";
39
+ lines.push(` ${session.id}: ${title}${current}`);
40
+ }
41
+ return lines.join("\n");
42
+ }
43
+ catch (error) {
44
+ return `ERROR: Failed to list sessions: ${String(error)}`;
45
+ }
46
+ },
47
+ });
48
+ // ── agent-send ────────────────────────────────────────────────────
49
+ const agentSend = tool({
50
+ description: "Send a prompt message to another OpenCode session. " +
51
+ "This triggers an AI response in that session. Use for asking " +
52
+ "another agent to perform work or answer questions.",
53
+ args: {
54
+ session_id: z
55
+ .string()
56
+ .describe("Target session ID (from agent-sessions output)"),
57
+ message: z.string().describe("Message to send to the other session"),
58
+ },
59
+ async execute(args, ctx) {
60
+ if (args.session_id === ctx.sessionID) {
61
+ return "ERROR: Cannot send a message to your own session.";
62
+ }
63
+ try {
64
+ await client.session.prompt({
65
+ path: { id: args.session_id },
66
+ body: {
67
+ parts: [{ type: "text", text: args.message }],
68
+ },
69
+ });
70
+ return `Message sent to session ${args.session_id}. AI response triggered.`;
71
+ }
72
+ catch (error) {
73
+ return `ERROR: Failed to send message: ${String(error)}`;
74
+ }
75
+ },
76
+ });
77
+ // ── agent-notify ──────────────────────────────────────────────────
78
+ const agentNotify = tool({
79
+ description: "Inject context into another OpenCode session WITHOUT triggering " +
80
+ "an AI response. Use for sharing information, status updates, " +
81
+ "or context that the other agent should know about.",
82
+ args: {
83
+ session_id: z
84
+ .string()
85
+ .describe("Target session ID (from agent-sessions output)"),
86
+ context: z
87
+ .string()
88
+ .describe("Context text to inject into the other session"),
89
+ },
90
+ async execute(args, ctx) {
91
+ if (args.session_id === ctx.sessionID) {
92
+ return "ERROR: Cannot notify your own session.";
93
+ }
94
+ try {
95
+ await client.session.prompt({
96
+ path: { id: args.session_id },
97
+ body: {
98
+ noReply: true,
99
+ parts: [{ type: "text", text: args.context }],
100
+ },
101
+ });
102
+ return `Context injected into session ${args.session_id} (no AI reply triggered).`;
103
+ }
104
+ catch (error) {
105
+ return `ERROR: Failed to notify session: ${String(error)}`;
106
+ }
107
+ },
108
+ });
109
+ // ── agent-dispatch ────────────────────────────────────────────────
110
+ const agentDispatch = tool({
111
+ description: "Dispatch a kanban card to another OpenCode session as a work " +
112
+ "assignment. Composes the full card brief (description, AC, epic, " +
113
+ "sprint context) and sends it as a prompt to the target session " +
114
+ "with instructions to implement the work.",
115
+ args: {
116
+ session_id: z.string().describe("Target session ID to dispatch work to"),
117
+ card_id: z.string().describe("Card ID to dispatch (e.g., CD-001)"),
118
+ instructions: z
119
+ .string()
120
+ .optional()
121
+ .describe("Additional instructions beyond the card brief"),
122
+ },
123
+ async execute(args, ctx) {
124
+ if (args.session_id === ctx.sessionID) {
125
+ return "ERROR: Cannot dispatch work to your own session.";
126
+ }
127
+ // Compose the card brief
128
+ const cardResult = await cardUseCases.getCard({ cardId: args.card_id });
129
+ if (!cardResult.success)
130
+ return `ERROR: ${cardResult.error}`;
131
+ if (cardResult.data === null) {
132
+ return `ERROR: Card not found: ${args.card_id}`;
133
+ }
134
+ const card = cardResult.data;
135
+ const brief = await composeBrief(card);
136
+ // Build dispatch message
137
+ const lines = [
138
+ `# Work Assignment: ${card.id} — ${card.title}`,
139
+ "",
140
+ brief,
141
+ ];
142
+ if (args.instructions !== undefined) {
143
+ lines.push("");
144
+ lines.push("## Additional Instructions");
145
+ lines.push("");
146
+ lines.push(args.instructions);
147
+ }
148
+ const message = lines.join("\n");
149
+ try {
150
+ await client.session.prompt({
151
+ path: { id: args.session_id },
152
+ body: {
153
+ parts: [{ type: "text", text: message }],
154
+ },
155
+ });
156
+ return (`Card ${card.id} dispatched to session ${args.session_id}. ` +
157
+ `AI response triggered with full brief.`);
158
+ }
159
+ catch (error) {
160
+ return `ERROR: Failed to dispatch: ${String(error)}`;
161
+ }
162
+ },
163
+ });
164
+ /** Compose card brief with epic/sprint context. */
165
+ async function composeBrief(card) {
166
+ const lines = [];
167
+ lines.push(`**Status**: ${card.status} | **Priority**: ${card.priority}`);
168
+ if (card.storyPoints !== undefined) {
169
+ lines.push(`**Story Points**: ${card.storyPoints}`);
170
+ }
171
+ if (card.assignedAgent !== undefined) {
172
+ lines.push(`**Assigned Agent**: ${card.assignedAgent}`);
173
+ }
174
+ // Description
175
+ lines.push("");
176
+ lines.push("## Description");
177
+ lines.push("");
178
+ lines.push(card.description ?? "_No description provided._");
179
+ // Acceptance Criteria
180
+ lines.push("");
181
+ lines.push("## Acceptance Criteria");
182
+ lines.push("");
183
+ if (card.acceptanceCriteria.length > 0) {
184
+ for (const ac of card.acceptanceCriteria) {
185
+ const mark = ac.met ? "[x]" : "[ ]";
186
+ lines.push(`- ${mark} ${ac.description}`);
187
+ }
188
+ }
189
+ else {
190
+ lines.push("_No acceptance criteria defined._");
191
+ }
192
+ // Epic context
193
+ if (card.epicId !== undefined) {
194
+ lines.push("");
195
+ lines.push("## Epic Context");
196
+ lines.push("");
197
+ const epicResult = await epicUseCases.getEpic({ epicId: card.epicId });
198
+ if (epicResult.success && epicResult.data !== null) {
199
+ const epic = epicResult.data;
200
+ lines.push(`**Epic**: ${epic.id} — ${epic.title} [${epic.status}]`);
201
+ if (epic.description !== undefined) {
202
+ lines.push(`**Epic Description**: ${epic.description}`);
203
+ }
204
+ }
205
+ }
206
+ // Sprint context
207
+ if (card.sprintId !== undefined) {
208
+ lines.push("");
209
+ lines.push("## Sprint Context");
210
+ lines.push("");
211
+ const sprintResult = await sprintUseCases.getSprint({
212
+ sprintId: card.sprintId,
213
+ });
214
+ if (sprintResult.success && sprintResult.data !== null) {
215
+ const sprint = sprintResult.data;
216
+ lines.push(`**Sprint**: ${sprint.id} — ${sprint.name} [${sprint.status}]`);
217
+ if (sprint.goal !== undefined) {
218
+ lines.push(`**Sprint Goal**: ${sprint.goal}`);
219
+ }
220
+ }
221
+ }
222
+ // Instructions
223
+ lines.push("");
224
+ lines.push("## Agent Instructions");
225
+ lines.push("");
226
+ lines.push("Implement the work described above. Ensure all acceptance criteria " +
227
+ "are met. Work in a container-use environment or feature branch. " +
228
+ "Do NOT modify kanban state — the coordinator manages the board.");
229
+ return lines.join("\n");
230
+ }
231
+ return {
232
+ "agent-sessions": agentSessions,
233
+ "agent-send": agentSend,
234
+ "agent-notify": agentNotify,
235
+ "agent-dispatch": agentDispatch,
236
+ };
237
+ }
238
+ //# sourceMappingURL=agent-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-tools.js","sourceRoot":"","sources":["../../src/tools/agent-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { SessionUseCases } from "../application/context-memory/session-use-cases.js";
2
+ import type { TodoUseCases } from "../application/context-memory/todo-use-cases.js";
3
+ import type { NoteUseCases } from "../application/context-memory/note-use-cases.js";
4
+ import type { ToolDefinition } from "@opencode-ai/plugin";
5
+ export interface ContextMemoryToolsDeps {
6
+ readonly sessionUseCases: SessionUseCases;
7
+ readonly todoUseCases: TodoUseCases;
8
+ readonly noteUseCases: NoteUseCases;
9
+ readonly getWorkspace: (directory: string) => string;
10
+ }
11
+ /**
12
+ * Creates the 8 context memory tool definitions.
13
+ * Called once during plugin initialization with wired dependencies.
14
+ */
15
+ export declare function createContextMemoryTools(deps: ContextMemoryToolsDeps): Record<string, ToolDefinition>;
16
+ //# sourceMappingURL=context-memory-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-memory-tools.d.ts","sourceRoot":"","sources":["../../src/tools/context-memory-tools.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAM1D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CACtD;AAiED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,sBAAsB,GAC3B,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CA2MhC"}
@@ -0,0 +1,242 @@
1
+ /**
2
+ * Context Memory Tools
3
+ *
4
+ * OpenCode tool definitions for session, todo, note, and search operations.
5
+ * Each tool is a thin adapter: validates args (Zod), delegates to use cases,
6
+ * formats the result as a compact string for LLM consumption.
7
+ *
8
+ * SOLID: SRP - each tool handles one user action
9
+ * SOLID: DIP - depends on use case abstractions, not infrastructure
10
+ *
11
+ * Tools defined:
12
+ * context-session-start, context-session-finish, context-session-list,
13
+ * context-todo-add, context-todo-list, context-todo-complete,
14
+ * context-note-add, context-search
15
+ */
16
+ import { tool } from "@opencode-ai/plugin";
17
+ const z = tool.schema;
18
+ // ── Result Formatting ─────────────────────────────────────────────────
19
+ /** Format a Result<T> as a tool response string. */
20
+ function formatResult(result, formatter) {
21
+ if (!result.success) {
22
+ return `ERROR: ${result.error}`;
23
+ }
24
+ return formatter(result.data);
25
+ }
26
+ /** Format a session DTO as a compact string. */
27
+ function formatSession(s) {
28
+ const lines = [
29
+ `Session: ${s.id}`,
30
+ ` Purpose: ${s.purpose}`,
31
+ ` State: ${s.state}`,
32
+ ` Workspace: ${s.workspace}`,
33
+ ` Started: ${s.startedAt}`,
34
+ ];
35
+ if (s.agentName !== undefined)
36
+ lines.push(` Agent: ${s.agentName}`);
37
+ if (s.finishedAt !== undefined)
38
+ lines.push(` Finished: ${s.finishedAt}`);
39
+ if (s.summary !== undefined)
40
+ lines.push(` Summary: ${s.summary}`);
41
+ return lines.join("\n");
42
+ }
43
+ /** Format a todo DTO as a compact string. */
44
+ function formatTodo(t) {
45
+ const tagStr = t.tags.length > 0 ? ` [${t.tags.join(", ")}]` : "";
46
+ return `[${t.status}] (P${t.priority}) ${t.content}${tagStr} | id=${t.id}`;
47
+ }
48
+ /** Format a note DTO as a compact string. */
49
+ function formatNote(n) {
50
+ const tagStr = n.tags.length > 0 ? ` [${n.tags.join(", ")}]` : "";
51
+ return `[${n.type}] ${n.content}${tagStr} | id=${n.id} @ ${n.createdAt}`;
52
+ }
53
+ // ── Tool Factory ──────────────────────────────────────────────────────
54
+ /**
55
+ * Creates the 8 context memory tool definitions.
56
+ * Called once during plugin initialization with wired dependencies.
57
+ */
58
+ export function createContextMemoryTools(deps) {
59
+ const { sessionUseCases, todoUseCases, noteUseCases, getWorkspace } = deps;
60
+ // ── Session Tools ─────────────────────────────────────────────────
61
+ const sessionStart = tool({
62
+ description: "Start a new work session. Only one active session per workspace. " +
63
+ "Sessions track context, todos, and notes for a work period.",
64
+ args: {
65
+ purpose: z.string().describe("What this session aims to accomplish"),
66
+ agent_name: z
67
+ .string()
68
+ .optional()
69
+ .describe("Name of the agent/model working"),
70
+ },
71
+ async execute(args, ctx) {
72
+ const workspace = getWorkspace(ctx.directory);
73
+ const result = await sessionUseCases.startSession({
74
+ purpose: args.purpose,
75
+ workspace,
76
+ ...(args.agent_name !== undefined
77
+ ? { agentName: args.agent_name }
78
+ : {}),
79
+ });
80
+ return formatResult(result, formatSession);
81
+ },
82
+ });
83
+ const sessionFinish = tool({
84
+ description: "Finish the current active session with an optional summary. " +
85
+ "Marks session as completed and records finish timestamp.",
86
+ args: {
87
+ session_id: z.string().describe("ID of the session to finish"),
88
+ summary: z
89
+ .string()
90
+ .optional()
91
+ .describe("Brief summary of what was accomplished"),
92
+ },
93
+ async execute(args) {
94
+ const result = await sessionUseCases.finishSession({
95
+ sessionId: args.session_id,
96
+ ...(args.summary !== undefined ? { summary: args.summary } : {}),
97
+ });
98
+ return formatResult(result, formatSession);
99
+ },
100
+ });
101
+ const sessionList = tool({
102
+ description: "List all sessions for the current workspace, ordered by start time.",
103
+ args: {},
104
+ async execute(_args, ctx) {
105
+ const workspace = getWorkspace(ctx.directory);
106
+ const result = await sessionUseCases.listSessions({ workspace });
107
+ return formatResult(result, (sessions) => {
108
+ if (sessions.length === 0)
109
+ return "No sessions found.";
110
+ return sessions.map(formatSession).join("\n---\n");
111
+ });
112
+ },
113
+ });
114
+ // ── Todo Tools ────────────────────────────────────────────────────
115
+ const todoAdd = tool({
116
+ description: "Add a TODO item to track a task. Priority 1 (critical) to 5 (trivial), default 3.",
117
+ args: {
118
+ content: z.string().describe("Description of the task"),
119
+ priority: z
120
+ .number()
121
+ .int()
122
+ .min(1)
123
+ .max(5)
124
+ .optional()
125
+ .describe("Priority 1-5 (1=critical, 5=trivial). Default: 3"),
126
+ session_id: z
127
+ .string()
128
+ .optional()
129
+ .describe("Session to associate this todo with"),
130
+ tags: z.array(z.string()).optional().describe("Tags for categorization"),
131
+ },
132
+ async execute(args, ctx) {
133
+ const workspace = getWorkspace(ctx.directory);
134
+ const result = await todoUseCases.createTodo({
135
+ content: args.content,
136
+ workspace,
137
+ ...(args.priority !== undefined ? { priority: args.priority } : {}),
138
+ ...(args.session_id !== undefined
139
+ ? { sessionId: args.session_id }
140
+ : {}),
141
+ ...(args.tags !== undefined ? { tags: args.tags } : {}),
142
+ });
143
+ return formatResult(result, formatTodo);
144
+ },
145
+ });
146
+ const todoList = tool({
147
+ description: "List TODOs for the current workspace. Optionally filter by status.",
148
+ args: {
149
+ status: z
150
+ .enum(["pending", "in_progress", "completed", "cancelled"])
151
+ .optional()
152
+ .describe("Filter by status"),
153
+ },
154
+ async execute(args, ctx) {
155
+ const workspace = getWorkspace(ctx.directory);
156
+ const result = await todoUseCases.listTodos({
157
+ workspace,
158
+ ...(args.status !== undefined ? { status: args.status } : {}),
159
+ });
160
+ return formatResult(result, (todos) => {
161
+ if (todos.length === 0)
162
+ return "No todos found.";
163
+ return todos.map(formatTodo).join("\n");
164
+ });
165
+ },
166
+ });
167
+ const todoComplete = tool({
168
+ description: "Mark a TODO as completed.",
169
+ args: {
170
+ todo_id: z.string().describe("ID of the todo to complete"),
171
+ },
172
+ async execute(args) {
173
+ const result = await todoUseCases.completeTodo({
174
+ todoId: args.todo_id,
175
+ });
176
+ return formatResult(result, formatTodo);
177
+ },
178
+ });
179
+ // ── Note Tools ────────────────────────────────────────────────────
180
+ const noteAdd = tool({
181
+ description: "Add a context note (observation, decision, discovery, or blocker). " +
182
+ "Notes are searchable and persist across sessions.",
183
+ args: {
184
+ content: z.string().describe("The note content"),
185
+ type: z
186
+ .enum(["note", "decision", "discovery", "blocker"])
187
+ .optional()
188
+ .describe("Note category. Default: note"),
189
+ session_id: z
190
+ .string()
191
+ .optional()
192
+ .describe("Session to associate this note with"),
193
+ tags: z.array(z.string()).optional().describe("Tags for categorization"),
194
+ },
195
+ async execute(args, ctx) {
196
+ const workspace = getWorkspace(ctx.directory);
197
+ const result = await noteUseCases.addNote({
198
+ content: args.content,
199
+ workspace,
200
+ ...(args.type !== undefined ? { type: args.type } : {}),
201
+ ...(args.session_id !== undefined
202
+ ? { sessionId: args.session_id }
203
+ : {}),
204
+ ...(args.tags !== undefined ? { tags: args.tags } : {}),
205
+ });
206
+ return formatResult(result, formatNote);
207
+ },
208
+ });
209
+ // ── Search Tool ───────────────────────────────────────────────────
210
+ const contextSearch = tool({
211
+ description: "Full-text search across all context (sessions, todos, notes). " +
212
+ "Returns ranked results by relevance.",
213
+ args: {
214
+ query: z.string().describe("Search query text"),
215
+ },
216
+ async execute(args, ctx) {
217
+ const workspace = getWorkspace(ctx.directory);
218
+ const result = await noteUseCases.searchContext({
219
+ query: args.query,
220
+ workspace,
221
+ });
222
+ return formatResult(result, (results) => {
223
+ if (results.length === 0)
224
+ return "No results found.";
225
+ return results
226
+ .map((r) => `[${r.sourceType}:${r.sourceId}] (relevance: ${r.relevance}) ${r.content}`)
227
+ .join("\n");
228
+ });
229
+ },
230
+ });
231
+ return {
232
+ "context-session-start": sessionStart,
233
+ "context-session-finish": sessionFinish,
234
+ "context-session-list": sessionList,
235
+ "context-todo-add": todoAdd,
236
+ "context-todo-list": todoList,
237
+ "context-todo-complete": todoComplete,
238
+ "context-note-add": noteAdd,
239
+ "context-search": contextSearch,
240
+ };
241
+ }
242
+ //# sourceMappingURL=context-memory-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-memory-tools.js","sourceRoot":"","sources":["../../src/tools/context-memory-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ToolDefinition } from "@opencode-ai/plugin";
2
+ export declare function createDataTools(): Record<string, ToolDefinition>;
3
+ //# sourceMappingURL=data-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-tools.d.ts","sourceRoot":"","sources":["../../src/tools/data-tools.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA6L1D,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAkLhE"}