@mc1global/opencode-jarvis 0.13.0 → 0.14.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 (832) hide show
  1. package/CHANGELOG.md +391 -0
  2. package/README.md +55 -29
  3. package/dist/application/agent-registry/dtos.d.ts.map +1 -1
  4. package/dist/application/agent-registry/use-cases.d.ts +0 -14
  5. package/dist/application/agent-registry/use-cases.d.ts.map +1 -1
  6. package/dist/application/agent-registry/use-cases.js +1 -0
  7. package/dist/application/agent-registry/use-cases.js.map +1 -1
  8. package/dist/application/azure-sync/comment-intent-service.d.ts +73 -0
  9. package/dist/application/azure-sync/comment-intent-service.d.ts.map +1 -0
  10. package/dist/application/azure-sync/comment-intent-service.js +105 -0
  11. package/dist/application/azure-sync/comment-intent-service.js.map +1 -0
  12. package/dist/application/azure-sync/dtos.d.ts.map +1 -1
  13. package/dist/application/azure-sync/field-builders.d.ts +2 -2
  14. package/dist/application/azure-sync/field-builders.d.ts.map +1 -1
  15. package/dist/application/azure-sync/field-builders.js +1 -1
  16. package/dist/application/azure-sync/field-builders.js.map +1 -1
  17. package/dist/application/azure-sync/intent-executor.d.ts +54 -0
  18. package/dist/application/azure-sync/intent-executor.d.ts.map +1 -0
  19. package/dist/application/azure-sync/intent-executor.js +130 -0
  20. package/dist/application/azure-sync/intent-executor.js.map +1 -0
  21. package/dist/application/azure-sync/intent-reply-builder.d.ts +41 -0
  22. package/dist/application/azure-sync/intent-reply-builder.d.ts.map +1 -0
  23. package/dist/application/azure-sync/intent-reply-builder.js +57 -0
  24. package/dist/application/azure-sync/intent-reply-builder.js.map +1 -0
  25. package/dist/application/azure-sync/kanban-card-sync-adapter.d.ts +39 -0
  26. package/dist/application/azure-sync/kanban-card-sync-adapter.d.ts.map +1 -0
  27. package/dist/application/azure-sync/kanban-card-sync-adapter.js +74 -0
  28. package/dist/application/azure-sync/kanban-card-sync-adapter.js.map +1 -0
  29. package/dist/application/azure-sync/kanban-sync-ports.d.ts +60 -0
  30. package/dist/application/azure-sync/kanban-sync-ports.d.ts.map +1 -0
  31. package/dist/application/azure-sync/kanban-sync-ports.js +17 -0
  32. package/dist/application/azure-sync/kanban-sync-ports.js.map +1 -0
  33. package/dist/application/azure-sync/poll-service.d.ts +2 -0
  34. package/dist/application/azure-sync/poll-service.d.ts.map +1 -1
  35. package/dist/application/azure-sync/poll-service.js +64 -18
  36. package/dist/application/azure-sync/poll-service.js.map +1 -1
  37. package/dist/application/azure-sync/pr-use-cases.d.ts +1 -4
  38. package/dist/application/azure-sync/pr-use-cases.d.ts.map +1 -1
  39. package/dist/application/azure-sync/pr-use-cases.js +2 -7
  40. package/dist/application/azure-sync/pr-use-cases.js.map +1 -1
  41. package/dist/application/azure-sync/pull-use-cases.d.ts.map +1 -1
  42. package/dist/application/azure-sync/pull-use-cases.js +47 -14
  43. package/dist/application/azure-sync/pull-use-cases.js.map +1 -1
  44. package/dist/application/azure-sync/push-entity-use-cases.d.ts +40 -0
  45. package/dist/application/azure-sync/push-entity-use-cases.d.ts.map +1 -0
  46. package/dist/application/azure-sync/push-entity-use-cases.js +266 -0
  47. package/dist/application/azure-sync/push-entity-use-cases.js.map +1 -0
  48. package/dist/application/azure-sync/push-use-cases.d.ts +9 -21
  49. package/dist/application/azure-sync/push-use-cases.d.ts.map +1 -1
  50. package/dist/application/azure-sync/push-use-cases.js +14 -229
  51. package/dist/application/azure-sync/push-use-cases.js.map +1 -1
  52. package/dist/application/azure-sync/reverse-field-builder.d.ts.map +1 -1
  53. package/dist/application/azure-sync/reverse-field-builder.js +1 -1
  54. package/dist/application/azure-sync/reverse-field-builder.js.map +1 -1
  55. package/dist/application/azure-sync/task-push-use-cases.d.ts +13 -13
  56. package/dist/application/azure-sync/task-push-use-cases.d.ts.map +1 -1
  57. package/dist/application/azure-sync/task-push-use-cases.js +5 -22
  58. package/dist/application/azure-sync/task-push-use-cases.js.map +1 -1
  59. package/dist/application/bootstrap/healthcheck-use-cases.d.ts +13 -0
  60. package/dist/application/bootstrap/healthcheck-use-cases.d.ts.map +1 -1
  61. package/dist/application/bootstrap/healthcheck-use-cases.js +4 -5
  62. package/dist/application/bootstrap/healthcheck-use-cases.js.map +1 -1
  63. package/dist/application/bootstrap/index.d.ts.map +1 -1
  64. package/dist/application/bootstrap/index.js.map +1 -1
  65. package/dist/application/bootstrap/ports.d.ts +29 -0
  66. package/dist/application/bootstrap/ports.d.ts.map +1 -0
  67. package/dist/application/bootstrap/ports.js +12 -0
  68. package/dist/application/bootstrap/ports.js.map +1 -0
  69. package/dist/application/bootstrap/terminal-commands-use-cases.d.ts.map +1 -1
  70. package/dist/application/bootstrap/terminal-commands-use-cases.js +1 -1
  71. package/dist/application/bootstrap/terminal-commands-use-cases.js.map +1 -1
  72. package/dist/application/bootstrap/use-cases.d.ts +29 -30
  73. package/dist/application/bootstrap/use-cases.d.ts.map +1 -1
  74. package/dist/application/bootstrap/use-cases.js +84 -81
  75. package/dist/application/bootstrap/use-cases.js.map +1 -1
  76. package/dist/application/config/config-service.d.ts +7 -21
  77. package/dist/application/config/config-service.d.ts.map +1 -1
  78. package/dist/application/config/config-service.js +8 -5
  79. package/dist/application/config/config-service.js.map +1 -1
  80. package/dist/application/config/config-write-service.d.ts +4 -23
  81. package/dist/application/config/config-write-service.d.ts.map +1 -1
  82. package/dist/application/config/config-write-service.js +2 -1
  83. package/dist/application/config/config-write-service.js.map +1 -1
  84. package/dist/application/context-memory/execution-journal-use-cases.d.ts.map +1 -1
  85. package/dist/application/context-memory/execution-journal-use-cases.js +10 -0
  86. package/dist/application/context-memory/execution-journal-use-cases.js.map +1 -1
  87. package/dist/application/context-memory/note-use-cases.d.ts.map +1 -1
  88. package/dist/application/context-memory/note-use-cases.js +10 -0
  89. package/dist/application/context-memory/note-use-cases.js.map +1 -1
  90. package/dist/application/context-memory/session-use-cases.d.ts.map +1 -1
  91. package/dist/application/context-memory/session-use-cases.js +10 -0
  92. package/dist/application/context-memory/session-use-cases.js.map +1 -1
  93. package/dist/application/context-memory/todo-use-cases.d.ts.map +1 -1
  94. package/dist/application/context-memory/todo-use-cases.js +10 -0
  95. package/dist/application/context-memory/todo-use-cases.js.map +1 -1
  96. package/dist/application/domain-map/dtos.d.ts.map +1 -1
  97. package/dist/application/domain-map/use-cases.d.ts +3 -23
  98. package/dist/application/domain-map/use-cases.d.ts.map +1 -1
  99. package/dist/application/domain-map/use-cases.js +5 -5
  100. package/dist/application/domain-map/use-cases.js.map +1 -1
  101. package/dist/application/environment/use-cases.d.ts +73 -4
  102. package/dist/application/environment/use-cases.d.ts.map +1 -1
  103. package/dist/application/environment/use-cases.js +5 -1
  104. package/dist/application/environment/use-cases.js.map +1 -1
  105. package/dist/application/governance/dtos.d.ts +29 -0
  106. package/dist/application/governance/dtos.d.ts.map +1 -0
  107. package/dist/application/governance/dtos.js +11 -0
  108. package/dist/application/governance/dtos.js.map +1 -0
  109. package/dist/application/governance/validation-use-cases.d.ts +1 -19
  110. package/dist/application/governance/validation-use-cases.d.ts.map +1 -1
  111. package/dist/application/governance/validation-use-cases.js +11 -0
  112. package/dist/application/governance/validation-use-cases.js.map +1 -1
  113. package/dist/application/kanban/board-use-cases.d.ts +12 -18
  114. package/dist/application/kanban/board-use-cases.d.ts.map +1 -1
  115. package/dist/application/kanban/board-use-cases.js +11 -38
  116. package/dist/application/kanban/board-use-cases.js.map +1 -1
  117. package/dist/application/kanban/card-gate-use-cases.d.ts +24 -0
  118. package/dist/application/kanban/card-gate-use-cases.d.ts.map +1 -0
  119. package/dist/application/kanban/card-gate-use-cases.js +71 -0
  120. package/dist/application/kanban/card-gate-use-cases.js.map +1 -0
  121. package/dist/application/kanban/card-use-cases.d.ts +7 -9
  122. package/dist/application/kanban/card-use-cases.d.ts.map +1 -1
  123. package/dist/application/kanban/card-use-cases.js +60 -92
  124. package/dist/application/kanban/card-use-cases.js.map +1 -1
  125. package/dist/application/kanban/dtos.d.ts +14 -0
  126. package/dist/application/kanban/dtos.d.ts.map +1 -1
  127. package/dist/application/kanban/dtos.js +38 -1
  128. package/dist/application/kanban/dtos.js.map +1 -1
  129. package/dist/application/kanban/sprint-use-cases.d.ts +2 -2
  130. package/dist/application/kanban/sprint-use-cases.d.ts.map +1 -1
  131. package/dist/application/kanban/sprint-use-cases.js +10 -0
  132. package/dist/application/kanban/sprint-use-cases.js.map +1 -1
  133. package/dist/application/pipeline/dtos.d.ts +157 -73
  134. package/dist/application/pipeline/dtos.d.ts.map +1 -1
  135. package/dist/application/pipeline/dtos.js +5 -5
  136. package/dist/application/pipeline/use-cases.d.ts +10 -13
  137. package/dist/application/pipeline/use-cases.d.ts.map +1 -1
  138. package/dist/application/pipeline/use-cases.js +1 -0
  139. package/dist/application/pipeline/use-cases.js.map +1 -1
  140. package/dist/application/rag/dtos.d.ts.map +1 -1
  141. package/dist/application/rag/oracle-use-cases.d.ts.map +1 -1
  142. package/dist/application/rag/oracle-use-cases.js +11 -1
  143. package/dist/application/rag/oracle-use-cases.js.map +1 -1
  144. package/dist/application/rag/rag-mutation-use-cases.d.ts +61 -0
  145. package/dist/application/rag/rag-mutation-use-cases.d.ts.map +1 -0
  146. package/dist/application/rag/rag-mutation-use-cases.js +155 -0
  147. package/dist/application/rag/rag-mutation-use-cases.js.map +1 -0
  148. package/dist/application/rag/use-cases.d.ts +10 -5
  149. package/dist/application/rag/use-cases.d.ts.map +1 -1
  150. package/dist/application/rag/use-cases.js +97 -191
  151. package/dist/application/rag/use-cases.js.map +1 -1
  152. package/dist/application/token-metrics/dtos.d.ts.map +1 -1
  153. package/dist/application/token-metrics/tracking-use-cases.d.ts.map +1 -1
  154. package/dist/application/token-metrics/tracking-use-cases.js +13 -3
  155. package/dist/application/token-metrics/tracking-use-cases.js.map +1 -1
  156. package/dist/application/vault/dtos.d.ts.map +1 -1
  157. package/dist/application/vault/use-cases.d.ts +1 -1
  158. package/dist/application/vault/use-cases.d.ts.map +1 -1
  159. package/dist/application/vault/use-cases.js +11 -0
  160. package/dist/application/vault/use-cases.js.map +1 -1
  161. package/dist/application/vault/vault-manager.d.ts +1 -1
  162. package/dist/application/vault/vault-manager.d.ts.map +1 -1
  163. package/dist/application/vault/vault-manager.js +26 -6
  164. package/dist/application/vault/vault-manager.js.map +1 -1
  165. package/dist/application/workspace-registry/dtos.d.ts.map +1 -1
  166. package/dist/application/workspace-registry/use-cases.d.ts +65 -15
  167. package/dist/application/workspace-registry/use-cases.d.ts.map +1 -1
  168. package/dist/application/workspace-registry/use-cases.js +5 -4
  169. package/dist/application/workspace-registry/use-cases.js.map +1 -1
  170. package/dist/composition/hooks.d.ts +15 -0
  171. package/dist/composition/hooks.d.ts.map +1 -0
  172. package/dist/composition/hooks.js +113 -0
  173. package/dist/composition/hooks.js.map +1 -0
  174. package/dist/composition/infrastructure.d.ts +84 -0
  175. package/dist/composition/infrastructure.d.ts.map +1 -0
  176. package/dist/composition/infrastructure.js +140 -0
  177. package/dist/composition/infrastructure.js.map +1 -0
  178. package/dist/composition/services.d.ts +78 -0
  179. package/dist/composition/services.d.ts.map +1 -0
  180. package/dist/composition/services.js +335 -0
  181. package/dist/composition/services.js.map +1 -0
  182. package/dist/composition/tools.d.ts +15 -0
  183. package/dist/composition/tools.d.ts.map +1 -0
  184. package/dist/composition/tools.js +136 -0
  185. package/dist/composition/tools.js.map +1 -0
  186. package/dist/domain/agent-registry/entities.d.ts.map +1 -1
  187. package/dist/domain/agent-registry/entities.js +1 -1
  188. package/dist/domain/agent-registry/entities.js.map +1 -1
  189. package/dist/domain/agent-registry/enum-values.d.ts +15 -0
  190. package/dist/domain/agent-registry/enum-values.d.ts.map +1 -0
  191. package/dist/domain/agent-registry/enum-values.js +15 -0
  192. package/dist/domain/agent-registry/enum-values.js.map +1 -0
  193. package/dist/domain/agent-registry/repositories.d.ts.map +1 -1
  194. package/dist/domain/agent-registry/services.d.ts.map +1 -1
  195. package/dist/domain/agent-registry/services.js +1 -1
  196. package/dist/domain/agent-registry/services.js.map +1 -1
  197. package/dist/domain/agent-registry/value-objects.d.ts.map +1 -1
  198. package/dist/domain/agent-registry/value-objects.js +1 -1
  199. package/dist/domain/agent-registry/value-objects.js.map +1 -1
  200. package/dist/domain/azure-sync/entities.d.ts +30 -112
  201. package/dist/domain/azure-sync/entities.d.ts.map +1 -1
  202. package/dist/domain/azure-sync/entities.js +31 -120
  203. package/dist/domain/azure-sync/entities.js.map +1 -1
  204. package/dist/domain/azure-sync/enum-values.d.ts +25 -0
  205. package/dist/domain/azure-sync/enum-values.d.ts.map +1 -0
  206. package/dist/domain/azure-sync/enum-values.js +33 -0
  207. package/dist/domain/azure-sync/enum-values.js.map +1 -0
  208. package/dist/domain/azure-sync/llm-port.d.ts +85 -0
  209. package/dist/domain/azure-sync/llm-port.d.ts.map +1 -0
  210. package/dist/domain/azure-sync/llm-port.js +12 -0
  211. package/dist/domain/azure-sync/llm-port.js.map +1 -0
  212. package/dist/domain/azure-sync/ports.d.ts +12 -3
  213. package/dist/domain/azure-sync/ports.d.ts.map +1 -1
  214. package/dist/domain/azure-sync/repositories.d.ts.map +1 -1
  215. package/dist/domain/azure-sync/services.d.ts.map +1 -1
  216. package/dist/domain/azure-sync/services.js.map +1 -1
  217. package/dist/domain/azure-sync/sync-log-entities.d.ts +124 -0
  218. package/dist/domain/azure-sync/sync-log-entities.d.ts.map +1 -0
  219. package/dist/domain/azure-sync/sync-log-entities.js +129 -0
  220. package/dist/domain/azure-sync/sync-log-entities.js.map +1 -0
  221. package/dist/domain/azure-sync/sync-state-maps.d.ts +44 -0
  222. package/dist/domain/azure-sync/sync-state-maps.d.ts.map +1 -0
  223. package/dist/domain/azure-sync/sync-state-maps.js +134 -0
  224. package/dist/domain/azure-sync/sync-state-maps.js.map +1 -0
  225. package/dist/domain/azure-sync/value-objects.d.ts +6 -35
  226. package/dist/domain/azure-sync/value-objects.d.ts.map +1 -1
  227. package/dist/domain/azure-sync/value-objects.js +4 -120
  228. package/dist/domain/azure-sync/value-objects.js.map +1 -1
  229. package/dist/domain/config/value-objects.d.ts +1 -28
  230. package/dist/domain/config/value-objects.d.ts.map +1 -1
  231. package/dist/domain/config/value-objects.js +37 -19
  232. package/dist/domain/config/value-objects.js.map +1 -1
  233. package/dist/domain/context-memory/entities.d.ts +4 -170
  234. package/dist/domain/context-memory/entities.d.ts.map +1 -1
  235. package/dist/domain/context-memory/entities.js +5 -318
  236. package/dist/domain/context-memory/entities.js.map +1 -1
  237. package/dist/domain/context-memory/enum-values.d.ts +22 -0
  238. package/dist/domain/context-memory/enum-values.d.ts.map +1 -0
  239. package/dist/domain/context-memory/enum-values.js +23 -0
  240. package/dist/domain/context-memory/enum-values.js.map +1 -0
  241. package/dist/domain/context-memory/execution-entry.d.ts +41 -0
  242. package/dist/domain/context-memory/execution-entry.d.ts.map +1 -0
  243. package/dist/domain/context-memory/execution-entry.js +82 -0
  244. package/dist/domain/context-memory/execution-entry.js.map +1 -0
  245. package/dist/domain/context-memory/note.d.ts +31 -0
  246. package/dist/domain/context-memory/note.d.ts.map +1 -0
  247. package/dist/domain/context-memory/note.js +42 -0
  248. package/dist/domain/context-memory/note.js.map +1 -0
  249. package/dist/domain/context-memory/repositories.d.ts.map +1 -1
  250. package/dist/domain/context-memory/repositories.js +7 -0
  251. package/dist/domain/context-memory/repositories.js.map +1 -1
  252. package/dist/domain/context-memory/services.d.ts.map +1 -1
  253. package/dist/domain/context-memory/services.js +15 -1
  254. package/dist/domain/context-memory/services.js.map +1 -1
  255. package/dist/domain/context-memory/session.d.ts +39 -0
  256. package/dist/domain/context-memory/session.d.ts.map +1 -0
  257. package/dist/domain/context-memory/session.js +81 -0
  258. package/dist/domain/context-memory/session.js.map +1 -0
  259. package/dist/domain/context-memory/todo.d.ts +46 -0
  260. package/dist/domain/context-memory/todo.d.ts.map +1 -0
  261. package/dist/domain/context-memory/todo.js +96 -0
  262. package/dist/domain/context-memory/todo.js.map +1 -0
  263. package/dist/domain/context-memory/value-objects.d.ts.map +1 -1
  264. package/dist/domain/context-memory/value-objects.js +1 -1
  265. package/dist/domain/context-memory/value-objects.js.map +1 -1
  266. package/dist/domain/data/ports.d.ts +18 -0
  267. package/dist/domain/data/ports.d.ts.map +1 -0
  268. package/dist/domain/data/ports.js +11 -0
  269. package/dist/domain/data/ports.js.map +1 -0
  270. package/dist/domain/domain-map/ports.d.ts +106 -0
  271. package/dist/domain/domain-map/ports.d.ts.map +1 -0
  272. package/dist/domain/domain-map/ports.js +12 -0
  273. package/dist/domain/domain-map/ports.js.map +1 -0
  274. package/dist/domain/domain-map/services.d.ts.map +1 -1
  275. package/dist/domain/domain-map/services.js +17 -2
  276. package/dist/domain/domain-map/services.js.map +1 -1
  277. package/dist/domain/domain-map/value-objects.d.ts.map +1 -1
  278. package/dist/domain/domain-map/value-objects.js +1 -1
  279. package/dist/domain/domain-map/value-objects.js.map +1 -1
  280. package/dist/domain/environment/entities.d.ts +1 -1
  281. package/dist/domain/environment/entities.d.ts.map +1 -1
  282. package/dist/domain/environment/entities.js +1 -1
  283. package/dist/domain/environment/entities.js.map +1 -1
  284. package/dist/domain/environment/enum-values.d.ts +23 -0
  285. package/dist/domain/environment/enum-values.d.ts.map +1 -0
  286. package/dist/domain/environment/enum-values.js +31 -0
  287. package/dist/domain/environment/enum-values.js.map +1 -0
  288. package/dist/domain/environment/ports.d.ts +41 -0
  289. package/dist/domain/environment/ports.d.ts.map +1 -0
  290. package/dist/domain/environment/ports.js +12 -0
  291. package/dist/domain/environment/ports.js.map +1 -0
  292. package/dist/domain/environment/renderers.d.ts.map +1 -1
  293. package/dist/domain/environment/renderers.js.map +1 -1
  294. package/dist/domain/environment/repositories.d.ts.map +1 -1
  295. package/dist/domain/environment/services.d.ts.map +1 -1
  296. package/dist/domain/environment/services.js.map +1 -1
  297. package/dist/domain/environment/value-objects.d.ts.map +1 -1
  298. package/dist/domain/environment/value-objects.js +1 -1
  299. package/dist/domain/environment/value-objects.js.map +1 -1
  300. package/dist/domain/governance/policies.d.ts.map +1 -1
  301. package/dist/domain/governance/policies.js +3 -42
  302. package/dist/domain/governance/policies.js.map +1 -1
  303. package/dist/domain/governance/services.d.ts.map +1 -1
  304. package/dist/domain/governance/services.js +11 -0
  305. package/dist/domain/governance/services.js.map +1 -1
  306. package/dist/domain/kanban/card-props.d.ts +39 -0
  307. package/dist/domain/kanban/card-props.d.ts.map +1 -0
  308. package/dist/domain/kanban/card-props.js +9 -0
  309. package/dist/domain/kanban/card-props.js.map +1 -0
  310. package/dist/domain/kanban/entities.d.ts +19 -42
  311. package/dist/domain/kanban/entities.d.ts.map +1 -1
  312. package/dist/domain/kanban/entities.js +32 -11
  313. package/dist/domain/kanban/entities.js.map +1 -1
  314. package/dist/domain/kanban/enum-values.d.ts +53 -0
  315. package/dist/domain/kanban/enum-values.d.ts.map +1 -0
  316. package/dist/domain/kanban/enum-values.js +62 -0
  317. package/dist/domain/kanban/enum-values.js.map +1 -0
  318. package/dist/domain/kanban/grooming.d.ts.map +1 -1
  319. package/dist/domain/kanban/grooming.js +27 -2
  320. package/dist/domain/kanban/grooming.js.map +1 -1
  321. package/dist/domain/kanban/repositories.d.ts.map +1 -1
  322. package/dist/domain/kanban/repositories.js +7 -0
  323. package/dist/domain/kanban/repositories.js.map +1 -1
  324. package/dist/domain/kanban/services.d.ts.map +1 -1
  325. package/dist/domain/kanban/services.js +11 -0
  326. package/dist/domain/kanban/services.js.map +1 -1
  327. package/dist/domain/kanban/sprint.d.ts +7 -7
  328. package/dist/domain/kanban/sprint.d.ts.map +1 -1
  329. package/dist/domain/kanban/sprint.js.map +1 -1
  330. package/dist/domain/kanban/value-objects.d.ts +13 -2
  331. package/dist/domain/kanban/value-objects.d.ts.map +1 -1
  332. package/dist/domain/kanban/value-objects.js.map +1 -1
  333. package/dist/domain/pipeline/enum-values.d.ts +30 -0
  334. package/dist/domain/pipeline/enum-values.d.ts.map +1 -0
  335. package/dist/domain/pipeline/enum-values.js +41 -0
  336. package/dist/domain/pipeline/enum-values.js.map +1 -0
  337. package/dist/domain/pipeline/gate.d.ts.map +1 -1
  338. package/dist/domain/pipeline/gate.js +1 -1
  339. package/dist/domain/pipeline/gate.js.map +1 -1
  340. package/dist/domain/pipeline/index.d.ts.map +1 -1
  341. package/dist/domain/pipeline/index.js +0 -3
  342. package/dist/domain/pipeline/index.js.map +1 -1
  343. package/dist/domain/pipeline/pipeline.d.ts.map +1 -1
  344. package/dist/domain/pipeline/pipeline.js +11 -6
  345. package/dist/domain/pipeline/pipeline.js.map +1 -1
  346. package/dist/domain/pipeline/ports.d.ts.map +1 -1
  347. package/dist/domain/pipeline/repositories.d.ts +3 -3
  348. package/dist/domain/pipeline/repositories.d.ts.map +1 -1
  349. package/dist/domain/pipeline/services.d.ts.map +1 -1
  350. package/dist/domain/pipeline/services.js +2 -0
  351. package/dist/domain/pipeline/services.js.map +1 -1
  352. package/dist/domain/pipeline/value-objects.d.ts.map +1 -1
  353. package/dist/domain/pipeline/value-objects.js +1 -2
  354. package/dist/domain/pipeline/value-objects.js.map +1 -1
  355. package/dist/domain/rag/enum-values.d.ts +19 -0
  356. package/dist/domain/rag/enum-values.d.ts.map +1 -0
  357. package/dist/domain/rag/enum-values.js +24 -0
  358. package/dist/domain/rag/enum-values.js.map +1 -0
  359. package/dist/domain/rag/repositories.d.ts.map +1 -1
  360. package/dist/domain/rag/repositories.js +10 -0
  361. package/dist/domain/rag/repositories.js.map +1 -1
  362. package/dist/domain/rag/services.d.ts.map +1 -1
  363. package/dist/domain/rag/services.js +4 -4
  364. package/dist/domain/rag/services.js.map +1 -1
  365. package/dist/domain/rag/value-objects.d.ts.map +1 -1
  366. package/dist/domain/rag/value-objects.js.map +1 -1
  367. package/dist/domain/shared/value-objects.d.ts.map +1 -1
  368. package/dist/domain/shared/value-objects.js.map +1 -1
  369. package/dist/domain/token-metrics/entities.d.ts.map +1 -1
  370. package/dist/domain/token-metrics/entities.js +2 -3
  371. package/dist/domain/token-metrics/entities.js.map +1 -1
  372. package/dist/domain/token-metrics/ports.d.ts.map +1 -1
  373. package/dist/domain/token-metrics/ports.js.map +1 -1
  374. package/dist/domain/token-metrics/repositories.d.ts.map +1 -1
  375. package/dist/domain/token-metrics/repositories.js +10 -0
  376. package/dist/domain/token-metrics/repositories.js.map +1 -1
  377. package/dist/domain/token-metrics/value-objects.d.ts.map +1 -1
  378. package/dist/domain/token-metrics/value-objects.js.map +1 -1
  379. package/dist/domain/vault/document.d.ts.map +1 -1
  380. package/dist/domain/vault/document.js +39 -15
  381. package/dist/domain/vault/document.js.map +1 -1
  382. package/dist/domain/vault/repositories.d.ts.map +1 -1
  383. package/dist/domain/vault/repositories.js +10 -0
  384. package/dist/domain/vault/repositories.js.map +1 -1
  385. package/dist/domain/vault/section.d.ts.map +1 -1
  386. package/dist/domain/vault/section.js +10 -0
  387. package/dist/domain/vault/section.js.map +1 -1
  388. package/dist/domain/vault/services.d.ts +11 -0
  389. package/dist/domain/vault/services.d.ts.map +1 -1
  390. package/dist/domain/vault/services.js +45 -20
  391. package/dist/domain/vault/services.js.map +1 -1
  392. package/dist/domain/vault/table.d.ts +1 -0
  393. package/dist/domain/vault/table.d.ts.map +1 -1
  394. package/dist/domain/vault/table.js +12 -10
  395. package/dist/domain/vault/table.js.map +1 -1
  396. package/dist/domain/vault/value-objects.d.ts +5 -5
  397. package/dist/domain/vault/value-objects.d.ts.map +1 -1
  398. package/dist/domain/vault/value-objects.js +4 -2
  399. package/dist/domain/vault/value-objects.js.map +1 -1
  400. package/dist/domain/workspace-registry/entities.d.ts +24 -3
  401. package/dist/domain/workspace-registry/entities.d.ts.map +1 -1
  402. package/dist/domain/workspace-registry/entities.js +1 -1
  403. package/dist/domain/workspace-registry/entities.js.map +1 -1
  404. package/dist/domain/workspace-registry/enum-values.d.ts +19 -0
  405. package/dist/domain/workspace-registry/enum-values.d.ts.map +1 -0
  406. package/dist/domain/workspace-registry/enum-values.js +23 -0
  407. package/dist/domain/workspace-registry/enum-values.js.map +1 -0
  408. package/dist/domain/workspace-registry/ports.d.ts +16 -0
  409. package/dist/domain/workspace-registry/ports.d.ts.map +1 -0
  410. package/dist/domain/workspace-registry/ports.js +16 -0
  411. package/dist/domain/workspace-registry/ports.js.map +1 -0
  412. package/dist/domain/workspace-registry/repositories.d.ts.map +1 -1
  413. package/dist/domain/workspace-registry/services.d.ts +2 -1
  414. package/dist/domain/workspace-registry/services.d.ts.map +1 -1
  415. package/dist/domain/workspace-registry/services.js.map +1 -1
  416. package/dist/domain/workspace-registry/value-objects.d.ts +2 -33
  417. package/dist/domain/workspace-registry/value-objects.d.ts.map +1 -1
  418. package/dist/domain/workspace-registry/value-objects.js +0 -1
  419. package/dist/domain/workspace-registry/value-objects.js.map +1 -1
  420. package/dist/hooks/config-command.d.ts.map +1 -1
  421. package/dist/hooks/config-command.js.map +1 -1
  422. package/dist/hooks/context-compacting.d.ts.map +1 -1
  423. package/dist/hooks/context-compacting.js +14 -0
  424. package/dist/hooks/context-compacting.js.map +1 -1
  425. package/dist/hooks/event-handlers.d.ts.map +1 -1
  426. package/dist/hooks/event-handlers.js +19 -3
  427. package/dist/hooks/event-handlers.js.map +1 -1
  428. package/dist/hooks/execution-journal.d.ts.map +1 -1
  429. package/dist/hooks/execution-journal.js +16 -0
  430. package/dist/hooks/execution-journal.js.map +1 -1
  431. package/dist/hooks/first-run-guide.d.ts.map +1 -1
  432. package/dist/hooks/first-run-guide.js +7 -8
  433. package/dist/hooks/first-run-guide.js.map +1 -1
  434. package/dist/hooks/guardrails.d.ts.map +1 -1
  435. package/dist/hooks/guardrails.js +16 -0
  436. package/dist/hooks/guardrails.js.map +1 -1
  437. package/dist/hooks/logger.d.ts.map +1 -1
  438. package/dist/hooks/logger.js +2 -0
  439. package/dist/hooks/logger.js.map +1 -1
  440. package/dist/hooks/shell-env.d.ts.map +1 -1
  441. package/dist/hooks/shell-env.js +12 -0
  442. package/dist/hooks/shell-env.js.map +1 -1
  443. package/dist/hooks/slash-commands.d.ts +3 -3
  444. package/dist/hooks/slash-commands.d.ts.map +1 -1
  445. package/dist/hooks/slash-commands.js +43 -16
  446. package/dist/hooks/slash-commands.js.map +1 -1
  447. package/dist/index.d.ts +3 -3
  448. package/dist/index.d.ts.map +1 -1
  449. package/dist/index.js +56 -600
  450. package/dist/index.js.map +1 -1
  451. package/dist/infrastructure/agent-registry/agent-profile-repository.d.ts +11 -27
  452. package/dist/infrastructure/agent-registry/agent-profile-repository.d.ts.map +1 -1
  453. package/dist/infrastructure/agent-registry/agent-profile-repository.js +1 -0
  454. package/dist/infrastructure/agent-registry/agent-profile-repository.js.map +1 -1
  455. package/dist/infrastructure/agent-registry/agent-session-adapter.d.ts +9 -26
  456. package/dist/infrastructure/agent-registry/agent-session-adapter.d.ts.map +1 -1
  457. package/dist/infrastructure/agent-registry/agent-session-adapter.js +1 -0
  458. package/dist/infrastructure/agent-registry/agent-session-adapter.js.map +1 -1
  459. package/dist/infrastructure/agent-registry/built-in-profiles.d.ts +11 -2
  460. package/dist/infrastructure/agent-registry/built-in-profiles.d.ts.map +1 -1
  461. package/dist/infrastructure/agent-registry/built-in-profiles.js +1 -0
  462. package/dist/infrastructure/agent-registry/built-in-profiles.js.map +1 -1
  463. package/dist/infrastructure/azure-sync/azure-auth.d.ts.map +1 -1
  464. package/dist/infrastructure/azure-sync/azure-auth.js.map +1 -1
  465. package/dist/infrastructure/azure-sync/azure-devops-client.d.ts +4 -3
  466. package/dist/infrastructure/azure-sync/azure-devops-client.d.ts.map +1 -1
  467. package/dist/infrastructure/azure-sync/azure-devops-client.js +47 -14
  468. package/dist/infrastructure/azure-sync/azure-devops-client.js.map +1 -1
  469. package/dist/infrastructure/azure-sync/ollama-llm-adapter.d.ts +30 -0
  470. package/dist/infrastructure/azure-sync/ollama-llm-adapter.d.ts.map +1 -0
  471. package/dist/infrastructure/azure-sync/ollama-llm-adapter.js +162 -0
  472. package/dist/infrastructure/azure-sync/ollama-llm-adapter.js.map +1 -0
  473. package/dist/infrastructure/azure-sync/sqlite-event-repository.d.ts.map +1 -1
  474. package/dist/infrastructure/azure-sync/sqlite-event-repository.js +24 -9
  475. package/dist/infrastructure/azure-sync/sqlite-event-repository.js.map +1 -1
  476. package/dist/infrastructure/azure-sync/sqlite-sync-repository.d.ts.map +1 -1
  477. package/dist/infrastructure/azure-sync/sqlite-sync-repository.js +12 -4
  478. package/dist/infrastructure/azure-sync/sqlite-sync-repository.js.map +1 -1
  479. package/dist/infrastructure/bootstrap/bootstrap-fs-adapter.d.ts +19 -0
  480. package/dist/infrastructure/bootstrap/bootstrap-fs-adapter.d.ts.map +1 -0
  481. package/dist/infrastructure/bootstrap/bootstrap-fs-adapter.js +41 -0
  482. package/dist/infrastructure/bootstrap/bootstrap-fs-adapter.js.map +1 -0
  483. package/dist/infrastructure/config/yaml-config-repository.d.ts +9 -7
  484. package/dist/infrastructure/config/yaml-config-repository.d.ts.map +1 -1
  485. package/dist/infrastructure/config/yaml-config-repository.js +1 -0
  486. package/dist/infrastructure/config/yaml-config-repository.js.map +1 -1
  487. package/dist/infrastructure/config/yaml-config-writer.d.ts +3 -4
  488. package/dist/infrastructure/config/yaml-config-writer.d.ts.map +1 -1
  489. package/dist/infrastructure/config/yaml-config-writer.js +1 -0
  490. package/dist/infrastructure/config/yaml-config-writer.js.map +1 -1
  491. package/dist/infrastructure/context-memory/execution-journal-repository.d.ts.map +1 -1
  492. package/dist/infrastructure/context-memory/execution-journal-repository.js +13 -1
  493. package/dist/infrastructure/context-memory/execution-journal-repository.js.map +1 -1
  494. package/dist/infrastructure/context-memory/note-repository.d.ts.map +1 -1
  495. package/dist/infrastructure/context-memory/note-repository.js +11 -1
  496. package/dist/infrastructure/context-memory/note-repository.js.map +1 -1
  497. package/dist/infrastructure/context-memory/search-repository.d.ts.map +1 -1
  498. package/dist/infrastructure/context-memory/session-repository.d.ts.map +1 -1
  499. package/dist/infrastructure/context-memory/session-repository.js +11 -1
  500. package/dist/infrastructure/context-memory/session-repository.js.map +1 -1
  501. package/dist/infrastructure/context-memory/todo-repository.d.ts.map +1 -1
  502. package/dist/infrastructure/context-memory/todo-repository.js +10 -1
  503. package/dist/infrastructure/context-memory/todo-repository.js.map +1 -1
  504. package/dist/infrastructure/data/data-file-adapter.d.ts +15 -0
  505. package/dist/infrastructure/data/data-file-adapter.d.ts.map +1 -0
  506. package/dist/infrastructure/data/data-file-adapter.js +27 -0
  507. package/dist/infrastructure/data/data-file-adapter.js.map +1 -0
  508. package/dist/infrastructure/database/sqlite-adapter.d.ts +14 -0
  509. package/dist/infrastructure/database/sqlite-adapter.d.ts.map +1 -1
  510. package/dist/infrastructure/database/sqlite-adapter.js.map +1 -1
  511. package/dist/infrastructure/domain-map/llm-analyzer.d.ts +38 -32
  512. package/dist/infrastructure/domain-map/llm-analyzer.d.ts.map +1 -1
  513. package/dist/infrastructure/domain-map/llm-analyzer.js +2 -1
  514. package/dist/infrastructure/domain-map/llm-analyzer.js.map +1 -1
  515. package/dist/infrastructure/domain-map/llm-prompt-factory.d.ts +1 -16
  516. package/dist/infrastructure/domain-map/llm-prompt-factory.d.ts.map +1 -1
  517. package/dist/infrastructure/domain-map/llm-prompt-factory.js +1 -0
  518. package/dist/infrastructure/domain-map/llm-prompt-factory.js.map +1 -1
  519. package/dist/infrastructure/domain-map/lsp-adapter.d.ts +53 -35
  520. package/dist/infrastructure/domain-map/lsp-adapter.d.ts.map +1 -1
  521. package/dist/infrastructure/domain-map/lsp-adapter.js +2 -1
  522. package/dist/infrastructure/domain-map/lsp-adapter.js.map +1 -1
  523. package/dist/infrastructure/domain-map/lsp-configs.d.ts +47 -37
  524. package/dist/infrastructure/domain-map/lsp-configs.d.ts.map +1 -1
  525. package/dist/infrastructure/domain-map/lsp-configs.js +1 -0
  526. package/dist/infrastructure/domain-map/lsp-configs.js.map +1 -1
  527. package/dist/infrastructure/domain-map/lsp-json-rpc.d.ts +18 -58
  528. package/dist/infrastructure/domain-map/lsp-json-rpc.d.ts.map +1 -1
  529. package/dist/infrastructure/domain-map/lsp-json-rpc.js +2 -1
  530. package/dist/infrastructure/domain-map/lsp-json-rpc.js.map +1 -1
  531. package/dist/infrastructure/domain-map/project-scanner.d.ts +8 -7
  532. package/dist/infrastructure/domain-map/project-scanner.d.ts.map +1 -1
  533. package/dist/infrastructure/domain-map/project-scanner.js +2 -1
  534. package/dist/infrastructure/domain-map/project-scanner.js.map +1 -1
  535. package/dist/infrastructure/environment/environment-repository.d.ts +16 -31
  536. package/dist/infrastructure/environment/environment-repository.d.ts.map +1 -1
  537. package/dist/infrastructure/environment/environment-repository.js +2 -1
  538. package/dist/infrastructure/environment/environment-repository.js.map +1 -1
  539. package/dist/infrastructure/environment/scanner-adapter.d.ts +2 -13
  540. package/dist/infrastructure/environment/scanner-adapter.d.ts.map +1 -1
  541. package/dist/infrastructure/environment/scanner-adapter.js +1 -0
  542. package/dist/infrastructure/environment/scanner-adapter.js.map +1 -1
  543. package/dist/infrastructure/kanban/card-repository.d.ts +2 -2
  544. package/dist/infrastructure/kanban/card-repository.d.ts.map +1 -1
  545. package/dist/infrastructure/kanban/card-repository.js +45 -22
  546. package/dist/infrastructure/kanban/card-repository.js.map +1 -1
  547. package/dist/infrastructure/kanban/sprint-repository.d.ts.map +1 -1
  548. package/dist/infrastructure/kanban/sprint-repository.js +14 -1
  549. package/dist/infrastructure/kanban/sprint-repository.js.map +1 -1
  550. package/dist/infrastructure/pipeline/dagger-adapter.d.ts +10 -43
  551. package/dist/infrastructure/pipeline/dagger-adapter.d.ts.map +1 -1
  552. package/dist/infrastructure/pipeline/dagger-adapter.js +1 -0
  553. package/dist/infrastructure/pipeline/dagger-adapter.js.map +1 -1
  554. package/dist/infrastructure/pipeline/dagger-scaffold-generator.d.ts +27 -23
  555. package/dist/infrastructure/pipeline/dagger-scaffold-generator.d.ts.map +1 -1
  556. package/dist/infrastructure/pipeline/dagger-scaffold-generator.js +1 -0
  557. package/dist/infrastructure/pipeline/dagger-scaffold-generator.js.map +1 -1
  558. package/dist/infrastructure/pipeline/index.d.ts +0 -1
  559. package/dist/infrastructure/pipeline/index.d.ts.map +1 -1
  560. package/dist/infrastructure/pipeline/index.js.map +1 -1
  561. package/dist/infrastructure/pipeline/pipeline-template-registry.d.ts +5 -20
  562. package/dist/infrastructure/pipeline/pipeline-template-registry.d.ts.map +1 -1
  563. package/dist/infrastructure/pipeline/pipeline-template-registry.js +1 -0
  564. package/dist/infrastructure/pipeline/pipeline-template-registry.js.map +1 -1
  565. package/dist/infrastructure/pipeline/scaffold-templates-extra.d.ts +0 -8
  566. package/dist/infrastructure/pipeline/scaffold-templates-extra.d.ts.map +1 -1
  567. package/dist/infrastructure/pipeline/scaffold-templates-extra.js +1 -0
  568. package/dist/infrastructure/pipeline/scaffold-templates-extra.js.map +1 -1
  569. package/dist/infrastructure/pipeline/scaffold-templates.d.ts.map +1 -1
  570. package/dist/infrastructure/pipeline/scaffold-templates.js +1 -0
  571. package/dist/infrastructure/pipeline/scaffold-templates.js.map +1 -1
  572. package/dist/infrastructure/pipeline/sqlite-pipeline-repository.d.ts +13 -30
  573. package/dist/infrastructure/pipeline/sqlite-pipeline-repository.d.ts.map +1 -1
  574. package/dist/infrastructure/pipeline/sqlite-pipeline-repository.js +3 -2
  575. package/dist/infrastructure/pipeline/sqlite-pipeline-repository.js.map +1 -1
  576. package/dist/infrastructure/rag/file-discovery.d.ts +11 -0
  577. package/dist/infrastructure/rag/file-discovery.d.ts.map +1 -1
  578. package/dist/infrastructure/rag/file-discovery.js +2 -1
  579. package/dist/infrastructure/rag/file-discovery.js.map +1 -1
  580. package/dist/infrastructure/rag/file-index-registry.d.ts +13 -0
  581. package/dist/infrastructure/rag/file-index-registry.d.ts.map +1 -1
  582. package/dist/infrastructure/rag/file-index-registry.js.map +1 -1
  583. package/dist/infrastructure/rag/ollama-embeddings.d.ts +10 -0
  584. package/dist/infrastructure/rag/ollama-embeddings.d.ts.map +1 -1
  585. package/dist/infrastructure/rag/ollama-embeddings.js.map +1 -1
  586. package/dist/infrastructure/rag/text-splitter.d.ts +10 -0
  587. package/dist/infrastructure/rag/text-splitter.d.ts.map +1 -1
  588. package/dist/infrastructure/rag/text-splitter.js +4 -1
  589. package/dist/infrastructure/rag/text-splitter.js.map +1 -1
  590. package/dist/infrastructure/rag/vectra-adapter.d.ts +10 -0
  591. package/dist/infrastructure/rag/vectra-adapter.d.ts.map +1 -1
  592. package/dist/infrastructure/rag/vectra-adapter.js.map +1 -1
  593. package/dist/infrastructure/token-metrics/token-metrics-repository.d.ts.map +1 -1
  594. package/dist/infrastructure/token-metrics/token-metrics-repository.js +11 -0
  595. package/dist/infrastructure/token-metrics/token-metrics-repository.js.map +1 -1
  596. package/dist/infrastructure/vault/markdown-parser.d.ts +10 -0
  597. package/dist/infrastructure/vault/markdown-parser.d.ts.map +1 -1
  598. package/dist/infrastructure/vault/markdown-parser.js +9 -9
  599. package/dist/infrastructure/vault/markdown-parser.js.map +1 -1
  600. package/dist/infrastructure/vault/vault-fs-adapter.d.ts +11 -0
  601. package/dist/infrastructure/vault/vault-fs-adapter.d.ts.map +1 -1
  602. package/dist/infrastructure/vault/vault-fs-adapter.js.map +1 -1
  603. package/dist/infrastructure/workspace-registry/dependency-repository.d.ts +11 -25
  604. package/dist/infrastructure/workspace-registry/dependency-repository.d.ts.map +1 -1
  605. package/dist/infrastructure/workspace-registry/dependency-repository.js +1 -0
  606. package/dist/infrastructure/workspace-registry/dependency-repository.js.map +1 -1
  607. package/dist/infrastructure/workspace-registry/workspace-repository.d.ts +11 -26
  608. package/dist/infrastructure/workspace-registry/workspace-repository.d.ts.map +1 -1
  609. package/dist/infrastructure/workspace-registry/workspace-repository.js +1 -0
  610. package/dist/infrastructure/workspace-registry/workspace-repository.js.map +1 -1
  611. package/dist/tools/agent-registry-tools.d.ts +16 -0
  612. package/dist/tools/agent-registry-tools.d.ts.map +1 -1
  613. package/dist/tools/agent-registry-tools.js +2 -1
  614. package/dist/tools/agent-registry-tools.js.map +1 -1
  615. package/dist/tools/agent-tools.d.ts +17 -7
  616. package/dist/tools/agent-tools.d.ts.map +1 -1
  617. package/dist/tools/agent-tools.js +158 -206
  618. package/dist/tools/agent-tools.js.map +1 -1
  619. package/dist/tools/azure-sync-event-tools.d.ts +23 -7
  620. package/dist/tools/azure-sync-event-tools.d.ts.map +1 -1
  621. package/dist/tools/azure-sync-event-tools.js +255 -66
  622. package/dist/tools/azure-sync-event-tools.js.map +1 -1
  623. package/dist/tools/azure-sync-pr-tools.d.ts +21 -0
  624. package/dist/tools/azure-sync-pr-tools.d.ts.map +1 -0
  625. package/dist/tools/azure-sync-pr-tools.js +146 -0
  626. package/dist/tools/azure-sync-pr-tools.js.map +1 -0
  627. package/dist/tools/azure-sync-tools.d.ts +22 -8
  628. package/dist/tools/azure-sync-tools.d.ts.map +1 -1
  629. package/dist/tools/azure-sync-tools.js +248 -267
  630. package/dist/tools/azure-sync-tools.js.map +1 -1
  631. package/dist/tools/bootstrap-tools.d.ts +16 -6
  632. package/dist/tools/bootstrap-tools.d.ts.map +1 -1
  633. package/dist/tools/bootstrap-tools.js +123 -143
  634. package/dist/tools/bootstrap-tools.js.map +1 -1
  635. package/dist/tools/config-tools.d.ts +16 -1
  636. package/dist/tools/config-tools.d.ts.map +1 -1
  637. package/dist/tools/config-tools.js +32 -2
  638. package/dist/tools/config-tools.js.map +1 -1
  639. package/dist/tools/context-memory-tools.d.ts +15 -0
  640. package/dist/tools/context-memory-tools.d.ts.map +1 -1
  641. package/dist/tools/context-memory-tools.js +4 -3
  642. package/dist/tools/context-memory-tools.js.map +1 -1
  643. package/dist/tools/data-tools.d.ts +15 -1
  644. package/dist/tools/data-tools.d.ts.map +1 -1
  645. package/dist/tools/data-tools.js +262 -308
  646. package/dist/tools/data-tools.js.map +1 -1
  647. package/dist/tools/data-write-tools.d.ts +20 -0
  648. package/dist/tools/data-write-tools.d.ts.map +1 -0
  649. package/dist/tools/data-write-tools.js +144 -0
  650. package/dist/tools/data-write-tools.js.map +1 -0
  651. package/dist/tools/domain-map-tools.d.ts +19 -36
  652. package/dist/tools/domain-map-tools.d.ts.map +1 -1
  653. package/dist/tools/domain-map-tools.js +81 -85
  654. package/dist/tools/domain-map-tools.js.map +1 -1
  655. package/dist/tools/environment-tools.d.ts +23 -80
  656. package/dist/tools/environment-tools.d.ts.map +1 -1
  657. package/dist/tools/environment-tools.js +109 -97
  658. package/dist/tools/environment-tools.js.map +1 -1
  659. package/dist/tools/governance-tools.d.ts +13 -0
  660. package/dist/tools/governance-tools.d.ts.map +1 -1
  661. package/dist/tools/governance-tools.js.map +1 -1
  662. package/dist/tools/kanban-board-tools.d.ts +12 -3
  663. package/dist/tools/kanban-board-tools.d.ts.map +1 -1
  664. package/dist/tools/kanban-board-tools.js +92 -302
  665. package/dist/tools/kanban-board-tools.js.map +1 -1
  666. package/dist/tools/kanban-card-mutation-tools.d.ts +16 -0
  667. package/dist/tools/kanban-card-mutation-tools.d.ts.map +1 -0
  668. package/dist/tools/kanban-card-mutation-tools.js +168 -0
  669. package/dist/tools/kanban-card-mutation-tools.js.map +1 -0
  670. package/dist/tools/kanban-card-query-tools.d.ts +25 -0
  671. package/dist/tools/kanban-card-query-tools.d.ts.map +1 -0
  672. package/dist/tools/kanban-card-query-tools.js +191 -0
  673. package/dist/tools/kanban-card-query-tools.js.map +1 -0
  674. package/dist/tools/kanban-card-tools.d.ts +13 -0
  675. package/dist/tools/kanban-card-tools.d.ts.map +1 -1
  676. package/dist/tools/kanban-card-tools.js +24 -182
  677. package/dist/tools/kanban-card-tools.js.map +1 -1
  678. package/dist/tools/kanban-gate-tools.d.ts +14 -2
  679. package/dist/tools/kanban-gate-tools.d.ts.map +1 -1
  680. package/dist/tools/kanban-gate-tools.js +78 -77
  681. package/dist/tools/kanban-gate-tools.js.map +1 -1
  682. package/dist/tools/kanban-grooming-tools.d.ts +12 -0
  683. package/dist/tools/kanban-grooming-tools.d.ts.map +1 -1
  684. package/dist/tools/kanban-grooming-tools.js +58 -137
  685. package/dist/tools/kanban-grooming-tools.js.map +1 -1
  686. package/dist/tools/kanban-sprint-tools.d.ts +35 -0
  687. package/dist/tools/kanban-sprint-tools.d.ts.map +1 -0
  688. package/dist/tools/kanban-sprint-tools.js +295 -0
  689. package/dist/tools/kanban-sprint-tools.js.map +1 -0
  690. package/dist/tools/pipeline-tools.d.ts +22 -6
  691. package/dist/tools/pipeline-tools.d.ts.map +1 -1
  692. package/dist/tools/pipeline-tools.js +306 -324
  693. package/dist/tools/pipeline-tools.js.map +1 -1
  694. package/dist/tools/rag-tools.d.ts +19 -0
  695. package/dist/tools/rag-tools.d.ts.map +1 -1
  696. package/dist/tools/rag-tools.js +79 -22
  697. package/dist/tools/rag-tools.js.map +1 -1
  698. package/dist/tools/token-metrics-tools.d.ts +23 -93
  699. package/dist/tools/token-metrics-tools.d.ts.map +1 -1
  700. package/dist/tools/token-metrics-tools.js +249 -199
  701. package/dist/tools/token-metrics-tools.js.map +1 -1
  702. package/dist/tools/vault-manage-tool.d.ts +18 -0
  703. package/dist/tools/vault-manage-tool.d.ts.map +1 -1
  704. package/dist/tools/vault-manage-tool.js +83 -156
  705. package/dist/tools/vault-manage-tool.js.map +1 -1
  706. package/dist/tools/vault-tools.d.ts +25 -0
  707. package/dist/tools/vault-tools.d.ts.map +1 -1
  708. package/dist/tools/vault-tools.js +218 -161
  709. package/dist/tools/vault-tools.js.map +1 -1
  710. package/dist/tools/workspace-registry-tools.d.ts +20 -88
  711. package/dist/tools/workspace-registry-tools.d.ts.map +1 -1
  712. package/dist/tools/workspace-registry-tools.js +78 -83
  713. package/dist/tools/workspace-registry-tools.js.map +1 -1
  714. package/package.json +11 -8
  715. package/scripts/setup/link-local.js +120 -0
  716. package/scripts/setup/setup-linux.sh +16 -6
  717. package/scripts/setup/setup-macos.sh +16 -6
  718. package/scripts/setup/setup-wsl.sh +23 -9
  719. package/templates/agents-md.template.md +130 -237
  720. package/templates/commands/jarvis-agents-md-file.md +7 -0
  721. package/dist/application/azure-sync/index.d.ts +0 -18
  722. package/dist/application/azure-sync/index.d.ts.map +0 -1
  723. package/dist/application/azure-sync/index.js +0 -11
  724. package/dist/application/azure-sync/index.js.map +0 -1
  725. package/dist/application/config/index.d.ts +0 -7
  726. package/dist/application/config/index.d.ts.map +0 -1
  727. package/dist/application/config/index.js +0 -6
  728. package/dist/application/config/index.js.map +0 -1
  729. package/dist/application/environment/dtos.d.ts +0 -74
  730. package/dist/application/environment/dtos.d.ts.map +0 -1
  731. package/dist/application/environment/dtos.js +0 -10
  732. package/dist/application/environment/dtos.js.map +0 -1
  733. package/dist/application/mcp/index.d.ts +0 -10
  734. package/dist/application/mcp/index.d.ts.map +0 -1
  735. package/dist/application/mcp/index.js +0 -8
  736. package/dist/application/mcp/index.js.map +0 -1
  737. package/dist/application/mcp/middleware.d.ts +0 -91
  738. package/dist/application/mcp/middleware.d.ts.map +0 -1
  739. package/dist/application/mcp/middleware.js +0 -84
  740. package/dist/application/mcp/middleware.js.map +0 -1
  741. package/dist/application/mcp/tool-adapter.d.ts +0 -72
  742. package/dist/application/mcp/tool-adapter.d.ts.map +0 -1
  743. package/dist/application/mcp/tool-adapter.js +0 -132
  744. package/dist/application/mcp/tool-adapter.js.map +0 -1
  745. package/dist/application/pipeline/index.d.ts +0 -8
  746. package/dist/application/pipeline/index.d.ts.map +0 -1
  747. package/dist/application/pipeline/index.js +0 -7
  748. package/dist/application/pipeline/index.js.map +0 -1
  749. package/dist/application/wiki-feedback/poll-service.d.ts +0 -56
  750. package/dist/application/wiki-feedback/poll-service.d.ts.map +0 -1
  751. package/dist/application/wiki-feedback/poll-service.js +0 -87
  752. package/dist/application/wiki-feedback/poll-service.js.map +0 -1
  753. package/dist/application/wiki-feedback/use-cases.d.ts +0 -115
  754. package/dist/application/wiki-feedback/use-cases.d.ts.map +0 -1
  755. package/dist/application/wiki-feedback/use-cases.js +0 -271
  756. package/dist/application/wiki-feedback/use-cases.js.map +0 -1
  757. package/dist/cli/config-wizard.d.ts +0 -14
  758. package/dist/cli/config-wizard.d.ts.map +0 -1
  759. package/dist/cli/config-wizard.js +0 -120
  760. package/dist/cli/config-wizard.js.map +0 -1
  761. package/dist/cli/section-editors.d.ts +0 -33
  762. package/dist/cli/section-editors.d.ts.map +0 -1
  763. package/dist/cli/section-editors.js +0 -286
  764. package/dist/cli/section-editors.js.map +0 -1
  765. package/dist/cli/wizard-prompts.d.ts +0 -76
  766. package/dist/cli/wizard-prompts.d.ts.map +0 -1
  767. package/dist/cli/wizard-prompts.js +0 -98
  768. package/dist/cli/wizard-prompts.js.map +0 -1
  769. package/dist/domain/azure-sync/index.d.ts +0 -16
  770. package/dist/domain/azure-sync/index.d.ts.map +0 -1
  771. package/dist/domain/azure-sync/index.js +0 -14
  772. package/dist/domain/azure-sync/index.js.map +0 -1
  773. package/dist/domain/config/index.d.ts +0 -9
  774. package/dist/domain/config/index.d.ts.map +0 -1
  775. package/dist/domain/config/index.js +0 -7
  776. package/dist/domain/config/index.js.map +0 -1
  777. package/dist/domain/domain-map/repositories.d.ts +0 -126
  778. package/dist/domain/domain-map/repositories.d.ts.map +0 -1
  779. package/dist/domain/domain-map/repositories.js +0 -2
  780. package/dist/domain/domain-map/repositories.js.map +0 -1
  781. package/dist/domain/vault/canvas.d.ts +0 -70
  782. package/dist/domain/vault/canvas.d.ts.map +0 -1
  783. package/dist/domain/vault/canvas.js +0 -70
  784. package/dist/domain/vault/canvas.js.map +0 -1
  785. package/dist/domain/vault/timeline.d.ts +0 -53
  786. package/dist/domain/vault/timeline.d.ts.map +0 -1
  787. package/dist/domain/vault/timeline.js +0 -214
  788. package/dist/domain/vault/timeline.js.map +0 -1
  789. package/dist/domain/wiki-feedback/entities.d.ts +0 -101
  790. package/dist/domain/wiki-feedback/entities.d.ts.map +0 -1
  791. package/dist/domain/wiki-feedback/entities.js +0 -154
  792. package/dist/domain/wiki-feedback/entities.js.map +0 -1
  793. package/dist/domain/wiki-feedback/index.d.ts +0 -13
  794. package/dist/domain/wiki-feedback/index.d.ts.map +0 -1
  795. package/dist/domain/wiki-feedback/index.js +0 -11
  796. package/dist/domain/wiki-feedback/index.js.map +0 -1
  797. package/dist/domain/wiki-feedback/ports.d.ts +0 -47
  798. package/dist/domain/wiki-feedback/ports.d.ts.map +0 -1
  799. package/dist/domain/wiki-feedback/ports.js +0 -13
  800. package/dist/domain/wiki-feedback/ports.js.map +0 -1
  801. package/dist/domain/wiki-feedback/repositories.d.ts +0 -33
  802. package/dist/domain/wiki-feedback/repositories.d.ts.map +0 -1
  803. package/dist/domain/wiki-feedback/repositories.js +0 -12
  804. package/dist/domain/wiki-feedback/repositories.js.map +0 -1
  805. package/dist/domain/wiki-feedback/value-objects.d.ts +0 -74
  806. package/dist/domain/wiki-feedback/value-objects.d.ts.map +0 -1
  807. package/dist/domain/wiki-feedback/value-objects.js +0 -144
  808. package/dist/domain/wiki-feedback/value-objects.js.map +0 -1
  809. package/dist/infrastructure/azure-sync/index.d.ts +0 -10
  810. package/dist/infrastructure/azure-sync/index.d.ts.map +0 -1
  811. package/dist/infrastructure/azure-sync/index.js +0 -13
  812. package/dist/infrastructure/azure-sync/index.js.map +0 -1
  813. package/dist/infrastructure/config/index.d.ts +0 -6
  814. package/dist/infrastructure/config/index.d.ts.map +0 -1
  815. package/dist/infrastructure/config/index.js +0 -6
  816. package/dist/infrastructure/config/index.js.map +0 -1
  817. package/dist/infrastructure/wiki-feedback/azure-wiki-client.d.ts +0 -36
  818. package/dist/infrastructure/wiki-feedback/azure-wiki-client.d.ts.map +0 -1
  819. package/dist/infrastructure/wiki-feedback/azure-wiki-client.js +0 -106
  820. package/dist/infrastructure/wiki-feedback/azure-wiki-client.js.map +0 -1
  821. package/dist/infrastructure/wiki-feedback/sqlite-feedback-repository.d.ts +0 -31
  822. package/dist/infrastructure/wiki-feedback/sqlite-feedback-repository.d.ts.map +0 -1
  823. package/dist/infrastructure/wiki-feedback/sqlite-feedback-repository.js +0 -149
  824. package/dist/infrastructure/wiki-feedback/sqlite-feedback-repository.js.map +0 -1
  825. package/dist/mcp-server.d.ts +0 -3
  826. package/dist/mcp-server.d.ts.map +0 -1
  827. package/dist/mcp-server.js +0 -373
  828. package/dist/mcp-server.js.map +0 -1
  829. package/dist/tools/wiki-feedback-tools.d.ts +0 -9
  830. package/dist/tools/wiki-feedback-tools.d.ts.map +0 -1
  831. package/dist/tools/wiki-feedback-tools.js +0 -189
  832. package/dist/tools/wiki-feedback-tools.js.map +0 -1
@@ -1,383 +1,337 @@
1
1
  /**
2
- * Data Tools
3
- *
4
- * Pure TypeScript tools for structured data file operations.
5
- * No Python bridge needed -- uses js-yaml for YAML, built-in JSON,
6
- * and simple line-based CSV parsing.
7
- *
8
- * Tools defined:
9
- * data-yaml-get - Read values from YAML files by dot-notation path
10
- * data-json-get - Read values from JSON files by dot-notation path
11
- * data-csv-query - Query CSV files with filtering and column selection
12
- *
13
- * SOLID: SRP - data file access only
14
- * SOLID: OCP - new formats added via new tool definitions, no modification
2
+ * Data Tools — read access for YAML, JSON, CSV files via DataFileReader port.
3
+ * Write tools (data-yaml-set, data-json-set) are in data-write-tools.ts.
4
+ * @see docs/data-tools.md
15
5
  */
6
+ import { load as yamlLoad } from "js-yaml";
7
+ import { createDataWriteTools } from "./data-write-tools.js";
16
8
  import { tool } from "@opencode-ai/plugin";
17
- import { readFileSync, existsSync } from "node:fs";
18
- import { resolve, isAbsolute } from "node:path";
19
- import yaml from "js-yaml";
20
9
  const z = tool.schema;
21
- // ── Shared Helpers ────────────────────────────────────────────────────
10
+ // ── Shared Utilities ──────────────────────────────────────────────────
22
11
  /**
23
- * Resolve a file path relative to a base directory.
24
- * Returns absolute path or throws if file doesn't exist.
25
- */
26
- function resolveFilePath(filePath, baseDir) {
27
- const abs = isAbsolute(filePath) ? filePath : resolve(baseDir, filePath);
28
- if (!existsSync(abs)) {
29
- throw new Error(`File not found: ${abs}`);
30
- }
31
- return abs;
32
- }
33
- /**
34
- * Traverse an object by dot-notation path.
35
- * Supports array indexing: "items.0.name" or "items[0].name"
36
- * Returns undefined if path doesn't exist.
12
+ * Traverse an object using a dot-notation path.
13
+ * Supports array indexing: "items[0]", "items[-1]".
14
+ * Returns undefined if any segment is missing.
37
15
  */
38
16
  function getByPath(obj, path) {
39
- if (!path || path === ".")
17
+ if (path === "" || path === ".")
40
18
  return obj;
41
- // Normalize array syntax: "items[0].name" -> "items.0.name"
42
- const normalized = path.replace(/\[(\d+)\]/g, ".$1");
43
- const parts = normalized.split(".");
19
+ const segments = path.split(".");
44
20
  let current = obj;
45
- for (const part of parts) {
21
+ for (const segment of segments) {
46
22
  if (current === null || current === undefined)
47
23
  return undefined;
48
- if (typeof current !== "object")
24
+ // Array index notation: items[0], list[-1]
25
+ const arrayMatch = segment.match(/^(.+)\[(-?\d+)\]$/);
26
+ if (arrayMatch !== null) {
27
+ const [, key, idxStr] = arrayMatch;
28
+ if (typeof current !== "object")
29
+ return undefined;
30
+ const arr = current[key ?? ""];
31
+ if (!Array.isArray(arr))
32
+ return undefined;
33
+ const idx = Number(idxStr);
34
+ current = idx < 0 ? arr[arr.length + idx] : arr[idx];
35
+ continue;
36
+ }
37
+ if (typeof current !== "object" || Array.isArray(current))
49
38
  return undefined;
50
- const asRecord = current;
51
- current = asRecord[part];
39
+ current = current[segment];
52
40
  }
53
41
  return current;
54
42
  }
55
43
  /**
56
- * Format a value for tool output. Objects/arrays get JSON, primitives get string.
57
- */
58
- function formatValue(value) {
59
- if (value === undefined)
60
- return "undefined";
61
- if (value === null)
62
- return "null";
63
- if (typeof value === "object") {
64
- return JSON.stringify(value, null, 2);
65
- }
66
- return String(value);
67
- }
68
- /**
69
- * Parse CSV content into array of row objects.
70
- * Handles quoted fields with commas and newlines.
44
+ * Parse CSV text into an array of row objects (header-keyed).
45
+ * Handles quoted fields and escaped quotes (RFC 4180 subset).
71
46
  */
72
- function parseCsv(content, delimiter = ",") {
73
- const lines = splitCsvLines(content);
74
- if (lines.length < 2)
47
+ function parseCsv(text) {
48
+ const lines = text.split(/\r?\n/).filter((l) => l.trim() !== "");
49
+ if (lines.length === 0)
75
50
  return [];
76
- const headers = parseCsvLine(lines[0], delimiter);
51
+ const parseRow = (line) => {
52
+ const fields = [];
53
+ let i = 0;
54
+ while (i < line.length) {
55
+ if (line[i] === '"') {
56
+ // Quoted field
57
+ let field = "";
58
+ i++; // skip opening quote
59
+ while (i < line.length) {
60
+ if (line[i] === '"' && line[i + 1] === '"') {
61
+ field += '"';
62
+ i += 2;
63
+ }
64
+ else if (line[i] === '"') {
65
+ i++; // skip closing quote
66
+ break;
67
+ }
68
+ else {
69
+ field += line[i];
70
+ i++;
71
+ }
72
+ }
73
+ fields.push(field);
74
+ if (line[i] === ",")
75
+ i++;
76
+ }
77
+ else {
78
+ // Unquoted field
79
+ const end = line.indexOf(",", i);
80
+ if (end === -1) {
81
+ fields.push(line.slice(i));
82
+ break;
83
+ }
84
+ else {
85
+ fields.push(line.slice(i, end));
86
+ i = end + 1;
87
+ }
88
+ }
89
+ }
90
+ return fields;
91
+ };
92
+ const headers = parseRow(lines[0] ?? "");
77
93
  const rows = [];
78
94
  for (let i = 1; i < lines.length; i++) {
79
- const line = lines[i];
80
- if (!line.trim())
81
- continue;
82
- const values = parseCsvLine(line, delimiter);
95
+ const values = parseRow(lines[i] ?? "");
83
96
  const row = {};
84
97
  for (let j = 0; j < headers.length; j++) {
85
- const header = headers[j];
86
- row[header] = values[j] ?? "";
98
+ row[headers[j] ?? ""] = values[j] ?? "";
87
99
  }
88
100
  rows.push(row);
89
101
  }
90
102
  return rows;
91
103
  }
92
104
  /**
93
- * Split CSV content into logical lines (respecting quoted newlines).
105
+ * Evaluate a simple filter condition against a row.
106
+ * Supports: ==, !=, >, >=, <, <=, contains (case-insensitive substring).
107
+ * Examples:
108
+ * "status == active"
109
+ * "amount > 1000"
110
+ * "name contains alice"
94
111
  */
95
- function splitCsvLines(content) {
96
- const lines = [];
97
- let current = "";
98
- let inQuotes = false;
99
- for (const char of content) {
100
- if (char === '"') {
101
- inQuotes = !inQuotes;
102
- current += char;
103
- }
104
- else if (char === "\n" && !inQuotes) {
105
- lines.push(current);
106
- current = "";
107
- }
108
- else if (char === "\r") {
109
- // Skip carriage returns
110
- }
111
- else {
112
- current += char;
112
+ function matchesFilter(row, condition) {
113
+ // Operators in order of specificity (>= before >)
114
+ const ops = [">=", "<=", "!=", "==", ">", "<", "contains"];
115
+ let op;
116
+ let splitIndex = -1;
117
+ for (const candidate of ops) {
118
+ const idx = condition.indexOf(` ${candidate} `);
119
+ if (idx !== -1) {
120
+ op = candidate;
121
+ splitIndex = idx;
122
+ break;
113
123
  }
114
124
  }
115
- if (current.trim()) {
116
- lines.push(current);
125
+ if (op === undefined) {
126
+ return false; // unrecognised condition — skip filter
117
127
  }
118
- return lines;
119
- }
120
- /**
121
- * Parse a single CSV line into field values.
122
- */
123
- function parseCsvLine(line, delimiter) {
124
- const fields = [];
125
- let current = "";
126
- let inQuotes = false;
127
- for (let i = 0; i < line.length; i++) {
128
- const char = line[i];
129
- if (char === '"') {
130
- if (inQuotes && i + 1 < line.length && line[i + 1] === '"') {
131
- current += '"';
132
- i++; // Skip escaped quote
133
- }
134
- else {
135
- inQuotes = !inQuotes;
136
- }
137
- }
138
- else if (char === delimiter && !inQuotes) {
139
- fields.push(current.trim());
140
- current = "";
141
- }
142
- else {
143
- current += char;
144
- }
128
+ const opStr = ` ${op} `;
129
+ const field = condition.slice(0, splitIndex).trim();
130
+ const value = condition.slice(splitIndex + opStr.length).trim();
131
+ const cellRaw = row[field];
132
+ if (cellRaw === undefined)
133
+ return false;
134
+ const cell = cellRaw.trim();
135
+ // Numeric comparison when both sides look numeric
136
+ const numCell = Number(cell);
137
+ const numValue = Number(value);
138
+ const bothNumeric = !isNaN(numCell) && !isNaN(numValue);
139
+ switch (op) {
140
+ case "==":
141
+ return bothNumeric
142
+ ? numCell === numValue
143
+ : cell.toLowerCase() === value.toLowerCase();
144
+ case "!=":
145
+ return bothNumeric
146
+ ? numCell !== numValue
147
+ : cell.toLowerCase() !== value.toLowerCase();
148
+ case ">":
149
+ return bothNumeric ? numCell > numValue : cell > value;
150
+ case ">=":
151
+ return bothNumeric ? numCell >= numValue : cell >= value;
152
+ case "<":
153
+ return bothNumeric ? numCell < numValue : cell < value;
154
+ case "<=":
155
+ return bothNumeric ? numCell <= numValue : cell <= value;
156
+ case "contains":
157
+ return cell.toLowerCase().includes(value.toLowerCase());
145
158
  }
146
- fields.push(current.trim());
147
- return fields;
148
159
  }
160
+ // ── Tool Factory ──────────────────────────────────────────────────────
149
161
  /**
150
- * Apply a simple filter expression to a row.
151
- * Supports: "column=value", "column!=value", "column>value", "column<value",
152
- * "column>=value", "column<=value", "column~=pattern" (contains)
162
+ * Creates data access tools for YAML, JSON, and CSV files.
163
+ * Pure TypeScript uses js-yaml (already in dependencies) and Node.js built-ins.
153
164
  */
154
- function matchesFilter(row, filter) {
155
- const operators = [">=", "<=", "!=", "~=", ">", "<", "="];
156
- for (const op of operators) {
157
- const idx = filter.indexOf(op);
158
- if (idx === -1)
159
- continue;
160
- const col = filter.slice(0, idx).trim();
161
- const val = filter.slice(idx + op.length).trim();
162
- const cellValue = row[col] ?? "";
163
- switch (op) {
164
- case "=":
165
- return cellValue === val;
166
- case "!=":
167
- return cellValue !== val;
168
- case "~=":
169
- return cellValue.toLowerCase().includes(val.toLowerCase());
170
- case ">":
171
- return Number(cellValue) > Number(val);
172
- case "<":
173
- return Number(cellValue) < Number(val);
174
- case ">=":
175
- return Number(cellValue) >= Number(val);
176
- case "<=":
177
- return Number(cellValue) <= Number(val);
178
- }
179
- }
180
- return true; // No valid operator found, include row
181
- }
182
- // ── Dependencies ──────────────────────────────────────────────────────
183
- // No external deps needed -- tools read files from the workspace directly.
184
- // ── Tool Factory ──────────────────────────────────────────────────────
185
- export function createDataTools() {
186
- // ── data-yaml-get ─────────────────────────────────────────────────
187
- const yamlGet = tool({
188
- description: "Read values from a YAML file using dot-notation path. " +
189
- "Returns the value at the path, or the entire file if no path given. " +
190
- "Supports nested keys (e.g. 'server.port') and array indices ('items.0').",
165
+ export function createDataTools(deps) {
166
+ const { dataFileReader } = deps;
167
+ // ── data-yaml-get ───────────────────────────────────────────────
168
+ const dataYamlGet = tool({
169
+ description: "Read a value from a YAML file using dot-notation path. " +
170
+ "Supports nested keys and array indexing (e.g., 'items[0]'). " +
171
+ "Use this instead of reading YAML files directly (blocked by governance).",
191
172
  args: {
192
- file: z.string().describe("Path to YAML file (absolute or relative to workspace)"),
173
+ file: z
174
+ .string()
175
+ .describe("Absolute path to the YAML file (e.g., '/project/config.yaml')"),
193
176
  path: z
194
177
  .string()
195
178
  .optional()
196
- .describe("Dot-notation path (e.g. 'server.port', 'items.0.name')"),
179
+ .describe("Dot-notation path to the value (e.g., 'database.host', 'items[0].name'). " +
180
+ "Omit or use '.' to return the entire document."),
197
181
  },
198
- async execute(args, ctx) {
182
+ async execute(args) {
183
+ const raw = dataFileReader.readText(args.file);
184
+ if (raw === null) {
185
+ return `ERROR: Cannot read file "${args.file}": file not found`;
186
+ }
187
+ let parsed;
199
188
  try {
200
- const filePath = resolveFilePath(args.file, ctx.directory);
201
- const content = readFileSync(filePath, "utf-8");
202
- const parsed = yaml.load(content);
203
- if (args.path === undefined) {
204
- return formatValue(parsed);
205
- }
206
- const value = getByPath(parsed, args.path);
207
- if (value === undefined) {
208
- return `Path '${args.path}' not found in ${args.file}`;
209
- }
210
- return formatValue(value);
189
+ parsed = yamlLoad(raw);
211
190
  }
212
- catch (error) {
213
- const msg = error instanceof Error ? error.message : String(error);
214
- return `YAML read error: ${msg}`;
191
+ catch (err) {
192
+ return `ERROR: Invalid YAML in "${args.file}": ${err instanceof Error ? err.message : String(err)}`;
215
193
  }
194
+ const keyPath = args.path ?? ".";
195
+ const value = getByPath(parsed, keyPath);
196
+ if (value === undefined) {
197
+ return `Key "${keyPath}" not found in ${args.file}`;
198
+ }
199
+ if (typeof value === "object" && value !== null) {
200
+ return JSON.stringify(value, null, 2);
201
+ }
202
+ return String(value);
216
203
  },
217
204
  });
218
- // ── data-json-get ─────────────────────────────────────────────────
219
- const jsonGet = tool({
220
- description: "Read values from a JSON file using dot-notation path. " +
221
- "Returns the value at the path, or the entire file if no path given. " +
222
- "Supports nested keys and array indices.",
205
+ // ── data-json-get ───────────────────────────────────────────────
206
+ const dataJsonGet = tool({
207
+ description: "Read a value from a JSON file using dot-notation path. " +
208
+ "Supports nested keys and array indexing (e.g., 'users[0].name'). " +
209
+ "Omit path to return the entire document.",
223
210
  args: {
224
- file: z.string().describe("Path to JSON file (absolute or relative to workspace)"),
211
+ file: z
212
+ .string()
213
+ .describe("Absolute path to the JSON file"),
225
214
  path: z
226
215
  .string()
227
216
  .optional()
228
- .describe("Dot-notation path (e.g. 'dependencies.typescript', 'scripts.build')"),
217
+ .describe("Dot-notation path to the value (e.g., 'config.timeout', 'results[0]'). " +
218
+ "Omit or use '.' to return the entire document."),
229
219
  },
230
- async execute(args, ctx) {
220
+ async execute(args) {
221
+ const raw = dataFileReader.readText(args.file);
222
+ if (raw === null) {
223
+ return `ERROR: Cannot read file "${args.file}": file not found`;
224
+ }
225
+ let parsed;
231
226
  try {
232
- const filePath = resolveFilePath(args.file, ctx.directory);
233
- const content = readFileSync(filePath, "utf-8");
234
- const parsed = JSON.parse(content);
235
- if (args.path === undefined) {
236
- return formatValue(parsed);
237
- }
238
- const value = getByPath(parsed, args.path);
239
- if (value === undefined) {
240
- return `Path '${args.path}' not found in ${args.file}`;
241
- }
242
- return formatValue(value);
227
+ parsed = JSON.parse(raw);
228
+ }
229
+ catch (err) {
230
+ return `ERROR: Invalid JSON in "${args.file}": ${err instanceof Error ? err.message : String(err)}`;
231
+ }
232
+ const keyPath = args.path ?? ".";
233
+ const value = getByPath(parsed, keyPath);
234
+ if (value === undefined) {
235
+ return `Key "${keyPath}" not found in ${args.file}`;
243
236
  }
244
- catch (error) {
245
- const msg = error instanceof Error ? error.message : String(error);
246
- return `JSON read error: ${msg}`;
237
+ if (typeof value === "object" && value !== null) {
238
+ return JSON.stringify(value, null, 2);
247
239
  }
240
+ return String(value);
248
241
  },
249
242
  });
250
- // ── data-csv-query ────────────────────────────────────────────────
251
- const csvQuery = tool({
252
- description: "Query a CSV file with filtering and column selection. " +
253
- "Supports operators: = != > < >= <= ~= (contains). " +
254
- "Example filter: 'status=active' or 'price>100'. " +
255
- "Returns matching rows as formatted text.",
243
+ // ── data-csv-query ──────────────────────────────────────────────
244
+ const dataCsvQuery = tool({
245
+ description: "Query rows from a CSV file. Returns all rows or a filtered subset. " +
246
+ "Use this instead of reading CSV files directly (blocked by governance). " +
247
+ "Filter syntax: 'column operator value' where operator is one of: " +
248
+ "==, !=, >, >=, <, <=, contains. " +
249
+ "Examples: 'status == active', 'amount > 1000', 'name contains alice'.",
256
250
  args: {
257
- file: z.string().describe("Path to CSV file"),
251
+ file: z
252
+ .string()
253
+ .describe("Absolute path to the CSV file"),
258
254
  filter: z
259
255
  .string()
260
256
  .optional()
261
- .describe("Filter expression (e.g. 'status=active', 'age>30')"),
257
+ .describe("Optional filter condition (e.g., 'status == active', 'amount > 1000'). " +
258
+ "Omit to return all rows."),
262
259
  columns: z
263
- .string()
260
+ .array(z.string())
264
261
  .optional()
265
- .describe("Comma-separated column names to include (default: all)"),
262
+ .describe("Optional list of column names to include in output. " +
263
+ "Omit to return all columns."),
266
264
  limit: z
267
265
  .number()
266
+ .int()
268
267
  .optional()
269
- .describe("Max rows to return (default: 50)"),
270
- delimiter: z
271
- .string()
272
- .optional()
273
- .describe("Field delimiter (default: comma)"),
274
- format: z
275
- .enum(["table", "json", "csv"])
276
- .optional()
277
- .describe("Output format (default: table)"),
268
+ .describe("Maximum number of rows to return (default: 100)"),
278
269
  },
279
- async execute(args, ctx) {
270
+ async execute(args) {
271
+ const raw = dataFileReader.readText(args.file);
272
+ if (raw === null) {
273
+ return `ERROR: Cannot read file "${args.file}": file not found`;
274
+ }
275
+ let rows;
280
276
  try {
281
- const filePath = resolveFilePath(args.file, ctx.directory);
282
- const content = readFileSync(filePath, "utf-8");
283
- const delim = args.delimiter ?? ",";
284
- const maxRows = args.limit ?? 50;
285
- const outputFormat = args.format ?? "table";
286
- const allRows = parseCsv(content, delim);
287
- if (allRows.length === 0) {
288
- return "CSV file is empty or has no data rows.";
289
- }
290
- // Apply filter
291
- let filtered = allRows;
292
- if (args.filter !== undefined) {
293
- filtered = allRows.filter((row) => matchesFilter(row, args.filter));
294
- }
295
- // Select columns
296
- const allColumns = Object.keys(allRows[0]);
297
- const selectedColumns = args.columns !== undefined
298
- ? args.columns.split(",").map((c) => c.trim())
299
- : allColumns;
300
- // Validate columns exist
301
- for (const col of selectedColumns) {
302
- if (!allColumns.includes(col)) {
303
- return `Column '${col}' not found. Available: ${allColumns.join(", ")}`;
304
- }
305
- }
306
- // Limit rows
307
- const limited = filtered.slice(0, maxRows);
308
- // Format output
309
- if (outputFormat === "json") {
310
- const projected = limited.map((row) => {
311
- const obj = {};
312
- for (const col of selectedColumns) {
313
- obj[col] = row[col] ?? "";
314
- }
315
- return obj;
316
- });
317
- return JSON.stringify(projected, null, 2);
318
- }
319
- if (outputFormat === "csv") {
320
- const lines = [selectedColumns.join(delim)];
321
- for (const row of limited) {
322
- const values = selectedColumns.map((col) => row[col] ?? "");
323
- lines.push(values.join(delim));
324
- }
325
- return lines.join("\n");
326
- }
327
- // Table format (default)
328
- return formatTable(limited, selectedColumns, filtered.length, maxRows);
277
+ rows = parseCsv(raw);
278
+ }
279
+ catch (err) {
280
+ return `ERROR: Failed to parse CSV "${args.file}": ${err instanceof Error ? err.message : String(err)}`;
281
+ }
282
+ if (rows.length === 0) {
283
+ return `CSV file "${args.file}" is empty or has no data rows.`;
284
+ }
285
+ // Apply filter
286
+ if (args.filter !== undefined && args.filter.trim() !== "") {
287
+ rows = rows.filter((row) => matchesFilter(row, args.filter));
288
+ }
289
+ // Apply limit
290
+ const maxRows = args.limit ?? 100;
291
+ const limited = rows.slice(0, maxRows);
292
+ const truncated = rows.length > maxRows;
293
+ // Select columns
294
+ const allHeaders = Object.keys(rows[0] ?? {});
295
+ const headers = args.columns !== undefined && args.columns.length > 0
296
+ ? args.columns.filter((c) => allHeaders.includes(c))
297
+ : allHeaders;
298
+ if (limited.length === 0) {
299
+ const filterDesc = args.filter !== undefined ? ` matching "${args.filter}"` : "";
300
+ return `No rows found${filterDesc} in "${args.file}".`;
329
301
  }
330
- catch (error) {
331
- const msg = error instanceof Error ? error.message : String(error);
332
- return `CSV query error: ${msg}`;
302
+ // Format as aligned text table
303
+ const colWidths = {};
304
+ for (const h of headers) {
305
+ colWidths[h] = h.length;
333
306
  }
307
+ for (const row of limited) {
308
+ for (const h of headers) {
309
+ const len = (row[h] ?? "").length;
310
+ if (len > (colWidths[h] ?? 0))
311
+ colWidths[h] = len;
312
+ }
313
+ }
314
+ const pad = (s, w) => s.padEnd(w);
315
+ const separator = headers.map((h) => "-".repeat(colWidths[h] ?? 4)).join(" | ");
316
+ const header = headers.map((h) => pad(h, colWidths[h] ?? 4)).join(" | ");
317
+ const dataRows = limited.map((row) => headers.map((h) => pad(row[h] ?? "", colWidths[h] ?? 4)).join(" | "));
318
+ const lines = [
319
+ `File: ${args.file}`,
320
+ `Rows: ${limited.length}${truncated ? ` (of ${rows.length} matched, limit=${maxRows})` : ""}`,
321
+ "",
322
+ header,
323
+ separator,
324
+ ...dataRows,
325
+ ];
326
+ return lines.join("\n");
334
327
  },
335
328
  });
329
+ // data-yaml-set and data-json-set live in data-write-tools.ts
336
330
  return {
337
- "data-yaml-get": yamlGet,
338
- "data-json-get": jsonGet,
339
- "data-csv-query": csvQuery,
331
+ "data-yaml-get": dataYamlGet,
332
+ "data-json-get": dataJsonGet,
333
+ "data-csv-query": dataCsvQuery,
334
+ ...createDataWriteTools(deps),
340
335
  };
341
336
  }
342
- // ── Table Formatter ─────────────────────────────────────────────────
343
- function formatTable(rows, columns, totalMatched, limit) {
344
- // Calculate column widths
345
- const widths = new Map();
346
- for (const col of columns) {
347
- widths.set(col, col.length);
348
- }
349
- for (const row of rows) {
350
- for (const col of columns) {
351
- const val = row[col] ?? "";
352
- const current = widths.get(col) ?? 0;
353
- if (val.length > current) {
354
- widths.set(col, Math.min(val.length, 40)); // Cap at 40 chars
355
- }
356
- }
357
- }
358
- // Build header
359
- const header = columns
360
- .map((col) => col.padEnd(widths.get(col) ?? col.length))
361
- .join(" | ");
362
- const separator = columns
363
- .map((col) => "-".repeat(widths.get(col) ?? col.length))
364
- .join("-+-");
365
- // Build rows
366
- const dataLines = rows.map((row) => columns
367
- .map((col) => {
368
- const val = row[col] ?? "";
369
- const width = widths.get(col) ?? col.length;
370
- return val.length > 40 ? val.slice(0, 37) + "..." : val.padEnd(width);
371
- })
372
- .join(" | "));
373
- const lines = [header, separator, ...dataLines];
374
- // Footer with count info
375
- if (totalMatched > limit) {
376
- lines.push(`\n(Showing ${rows.length} of ${totalMatched} matching rows)`);
377
- }
378
- else {
379
- lines.push(`\n(${totalMatched} rows)`);
380
- }
381
- return lines.join("\n");
382
- }
383
337
  //# sourceMappingURL=data-tools.js.map