argustack 0.2.0 → 0.3.1

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 (546) hide show
  1. package/README.md +31 -115
  2. package/dist/adapters/board/board-sync.js +2 -2
  3. package/dist/adapters/board/board-sync.js.map +1 -1
  4. package/dist/adapters/board/md-parser.js +3 -3
  5. package/dist/adapters/board/md-parser.js.map +1 -1
  6. package/dist/adapters/board/skill-discovery.js +2 -2
  7. package/dist/adapters/board/skill-discovery.js.map +1 -1
  8. package/dist/adapters/board/skill-runner.js +2 -2
  9. package/dist/adapters/board/skill-runner.js.map +1 -1
  10. package/dist/adapters/board/store.d.ts.map +1 -1
  11. package/dist/adapters/board/store.js +11 -11
  12. package/dist/adapters/board/store.js.map +1 -1
  13. package/dist/adapters/csv/mapper.js +11 -11
  14. package/dist/adapters/csv/mapper.js.map +1 -1
  15. package/dist/adapters/csv/parser.d.ts.map +1 -1
  16. package/dist/adapters/csv/parser.js +8 -7
  17. package/dist/adapters/csv/parser.js.map +1 -1
  18. package/dist/adapters/csv/provider.js +4 -4
  19. package/dist/adapters/csv/provider.js.map +1 -1
  20. package/dist/adapters/db/client.js +2 -2
  21. package/dist/adapters/db/client.js.map +1 -1
  22. package/dist/adapters/db/index.js +1 -0
  23. package/dist/adapters/db/index.js.map +1 -1
  24. package/dist/adapters/db/mapper.js +1 -1
  25. package/dist/adapters/db/mapper.js.map +1 -1
  26. package/dist/adapters/db/provider.js +4 -4
  27. package/dist/adapters/db/provider.js.map +1 -1
  28. package/dist/adapters/db/sql-validator.js +2 -2
  29. package/dist/adapters/db/sql-validator.js.map +1 -1
  30. package/dist/adapters/docker/cli-docker-control.d.ts +13 -0
  31. package/dist/adapters/docker/cli-docker-control.d.ts.map +1 -0
  32. package/dist/adapters/docker/cli-docker-control.js +70 -0
  33. package/dist/adapters/docker/cli-docker-control.js.map +1 -0
  34. package/dist/adapters/docker/index.d.ts +2 -0
  35. package/dist/adapters/docker/index.d.ts.map +1 -0
  36. package/dist/adapters/docker/index.js +2 -0
  37. package/dist/adapters/docker/index.js.map +1 -0
  38. package/dist/adapters/git/mapper.js +1 -1
  39. package/dist/adapters/git/mapper.js.map +1 -1
  40. package/dist/adapters/git/provider.js +4 -4
  41. package/dist/adapters/git/provider.js.map +1 -1
  42. package/dist/adapters/github/mapper.js +3 -3
  43. package/dist/adapters/github/mapper.js.map +1 -1
  44. package/dist/adapters/github/provider.d.ts.map +1 -1
  45. package/dist/adapters/github/provider.js +2 -2
  46. package/dist/adapters/github/provider.js.map +1 -1
  47. package/dist/adapters/jira/mapper.js +4 -4
  48. package/dist/adapters/jira/mapper.js.map +1 -1
  49. package/dist/adapters/jira/provider.js +8 -8
  50. package/dist/adapters/jira/provider.js.map +1 -1
  51. package/dist/adapters/jira-proxy/client.js +4 -4
  52. package/dist/adapters/jira-proxy/client.js.map +1 -1
  53. package/dist/adapters/jira-proxy/config-loader.d.ts +9 -0
  54. package/dist/adapters/jira-proxy/config-loader.d.ts.map +1 -1
  55. package/dist/adapters/jira-proxy/config-loader.js +26 -3
  56. package/dist/adapters/jira-proxy/config-loader.js.map +1 -1
  57. package/dist/adapters/jira-proxy/index.d.ts +1 -1
  58. package/dist/adapters/jira-proxy/index.d.ts.map +1 -1
  59. package/dist/adapters/jira-proxy/index.js +1 -1
  60. package/dist/adapters/jira-proxy/index.js.map +1 -1
  61. package/dist/adapters/jira-proxy/mapper.js +2 -2
  62. package/dist/adapters/jira-proxy/mapper.js.map +1 -1
  63. package/dist/adapters/jira-proxy/provider.d.ts.map +1 -1
  64. package/dist/adapters/jira-proxy/provider.js +19 -8
  65. package/dist/adapters/jira-proxy/provider.js.map +1 -1
  66. package/dist/adapters/lmstudio/embedding-provider.js +4 -4
  67. package/dist/adapters/lmstudio/embedding-provider.js.map +1 -1
  68. package/dist/adapters/lsp/jsonrpc.js +1 -1
  69. package/dist/adapters/lsp/jsonrpc.js.map +1 -1
  70. package/dist/adapters/lsp/typescript-lsp.js +7 -7
  71. package/dist/adapters/lsp/typescript-lsp.js.map +1 -1
  72. package/dist/adapters/neo4j/client.js +2 -2
  73. package/dist/adapters/neo4j/client.js.map +1 -1
  74. package/dist/adapters/neo4j/graph-store.js +3 -3
  75. package/dist/adapters/neo4j/graph-store.js.map +1 -1
  76. package/dist/adapters/neo4j/mapper.js +4 -4
  77. package/dist/adapters/neo4j/mapper.js.map +1 -1
  78. package/dist/adapters/ollama/chat-llm.d.ts +24 -0
  79. package/dist/adapters/ollama/chat-llm.d.ts.map +1 -0
  80. package/dist/adapters/ollama/chat-llm.js +53 -0
  81. package/dist/adapters/ollama/chat-llm.js.map +1 -0
  82. package/dist/adapters/ollama/embedding-provider.d.ts +30 -0
  83. package/dist/adapters/ollama/embedding-provider.d.ts.map +1 -0
  84. package/dist/adapters/ollama/embedding-provider.js +124 -0
  85. package/dist/adapters/ollama/embedding-provider.js.map +1 -0
  86. package/dist/adapters/ollama/http-ollama-control.d.ts +24 -0
  87. package/dist/adapters/ollama/http-ollama-control.d.ts.map +1 -0
  88. package/dist/adapters/ollama/http-ollama-control.js +224 -0
  89. package/dist/adapters/ollama/http-ollama-control.js.map +1 -0
  90. package/dist/adapters/ollama/index.d.ts +6 -0
  91. package/dist/adapters/ollama/index.d.ts.map +1 -0
  92. package/dist/adapters/ollama/index.js +4 -0
  93. package/dist/adapters/ollama/index.js.map +1 -0
  94. package/dist/adapters/platform/index.d.ts +2 -0
  95. package/dist/adapters/platform/index.d.ts.map +1 -0
  96. package/dist/adapters/platform/index.js +2 -0
  97. package/dist/adapters/platform/index.js.map +1 -0
  98. package/dist/adapters/platform/node-platform-probe.d.ts +9 -0
  99. package/dist/adapters/platform/node-platform-probe.d.ts.map +1 -0
  100. package/dist/adapters/platform/node-platform-probe.js +88 -0
  101. package/dist/adapters/platform/node-platform-probe.js.map +1 -0
  102. package/dist/adapters/postgres/code-meta.js +13 -13
  103. package/dist/adapters/postgres/code-meta.js.map +1 -1
  104. package/dist/adapters/postgres/index.d.ts +2 -0
  105. package/dist/adapters/postgres/index.d.ts.map +1 -1
  106. package/dist/adapters/postgres/index.js +2 -0
  107. package/dist/adapters/postgres/index.js.map +1 -1
  108. package/dist/adapters/postgres/migrate-helpers.d.ts +43 -0
  109. package/dist/adapters/postgres/migrate-helpers.d.ts.map +1 -0
  110. package/dist/adapters/postgres/migrate-helpers.js +136 -0
  111. package/dist/adapters/postgres/migrate-helpers.js.map +1 -0
  112. package/dist/adapters/postgres/readiness-probe.d.ts +22 -0
  113. package/dist/adapters/postgres/readiness-probe.d.ts.map +1 -0
  114. package/dist/adapters/postgres/readiness-probe.js +47 -0
  115. package/dist/adapters/postgres/readiness-probe.js.map +1 -0
  116. package/dist/adapters/postgres/schema.d.ts +11 -1
  117. package/dist/adapters/postgres/schema.d.ts.map +1 -1
  118. package/dist/adapters/postgres/schema.js +159 -113
  119. package/dist/adapters/postgres/schema.js.map +1 -1
  120. package/dist/adapters/postgres/storage-commits.d.ts +13 -0
  121. package/dist/adapters/postgres/storage-commits.d.ts.map +1 -0
  122. package/dist/adapters/postgres/storage-commits.js +63 -0
  123. package/dist/adapters/postgres/storage-commits.js.map +1 -0
  124. package/dist/adapters/postgres/storage-dbschema.d.ts +14 -0
  125. package/dist/adapters/postgres/storage-dbschema.d.ts.map +1 -0
  126. package/dist/adapters/postgres/storage-dbschema.js +63 -0
  127. package/dist/adapters/postgres/storage-dbschema.js.map +1 -0
  128. package/dist/adapters/postgres/storage-graph.d.ts +18 -0
  129. package/dist/adapters/postgres/storage-graph.d.ts.map +1 -0
  130. package/dist/adapters/postgres/storage-graph.js +127 -0
  131. package/dist/adapters/postgres/storage-graph.js.map +1 -0
  132. package/dist/adapters/postgres/storage-issues.d.ts +26 -0
  133. package/dist/adapters/postgres/storage-issues.d.ts.map +1 -0
  134. package/dist/adapters/postgres/storage-issues.js +233 -0
  135. package/dist/adapters/postgres/storage-issues.js.map +1 -0
  136. package/dist/adapters/postgres/storage-prs.d.ts +15 -0
  137. package/dist/adapters/postgres/storage-prs.d.ts.map +1 -0
  138. package/dist/adapters/postgres/storage-prs.js +142 -0
  139. package/dist/adapters/postgres/storage-prs.js.map +1 -0
  140. package/dist/adapters/postgres/storage-query.d.ts +26 -0
  141. package/dist/adapters/postgres/storage-query.d.ts.map +1 -0
  142. package/dist/adapters/postgres/storage-query.js +74 -0
  143. package/dist/adapters/postgres/storage-query.js.map +1 -0
  144. package/dist/adapters/postgres/storage-search.d.ts +18 -0
  145. package/dist/adapters/postgres/storage-search.d.ts.map +1 -0
  146. package/dist/adapters/postgres/storage-search.js +90 -0
  147. package/dist/adapters/postgres/storage-search.js.map +1 -0
  148. package/dist/adapters/postgres/storage.d.ts +47 -31
  149. package/dist/adapters/postgres/storage.d.ts.map +1 -1
  150. package/dist/adapters/postgres/storage.js +86 -602
  151. package/dist/adapters/postgres/storage.js.map +1 -1
  152. package/dist/adapters/postgres/workspace-store.d.ts +26 -0
  153. package/dist/adapters/postgres/workspace-store.d.ts.map +1 -0
  154. package/dist/adapters/postgres/workspace-store.js +94 -0
  155. package/dist/adapters/postgres/workspace-store.js.map +1 -0
  156. package/dist/adapters/qdrant/client.js +1 -1
  157. package/dist/adapters/qdrant/client.js.map +1 -1
  158. package/dist/adapters/qdrant/mapper.d.ts.map +1 -1
  159. package/dist/adapters/qdrant/mapper.js +11 -4
  160. package/dist/adapters/qdrant/mapper.js.map +1 -1
  161. package/dist/adapters/qdrant/vector-store.d.ts +1 -0
  162. package/dist/adapters/qdrant/vector-store.d.ts.map +1 -1
  163. package/dist/adapters/qdrant/vector-store.js +40 -10
  164. package/dist/adapters/qdrant/vector-store.js.map +1 -1
  165. package/dist/adapters/tree-sitter/parser.d.ts.map +1 -1
  166. package/dist/adapters/tree-sitter/parser.js +12 -12
  167. package/dist/adapters/tree-sitter/parser.js.map +1 -1
  168. package/dist/adapters/voyage/embedding-provider.js +2 -2
  169. package/dist/adapters/voyage/embedding-provider.js.map +1 -1
  170. package/dist/cli/add/code.d.ts +3 -0
  171. package/dist/cli/add/code.d.ts.map +1 -0
  172. package/dist/cli/add/code.js +97 -0
  173. package/dist/cli/add/code.js.map +1 -0
  174. package/dist/cli/add/csv.d.ts +3 -0
  175. package/dist/cli/add/csv.d.ts.map +1 -0
  176. package/dist/cli/add/csv.js +26 -0
  177. package/dist/cli/add/csv.js.map +1 -0
  178. package/dist/cli/add/db.d.ts +3 -0
  179. package/dist/cli/add/db.d.ts.map +1 -0
  180. package/dist/cli/add/db.js +46 -0
  181. package/dist/cli/add/db.js.map +1 -0
  182. package/dist/cli/add/git.d.ts +3 -0
  183. package/dist/cli/add/git.d.ts.map +1 -0
  184. package/dist/cli/add/git.js +26 -0
  185. package/dist/cli/add/git.js.map +1 -0
  186. package/dist/cli/add/github.d.ts +3 -0
  187. package/dist/cli/add/github.d.ts.map +1 -0
  188. package/dist/cli/add/github.js +32 -0
  189. package/dist/cli/add/github.js.map +1 -0
  190. package/dist/cli/add/index.d.ts +3 -0
  191. package/dist/cli/add/index.d.ts.map +1 -0
  192. package/dist/cli/add/index.js +18 -0
  193. package/dist/cli/add/index.js.map +1 -0
  194. package/dist/cli/add/jira.d.ts +3 -0
  195. package/dist/cli/add/jira.d.ts.map +1 -0
  196. package/dist/cli/add/jira.js +45 -0
  197. package/dist/cli/add/jira.js.map +1 -0
  198. package/dist/cli/add/shared.d.ts +31 -0
  199. package/dist/cli/add/shared.d.ts.map +1 -0
  200. package/dist/cli/add/shared.js +102 -0
  201. package/dist/cli/add/shared.js.map +1 -0
  202. package/dist/cli/board-server.js +1 -1
  203. package/dist/cli/board-server.js.map +1 -1
  204. package/dist/cli/board.d.ts.map +1 -1
  205. package/dist/cli/board.js +11 -12
  206. package/dist/cli/board.js.map +1 -1
  207. package/dist/cli/code.d.ts.map +1 -1
  208. package/dist/cli/code.js +95 -193
  209. package/dist/cli/code.js.map +1 -1
  210. package/dist/cli/embed.d.ts.map +1 -1
  211. package/dist/cli/embed.js +21 -26
  212. package/dist/cli/embed.js.map +1 -1
  213. package/dist/cli/graph.d.ts.map +1 -1
  214. package/dist/cli/graph.js +37 -55
  215. package/dist/cli/graph.js.map +1 -1
  216. package/dist/cli/index.js +28 -25
  217. package/dist/cli/index.js.map +1 -1
  218. package/dist/cli/init/cleanup.d.ts +11 -0
  219. package/dist/cli/init/cleanup.d.ts.map +1 -0
  220. package/dist/cli/init/cleanup.js +39 -0
  221. package/dist/cli/init/cleanup.js.map +1 -0
  222. package/dist/cli/init/generators.js +27 -27
  223. package/dist/cli/init/generators.js.map +1 -1
  224. package/dist/cli/init/index.d.ts +0 -10
  225. package/dist/cli/init/index.d.ts.map +1 -1
  226. package/dist/cli/init/index.js +386 -354
  227. package/dist/cli/init/index.js.map +1 -1
  228. package/dist/cli/init/presenter.d.ts +30 -0
  229. package/dist/cli/init/presenter.d.ts.map +1 -0
  230. package/dist/cli/init/presenter.js +152 -0
  231. package/dist/cli/init/presenter.js.map +1 -0
  232. package/dist/cli/init/prompts.d.ts +28 -0
  233. package/dist/cli/init/prompts.d.ts.map +1 -0
  234. package/dist/cli/init/prompts.js +110 -0
  235. package/dist/cli/init/prompts.js.map +1 -0
  236. package/dist/cli/init/setup-csv.js +2 -2
  237. package/dist/cli/init/setup-csv.js.map +1 -1
  238. package/dist/cli/init/setup-db.d.ts.map +1 -1
  239. package/dist/cli/init/setup-db.js +17 -14
  240. package/dist/cli/init/setup-db.js.map +1 -1
  241. package/dist/cli/init/setup-git.js +16 -16
  242. package/dist/cli/init/setup-git.js.map +1 -1
  243. package/dist/cli/init/setup-github.d.ts.map +1 -1
  244. package/dist/cli/init/setup-github.js +7 -5
  245. package/dist/cli/init/setup-github.js.map +1 -1
  246. package/dist/cli/init/setup-jira.d.ts.map +1 -1
  247. package/dist/cli/init/setup-jira.js +11 -9
  248. package/dist/cli/init/setup-jira.js.map +1 -1
  249. package/dist/cli/init/types.d.ts +4 -0
  250. package/dist/cli/init/types.d.ts.map +1 -1
  251. package/dist/cli/init/types.js +4 -4
  252. package/dist/cli/init/types.js.map +1 -1
  253. package/dist/cli/mcp-install.d.ts +1 -1
  254. package/dist/cli/mcp-install.d.ts.map +1 -1
  255. package/dist/cli/mcp-install.js +10 -24
  256. package/dist/cli/mcp-install.js.map +1 -1
  257. package/dist/cli/migrate-to-hub-impl.d.ts +51 -0
  258. package/dist/cli/migrate-to-hub-impl.d.ts.map +1 -0
  259. package/dist/cli/migrate-to-hub-impl.js +171 -0
  260. package/dist/cli/migrate-to-hub-impl.js.map +1 -0
  261. package/dist/cli/migrate-to-hub.d.ts +3 -0
  262. package/dist/cli/migrate-to-hub.d.ts.map +1 -0
  263. package/dist/cli/migrate-to-hub.js +90 -0
  264. package/dist/cli/migrate-to-hub.js.map +1 -0
  265. package/dist/cli/push.d.ts.map +1 -1
  266. package/dist/cli/push.js +62 -65
  267. package/dist/cli/push.js.map +1 -1
  268. package/dist/cli/sources.d.ts +0 -7
  269. package/dist/cli/sources.d.ts.map +1 -1
  270. package/dist/cli/sources.js +47 -112
  271. package/dist/cli/sources.js.map +1 -1
  272. package/dist/cli/status.d.ts +0 -3
  273. package/dist/cli/status.d.ts.map +1 -1
  274. package/dist/cli/status.js +95 -70
  275. package/dist/cli/status.js.map +1 -1
  276. package/dist/cli/sync.d.ts +0 -10
  277. package/dist/cli/sync.d.ts.map +1 -1
  278. package/dist/cli/sync.js +186 -317
  279. package/dist/cli/sync.js.map +1 -1
  280. package/dist/cli/workspace/add.d.ts +3 -0
  281. package/dist/cli/workspace/add.d.ts.map +1 -0
  282. package/dist/cli/workspace/add.js +38 -0
  283. package/dist/cli/workspace/add.js.map +1 -0
  284. package/dist/cli/workspace/index.d.ts +3 -0
  285. package/dist/cli/workspace/index.d.ts.map +1 -0
  286. package/dist/cli/workspace/index.js +16 -0
  287. package/dist/cli/workspace/index.js.map +1 -0
  288. package/dist/cli/workspace/info.d.ts +3 -0
  289. package/dist/cli/workspace/info.d.ts.map +1 -0
  290. package/dist/cli/workspace/info.js +69 -0
  291. package/dist/cli/workspace/info.js.map +1 -0
  292. package/dist/cli/workspace/list.d.ts +3 -0
  293. package/dist/cli/workspace/list.d.ts.map +1 -0
  294. package/dist/cli/workspace/list.js +36 -0
  295. package/dist/cli/workspace/list.js.map +1 -0
  296. package/dist/cli/workspace/remove.d.ts +3 -0
  297. package/dist/cli/workspace/remove.d.ts.map +1 -0
  298. package/dist/cli/workspace/remove.js +43 -0
  299. package/dist/cli/workspace/remove.js.map +1 -0
  300. package/dist/cli/workspace/shared.d.ts +7 -0
  301. package/dist/cli/workspace/shared.d.ts.map +1 -0
  302. package/dist/cli/workspace/shared.js +17 -0
  303. package/dist/cli/workspace/shared.js.map +1 -0
  304. package/dist/cli/workspace/use.d.ts +3 -0
  305. package/dist/cli/workspace/use.d.ts.map +1 -0
  306. package/dist/cli/workspace/use.js +27 -0
  307. package/dist/cli/workspace/use.js.map +1 -0
  308. package/dist/code-intel/file-discovery.js +3 -3
  309. package/dist/code-intel/file-discovery.js.map +1 -1
  310. package/dist/code-intel/indexer.js +8 -8
  311. package/dist/code-intel/indexer.js.map +1 -1
  312. package/dist/code-intel/lsp-resolver.js +5 -5
  313. package/dist/code-intel/lsp-resolver.js.map +1 -1
  314. package/dist/code-intel/ranker.d.ts +14 -0
  315. package/dist/code-intel/ranker.d.ts.map +1 -1
  316. package/dist/code-intel/ranker.js +54 -0
  317. package/dist/code-intel/ranker.js.map +1 -1
  318. package/dist/code-intel/resolver.js +4 -4
  319. package/dist/code-intel/resolver.js.map +1 -1
  320. package/dist/code-intel/tsconfig-paths.js +2 -2
  321. package/dist/code-intel/tsconfig-paths.js.map +1 -1
  322. package/dist/code-intel/watcher.js +4 -4
  323. package/dist/code-intel/watcher.js.map +1 -1
  324. package/dist/core/board/board-column.value-object.js +1 -1
  325. package/dist/core/board/board-column.value-object.js.map +1 -1
  326. package/dist/core/board/pipeline.value-object.js +1 -1
  327. package/dist/core/board/pipeline.value-object.js.map +1 -1
  328. package/dist/core/board/skill-execution.entity.js +1 -1
  329. package/dist/core/board/skill-execution.entity.js.map +1 -1
  330. package/dist/core/board/task-title.value-object.js +1 -1
  331. package/dist/core/board/task-title.value-object.js.map +1 -1
  332. package/dist/core/ports/chat-llm.d.ts +36 -0
  333. package/dist/core/ports/chat-llm.d.ts.map +1 -0
  334. package/dist/core/ports/chat-llm.js +2 -0
  335. package/dist/core/ports/chat-llm.js.map +1 -0
  336. package/dist/core/ports/code-meta.d.ts +4 -0
  337. package/dist/core/ports/code-meta.d.ts.map +1 -1
  338. package/dist/core/ports/code-vector-store.d.ts +5 -0
  339. package/dist/core/ports/code-vector-store.d.ts.map +1 -1
  340. package/dist/core/ports/docker-control.d.ts +44 -0
  341. package/dist/core/ports/docker-control.d.ts.map +1 -0
  342. package/dist/core/ports/docker-control.js +8 -0
  343. package/dist/core/ports/docker-control.js.map +1 -0
  344. package/dist/core/ports/hub-readiness-probe.d.ts +22 -0
  345. package/dist/core/ports/hub-readiness-probe.d.ts.map +1 -0
  346. package/dist/core/ports/hub-readiness-probe.js +2 -0
  347. package/dist/core/ports/hub-readiness-probe.js.map +1 -0
  348. package/dist/core/ports/index.d.ts +4 -0
  349. package/dist/core/ports/index.d.ts.map +1 -1
  350. package/dist/core/ports/ollama-control.d.ts +61 -0
  351. package/dist/core/ports/ollama-control.d.ts.map +1 -0
  352. package/dist/core/ports/ollama-control.js +7 -0
  353. package/dist/core/ports/ollama-control.js.map +1 -0
  354. package/dist/core/ports/platform-probe.d.ts +47 -0
  355. package/dist/core/ports/platform-probe.d.ts.map +1 -0
  356. package/dist/core/ports/platform-probe.js +8 -0
  357. package/dist/core/ports/platform-probe.js.map +1 -0
  358. package/dist/core/ports/storage.d.ts +62 -29
  359. package/dist/core/ports/storage.d.ts.map +1 -1
  360. package/dist/core/ports/workspace-store.d.ts +52 -0
  361. package/dist/core/ports/workspace-store.d.ts.map +1 -0
  362. package/dist/core/ports/workspace-store.js +2 -0
  363. package/dist/core/ports/workspace-store.js.map +1 -0
  364. package/dist/core/types/index.d.ts +2 -0
  365. package/dist/core/types/index.d.ts.map +1 -1
  366. package/dist/core/types/init.d.ts +29 -0
  367. package/dist/core/types/init.d.ts.map +1 -0
  368. package/dist/core/types/init.js +2 -0
  369. package/dist/core/types/init.js.map +1 -0
  370. package/dist/core/types/workspace.d.ts +78 -0
  371. package/dist/core/types/workspace.d.ts.map +1 -0
  372. package/dist/core/types/workspace.js +2 -0
  373. package/dist/core/types/workspace.js.map +1 -0
  374. package/dist/mcp/helpers.d.ts +121 -30
  375. package/dist/mcp/helpers.d.ts.map +1 -1
  376. package/dist/mcp/helpers.js +240 -264
  377. package/dist/mcp/helpers.js.map +1 -1
  378. package/dist/mcp/server.d.ts.map +1 -1
  379. package/dist/mcp/server.js +43 -5
  380. package/dist/mcp/server.js.map +1 -1
  381. package/dist/mcp/tools/code-graph.d.ts.map +1 -1
  382. package/dist/mcp/tools/code-graph.js +109 -74
  383. package/dist/mcp/tools/code-graph.js.map +1 -1
  384. package/dist/mcp/tools/code-hybrid.d.ts.map +1 -1
  385. package/dist/mcp/tools/code-hybrid.js +75 -51
  386. package/dist/mcp/tools/code-hybrid.js.map +1 -1
  387. package/dist/mcp/tools/code-search.d.ts.map +1 -1
  388. package/dist/mcp/tools/code-search.js +32 -32
  389. package/dist/mcp/tools/code-search.js.map +1 -1
  390. package/dist/mcp/tools/database.d.ts.map +1 -1
  391. package/dist/mcp/tools/database.js +86 -97
  392. package/dist/mcp/tools/database.js.map +1 -1
  393. package/dist/mcp/tools/estimate.d.ts.map +1 -1
  394. package/dist/mcp/tools/estimate.js +106 -82
  395. package/dist/mcp/tools/estimate.js.map +1 -1
  396. package/dist/mcp/tools/graph.d.ts.map +1 -1
  397. package/dist/mcp/tools/graph.js +142 -157
  398. package/dist/mcp/tools/graph.js.map +1 -1
  399. package/dist/mcp/tools/issue.d.ts.map +1 -1
  400. package/dist/mcp/tools/issue.js +172 -172
  401. package/dist/mcp/tools/issue.js.map +1 -1
  402. package/dist/mcp/tools/push.d.ts.map +1 -1
  403. package/dist/mcp/tools/push.js +70 -100
  404. package/dist/mcp/tools/push.js.map +1 -1
  405. package/dist/mcp/tools/query.d.ts.map +1 -1
  406. package/dist/mcp/tools/query.js +187 -246
  407. package/dist/mcp/tools/query.js.map +1 -1
  408. package/dist/mcp/tools/search.d.ts.map +1 -1
  409. package/dist/mcp/tools/search.js +25 -22
  410. package/dist/mcp/tools/search.js.map +1 -1
  411. package/dist/mcp/tools/workspace.d.ts.map +1 -1
  412. package/dist/mcp/tools/workspace.js +120 -73
  413. package/dist/mcp/tools/workspace.js.map +1 -1
  414. package/dist/use-cases/build-graph.d.ts +1 -1
  415. package/dist/use-cases/build-graph.d.ts.map +1 -1
  416. package/dist/use-cases/build-graph.js +63 -50
  417. package/dist/use-cases/build-graph.js.map +1 -1
  418. package/dist/use-cases/code-search.d.ts +29 -5
  419. package/dist/use-cases/code-search.d.ts.map +1 -1
  420. package/dist/use-cases/code-search.js +98 -9
  421. package/dist/use-cases/code-search.js.map +1 -1
  422. package/dist/use-cases/embed.d.ts +1 -1
  423. package/dist/use-cases/embed.d.ts.map +1 -1
  424. package/dist/use-cases/embed.js +5 -5
  425. package/dist/use-cases/embed.js.map +1 -1
  426. package/dist/use-cases/index-code.js +2 -2
  427. package/dist/use-cases/index-code.js.map +1 -1
  428. package/dist/use-cases/init/bootstrap-hub.d.ts +55 -0
  429. package/dist/use-cases/init/bootstrap-hub.d.ts.map +1 -0
  430. package/dist/use-cases/init/bootstrap-hub.js +116 -0
  431. package/dist/use-cases/init/bootstrap-hub.js.map +1 -0
  432. package/dist/use-cases/init/check-dims-conflict.d.ts +33 -0
  433. package/dist/use-cases/init/check-dims-conflict.d.ts.map +1 -0
  434. package/dist/use-cases/init/check-dims-conflict.js +39 -0
  435. package/dist/use-cases/init/check-dims-conflict.js.map +1 -0
  436. package/dist/use-cases/init/check-hub-exists.d.ts +23 -0
  437. package/dist/use-cases/init/check-hub-exists.d.ts.map +1 -0
  438. package/dist/use-cases/init/check-hub-exists.js +39 -0
  439. package/dist/use-cases/init/check-hub-exists.js.map +1 -0
  440. package/dist/use-cases/init/check-ports.d.ts +18 -0
  441. package/dist/use-cases/init/check-ports.d.ts.map +1 -0
  442. package/dist/use-cases/init/check-ports.js +25 -0
  443. package/dist/use-cases/init/check-ports.js.map +1 -0
  444. package/dist/use-cases/init/check-versions.d.ts +37 -0
  445. package/dist/use-cases/init/check-versions.d.ts.map +1 -0
  446. package/dist/use-cases/init/check-versions.js +50 -0
  447. package/dist/use-cases/init/check-versions.js.map +1 -0
  448. package/dist/use-cases/init/clear-stale-active.d.ts +20 -0
  449. package/dist/use-cases/init/clear-stale-active.d.ts.map +1 -0
  450. package/dist/use-cases/init/clear-stale-active.js +26 -0
  451. package/dist/use-cases/init/clear-stale-active.js.map +1 -0
  452. package/dist/use-cases/init/ensure-embedding-model.d.ts +20 -0
  453. package/dist/use-cases/init/ensure-embedding-model.d.ts.map +1 -0
  454. package/dist/use-cases/init/ensure-embedding-model.js +24 -0
  455. package/dist/use-cases/init/ensure-embedding-model.js.map +1 -0
  456. package/dist/use-cases/init/ensure-ollama-running.d.ts +19 -0
  457. package/dist/use-cases/init/ensure-ollama-running.d.ts.map +1 -0
  458. package/dist/use-cases/init/ensure-ollama-running.js +24 -0
  459. package/dist/use-cases/init/ensure-ollama-running.js.map +1 -0
  460. package/dist/use-cases/init/health-check-existing-llm.d.ts +25 -0
  461. package/dist/use-cases/init/health-check-existing-llm.d.ts.map +1 -0
  462. package/dist/use-cases/init/health-check-existing-llm.js +42 -0
  463. package/dist/use-cases/init/health-check-existing-llm.js.map +1 -0
  464. package/dist/use-cases/init/install-ollama.d.ts +27 -0
  465. package/dist/use-cases/init/install-ollama.d.ts.map +1 -0
  466. package/dist/use-cases/init/install-ollama.js +51 -0
  467. package/dist/use-cases/init/install-ollama.js.map +1 -0
  468. package/dist/use-cases/init/probe-llm.d.ts +32 -0
  469. package/dist/use-cases/init/probe-llm.d.ts.map +1 -0
  470. package/dist/use-cases/init/probe-llm.js +42 -0
  471. package/dist/use-cases/init/probe-llm.js.map +1 -0
  472. package/dist/use-cases/init/resolve-hub-ports.d.ts +46 -0
  473. package/dist/use-cases/init/resolve-hub-ports.d.ts.map +1 -0
  474. package/dist/use-cases/init/resolve-hub-ports.js +77 -0
  475. package/dist/use-cases/init/resolve-hub-ports.js.map +1 -0
  476. package/dist/use-cases/init/validate-workspace-name.d.ts +26 -0
  477. package/dist/use-cases/init/validate-workspace-name.d.ts.map +1 -0
  478. package/dist/use-cases/init/validate-workspace-name.js +39 -0
  479. package/dist/use-cases/init/validate-workspace-name.js.map +1 -0
  480. package/dist/use-cases/init/wait-for-docker.d.ts +16 -0
  481. package/dist/use-cases/init/wait-for-docker.d.ts.map +1 -0
  482. package/dist/use-cases/init/wait-for-docker.js +16 -0
  483. package/dist/use-cases/init/wait-for-docker.js.map +1 -0
  484. package/dist/use-cases/init/write-config-env.d.ts +32 -0
  485. package/dist/use-cases/init/write-config-env.d.ts.map +1 -0
  486. package/dist/use-cases/init/write-config-env.js +118 -0
  487. package/dist/use-cases/init/write-config-env.js.map +1 -0
  488. package/dist/use-cases/move-task.js +2 -2
  489. package/dist/use-cases/move-task.js.map +1 -1
  490. package/dist/use-cases/pull-db.d.ts +1 -1
  491. package/dist/use-cases/pull-db.d.ts.map +1 -1
  492. package/dist/use-cases/pull-db.js +3 -3
  493. package/dist/use-cases/pull-db.js.map +1 -1
  494. package/dist/use-cases/pull-git.d.ts +1 -1
  495. package/dist/use-cases/pull-git.d.ts.map +1 -1
  496. package/dist/use-cases/pull-git.js +5 -5
  497. package/dist/use-cases/pull-git.js.map +1 -1
  498. package/dist/use-cases/pull-github.d.ts +1 -1
  499. package/dist/use-cases/pull-github.d.ts.map +1 -1
  500. package/dist/use-cases/pull-github.js +6 -6
  501. package/dist/use-cases/pull-github.js.map +1 -1
  502. package/dist/use-cases/pull.d.ts +1 -1
  503. package/dist/use-cases/pull.d.ts.map +1 -1
  504. package/dist/use-cases/pull.js +6 -6
  505. package/dist/use-cases/pull.js.map +1 -1
  506. package/dist/use-cases/push.d.ts +2 -2
  507. package/dist/use-cases/push.d.ts.map +1 -1
  508. package/dist/use-cases/push.js +8 -8
  509. package/dist/use-cases/push.js.map +1 -1
  510. package/dist/use-cases/register-code-project.d.ts +8 -0
  511. package/dist/use-cases/register-code-project.d.ts.map +1 -1
  512. package/dist/use-cases/register-code-project.js +8 -0
  513. package/dist/use-cases/register-code-project.js.map +1 -1
  514. package/dist/use-cases/watch-code.js +1 -1
  515. package/dist/use-cases/watch-code.js.map +1 -1
  516. package/dist/workspace/active-workspace.d.ts +26 -0
  517. package/dist/workspace/active-workspace.d.ts.map +1 -0
  518. package/dist/workspace/active-workspace.js +69 -0
  519. package/dist/workspace/active-workspace.js.map +1 -0
  520. package/dist/workspace/adf.d.ts.map +1 -1
  521. package/dist/workspace/adf.js +20 -19
  522. package/dist/workspace/adf.js.map +1 -1
  523. package/dist/workspace/config.d.ts +11 -0
  524. package/dist/workspace/config.d.ts.map +1 -1
  525. package/dist/workspace/config.js +76 -22
  526. package/dist/workspace/config.js.map +1 -1
  527. package/dist/workspace/hub-config.d.ts +74 -0
  528. package/dist/workspace/hub-config.d.ts.map +1 -0
  529. package/dist/workspace/hub-config.js +164 -0
  530. package/dist/workspace/hub-config.js.map +1 -0
  531. package/dist/workspace/registry.d.ts +23 -3
  532. package/dist/workspace/registry.d.ts.map +1 -1
  533. package/dist/workspace/registry.js +32 -14
  534. package/dist/workspace/registry.js.map +1 -1
  535. package/dist/workspace/resolver.d.ts +20 -18
  536. package/dist/workspace/resolver.d.ts.map +1 -1
  537. package/dist/workspace/resolver.js +100 -59
  538. package/dist/workspace/resolver.js.map +1 -1
  539. package/package.json +4 -2
  540. package/templates/hub-config.env +65 -0
  541. package/templates/hub-docker-compose.yml +88 -0
  542. package/templates/migrate-to-hub.sql +90 -0
  543. package/dist/cli/workspaces.d.ts +0 -3
  544. package/dist/cli/workspaces.d.ts.map +0 -1
  545. package/dist/cli/workspaces.js +0 -34
  546. package/dist/cli/workspaces.js.map +0 -1
@@ -1,341 +1,299 @@
1
- import dotenv from 'dotenv';
2
- import { readdirSync, readFileSync, writeFileSync, existsSync, statSync, mkdirSync } from 'node:fs';
3
- import { join, dirname, basename } from 'node:path';
4
- import { homedir } from 'node:os';
5
- import { findWorkspaceRoot } from '../workspace/resolver.js';
6
- import { readConfig, getEnabledSources } from '../workspace/config.js';
7
- import { listRegisteredWorkspaces } from '../workspace/registry.js';
1
+ import { loadHubConfig } from '../workspace/hub-config.js';
2
+ import { getActiveWorkspace, setActiveWorkspace, clearActiveWorkspace, } from '../workspace/active-workspace.js';
3
+ import { readWorkspaceConfigFromHub } from '../workspace/config.js';
8
4
  let activeStorage = null;
9
- let overrideWorkspaceRoot = null;
10
- let initialEnvWorkspace = null;
11
- let initialEnvCaptured = false;
12
- function getActiveWsFile() {
13
- return join(homedir(), '.argustack', 'active-workspace.json');
5
+ let activeWorkspaceStore = null;
6
+ let activeCodeAdapters = null;
7
+ export function setActiveStorage(storage) {
8
+ activeStorage = storage;
14
9
  }
15
- function persistWorkspaceSwitch(fromPath, toPath) {
16
- const dir = join(homedir(), '.argustack');
17
- if (!existsSync(dir)) {
18
- mkdirSync(dir, { recursive: true });
19
- }
20
- let data = {};
21
- const filePath = getActiveWsFile();
22
- if (existsSync(filePath)) {
23
- try {
24
- data = JSON.parse(readFileSync(filePath, 'utf-8'));
25
- }
26
- catch { /* start fresh */ }
27
- }
28
- data[fromPath] = { switchedTo: toPath, switchedAt: new Date().toISOString() };
29
- writeFileSync(filePath, JSON.stringify(data, null, 2) + '\n');
10
+ export function getActiveStorage() {
11
+ return activeStorage;
30
12
  }
31
- function getPersistedWorkspaceSwitch(fromPath) {
32
- const filePath = getActiveWsFile();
33
- if (!existsSync(filePath)) {
34
- return null;
35
- }
36
- try {
37
- const data = JSON.parse(readFileSync(filePath, 'utf-8'));
38
- const entry = data[fromPath];
39
- if (entry?.switchedTo && existsSync(join(entry.switchedTo, '.argustack'))) {
40
- return entry.switchedTo;
41
- }
42
- }
43
- catch { /* ignore */ }
44
- return null;
13
+ export function setActiveWorkspaceStore(store) {
14
+ activeWorkspaceStore = store;
45
15
  }
46
- function clearPersistedWorkspaceSwitch(fromPath) {
47
- const filePath = getActiveWsFile();
48
- if (!existsSync(filePath)) {
49
- return;
50
- }
16
+ export async function getWorkspaceStore() {
17
+ if (activeWorkspaceStore !== null) {
18
+ return activeWorkspaceStore;
19
+ }
20
+ const { db } = loadHubConfig();
21
+ const { PostgresWorkspaceStore, createPool } = await import('../adapters/postgres/index.js');
22
+ const store = new PostgresWorkspaceStore(createPool(db));
23
+ activeWorkspaceStore = store;
24
+ return store;
25
+ }
26
+ /**
27
+ * Resolve the workspace for a tool invocation.
28
+ *
29
+ * Resolution order (mirrors {@link import('../workspace/resolver').requireWorkspaceId}):
30
+ * 1. `explicit` (the tool's `workspace_id` schema field).
31
+ * 2. `ARGUSTACK_WORKSPACE_ID` env var.
32
+ * 3. `~/.argustack/active-workspace.json#activeWorkspaceId`.
33
+ * 4. Auto-pick when exactly one workspace exists in the hub.
34
+ *
35
+ * Returns a structured result so MCP tools can render a tool-friendly
36
+ * error response instead of throwing.
37
+ */
38
+ export async function loadWorkspace(explicit) {
39
+ let store;
51
40
  try {
52
- const data = JSON.parse(readFileSync(filePath, 'utf-8'));
53
- Reflect.deleteProperty(data, fromPath);
54
- writeFileSync(filePath, JSON.stringify(data, null, 2) + '\n');
41
+ store = await getWorkspaceStore();
55
42
  }
56
- catch { /* ignore */ }
57
- }
58
- export function loadWorkspace() {
59
- if (!initialEnvCaptured) {
60
- initialEnvWorkspace = process.env['ARGUSTACK_WORKSPACE'] ?? null;
61
- initialEnvCaptured = true;
62
- if (initialEnvWorkspace && !overrideWorkspaceRoot) {
63
- const persisted = getPersistedWorkspaceSwitch(initialEnvWorkspace);
64
- if (persisted) {
65
- overrideWorkspaceRoot = persisted;
66
- }
67
- }
43
+ catch (err) {
44
+ return { ok: false, reason: getErrorMessage(err) };
68
45
  }
69
- if (overrideWorkspaceRoot) {
70
- const config = readConfig(overrideWorkspaceRoot);
71
- if (config) {
72
- return { ok: true, root: overrideWorkspaceRoot, config };
46
+ const explicitId = explicit?.trim();
47
+ if (explicitId !== undefined && explicitId.length > 0) {
48
+ const workspace = (await store.getById(explicitId)) ?? (await store.getByName(explicitId));
49
+ if (workspace === null) {
50
+ return { ok: false, reason: `Workspace "${explicitId}" not found in hub.` };
73
51
  }
74
- overrideWorkspaceRoot = null;
75
- if (initialEnvWorkspace) {
76
- clearPersistedWorkspaceSwitch(initialEnvWorkspace);
52
+ return buildResult(workspace, store);
53
+ }
54
+ const envId = process.env['ARGUSTACK_WORKSPACE_ID']?.trim();
55
+ if (envId !== undefined && envId.length > 0) {
56
+ const workspace = await store.getById(envId);
57
+ if (workspace === null) {
58
+ return { ok: false, reason: `ARGUSTACK_WORKSPACE_ID="${envId}" not found in hub.` };
77
59
  }
60
+ return buildResult(workspace, store);
78
61
  }
79
- const envVar = process.env['ARGUSTACK_WORKSPACE'];
80
- const root = findWorkspaceRoot();
81
- if (!root) {
82
- if (envVar) {
83
- return {
84
- ok: false,
85
- reason: `ARGUSTACK_WORKSPACE is set to "${envVar}" but no .argustack/ marker found there or in parent directories.`,
86
- };
62
+ const active = getActiveWorkspace();
63
+ if (active !== null) {
64
+ const workspace = await store.getById(active.activeWorkspaceId);
65
+ if (workspace !== null) {
66
+ return buildResult(workspace, store);
87
67
  }
88
- const registered = listRegisteredWorkspaces();
89
- if (registered.length > 0) {
90
- const names = registered.map((w) => w.name).join(', ');
91
- return {
92
- ok: false,
93
- reason: `Workspace not found from current directory. Available workspaces: ${names}. Use switch_workspace("name") to connect.`,
94
- };
68
+ clearActiveWorkspace();
69
+ }
70
+ const all = await store.list();
71
+ if (all.length === 1) {
72
+ const only = all[0];
73
+ if (only !== undefined) {
74
+ return buildResult(only, store);
95
75
  }
96
- return { ok: false, reason: 'No workspaces found. Run "argustack init" to create one.' };
97
76
  }
98
- const config = readConfig(root);
99
- if (!config) {
77
+ if (all.length === 0) {
100
78
  return {
101
79
  ok: false,
102
- reason: `Workspace found at ${root} but .argustack/config.json is missing or invalid. Run "argustack init".`,
80
+ reason: 'No workspaces registered. Run "argustack workspace add <name>" to create one.',
103
81
  };
104
82
  }
105
- return { ok: true, root, config };
83
+ const names = all.map((w) => w.name).join(', ');
84
+ return {
85
+ ok: false,
86
+ reason: `No active workspace. Pass workspace_id, or call switch_workspace. Available: ${names}.`,
87
+ };
88
+ }
89
+ async function buildResult(workspace, store) {
90
+ const config = await readWorkspaceConfigFromHub(workspace.id, store);
91
+ if (config === null) {
92
+ return { ok: false, reason: `Workspace "${workspace.id}" was not found after lookup.` };
93
+ }
94
+ return { ok: true, workspaceId: workspace.id, workspace, config };
106
95
  }
107
96
  /**
108
- * Switch to a different workspace by name.
109
- * Closes current storage connection, updates env, reloads .env.
97
+ * Switch the active workspace. Writes the hub `active-workspace.json`,
98
+ * touches `last_active_at`, and resets cached connections so subsequent
99
+ * tool calls reconnect with whatever per-workspace settings apply.
110
100
  */
111
101
  export async function switchWorkspace(name) {
112
- const currentRoot = overrideWorkspaceRoot ?? process.env['ARGUSTACK_WORKSPACE'];
113
- let targetDir = null;
114
- if (currentRoot) {
115
- const parentDir = dirname(currentRoot);
116
- const siblingDir = join(parentDir, name);
117
- if (existsSync(join(siblingDir, '.argustack'))) {
118
- targetDir = siblingDir;
119
- }
120
- }
121
- if (!targetDir) {
122
- const registered = listRegisteredWorkspaces(currentRoot ?? undefined);
123
- const match = registered.find((w) => w.name === name || basename(w.path) === name);
124
- if (match) {
125
- targetDir = match.path;
126
- }
127
- }
128
- if (!targetDir) {
129
- const available = listSiblingWorkspaces();
130
- const names = available.map((w) => w.name).join(', ');
131
- return {
132
- ok: false,
133
- reason: `Workspace '${name}' not found. Available: ${names || 'none'}`,
134
- };
135
- }
136
- if (activeStorage) {
102
+ const store = await getWorkspaceStore();
103
+ const workspace = (await store.getById(name)) ?? (await store.getByName(name));
104
+ if (workspace === null) {
105
+ const all = await store.list();
106
+ const joined = all.map((w) => w.name).join(', ');
107
+ const known = joined.length > 0 ? joined : 'none';
108
+ return { ok: false, reason: `Workspace "${name}" not found. Available: ${known}` };
109
+ }
110
+ setActiveWorkspace(workspace.id, workspace.name);
111
+ await store.touchActive(workspace.id);
112
+ if (activeStorage !== null) {
137
113
  try {
138
114
  await activeStorage.close();
139
115
  }
140
- catch { /* ignore close errors */ }
116
+ catch { /* ignore */ }
141
117
  activeStorage = null;
142
118
  }
143
- overrideWorkspaceRoot = targetDir;
144
- process.env['ARGUSTACK_WORKSPACE'] = targetDir;
145
- if (initialEnvWorkspace) {
146
- if (targetDir === initialEnvWorkspace) {
147
- clearPersistedWorkspaceSwitch(initialEnvWorkspace);
148
- overrideWorkspaceRoot = null;
149
- }
150
- else {
151
- persistWorkspaceSwitch(initialEnvWorkspace, targetDir);
119
+ if (activeCodeAdapters !== null) {
120
+ try {
121
+ await activeCodeAdapters.storage.close();
152
122
  }
123
+ catch { /* ignore */ }
124
+ activeCodeAdapters = null;
153
125
  }
154
- const keysToRemove = Object.keys(process.env).filter((key) => key.startsWith('JIRA_') || key.startsWith('GIT_') || key.startsWith('GITHUB_') ||
155
- key.startsWith('DB_') || key.startsWith('TARGET_DB_') || key.startsWith('CSV_') ||
156
- key === 'OPENAI_API_KEY');
157
- for (const key of keysToRemove) {
158
- Reflect.deleteProperty(process.env, key);
159
- }
160
- dotenv.config({ path: join(targetDir, '.env'), override: true });
161
- return loadWorkspace();
126
+ return buildResult(workspace, store);
162
127
  }
163
128
  /**
164
- * Scan parent directory for sibling workspaces.
129
+ * Build the per-tool adapter set. The hub Postgres pool is reused
130
+ * across invocations via {@link activeStorage}; the source provider
131
+ * (Jira/proxy) is recreated each call since per-workspace project
132
+ * filters can change.
165
133
  */
166
- export function listSiblingWorkspaces() {
167
- const currentRoot = overrideWorkspaceRoot ?? process.env['ARGUSTACK_WORKSPACE'];
168
- if (!currentRoot) {
169
- return [];
170
- }
171
- const parentDir = dirname(currentRoot);
172
- const currentName = basename(currentRoot);
173
- let entries;
174
- try {
175
- entries = readdirSync(parentDir);
176
- }
177
- catch {
178
- return [];
179
- }
180
- const workspaces = [];
181
- for (const name of entries) {
182
- if (name.startsWith('.')) {
183
- continue;
184
- }
185
- const subdir = join(parentDir, name);
186
- try {
187
- if (!statSync(subdir).isDirectory()) {
188
- continue;
189
- }
190
- }
191
- catch {
192
- continue;
193
- }
194
- if (!existsSync(join(subdir, '.argustack'))) {
195
- continue;
196
- }
197
- const config = readConfig(subdir);
198
- if (!config) {
199
- continue;
200
- }
201
- workspaces.push({
202
- name: config.name ?? name,
203
- path: subdir,
204
- sources: getEnabledSources(config),
205
- active: name === currentName,
206
- });
207
- }
208
- const registered = listRegisteredWorkspaces(currentRoot);
209
- for (const rw of registered) {
210
- const alreadyListed = workspaces.some((w) => w.path === rw.path);
211
- if (!alreadyListed) {
212
- workspaces.push(rw);
213
- }
214
- }
215
- return workspaces;
216
- }
217
- export function setActiveStorage(storage) {
218
- activeStorage = storage;
219
- }
220
- export function getActiveStorage() {
221
- return activeStorage;
222
- }
223
- export async function createAdapters(workspaceRoot) {
224
- dotenv.config({ path: `${workspaceRoot}/.env`, override: true });
225
- const { JIRA_URL, JIRA_EMAIL, JIRA_API_TOKEN } = process.env;
226
- const { DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME } = process.env;
134
+ export async function createAdapters(workspaceId) {
135
+ const hub = loadHubConfig();
136
+ const store = await getWorkspaceStore();
137
+ const workspace = await store.getById(workspaceId);
138
+ if (workspace === null) {
139
+ throw new Error(`Workspace "${workspaceId}" not found in hub.`);
140
+ }
141
+ if (activeStorage === null) {
142
+ const { PostgresStorage } = await import('../adapters/postgres/index.js');
143
+ activeStorage = new PostgresStorage(hub.db);
144
+ }
145
+ const issueTypeIds = undefined;
227
146
  let source = null;
228
- const wsConfig = readConfig(workspaceRoot);
229
- const issueTypes = wsConfig?.sources.jira?.issueTypeIds;
230
- const { proxyConfigExists, loadProxyConfig, ProxyJiraProvider } = await import('../adapters/jira-proxy/index.js');
231
- if (proxyConfigExists(workspaceRoot)) {
232
- const proxyConfig = loadProxyConfig(workspaceRoot);
233
- source = new ProxyJiraProvider(proxyConfig, issueTypes);
234
- }
235
- else if (JIRA_URL && JIRA_EMAIL && JIRA_API_TOKEN) {
147
+ const { proxyConfigExistsForWorkspace, loadProxyConfigForWorkspace, ProxyJiraProvider } = await import('../adapters/jira-proxy/index.js');
148
+ if (proxyConfigExistsForWorkspace(workspace.id)) {
149
+ const proxyConfig = loadProxyConfigForWorkspace(workspace.id);
150
+ source = new ProxyJiraProvider(proxyConfig, issueTypeIds);
151
+ }
152
+ else if (hasText(hub.credentials.jiraUrl)
153
+ && hasText(hub.credentials.jiraEmail)
154
+ && hasText(hub.credentials.jiraApiToken)) {
236
155
  const { JiraProvider } = await import('../adapters/jira/index.js');
237
156
  source = new JiraProvider({
238
- host: JIRA_URL,
239
- email: JIRA_EMAIL,
240
- apiToken: JIRA_API_TOKEN,
241
- }, issueTypes);
157
+ host: hub.credentials.jiraUrl,
158
+ email: hub.credentials.jiraEmail,
159
+ apiToken: hub.credentials.jiraApiToken,
160
+ }, issueTypeIds);
242
161
  }
243
- const { PostgresStorage } = await import('../adapters/postgres/index.js');
244
- const storage = new PostgresStorage({
245
- host: DB_HOST ?? 'localhost',
246
- port: parseInt(DB_PORT ?? '5434', 10),
247
- user: DB_USER ?? 'argustack',
248
- password: DB_PASSWORD ?? 'argustack_local',
249
- database: DB_NAME ?? 'argustack',
250
- });
251
- return { source, storage };
162
+ return { source, storage: activeStorage, workspaceId };
252
163
  }
253
- let activeCodeAdapters = null;
254
164
  export function setActiveCodeAdapters(adapters) {
255
- activeCodeAdapters = adapters;
165
+ activeCodeAdapters = adapters !== null
166
+ ? { ...adapters, projectRoot: '' }
167
+ : null;
256
168
  }
257
169
  export function getActiveCodeAdapters() {
258
170
  return activeCodeAdapters;
259
171
  }
260
172
  /**
261
- * Build adapters needed by code-intelligence MCP tools.
262
- * Returns null if env is missing required vars (NEO4J_URI, QDRANT_URL,
263
- * VOYAGE_API_KEY). Caller must report the error to the user via errorResponse.
173
+ * Build adapters used by code-intelligence MCP tools for a specific
174
+ * workspace. Returns `null` if the hub config is missing the bits
175
+ * required by the chosen embedding provider.
264
176
  */
265
- export async function createCodeAdapters(workspaceRoot) {
266
- if (activeCodeAdapters) {
177
+ export async function createCodeAdapters(workspaceId) {
178
+ if (activeCodeAdapters !== null) {
267
179
  return activeCodeAdapters;
268
180
  }
269
- dotenv.config({ path: `${workspaceRoot}/.env`, override: false });
270
- const { NEO4J_URI, NEO4J_USER, NEO4J_PASSWORD, QDRANT_URL, QDRANT_API_KEY, VOYAGE_API_KEY, LMSTUDIO_URL, EMBEDDING_MODEL, EMBEDDING_DIMS, CODE_EMBEDDING_PROVIDER, RERANK_MODEL, } = process.env;
271
- if (!NEO4J_URI || !QDRANT_URL) {
181
+ const hub = loadHubConfig();
182
+ const store = await getWorkspaceStore();
183
+ const workspace = await store.getById(workspaceId);
184
+ if (workspace === null) {
272
185
  return null;
273
186
  }
274
- const provider = (CODE_EMBEDDING_PROVIDER ?? 'lmstudio').toLowerCase();
275
- if (provider === 'voyage' && !VOYAGE_API_KEY) {
187
+ if (hub.embedding.provider === 'voyage' && !hasText(hub.embedding.voyageApiKey)) {
276
188
  return null;
277
189
  }
278
190
  const { PostgresStorage } = await import('../adapters/postgres/index.js');
279
191
  const { Neo4jCodeGraphStore } = await import('../adapters/neo4j/index.js');
280
192
  const { QdrantCodeVectorStore } = await import('../adapters/qdrant/index.js');
281
193
  const { TreeSitterParser } = await import('../adapters/tree-sitter/index.js');
282
- const { DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME } = process.env;
283
- const storage = new PostgresStorage({
284
- host: DB_HOST ?? 'localhost',
285
- port: parseInt(DB_PORT ?? '5434', 10),
286
- user: DB_USER ?? 'argustack',
287
- password: DB_PASSWORD ?? 'argustack_local',
288
- database: DB_NAME ?? 'argustack',
289
- });
290
- const graph = new Neo4jCodeGraphStore({
291
- uri: NEO4J_URI,
292
- user: NEO4J_USER ?? 'neo4j',
293
- password: NEO4J_PASSWORD ?? 'argustack_local',
294
- });
295
- const qdrantOpts = {
296
- url: QDRANT_URL,
297
- };
298
- if (QDRANT_API_KEY) {
299
- qdrantOpts.apiKey = QDRANT_API_KEY;
300
- }
301
- const vec = new QdrantCodeVectorStore(qdrantOpts);
302
- const parser = new TreeSitterParser({ projectRoot: workspaceRoot });
194
+ const storage = new PostgresStorage(hub.db);
195
+ const graph = new Neo4jCodeGraphStore(hub.neo4j);
196
+ const vec = new QdrantCodeVectorStore({ url: hub.qdrant.url });
197
+ const projectRoot = workspace.settings?.gitRepoPaths?.[0] ?? hub.hubDir;
198
+ const parser = new TreeSitterParser({ projectRoot });
303
199
  let embedding;
304
- if (provider === 'voyage' && VOYAGE_API_KEY) {
200
+ if (hub.embedding.provider === 'voyage' && hasText(hub.embedding.voyageApiKey)) {
305
201
  const { VoyageCodeEmbeddingProvider } = await import('../adapters/voyage/index.js');
306
- embedding = new VoyageCodeEmbeddingProvider({ apiKey: VOYAGE_API_KEY });
202
+ embedding = new VoyageCodeEmbeddingProvider({ apiKey: hub.embedding.voyageApiKey });
203
+ }
204
+ else if (hub.embedding.provider === 'ollama' || hub.embedding.provider === 'custom') {
205
+ const { OllamaCodeEmbeddingProvider } = await import('../adapters/ollama/index.js');
206
+ const url = hub.embedding.provider === 'custom'
207
+ ? hub.embedding.customUrl
208
+ : hub.embedding.ollamaUrl;
209
+ embedding = new OllamaCodeEmbeddingProvider({
210
+ model: hub.embedding.model,
211
+ dimensions: hub.embedding.dimensions,
212
+ ...(hasText(url) ? { url } : {}),
213
+ });
307
214
  }
308
215
  else {
309
216
  const { LmStudioCodeEmbeddingProvider } = await import('../adapters/lmstudio/index.js');
310
- const lmsOpts = {};
311
- if (LMSTUDIO_URL) {
312
- lmsOpts.url = LMSTUDIO_URL;
313
- }
314
- if (EMBEDDING_MODEL) {
315
- lmsOpts.model = EMBEDDING_MODEL;
316
- }
317
- if (EMBEDDING_DIMS) {
318
- lmsOpts.dimensions = parseInt(EMBEDDING_DIMS, 10);
217
+ const lmsOpts = {
218
+ model: hub.embedding.model,
219
+ dimensions: hub.embedding.dimensions,
220
+ };
221
+ if (hasText(hub.embedding.lmstudioUrl)) {
222
+ lmsOpts.url = hub.embedding.lmstudioUrl;
319
223
  }
320
- if (RERANK_MODEL) {
321
- lmsOpts.rerankModel = RERANK_MODEL;
224
+ if (hasText(hub.embedding.rerankModel)) {
225
+ lmsOpts.rerankModel = hub.embedding.rerankModel;
322
226
  }
323
227
  embedding = new LmStudioCodeEmbeddingProvider(lmsOpts);
324
228
  }
325
- return { graph, vec, parser, embedding, meta: storage, storage };
229
+ let chatLlm = null;
230
+ if (hub.chatLlm !== null) {
231
+ if (hub.chatLlm.provider === 'ollama') {
232
+ const { OllamaChatLlm } = await import('../adapters/ollama/index.js');
233
+ chatLlm = new OllamaChatLlm({
234
+ model: hub.chatLlm.model,
235
+ ...(hasText(hub.chatLlm.url) ? { url: hub.chatLlm.url } : {}),
236
+ });
237
+ }
238
+ }
239
+ activeCodeAdapters = { graph, vec, parser, embedding, meta: storage, storage, chatLlm, projectRoot };
240
+ return activeCodeAdapters;
326
241
  }
242
+ /**
243
+ * Annotation presets reused across MCP tool registrations.
244
+ * Mirrors the `ToolAnnotations` shape from @modelcontextprotocol/sdk.
245
+ *
246
+ * - READ_ONLY — pure query, no side effects, safe to retry.
247
+ * - LOCAL_WRITE — mutates hub-local state (board.md / Postgres rows),
248
+ * no remote calls (e.g. create_issue with source='local').
249
+ * - REMOTE_WRITE — pushes to or pulls from external systems (Jira, GitHub).
250
+ * destructiveHint flips on so clients can warn the user
251
+ * before invocation.
252
+ */
253
+ export const ANNOTATIONS = {
254
+ READ_ONLY: { readOnlyHint: true, idempotentHint: true, openWorldHint: false },
255
+ REMOTE_READ: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
256
+ LOCAL_WRITE: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false },
257
+ REMOTE_WRITE: { readOnlyHint: false, destructiveHint: true, idempotentHint: false, openWorldHint: true },
258
+ };
327
259
  export function textResponse(text) {
328
260
  return { content: [{ type: 'text', text }] };
329
261
  }
330
262
  export function errorResponse(text) {
331
263
  return { content: [{ type: 'text', text }], isError: true };
332
264
  }
265
+ /**
266
+ * Standard "workspace not found" error response for MCP tools.
267
+ *
268
+ * Wraps the technical {@link WorkspaceResult.reason} in a UX-friendly
269
+ * message that always contains the marker "Workspace not found" so
270
+ * clients and tests can detect it regardless of which underlying
271
+ * resolution step failed (no `.argustack/`, missing env var, unknown
272
+ * id, etc.).
273
+ */
274
+ export function workspaceNotFoundResponse(reason) {
275
+ return errorResponse(`No Argustack workspace found (Workspace not found): ${reason}.\n` +
276
+ 'Run `argustack init` to create one, or pass workspace_id.');
277
+ }
333
278
  export function getErrorMessage(err) {
334
279
  if (err instanceof Error) {
335
280
  return err.message;
336
281
  }
337
282
  return String(err);
338
283
  }
284
+ /**
285
+ * High-level helper: resolve workspace, build adapters, run callback.
286
+ * Centralises the boilerplate for MCP tools that just need a scoped
287
+ * `storage` and `workspaceId`.
288
+ */
289
+ export async function withWorkspace(explicit, fn) {
290
+ const ws = await loadWorkspace(explicit);
291
+ if (!ws.ok) {
292
+ return workspaceNotFoundResponse(ws.reason);
293
+ }
294
+ const { storage } = await createAdapters(ws.workspaceId);
295
+ return fn({ storage, workspaceId: ws.workspaceId, workspace: ws.workspace, config: ws.config });
296
+ }
339
297
  export function str(value) {
340
298
  if (value === null || value === undefined) {
341
299
  return '';
@@ -351,5 +309,23 @@ export function str(value) {
351
309
  }
352
310
  return JSON.stringify(value);
353
311
  }
354
- export { getEnabledSources };
312
+ /**
313
+ * Render `value` via {@link str}, but substitute `fallback` when the
314
+ * result is the empty string. Replaces the deprecated `str(x) || 'N/A'`
315
+ * pattern in a way that satisfies @typescript-eslint/strict-boolean-expressions.
316
+ */
317
+ export function strOr(value, fallback) {
318
+ const result = str(value);
319
+ return result.length > 0 ? result : fallback;
320
+ }
321
+ /**
322
+ * Render a possibly-null/undefined string with a fallback.
323
+ */
324
+ export function nullableStr(value, fallback) {
325
+ return value !== null && value !== undefined && value.length > 0 ? value : fallback;
326
+ }
327
+ /** True when `value` is a non-empty string. */
328
+ export function hasText(value) {
329
+ return value !== null && value !== undefined && value.length > 0;
330
+ }
355
331
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/mcp/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/mcp/helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";AAEA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+BpE,eAAO,MAAM,MAAM,WAWjB,CAAC;AAcH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAIpD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";AAEA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoEpE,eAAO,MAAM,MAAM,WAajB,CAAC;AAcH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAIpD"}