@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,79 @@
1
+ import { Session } from "../../domain/context-memory/entities.js";
2
+ import { SessionId, SessionState, } from "../../domain/context-memory/value-objects.js";
3
+ import { WorkspaceId, Timestamp } from "../../domain/shared/value-objects.js";
4
+ const SCHEMA_KEY = "context_memory_sessions";
5
+ const DDL = `
6
+ CREATE TABLE IF NOT EXISTS sessions (
7
+ id TEXT PRIMARY KEY,
8
+ workspace TEXT NOT NULL,
9
+ purpose TEXT NOT NULL,
10
+ state TEXT NOT NULL DEFAULT 'planning',
11
+ agent_name TEXT,
12
+ started_at TEXT NOT NULL,
13
+ finished_at TEXT,
14
+ summary TEXT
15
+ );
16
+ CREATE INDEX IF NOT EXISTS idx_session_workspace ON sessions(workspace);
17
+ CREATE INDEX IF NOT EXISTS idx_session_state ON sessions(state);
18
+ CREATE INDEX IF NOT EXISTS idx_session_started_at ON sessions(started_at);
19
+ `;
20
+ export class SqliteSessionRepository {
21
+ db;
22
+ constructor(db) {
23
+ this.db = db;
24
+ this.db.ensureSchema(SCHEMA_KEY, DDL);
25
+ }
26
+ async save(session) {
27
+ const sql = `
28
+ INSERT INTO sessions (id, workspace, purpose, state, agent_name, started_at, finished_at, summary)
29
+ VALUES (@id, @workspace, @purpose, @state, @agent_name, @started_at, @finished_at, @summary)
30
+ ON CONFLICT(id) DO UPDATE SET
31
+ state = @state,
32
+ finished_at = @finished_at,
33
+ summary = @summary
34
+ `;
35
+ this.db.execute(sql, {
36
+ id: session.id.value,
37
+ workspace: session.workspace.value,
38
+ purpose: session.purpose,
39
+ state: session.state,
40
+ agent_name: session.agentName ?? null,
41
+ started_at: session.startedAt.toISO(),
42
+ finished_at: session.finishedAt?.toISO() ?? null,
43
+ summary: session.summary ?? null,
44
+ });
45
+ }
46
+ async findById(id) {
47
+ const row = this.db.queryOne("SELECT * FROM sessions WHERE id = @id", { id: id.value });
48
+ return row ? this.toDomain(row) : null;
49
+ }
50
+ async findByWorkspace(workspace) {
51
+ const rows = this.db.queryAll("SELECT * FROM sessions WHERE workspace = @workspace ORDER BY started_at DESC", { workspace: workspace.value });
52
+ return rows.map((row) => this.toDomain(row));
53
+ }
54
+ async findActive(workspace) {
55
+ const row = this.db.queryOne(`SELECT * FROM sessions
56
+ WHERE workspace = @workspace AND state IN ('planning', 'wip')
57
+ ORDER BY started_at DESC LIMIT 1`, { workspace: workspace.value });
58
+ return row ? this.toDomain(row) : null;
59
+ }
60
+ async delete(id) {
61
+ this.db.execute("DELETE FROM sessions WHERE id = @id", { id: id.value });
62
+ }
63
+ toDomain(row) {
64
+ const props = {
65
+ id: SessionId.from(row.id),
66
+ workspace: WorkspaceId.from(row.workspace),
67
+ purpose: row.purpose,
68
+ state: row.state,
69
+ ...(row.agent_name !== null ? { agentName: row.agent_name } : {}),
70
+ startedAt: Timestamp.fromISO(row.started_at),
71
+ ...(row.finished_at !== null
72
+ ? { finishedAt: Timestamp.fromISO(row.finished_at) }
73
+ : {}),
74
+ ...(row.summary !== null ? { summary: row.summary } : {}),
75
+ };
76
+ return Session.reconstitute(props);
77
+ }
78
+ }
79
+ //# sourceMappingURL=session-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-repository.js","sourceRoot":"","sources":["../../../src/infrastructure/context-memory/session-repository.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAElE,OAAO,EACL,SAAS,EACT,YAAY,GACb,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAE9E,MAAM,UAAU,GAAG,yBAAyB,CAAC;AAE7C,MAAM,GAAG,GAAG;;;;;;;;;;;;;;CAcX,CAAC;AAcF,MAAM,OAAO,uBAAuB;IACL;IAA7B,YAA6B,EAAiB;QAAjB,OAAE,GAAF,EAAE,CAAe;QAC5C,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAgB;QACzB,MAAM,GAAG,GAAG;;;;;;;KAOX,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACnB,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK;YAClC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;YACrC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE;YACrC,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,IAAI;YAChD,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;SACjC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAa;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAC1B,uCAAuC,EACvC,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CACjB,CAAC;QACF,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAsB;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAC3B,8EAA8E,EAC9E,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,CAC/B,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAsB;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAC1B;;wCAEkC,EAClC,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,CAC/B,CAAC;QACF,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAa;QACxB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qCAAqC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3E,CAAC;IAEO,QAAQ,CAAC,GAAe;QAC9B,MAAM,KAAK,GAAiB;YAC1B,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAC1C,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,KAAK,EAAE,GAAG,CAAC,KAAqB;YAChC,GAAG,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YAC5C,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,IAAI;gBAC1B,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;gBACpD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC;QACF,OAAO,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * SQLite Todo Repository
3
+ *
4
+ * Implements TodoRepository interface from domain layer.
5
+ * Maps Todo entities to/from SQLite rows.
6
+ *
7
+ * SOLID: SRP - persistence for Todo aggregate only
8
+ * SOLID: DIP - implements domain interface
9
+ */
10
+ import type { SqliteAdapter } from "../database/sqlite-adapter.js";
11
+ import type { TodoRepository } from "../../domain/context-memory/repositories.js";
12
+ import { Todo } from "../../domain/context-memory/entities.js";
13
+ import { TodoId, TodoStatus, SessionId } from "../../domain/context-memory/value-objects.js";
14
+ import { WorkspaceId } from "../../domain/shared/value-objects.js";
15
+ export declare class SqliteTodoRepository implements TodoRepository {
16
+ private readonly db;
17
+ constructor(db: SqliteAdapter);
18
+ save(todo: Todo): Promise<void>;
19
+ findById(id: TodoId): Promise<Todo | null>;
20
+ findByWorkspace(workspace: WorkspaceId, status?: TodoStatus): Promise<readonly Todo[]>;
21
+ findBySession(sessionId: SessionId): Promise<readonly Todo[]>;
22
+ search(query: string, workspace: WorkspaceId): Promise<readonly Todo[]>;
23
+ delete(id: TodoId): Promise<void>;
24
+ private toDomain;
25
+ }
26
+ //# sourceMappingURL=todo-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo-repository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/context-memory/todo-repository.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,MAAM,yCAAyC,CAAC;AAE/D,OAAO,EACL,MAAM,EACN,UAAU,EACV,SAAS,EACV,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,WAAW,EAAa,MAAM,sCAAsC,CAAC;AAsC9E,qBAAa,oBAAqB,YAAW,cAAc;IAC7C,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,aAAa;IAIxC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB/B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAQ1C,eAAe,CACnB,SAAS,EAAE,WAAW,EACtB,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IAiBrB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IAS7D,MAAM,CACV,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,WAAW,GACrB,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IAUrB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,OAAO,CAAC,QAAQ;CAsBjB"}
@@ -0,0 +1,105 @@
1
+ import { Todo } from "../../domain/context-memory/entities.js";
2
+ import { TodoId, TodoStatus, SessionId, } from "../../domain/context-memory/value-objects.js";
3
+ import { WorkspaceId, Timestamp } from "../../domain/shared/value-objects.js";
4
+ const SCHEMA_KEY = "context_memory_todos";
5
+ const DDL = `
6
+ CREATE TABLE IF NOT EXISTS todos (
7
+ id TEXT PRIMARY KEY,
8
+ content TEXT NOT NULL,
9
+ status TEXT NOT NULL DEFAULT 'pending',
10
+ priority INTEGER NOT NULL DEFAULT 3,
11
+ workspace TEXT NOT NULL,
12
+ session_id TEXT,
13
+ tags TEXT NOT NULL DEFAULT '',
14
+ created_at TEXT NOT NULL,
15
+ updated_at TEXT,
16
+ completed_at TEXT,
17
+ FOREIGN KEY (session_id) REFERENCES sessions(id)
18
+ );
19
+ CREATE INDEX IF NOT EXISTS idx_todo_workspace ON todos(workspace);
20
+ CREATE INDEX IF NOT EXISTS idx_todo_status ON todos(status);
21
+ CREATE INDEX IF NOT EXISTS idx_todo_session_id ON todos(session_id);
22
+ CREATE INDEX IF NOT EXISTS idx_todo_priority ON todos(priority);
23
+ `;
24
+ export class SqliteTodoRepository {
25
+ db;
26
+ constructor(db) {
27
+ this.db = db;
28
+ this.db.ensureSchema(SCHEMA_KEY, DDL);
29
+ }
30
+ async save(todo) {
31
+ const sql = `
32
+ INSERT INTO todos (id, content, status, priority, workspace, session_id, tags, created_at, updated_at, completed_at)
33
+ VALUES (@id, @content, @status, @priority, @workspace, @session_id, @tags, @created_at, @updated_at, @completed_at)
34
+ ON CONFLICT(id) DO UPDATE SET
35
+ status = @status,
36
+ priority = @priority,
37
+ tags = @tags,
38
+ updated_at = @updated_at,
39
+ completed_at = @completed_at
40
+ `;
41
+ this.db.execute(sql, {
42
+ id: todo.id.value,
43
+ content: todo.content,
44
+ status: todo.status,
45
+ priority: todo.priority,
46
+ workspace: todo.workspace.value,
47
+ session_id: todo.sessionId?.value ?? null,
48
+ tags: todo.tags.join(","),
49
+ created_at: todo.createdAt.toISO(),
50
+ updated_at: todo.updatedAt?.toISO() ?? null,
51
+ completed_at: todo.completedAt?.toISO() ?? null,
52
+ });
53
+ }
54
+ async findById(id) {
55
+ const row = this.db.queryOne("SELECT * FROM todos WHERE id = @id", { id: id.value });
56
+ return row ? this.toDomain(row) : null;
57
+ }
58
+ async findByWorkspace(workspace, status) {
59
+ if (status !== undefined) {
60
+ const rows = this.db.queryAll(`SELECT * FROM todos WHERE workspace = @workspace AND status = @status
61
+ ORDER BY priority ASC, created_at DESC`, { workspace: workspace.value, status });
62
+ return rows.map((row) => this.toDomain(row));
63
+ }
64
+ const rows = this.db.queryAll(`SELECT * FROM todos WHERE workspace = @workspace
65
+ ORDER BY priority ASC, created_at DESC`, { workspace: workspace.value });
66
+ return rows.map((row) => this.toDomain(row));
67
+ }
68
+ async findBySession(sessionId) {
69
+ const rows = this.db.queryAll(`SELECT * FROM todos WHERE session_id = @session_id
70
+ ORDER BY priority ASC, created_at DESC`, { session_id: sessionId.value });
71
+ return rows.map((row) => this.toDomain(row));
72
+ }
73
+ async search(query, workspace) {
74
+ const rows = this.db.queryAll(`SELECT * FROM todos
75
+ WHERE workspace = @workspace AND content LIKE @pattern
76
+ ORDER BY priority ASC, created_at DESC`, { workspace: workspace.value, pattern: `%${query}%` });
77
+ return rows.map((row) => this.toDomain(row));
78
+ }
79
+ async delete(id) {
80
+ this.db.execute("DELETE FROM todos WHERE id = @id", { id: id.value });
81
+ }
82
+ toDomain(row) {
83
+ const tags = row.tags.length > 0 ? row.tags.split(",") : [];
84
+ const props = {
85
+ id: TodoId.from(row.id),
86
+ content: row.content,
87
+ status: row.status,
88
+ priority: row.priority,
89
+ workspace: WorkspaceId.from(row.workspace),
90
+ ...(row.session_id !== null
91
+ ? { sessionId: SessionId.from(row.session_id) }
92
+ : {}),
93
+ tags,
94
+ createdAt: Timestamp.fromISO(row.created_at),
95
+ ...(row.updated_at !== null
96
+ ? { updatedAt: Timestamp.fromISO(row.updated_at) }
97
+ : {}),
98
+ ...(row.completed_at !== null
99
+ ? { completedAt: Timestamp.fromISO(row.completed_at) }
100
+ : {}),
101
+ };
102
+ return Todo.reconstitute(props);
103
+ }
104
+ }
105
+ //# sourceMappingURL=todo-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo-repository.js","sourceRoot":"","sources":["../../../src/infrastructure/context-memory/todo-repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * SQLite Database Adapter
3
+ *
4
+ * Wraps better-sqlite3 to provide a clean interface for repository use.
5
+ * Handles database lifecycle, schema execution, and typed queries.
6
+ *
7
+ * SOLID: SRP - database connection management only
8
+ * SOLID: OCP - repositories extend behavior without modifying adapter
9
+ * SOLID: DIP - repositories depend on this adapter, not raw better-sqlite3
10
+ */
11
+ import Database from "better-sqlite3";
12
+ import type { Statement } from "better-sqlite3";
13
+ /** Configuration for database initialization. */
14
+ export interface DatabaseConfig {
15
+ /** Path to SQLite file, or ":memory:" for in-memory DB. */
16
+ readonly path: string;
17
+ /** Enable WAL mode for better concurrent read performance. */
18
+ readonly walMode?: boolean;
19
+ }
20
+ /**
21
+ * Thin adapter over better-sqlite3.
22
+ *
23
+ * Provides typed query helpers and schema management.
24
+ * Each repository calls ensureSchema() to set up its tables.
25
+ */
26
+ export declare class SqliteAdapter {
27
+ private readonly db;
28
+ private readonly initializedSchemas;
29
+ constructor(config: DatabaseConfig);
30
+ /**
31
+ * Execute DDL schema idempotently.
32
+ * Tracks schema keys to avoid redundant execution.
33
+ */
34
+ ensureSchema(schemaKey: string, ddl: string): void;
35
+ /** Run a query that returns rows. */
36
+ queryAll<T>(sql: string, params?: Record<string, unknown>): T[];
37
+ /** Run a query that returns a single row or undefined. */
38
+ queryOne<T>(sql: string, params?: Record<string, unknown>): T | undefined;
39
+ /** Run a statement that modifies data (INSERT, UPDATE, DELETE). */
40
+ execute(sql: string, params?: Record<string, unknown>): Database.RunResult;
41
+ /** Run multiple statements in a transaction. */
42
+ transaction<T>(fn: () => T): T;
43
+ /** Prepare a statement for repeated use. */
44
+ prepare(sql: string): Statement;
45
+ /** Get the last inserted rowid. */
46
+ get lastInsertRowid(): number | bigint;
47
+ /** Close the database connection. */
48
+ close(): void;
49
+ /** Check if the database is open. */
50
+ get isOpen(): boolean;
51
+ }
52
+ /**
53
+ * Factory: create an in-memory SQLite adapter (for tests).
54
+ */
55
+ export declare function createInMemoryAdapter(): SqliteAdapter;
56
+ /**
57
+ * Factory: create a file-based SQLite adapter.
58
+ */
59
+ export declare function createFileAdapter(dirPath: string, dbName: string): SqliteAdapter;
60
+ //# sourceMappingURL=sqlite-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-adapter.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/database/sqlite-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,EAA4B,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE1E,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAe;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;gBAE5C,MAAM,EAAE,cAAc;IAYlC;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAMlD,qCAAqC;IACrC,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE;IAK/D,0DAA0D;IAC1D,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS;IAKzE,mEAAmE;IACnE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,SAAS;IAK1E,gDAAgD;IAChD,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAK9B,4CAA4C;IAC5C,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAI/B,mCAAmC;IACnC,IAAI,eAAe,IAAI,MAAM,GAAG,MAAM,CASrC;IAED,qCAAqC;IACrC,KAAK,IAAI,IAAI;IAIb,qCAAqC;IACrC,IAAI,MAAM,IAAI,OAAO,CAEpB;CACF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,aAAa,CAErD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,aAAa,CAGf"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * SQLite Database Adapter
3
+ *
4
+ * Wraps better-sqlite3 to provide a clean interface for repository use.
5
+ * Handles database lifecycle, schema execution, and typed queries.
6
+ *
7
+ * SOLID: SRP - database connection management only
8
+ * SOLID: OCP - repositories extend behavior without modifying adapter
9
+ * SOLID: DIP - repositories depend on this adapter, not raw better-sqlite3
10
+ */
11
+ import Database from "better-sqlite3";
12
+ /**
13
+ * Thin adapter over better-sqlite3.
14
+ *
15
+ * Provides typed query helpers and schema management.
16
+ * Each repository calls ensureSchema() to set up its tables.
17
+ */
18
+ export class SqliteAdapter {
19
+ db;
20
+ initializedSchemas = new Set();
21
+ constructor(config) {
22
+ this.db = new Database(config.path);
23
+ // Enable WAL mode for better read concurrency (default: on)
24
+ if (config.walMode !== false) {
25
+ this.db.pragma("journal_mode = WAL");
26
+ }
27
+ // Foreign keys enforcement
28
+ this.db.pragma("foreign_keys = ON");
29
+ }
30
+ /**
31
+ * Execute DDL schema idempotently.
32
+ * Tracks schema keys to avoid redundant execution.
33
+ */
34
+ ensureSchema(schemaKey, ddl) {
35
+ if (this.initializedSchemas.has(schemaKey))
36
+ return;
37
+ this.db.exec(ddl);
38
+ this.initializedSchemas.add(schemaKey);
39
+ }
40
+ /** Run a query that returns rows. */
41
+ queryAll(sql, params) {
42
+ const stmt = this.db.prepare(sql);
43
+ return (params ? stmt.all(params) : stmt.all());
44
+ }
45
+ /** Run a query that returns a single row or undefined. */
46
+ queryOne(sql, params) {
47
+ const stmt = this.db.prepare(sql);
48
+ return (params ? stmt.get(params) : stmt.get());
49
+ }
50
+ /** Run a statement that modifies data (INSERT, UPDATE, DELETE). */
51
+ execute(sql, params) {
52
+ const stmt = this.db.prepare(sql);
53
+ return params ? stmt.run(params) : stmt.run();
54
+ }
55
+ /** Run multiple statements in a transaction. */
56
+ transaction(fn) {
57
+ const wrapped = this.db.transaction(fn);
58
+ return wrapped();
59
+ }
60
+ /** Prepare a statement for repeated use. */
61
+ prepare(sql) {
62
+ return this.db.prepare(sql);
63
+ }
64
+ /** Get the last inserted rowid. */
65
+ get lastInsertRowid() {
66
+ return this.db.prepare("SELECT last_insert_rowid() as id").get() !==
67
+ undefined
68
+ ? this.db.prepare("SELECT last_insert_rowid() as id").get().id
69
+ : 0;
70
+ }
71
+ /** Close the database connection. */
72
+ close() {
73
+ this.db.close();
74
+ }
75
+ /** Check if the database is open. */
76
+ get isOpen() {
77
+ return this.db.open;
78
+ }
79
+ }
80
+ /**
81
+ * Factory: create an in-memory SQLite adapter (for tests).
82
+ */
83
+ export function createInMemoryAdapter() {
84
+ return new SqliteAdapter({ path: ":memory:" });
85
+ }
86
+ /**
87
+ * Factory: create a file-based SQLite adapter.
88
+ */
89
+ export function createFileAdapter(dirPath, dbName) {
90
+ const path = `${dirPath}/${dbName}`;
91
+ return new SqliteAdapter({ path });
92
+ }
93
+ //# sourceMappingURL=sqlite-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-adapter.js","sourceRoot":"","sources":["../../../src/infrastructure/database/sqlite-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Domain Map Infrastructure — LLM Semantic Analyzer
3
+ *
4
+ * Implements LlmAnalysisPort by delegating to a prompt function
5
+ * that the application layer injects (backed by OpenCode SDK
6
+ * `client.session.prompt` or any other LLM provider).
7
+ *
8
+ * Responsibilities:
9
+ * - Build a structured prompt from StructuralGraph + code samples
10
+ * - Parse the LLM's JSON response into domain SemanticAnalysis
11
+ * - Validate and sanitize the LLM output
12
+ *
13
+ * SOLID: SRP — LLM prompting and response parsing only
14
+ * SOLID: DIP — depends on injected prompt function, not SDK directly
15
+ * DDD: Infrastructure adapter for LLM service
16
+ */
17
+ import type { CodeSample, LlmAnalysisPort, LlmModelPreference } from "../../domain/domain-map/repositories.js";
18
+ import type { SemanticAnalysis, StructuralGraph } from "../../domain/domain-map/value-objects.js";
19
+ /**
20
+ * A function that sends a prompt to an LLM and returns the response text.
21
+ * The application layer wires this to the actual LLM provider.
22
+ *
23
+ * @param prompt - The analysis prompt to send
24
+ * @param model - Optional provider/model override (uses session default if omitted)
25
+ */
26
+ export type PromptFn = (prompt: string, model?: LlmModelPreference) => Promise<string>;
27
+ /**
28
+ * Implementation of LlmAnalysisPort using an injected prompt function.
29
+ * Builds a structured analysis prompt, sends it to the LLM, and
30
+ * parses the JSON response into domain value objects.
31
+ */
32
+ export declare class LlmSemanticAnalyzer implements LlmAnalysisPort {
33
+ private readonly promptFn;
34
+ constructor(promptFn: PromptFn);
35
+ analyzeStructure(graph: StructuralGraph, codeSamples: readonly CodeSample[], modelPreference?: LlmModelPreference): Promise<SemanticAnalysis>;
36
+ }
37
+ /**
38
+ * Build the analysis prompt from structural graph and code samples.
39
+ * Instructs the LLM to produce a JSON response matching SemanticAnalysis.
40
+ *
41
+ * @param graph - Structural graph from LSP extraction
42
+ * @param codeSamples - Representative code samples
43
+ * @returns The prompt string to send to the LLM
44
+ */
45
+ export declare function buildAnalysisPrompt(graph: StructuralGraph, codeSamples: readonly CodeSample[]): string;
46
+ /**
47
+ * Parse and validate the LLM's JSON response into a SemanticAnalysis.
48
+ * Handles common LLM output quirks (markdown fences, extra text).
49
+ *
50
+ * @param response - Raw LLM response text
51
+ * @returns Validated SemanticAnalysis
52
+ * @throws Error if the response cannot be parsed
53
+ */
54
+ export declare function parseAnalysisResponse(response: string): SemanticAnalysis;
55
+ /**
56
+ * Extract JSON from LLM response that may contain markdown fences or extra text.
57
+ * Looks for the first { and last } to extract the JSON object.
58
+ */
59
+ export declare function extractJson(text: string): string;
60
+ //# sourceMappingURL=llm-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-analyzer.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/domain-map/llm-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,kBAAkB,EACnB,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAGV,gBAAgB,EAEhB,eAAe,EAChB,MAAM,0CAA0C,CAAC;AAIlD;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,CACrB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,kBAAkB,KACvB,OAAO,CAAC,MAAM,CAAC,CAAC;AAIrB;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,eAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAEzC,gBAAgB,CACpB,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE,SAAS,UAAU,EAAE,EAClC,eAAe,CAAC,EAAE,kBAAkB,GACnC,OAAO,CAAC,gBAAgB,CAAC;CAK7B;AAID;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE,SAAS,UAAU,EAAE,GACjC,MAAM,CAoFR;AAiED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CA+BxE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBhD"}