@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 @@
1
+ {"version":3,"file":"todo-use-cases.js","sourceRoot":"","sources":["../../../src/application/context-memory/todo-use-cases.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Domain Map Application — Data Transfer Objects
3
+ *
4
+ * Plain objects for crossing layer boundaries.
5
+ * Tools -> Use Cases (request DTOs), Use Cases -> Tools (response DTOs).
6
+ *
7
+ * SOLID: SRP — DTOs carry data, no logic
8
+ * DDD: Application layer boundary objects
9
+ */
10
+ export interface DomainMapAnalyzeRequest {
11
+ /** Directory to analyze. */
12
+ readonly directory: string;
13
+ /** Override max file lines threshold (default: 500). */
14
+ readonly maxFileLines?: number;
15
+ /** Override max files to analyze (default: 200). */
16
+ readonly maxFiles?: number;
17
+ /** Force a specific analysis mode instead of auto-detection. */
18
+ readonly forceMode?: "greenfield" | "legacy";
19
+ /** LLM provider ID for legacy analysis (e.g. "anthropic", "openai"). */
20
+ readonly providerID?: string;
21
+ /** LLM model ID for legacy analysis (e.g. "claude-haiku-4-20250414"). */
22
+ readonly modelID?: string;
23
+ }
24
+ export interface DomainMapAnalyzeResponse {
25
+ readonly projectName: string;
26
+ readonly mode: "greenfield" | "legacy";
27
+ readonly primaryLanguage: string;
28
+ readonly filesAnalyzed: number;
29
+ readonly boundedContexts: readonly BoundedContextDto[];
30
+ readonly violations: readonly SrpViolationDto[];
31
+ readonly recommendedStructure: string;
32
+ readonly markdownReport: string;
33
+ readonly generatedAt: string;
34
+ }
35
+ export interface DomainMapViewRequest {
36
+ /** Directory whose domain map to retrieve. */
37
+ readonly directory: string;
38
+ }
39
+ export interface DomainMapViewResponse {
40
+ readonly available: boolean;
41
+ readonly markdownReport: string;
42
+ readonly generatedAt: string;
43
+ }
44
+ export interface BoundedContextDto {
45
+ readonly name: string;
46
+ readonly responsibility: string;
47
+ readonly fileCount: number;
48
+ readonly entities: readonly string[];
49
+ readonly aggregates: readonly string[];
50
+ readonly dependencies: readonly string[];
51
+ }
52
+ export interface SrpViolationDto {
53
+ readonly file: string;
54
+ readonly lines: number;
55
+ readonly issue: string;
56
+ readonly suggestedSplit: readonly string[];
57
+ }
58
+ //# sourceMappingURL=dtos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dtos.d.ts","sourceRoot":"","sources":["../../../src/application/domain-map/dtos.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,WAAW,uBAAuB;IACtC,4BAA4B;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wDAAwD;IACxD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,gEAAgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;IAC7C,wEAAwE;IACxE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;IAChD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAID,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAID,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Domain Map Application — Data Transfer Objects
3
+ *
4
+ * Plain objects for crossing layer boundaries.
5
+ * Tools -> Use Cases (request DTOs), Use Cases -> Tools (response DTOs).
6
+ *
7
+ * SOLID: SRP — DTOs carry data, no logic
8
+ * DDD: Application layer boundary objects
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=dtos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dtos.js","sourceRoot":"","sources":["../../../src/application/domain-map/dtos.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Domain Map Application — Use Cases
3
+ *
4
+ * Orchestrates the domain map analysis pipeline:
5
+ * 1. Scan project directory
6
+ * 2. Detect analysis mode (greenfield vs legacy)
7
+ * 3. Path A: Build map from directory structure
8
+ * Path B: LSP extraction + LLM semantic analysis
9
+ * 4. Detect SRP violations
10
+ * 5. Generate and render the domain map document
11
+ *
12
+ * SOLID: SRP — domain map analysis orchestration only
13
+ * SOLID: DIP — depends on domain port interfaces
14
+ * DDD: Application Service pattern
15
+ */
16
+ import type { Result } from "../../domain/shared/value-objects.js";
17
+ import type { LspClientPort, LlmAnalysisPort, ProjectScannerPort } from "../../domain/domain-map/repositories.js";
18
+ import type { DomainMapAnalyzeRequest, DomainMapAnalyzeResponse, DomainMapViewRequest, DomainMapViewResponse } from "./dtos.js";
19
+ export interface DomainMapUseCasesDeps {
20
+ readonly lspClient: LspClientPort;
21
+ readonly llmAnalyzer: LlmAnalysisPort;
22
+ readonly projectScanner: ProjectScannerPort;
23
+ }
24
+ /**
25
+ * Application service for domain map analysis.
26
+ * Coordinates domain services with infrastructure adapters.
27
+ */
28
+ export declare class DomainMapUseCases {
29
+ private readonly lsp;
30
+ private readonly llm;
31
+ private readonly scanner;
32
+ /** Cache of last generated map per directory. */
33
+ private readonly cache;
34
+ constructor(deps: DomainMapUseCasesDeps);
35
+ /**
36
+ * Analyze a project directory and produce a domain map.
37
+ * Full pipeline: scan → detect mode → analyze → violations → render.
38
+ */
39
+ analyze(request: DomainMapAnalyzeRequest): Promise<Result<DomainMapAnalyzeResponse>>;
40
+ /**
41
+ * Retrieve the last generated domain map for a directory.
42
+ */
43
+ view(request: DomainMapViewRequest): Promise<Result<DomainMapViewResponse>>;
44
+ /**
45
+ * Path B: Legacy analysis using LSP + LLM.
46
+ * Spawns LSP server, extracts structure, then uses LLM for semantic analysis.
47
+ */
48
+ private analyzeLegacy;
49
+ /**
50
+ * Legacy analysis with LSP structural extraction + LLM semantic analysis.
51
+ */
52
+ private analyzeLegacyWithLsp;
53
+ /**
54
+ * Legacy analysis without LSP — LLM-only with code samples.
55
+ * Used when no LSP server is available for the primary language.
56
+ */
57
+ private analyzeLegacyWithoutLsp;
58
+ /**
59
+ * Collect representative code samples from the scanned files.
60
+ * Picks largest files first (most likely to have multiple concerns).
61
+ */
62
+ private collectCodeSamples;
63
+ }
64
+ //# sourceMappingURL=use-cases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-cases.d.ts","sourceRoot":"","sources":["../../../src/application/domain-map/use-cases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAEf,kBAAkB,EAEnB,MAAM,yCAAyC,CAAC;AAkBjD,OAAO,KAAK,EACV,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EAGtB,MAAM,WAAW,CAAC;AAInB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;CAC7C;AAID;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,iDAAiD;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwC;gBAElD,IAAI,EAAE,qBAAqB;IAMvC;;;OAGG;IACG,OAAO,CACX,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAmF5C;;OAEG;IACG,IAAI,CACR,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAkBzC;;;OAGG;YACW,aAAa;IA8B3B;;OAEG;YACW,oBAAoB;IAuDlC;;;OAGG;YACW,uBAAuB;IAuBrC;;;OAGG;YACW,kBAAkB;CAqBjC"}
@@ -0,0 +1,217 @@
1
+ import { ok, fail } from "../../domain/shared/value-objects.js";
2
+ import { DEFAULT_ANALYSIS_CONFIG } from "../../domain/domain-map/value-objects.js";
3
+ import { buildGreenfieldMap, buildStructuralGraph, detectAnalysisMode, detectSrpViolations, generateMapDocument, renderDocumentAsMarkdown, } from "../../domain/domain-map/services.js";
4
+ import { basename } from "node:path";
5
+ // ── Use Cases ─────────────────────────────────────────────────────────
6
+ /**
7
+ * Application service for domain map analysis.
8
+ * Coordinates domain services with infrastructure adapters.
9
+ */
10
+ export class DomainMapUseCases {
11
+ lsp;
12
+ llm;
13
+ scanner;
14
+ /** Cache of last generated map per directory. */
15
+ cache = new Map();
16
+ constructor(deps) {
17
+ this.lsp = deps.lspClient;
18
+ this.llm = deps.llmAnalyzer;
19
+ this.scanner = deps.projectScanner;
20
+ }
21
+ /**
22
+ * Analyze a project directory and produce a domain map.
23
+ * Full pipeline: scan → detect mode → analyze → violations → render.
24
+ */
25
+ async analyze(request) {
26
+ try {
27
+ // Build config from request overrides
28
+ const config = buildConfig(request);
29
+ // Step 1: Scan project
30
+ const scan = await this.scanner.scanProject(request.directory, config);
31
+ if (scan.files.length === 0) {
32
+ return fail("No source files found in directory");
33
+ }
34
+ // Step 2: Detect mode (or use forced mode)
35
+ const mode = request.forceMode ?? detectAnalysisMode(scan, config);
36
+ const projectName = basename(request.directory);
37
+ // Step 3: Analyze based on mode
38
+ let contexts;
39
+ let graph;
40
+ let recommendedStructure;
41
+ if (mode === "greenfield") {
42
+ // Path A: Fast directory-based inference
43
+ contexts = buildGreenfieldMap(scan, config);
44
+ graph = buildStructuralGraph(new Map(), []);
45
+ recommendedStructure =
46
+ contexts.length > 0
47
+ ? "Project already follows DDD structure. Maintain current bounded context separation."
48
+ : "No clear bounded contexts detected. Consider organizing into domain/, application/, infrastructure/ layers.";
49
+ }
50
+ else {
51
+ // Path B: LSP + LLM analysis
52
+ const modelPref = request.providerID !== undefined && request.modelID !== undefined
53
+ ? { providerID: request.providerID, modelID: request.modelID }
54
+ : undefined;
55
+ const legacyResult = await this.analyzeLegacy(request.directory, scan, config, modelPref);
56
+ contexts = legacyResult.contexts;
57
+ graph = legacyResult.graph;
58
+ recommendedStructure = legacyResult.recommendedStructure;
59
+ }
60
+ // Step 4: Detect SRP violations
61
+ const violations = detectSrpViolations(scan.files, config);
62
+ // Step 5: Generate document
63
+ const doc = generateMapDocument(projectName, mode, scan.primaryLanguage, scan, contexts, graph, violations, recommendedStructure);
64
+ // Cache the result
65
+ this.cache.set(request.directory, doc);
66
+ // Step 6: Render and return
67
+ const markdownReport = renderDocumentAsMarkdown(doc);
68
+ return ok({
69
+ projectName: doc.projectName,
70
+ mode: doc.mode,
71
+ primaryLanguage: doc.language,
72
+ filesAnalyzed: doc.filesAnalyzed,
73
+ boundedContexts: doc.boundedContexts.map(toBoundedContextDto),
74
+ violations: doc.violations.map(toSrpViolationDto),
75
+ recommendedStructure: doc.recommendedStructure,
76
+ markdownReport,
77
+ generatedAt: doc.generatedAt,
78
+ });
79
+ }
80
+ catch (error) {
81
+ return fail(`Analysis failed: ${String(error)}`);
82
+ }
83
+ }
84
+ /**
85
+ * Retrieve the last generated domain map for a directory.
86
+ */
87
+ async view(request) {
88
+ const cached = this.cache.get(request.directory);
89
+ if (cached === undefined) {
90
+ return ok({
91
+ available: false,
92
+ markdownReport: "",
93
+ generatedAt: "",
94
+ });
95
+ }
96
+ return ok({
97
+ available: true,
98
+ markdownReport: renderDocumentAsMarkdown(cached),
99
+ generatedAt: cached.generatedAt,
100
+ });
101
+ }
102
+ /**
103
+ * Path B: Legacy analysis using LSP + LLM.
104
+ * Spawns LSP server, extracts structure, then uses LLM for semantic analysis.
105
+ */
106
+ async analyzeLegacy(directory, scan, config, modelPreference) {
107
+ const rootUri = `file://${directory}`;
108
+ const language = scan.primaryLanguage;
109
+ // Check if LSP is available for this language
110
+ const lspAvailable = await this.lsp.isAvailable(language);
111
+ if (lspAvailable) {
112
+ return this.analyzeLegacyWithLsp(rootUri, language, scan, config, modelPreference);
113
+ }
114
+ // Fallback: LLM-only analysis with code samples (no LSP)
115
+ return this.analyzeLegacyWithoutLsp(scan, modelPreference);
116
+ }
117
+ /**
118
+ * Legacy analysis with LSP structural extraction + LLM semantic analysis.
119
+ */
120
+ async analyzeLegacyWithLsp(rootUri, language, scan, config, modelPreference) {
121
+ try {
122
+ // Stage 1: LSP structural extraction
123
+ await this.lsp.initialize(rootUri, language);
124
+ const fileSymbols = new Map();
125
+ const filesToAnalyze = scan.files.slice(0, config.maxFiles);
126
+ for (const file of filesToAnalyze) {
127
+ const fileUri = `file://${file.absolutePath}`;
128
+ try {
129
+ const symbols = await this.lsp.documentSymbols(fileUri);
130
+ if (symbols.length > 0) {
131
+ fileSymbols.set(file.relativePath, symbols);
132
+ }
133
+ }
134
+ catch {
135
+ // Skip files that fail LSP analysis
136
+ }
137
+ }
138
+ const graph = buildStructuralGraph(fileSymbols, []);
139
+ // Stage 2: LLM semantic analysis
140
+ const codeSamples = await this.collectCodeSamples(scan);
141
+ const semantic = await this.llm.analyzeStructure(graph, codeSamples, modelPreference);
142
+ return {
143
+ contexts: semantic.boundedContexts,
144
+ graph,
145
+ recommendedStructure: semantic.recommendedStructure,
146
+ };
147
+ }
148
+ finally {
149
+ await this.lsp.shutdown();
150
+ }
151
+ }
152
+ /**
153
+ * Legacy analysis without LSP — LLM-only with code samples.
154
+ * Used when no LSP server is available for the primary language.
155
+ */
156
+ async analyzeLegacyWithoutLsp(scan, modelPreference) {
157
+ const emptyGraph = buildStructuralGraph(new Map(), []);
158
+ const codeSamples = await this.collectCodeSamples(scan);
159
+ const semantic = await this.llm.analyzeStructure(emptyGraph, codeSamples, modelPreference);
160
+ return {
161
+ contexts: semantic.boundedContexts,
162
+ graph: emptyGraph,
163
+ recommendedStructure: semantic.recommendedStructure,
164
+ };
165
+ }
166
+ /**
167
+ * Collect representative code samples from the scanned files.
168
+ * Picks largest files first (most likely to have multiple concerns).
169
+ */
170
+ async collectCodeSamples(scan) {
171
+ // Sort by line count descending — largest files are most interesting
172
+ const sorted = [...scan.files].sort((a, b) => b.lineCount - a.lineCount);
173
+ const sampleFiles = sorted.slice(0, 10); // Max 10 samples
174
+ const samples = [];
175
+ for (const file of sampleFiles) {
176
+ const content = await this.scanner.readFile(file.absolutePath);
177
+ if (content !== null) {
178
+ samples.push({
179
+ filePath: file.relativePath,
180
+ content,
181
+ lineCount: file.lineCount,
182
+ });
183
+ }
184
+ }
185
+ return samples;
186
+ }
187
+ }
188
+ // ── Config Builder ────────────────────────────────────────────────────
189
+ /** Build AnalysisConfig from request overrides. */
190
+ function buildConfig(request) {
191
+ return {
192
+ maxFileLines: request.maxFileLines ?? DEFAULT_ANALYSIS_CONFIG.maxFileLines,
193
+ maxFiles: request.maxFiles ?? DEFAULT_ANALYSIS_CONFIG.maxFiles,
194
+ legacyThresholdLines: DEFAULT_ANALYSIS_CONFIG.legacyThresholdLines,
195
+ legacyRatio: DEFAULT_ANALYSIS_CONFIG.legacyRatio,
196
+ };
197
+ }
198
+ // ── DTO Mappers ───────────────────────────────────────────────────────
199
+ function toBoundedContextDto(ctx) {
200
+ return {
201
+ name: ctx.name,
202
+ responsibility: ctx.responsibility,
203
+ fileCount: ctx.files.length,
204
+ entities: ctx.entities,
205
+ aggregates: ctx.aggregates,
206
+ dependencies: ctx.dependencies,
207
+ };
208
+ }
209
+ function toSrpViolationDto(v) {
210
+ return {
211
+ file: v.file,
212
+ lines: v.lines,
213
+ issue: v.issue,
214
+ suggestedSplit: v.suggestedSplit,
215
+ };
216
+ }
217
+ //# sourceMappingURL=use-cases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-cases.js","sourceRoot":"","sources":["../../../src/application/domain-map/use-cases.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Environment Management — Application DTOs
3
+ *
4
+ * Request/response data transfer objects for environment tools.
5
+ * Decouples tool input from domain layer types.
6
+ *
7
+ * SOLID: SRP - data transfer definitions only
8
+ */
9
+ export interface EnvInitRequest {
10
+ readonly directory: string;
11
+ }
12
+ export interface EnvInitResponse {
13
+ readonly primaryLanguage: string;
14
+ readonly frameworks: readonly string[];
15
+ readonly suggestedBaseImage: string | undefined;
16
+ readonly totalFiles: number;
17
+ readonly totalLines: number;
18
+ readonly summary: string;
19
+ }
20
+ export interface EnvCreateRequest {
21
+ readonly name: string;
22
+ readonly purpose: string;
23
+ readonly description: string;
24
+ readonly cardId?: string;
25
+ readonly baseImage?: string;
26
+ readonly setupCommands?: readonly string[];
27
+ readonly installCommands?: readonly string[];
28
+ readonly envVars?: Readonly<Record<string, string>>;
29
+ readonly mergeStrategy?: string;
30
+ }
31
+ export interface EnvCreateResponse {
32
+ readonly envId: string;
33
+ readonly name: string;
34
+ readonly branchName: string;
35
+ readonly status: string;
36
+ readonly instructions: string;
37
+ }
38
+ export interface EnvListRequest {
39
+ readonly filter?: string;
40
+ }
41
+ export interface EnvListResponse {
42
+ readonly count: number;
43
+ readonly summary: string;
44
+ }
45
+ export interface EnvStatusRequest {
46
+ readonly envId: string;
47
+ readonly action?: string;
48
+ readonly commitSha?: string;
49
+ readonly reason?: string;
50
+ readonly cardId?: string;
51
+ }
52
+ export interface EnvStatusResponse {
53
+ readonly envId: string;
54
+ readonly status: string;
55
+ readonly summary: string;
56
+ }
57
+ export interface EnvMergeRequest {
58
+ readonly envId: string;
59
+ }
60
+ export interface EnvMergeResponse {
61
+ readonly envId: string;
62
+ readonly name: string;
63
+ readonly instructions: string;
64
+ }
65
+ export interface EnvDeleteRequest {
66
+ readonly envId: string;
67
+ }
68
+ export interface EnvDeleteResponse {
69
+ readonly envId: string;
70
+ readonly name: string;
71
+ readonly status: string;
72
+ readonly message: string;
73
+ }
74
+ //# sourceMappingURL=dtos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dtos.d.ts","sourceRoot":"","sources":["../../../src/application/environment/dtos.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAID,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAID,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAID,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAID,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAID,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Environment Management — Application DTOs
3
+ *
4
+ * Request/response data transfer objects for environment tools.
5
+ * Decouples tool input from domain layer types.
6
+ *
7
+ * SOLID: SRP - data transfer definitions only
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=dtos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dtos.js","sourceRoot":"","sources":["../../../src/application/environment/dtos.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Environment Management — Application Use Cases
3
+ *
4
+ * Orchestrates environment lifecycle operations by coordinating
5
+ * domain services, scanner adapter, and kanban cross-context integration.
6
+ *
7
+ * The plugin manages metadata. The agent invokes container-use MCP
8
+ * tools directly for actual container operations.
9
+ *
10
+ * SOLID: SRP - use case orchestration only
11
+ * SOLID: DIP - depends on domain interfaces, not implementations
12
+ */
13
+ import type { Result } from "../../domain/shared/value-objects.js";
14
+ import { EnvironmentDomainService } from "../../domain/environment/services.js";
15
+ import type { EnvironmentScannerPort } from "../../domain/environment/repositories.js";
16
+ import type { EnvInitRequest, EnvInitResponse, EnvCreateRequest, EnvCreateResponse, EnvListRequest, EnvListResponse, EnvStatusRequest, EnvStatusResponse, EnvMergeRequest, EnvMergeResponse, EnvDeleteRequest, EnvDeleteResponse } from "./dtos.js";
17
+ export declare class EnvironmentUseCases {
18
+ private readonly envService;
19
+ private readonly scanner;
20
+ private readonly workspaceId;
21
+ constructor(envService: EnvironmentDomainService, scanner: EnvironmentScannerPort, workspaceId: string);
22
+ init(request: EnvInitRequest): Promise<Result<EnvInitResponse>>;
23
+ create(request: EnvCreateRequest): Promise<Result<EnvCreateResponse>>;
24
+ list(request: EnvListRequest): Promise<Result<EnvListResponse>>;
25
+ status(request: EnvStatusRequest): Promise<Result<EnvStatusResponse>>;
26
+ merge(request: EnvMergeRequest): Promise<Result<EnvMergeResponse>>;
27
+ delete(request: EnvDeleteRequest): Promise<Result<EnvDeleteResponse>>;
28
+ }
29
+ //# sourceMappingURL=use-cases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-cases.d.ts","sourceRoot":"","sources":["../../../src/application/environment/use-cases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EACL,wBAAwB,EAEzB,MAAM,sCAAsC,CAAC;AAS9C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,WAAW,CAAC;AAInB,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAFX,UAAU,EAAE,wBAAwB,EACpC,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,MAAM;IAKhC,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAsC/D,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IA2DrE,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAqB/D,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAiGrE,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAmBlE,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;CAwB5E"}