@mc1global/opencode-jarvis 0.1.0 → 0.3.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 (295) hide show
  1. package/dist/application/agent-registry/dtos.d.ts +66 -0
  2. package/dist/application/agent-registry/dtos.d.ts.map +1 -0
  3. package/dist/application/agent-registry/dtos.js +11 -0
  4. package/dist/application/agent-registry/dtos.js.map +1 -0
  5. package/dist/application/agent-registry/use-cases.d.ts +39 -0
  6. package/dist/application/agent-registry/use-cases.d.ts.map +1 -0
  7. package/dist/application/agent-registry/use-cases.js +222 -0
  8. package/dist/application/agent-registry/use-cases.js.map +1 -0
  9. package/dist/application/azure-sync/dtos.d.ts +210 -0
  10. package/dist/application/azure-sync/dtos.d.ts.map +1 -0
  11. package/dist/application/azure-sync/dtos.js +11 -0
  12. package/dist/application/azure-sync/dtos.js.map +1 -0
  13. package/dist/application/azure-sync/field-builders.d.ts +54 -0
  14. package/dist/application/azure-sync/field-builders.d.ts.map +1 -0
  15. package/dist/application/azure-sync/field-builders.js +166 -0
  16. package/dist/application/azure-sync/field-builders.js.map +1 -0
  17. package/dist/application/azure-sync/index.d.ts +16 -0
  18. package/dist/application/azure-sync/index.d.ts.map +1 -0
  19. package/dist/application/azure-sync/index.js +10 -0
  20. package/dist/application/azure-sync/index.js.map +1 -0
  21. package/dist/application/azure-sync/pr-use-cases.d.ts +39 -0
  22. package/dist/application/azure-sync/pr-use-cases.d.ts.map +1 -0
  23. package/dist/application/azure-sync/pr-use-cases.js +192 -0
  24. package/dist/application/azure-sync/pr-use-cases.js.map +1 -0
  25. package/dist/application/azure-sync/pull-use-cases.d.ts +43 -0
  26. package/dist/application/azure-sync/pull-use-cases.d.ts.map +1 -0
  27. package/dist/application/azure-sync/pull-use-cases.js +322 -0
  28. package/dist/application/azure-sync/pull-use-cases.js.map +1 -0
  29. package/dist/application/azure-sync/push-use-cases.d.ts +53 -0
  30. package/dist/application/azure-sync/push-use-cases.d.ts.map +1 -0
  31. package/dist/application/azure-sync/push-use-cases.js +341 -0
  32. package/dist/application/azure-sync/push-use-cases.js.map +1 -0
  33. package/dist/application/azure-sync/reverse-field-builder.d.ts +52 -0
  34. package/dist/application/azure-sync/reverse-field-builder.d.ts.map +1 -0
  35. package/dist/application/azure-sync/reverse-field-builder.js +130 -0
  36. package/dist/application/azure-sync/reverse-field-builder.js.map +1 -0
  37. package/dist/application/azure-sync/task-push-use-cases.d.ts +68 -0
  38. package/dist/application/azure-sync/task-push-use-cases.d.ts.map +1 -0
  39. package/dist/application/azure-sync/task-push-use-cases.js +162 -0
  40. package/dist/application/azure-sync/task-push-use-cases.js.map +1 -0
  41. package/dist/application/config/config-service.d.ts +64 -0
  42. package/dist/application/config/config-service.d.ts.map +1 -0
  43. package/dist/application/config/config-service.js +110 -0
  44. package/dist/application/config/config-service.js.map +1 -0
  45. package/dist/application/config/index.d.ts +5 -0
  46. package/dist/application/config/index.d.ts.map +1 -0
  47. package/dist/application/config/index.js +5 -0
  48. package/dist/application/config/index.js.map +1 -0
  49. package/dist/application/kanban/board-use-cases.d.ts.map +1 -1
  50. package/dist/application/kanban/board-use-cases.js +14 -0
  51. package/dist/application/kanban/board-use-cases.js.map +1 -1
  52. package/dist/application/kanban/card-use-cases.d.ts +21 -2
  53. package/dist/application/kanban/card-use-cases.d.ts.map +1 -1
  54. package/dist/application/kanban/card-use-cases.js +180 -1
  55. package/dist/application/kanban/card-use-cases.js.map +1 -1
  56. package/dist/application/kanban/dtos.d.ts +59 -0
  57. package/dist/application/kanban/dtos.d.ts.map +1 -1
  58. package/dist/application/mcp/index.d.ts +10 -0
  59. package/dist/application/mcp/index.d.ts.map +1 -0
  60. package/dist/application/mcp/index.js +8 -0
  61. package/dist/application/mcp/index.js.map +1 -0
  62. package/dist/application/mcp/middleware.d.ts +91 -0
  63. package/dist/application/mcp/middleware.d.ts.map +1 -0
  64. package/dist/application/mcp/middleware.js +84 -0
  65. package/dist/application/mcp/middleware.js.map +1 -0
  66. package/dist/application/mcp/tool-adapter.d.ts +72 -0
  67. package/dist/application/mcp/tool-adapter.d.ts.map +1 -0
  68. package/dist/application/mcp/tool-adapter.js +132 -0
  69. package/dist/application/mcp/tool-adapter.js.map +1 -0
  70. package/dist/application/pipeline/dtos.d.ts +135 -0
  71. package/dist/application/pipeline/dtos.d.ts.map +1 -0
  72. package/dist/application/pipeline/dtos.js +11 -0
  73. package/dist/application/pipeline/dtos.js.map +1 -0
  74. package/dist/application/pipeline/index.d.ts +8 -0
  75. package/dist/application/pipeline/index.d.ts.map +1 -0
  76. package/dist/application/pipeline/index.js +7 -0
  77. package/dist/application/pipeline/index.js.map +1 -0
  78. package/dist/application/pipeline/use-cases.d.ts +67 -0
  79. package/dist/application/pipeline/use-cases.d.ts.map +1 -0
  80. package/dist/application/pipeline/use-cases.js +413 -0
  81. package/dist/application/pipeline/use-cases.js.map +1 -0
  82. package/dist/application/rag/use-cases.d.ts +3 -0
  83. package/dist/application/rag/use-cases.d.ts.map +1 -1
  84. package/dist/application/rag/use-cases.js +112 -34
  85. package/dist/application/rag/use-cases.js.map +1 -1
  86. package/dist/domain/agent-registry/entities.d.ts +68 -0
  87. package/dist/domain/agent-registry/entities.d.ts.map +1 -0
  88. package/dist/domain/agent-registry/entities.js +177 -0
  89. package/dist/domain/agent-registry/entities.js.map +1 -0
  90. package/dist/domain/agent-registry/repositories.d.ts +56 -0
  91. package/dist/domain/agent-registry/repositories.d.ts.map +1 -0
  92. package/dist/domain/agent-registry/repositories.js +12 -0
  93. package/dist/domain/agent-registry/repositories.js.map +1 -0
  94. package/dist/domain/agent-registry/services.d.ts +87 -0
  95. package/dist/domain/agent-registry/services.d.ts.map +1 -0
  96. package/dist/domain/agent-registry/services.js +188 -0
  97. package/dist/domain/agent-registry/services.js.map +1 -0
  98. package/dist/domain/agent-registry/value-objects.d.ts +145 -0
  99. package/dist/domain/agent-registry/value-objects.d.ts.map +1 -0
  100. package/dist/domain/agent-registry/value-objects.js +339 -0
  101. package/dist/domain/agent-registry/value-objects.js.map +1 -0
  102. package/dist/domain/azure-sync/entities.d.ts +165 -0
  103. package/dist/domain/azure-sync/entities.d.ts.map +1 -0
  104. package/dist/domain/azure-sync/entities.js +203 -0
  105. package/dist/domain/azure-sync/entities.js.map +1 -0
  106. package/dist/domain/azure-sync/index.d.ts +16 -0
  107. package/dist/domain/azure-sync/index.d.ts.map +1 -0
  108. package/dist/domain/azure-sync/index.js +14 -0
  109. package/dist/domain/azure-sync/index.js.map +1 -0
  110. package/dist/domain/azure-sync/ports.d.ts +117 -0
  111. package/dist/domain/azure-sync/ports.d.ts.map +1 -0
  112. package/dist/domain/azure-sync/ports.js +13 -0
  113. package/dist/domain/azure-sync/ports.js.map +1 -0
  114. package/dist/domain/azure-sync/repositories.d.ts +53 -0
  115. package/dist/domain/azure-sync/repositories.d.ts.map +1 -0
  116. package/dist/domain/azure-sync/repositories.js +11 -0
  117. package/dist/domain/azure-sync/repositories.js.map +1 -0
  118. package/dist/domain/azure-sync/services.d.ts +107 -0
  119. package/dist/domain/azure-sync/services.d.ts.map +1 -0
  120. package/dist/domain/azure-sync/services.js +316 -0
  121. package/dist/domain/azure-sync/services.js.map +1 -0
  122. package/dist/domain/azure-sync/value-objects.d.ts +129 -0
  123. package/dist/domain/azure-sync/value-objects.d.ts.map +1 -0
  124. package/dist/domain/azure-sync/value-objects.js +343 -0
  125. package/dist/domain/azure-sync/value-objects.js.map +1 -0
  126. package/dist/domain/config/index.d.ts +9 -0
  127. package/dist/domain/config/index.d.ts.map +1 -0
  128. package/dist/domain/config/index.js +7 -0
  129. package/dist/domain/config/index.js.map +1 -0
  130. package/dist/domain/config/repositories.d.ts +36 -0
  131. package/dist/domain/config/repositories.d.ts.map +1 -0
  132. package/dist/domain/config/repositories.js +12 -0
  133. package/dist/domain/config/repositories.js.map +1 -0
  134. package/dist/domain/config/value-objects.d.ts +112 -0
  135. package/dist/domain/config/value-objects.d.ts.map +1 -0
  136. package/dist/domain/config/value-objects.js +93 -0
  137. package/dist/domain/config/value-objects.js.map +1 -0
  138. package/dist/domain/governance/policies.d.ts.map +1 -1
  139. package/dist/domain/governance/policies.js +70 -0
  140. package/dist/domain/governance/policies.js.map +1 -1
  141. package/dist/domain/kanban/entities.d.ts +67 -15
  142. package/dist/domain/kanban/entities.d.ts.map +1 -1
  143. package/dist/domain/kanban/entities.js +177 -14
  144. package/dist/domain/kanban/entities.js.map +1 -1
  145. package/dist/domain/kanban/grooming.d.ts +27 -7
  146. package/dist/domain/kanban/grooming.d.ts.map +1 -1
  147. package/dist/domain/kanban/grooming.js +50 -12
  148. package/dist/domain/kanban/grooming.js.map +1 -1
  149. package/dist/domain/kanban/services.d.ts +16 -2
  150. package/dist/domain/kanban/services.d.ts.map +1 -1
  151. package/dist/domain/kanban/services.js +29 -2
  152. package/dist/domain/kanban/services.js.map +1 -1
  153. package/dist/domain/kanban/value-objects.d.ts +48 -0
  154. package/dist/domain/kanban/value-objects.d.ts.map +1 -1
  155. package/dist/domain/kanban/value-objects.js +53 -0
  156. package/dist/domain/kanban/value-objects.js.map +1 -1
  157. package/dist/domain/pipeline/gate.d.ts +75 -0
  158. package/dist/domain/pipeline/gate.d.ts.map +1 -0
  159. package/dist/domain/pipeline/gate.js +158 -0
  160. package/dist/domain/pipeline/gate.js.map +1 -0
  161. package/dist/domain/pipeline/index.d.ts +13 -0
  162. package/dist/domain/pipeline/index.d.ts.map +1 -0
  163. package/dist/domain/pipeline/index.js +14 -0
  164. package/dist/domain/pipeline/index.js.map +1 -0
  165. package/dist/domain/pipeline/pipeline.d.ts +99 -0
  166. package/dist/domain/pipeline/pipeline.d.ts.map +1 -0
  167. package/dist/domain/pipeline/pipeline.js +257 -0
  168. package/dist/domain/pipeline/pipeline.js.map +1 -0
  169. package/dist/domain/pipeline/ports.d.ts +120 -0
  170. package/dist/domain/pipeline/ports.d.ts.map +1 -0
  171. package/dist/domain/pipeline/ports.js +12 -0
  172. package/dist/domain/pipeline/ports.js.map +1 -0
  173. package/dist/domain/pipeline/repositories.d.ts +66 -0
  174. package/dist/domain/pipeline/repositories.d.ts.map +1 -0
  175. package/dist/domain/pipeline/repositories.js +11 -0
  176. package/dist/domain/pipeline/repositories.js.map +1 -0
  177. package/dist/domain/pipeline/services.d.ts +77 -0
  178. package/dist/domain/pipeline/services.d.ts.map +1 -0
  179. package/dist/domain/pipeline/services.js +156 -0
  180. package/dist/domain/pipeline/services.js.map +1 -0
  181. package/dist/domain/pipeline/value-objects.d.ts +117 -0
  182. package/dist/domain/pipeline/value-objects.d.ts.map +1 -0
  183. package/dist/domain/pipeline/value-objects.js +313 -0
  184. package/dist/domain/pipeline/value-objects.js.map +1 -0
  185. package/dist/domain/rag/value-objects.d.ts +9 -2
  186. package/dist/domain/rag/value-objects.d.ts.map +1 -1
  187. package/dist/domain/rag/value-objects.js +8 -2
  188. package/dist/domain/rag/value-objects.js.map +1 -1
  189. package/dist/index.d.ts.map +1 -1
  190. package/dist/index.js +113 -75
  191. package/dist/index.js.map +1 -1
  192. package/dist/infrastructure/agent-registry/agent-profile-repository.d.ts +29 -0
  193. package/dist/infrastructure/agent-registry/agent-profile-repository.d.ts.map +1 -0
  194. package/dist/infrastructure/agent-registry/agent-profile-repository.js +109 -0
  195. package/dist/infrastructure/agent-registry/agent-profile-repository.js.map +1 -0
  196. package/dist/infrastructure/agent-registry/agent-session-adapter.d.ts +28 -0
  197. package/dist/infrastructure/agent-registry/agent-session-adapter.d.ts.map +1 -0
  198. package/dist/infrastructure/agent-registry/agent-session-adapter.js +61 -0
  199. package/dist/infrastructure/agent-registry/agent-session-adapter.js.map +1 -0
  200. package/dist/infrastructure/agent-registry/built-in-profiles.d.ts +19 -0
  201. package/dist/infrastructure/agent-registry/built-in-profiles.d.ts.map +1 -0
  202. package/dist/infrastructure/agent-registry/built-in-profiles.js +210 -0
  203. package/dist/infrastructure/agent-registry/built-in-profiles.js.map +1 -0
  204. package/dist/infrastructure/azure-sync/azure-auth.d.ts +40 -0
  205. package/dist/infrastructure/azure-sync/azure-auth.d.ts.map +1 -0
  206. package/dist/infrastructure/azure-sync/azure-auth.js +94 -0
  207. package/dist/infrastructure/azure-sync/azure-auth.js.map +1 -0
  208. package/dist/infrastructure/azure-sync/azure-devops-client.d.ts +43 -0
  209. package/dist/infrastructure/azure-sync/azure-devops-client.d.ts.map +1 -0
  210. package/dist/infrastructure/azure-sync/azure-devops-client.js +296 -0
  211. package/dist/infrastructure/azure-sync/azure-devops-client.js.map +1 -0
  212. package/dist/infrastructure/azure-sync/index.d.ts +9 -0
  213. package/dist/infrastructure/azure-sync/index.d.ts.map +1 -0
  214. package/dist/infrastructure/azure-sync/index.js +12 -0
  215. package/dist/infrastructure/azure-sync/index.js.map +1 -0
  216. package/dist/infrastructure/azure-sync/sqlite-sync-repository.d.ts +39 -0
  217. package/dist/infrastructure/azure-sync/sqlite-sync-repository.d.ts.map +1 -0
  218. package/dist/infrastructure/azure-sync/sqlite-sync-repository.js +202 -0
  219. package/dist/infrastructure/azure-sync/sqlite-sync-repository.js.map +1 -0
  220. package/dist/infrastructure/config/index.d.ts +5 -0
  221. package/dist/infrastructure/config/index.d.ts.map +1 -0
  222. package/dist/infrastructure/config/index.js +5 -0
  223. package/dist/infrastructure/config/index.js.map +1 -0
  224. package/dist/infrastructure/config/yaml-config-repository.d.ts +22 -0
  225. package/dist/infrastructure/config/yaml-config-repository.d.ts.map +1 -0
  226. package/dist/infrastructure/config/yaml-config-repository.js +68 -0
  227. package/dist/infrastructure/config/yaml-config-repository.js.map +1 -0
  228. package/dist/infrastructure/database/sqlite-adapter.d.ts +13 -15
  229. package/dist/infrastructure/database/sqlite-adapter.d.ts.map +1 -1
  230. package/dist/infrastructure/database/sqlite-adapter.js +31 -17
  231. package/dist/infrastructure/database/sqlite-adapter.js.map +1 -1
  232. package/dist/infrastructure/domain-map/llm-prompt-factory.d.ts +21 -0
  233. package/dist/infrastructure/domain-map/llm-prompt-factory.d.ts.map +1 -0
  234. package/dist/infrastructure/domain-map/llm-prompt-factory.js +49 -0
  235. package/dist/infrastructure/domain-map/llm-prompt-factory.js.map +1 -0
  236. package/dist/infrastructure/kanban/card-repository.d.ts +6 -0
  237. package/dist/infrastructure/kanban/card-repository.d.ts.map +1 -1
  238. package/dist/infrastructure/kanban/card-repository.js +79 -7
  239. package/dist/infrastructure/kanban/card-repository.js.map +1 -1
  240. package/dist/infrastructure/pipeline/dagger-adapter.d.ts +50 -0
  241. package/dist/infrastructure/pipeline/dagger-adapter.d.ts.map +1 -0
  242. package/dist/infrastructure/pipeline/dagger-adapter.js +153 -0
  243. package/dist/infrastructure/pipeline/dagger-adapter.js.map +1 -0
  244. package/dist/infrastructure/pipeline/dagger-scaffold-generator.d.ts +35 -0
  245. package/dist/infrastructure/pipeline/dagger-scaffold-generator.d.ts.map +1 -0
  246. package/dist/infrastructure/pipeline/dagger-scaffold-generator.js +132 -0
  247. package/dist/infrastructure/pipeline/dagger-scaffold-generator.js.map +1 -0
  248. package/dist/infrastructure/pipeline/index.d.ts +20 -0
  249. package/dist/infrastructure/pipeline/index.d.ts.map +1 -0
  250. package/dist/infrastructure/pipeline/index.js +19 -0
  251. package/dist/infrastructure/pipeline/index.js.map +1 -0
  252. package/dist/infrastructure/pipeline/pipeline-template-registry.d.ts +23 -0
  253. package/dist/infrastructure/pipeline/pipeline-template-registry.d.ts.map +1 -0
  254. package/dist/infrastructure/pipeline/pipeline-template-registry.js +63 -0
  255. package/dist/infrastructure/pipeline/pipeline-template-registry.js.map +1 -0
  256. package/dist/infrastructure/pipeline/scaffold-templates-extra.d.ts +17 -0
  257. package/dist/infrastructure/pipeline/scaffold-templates-extra.d.ts.map +1 -0
  258. package/dist/infrastructure/pipeline/scaffold-templates-extra.js +467 -0
  259. package/dist/infrastructure/pipeline/scaffold-templates-extra.js.map +1 -0
  260. package/dist/infrastructure/pipeline/scaffold-templates.d.ts +23 -0
  261. package/dist/infrastructure/pipeline/scaffold-templates.d.ts.map +1 -0
  262. package/dist/infrastructure/pipeline/scaffold-templates.js +476 -0
  263. package/dist/infrastructure/pipeline/scaffold-templates.js.map +1 -0
  264. package/dist/infrastructure/pipeline/sqlite-pipeline-repository.d.ts +32 -0
  265. package/dist/infrastructure/pipeline/sqlite-pipeline-repository.d.ts.map +1 -0
  266. package/dist/infrastructure/pipeline/sqlite-pipeline-repository.js +197 -0
  267. package/dist/infrastructure/pipeline/sqlite-pipeline-repository.js.map +1 -0
  268. package/dist/mcp-server.d.ts +3 -0
  269. package/dist/mcp-server.d.ts.map +1 -0
  270. package/dist/mcp-server.js +300 -0
  271. package/dist/mcp-server.js.map +1 -0
  272. package/dist/tools/agent-registry-tools.d.ts +11 -0
  273. package/dist/tools/agent-registry-tools.d.ts.map +1 -0
  274. package/dist/tools/agent-registry-tools.js +208 -0
  275. package/dist/tools/agent-registry-tools.js.map +1 -0
  276. package/dist/tools/azure-sync-tools.d.ts +15 -0
  277. package/dist/tools/azure-sync-tools.d.ts.map +1 -0
  278. package/dist/tools/azure-sync-tools.js +332 -0
  279. package/dist/tools/azure-sync-tools.js.map +1 -0
  280. package/dist/tools/kanban-card-tools.d.ts.map +1 -1
  281. package/dist/tools/kanban-card-tools.js +41 -16
  282. package/dist/tools/kanban-card-tools.js.map +1 -1
  283. package/dist/tools/kanban-gate-tools.d.ts +7 -0
  284. package/dist/tools/kanban-gate-tools.d.ts.map +1 -0
  285. package/dist/tools/kanban-gate-tools.js +106 -0
  286. package/dist/tools/kanban-gate-tools.js.map +1 -0
  287. package/dist/tools/kanban-grooming-tools.d.ts +7 -0
  288. package/dist/tools/kanban-grooming-tools.d.ts.map +1 -0
  289. package/dist/tools/kanban-grooming-tools.js +180 -0
  290. package/dist/tools/kanban-grooming-tools.js.map +1 -0
  291. package/dist/tools/pipeline-tools.d.ts +15 -0
  292. package/dist/tools/pipeline-tools.d.ts.map +1 -0
  293. package/dist/tools/pipeline-tools.js +424 -0
  294. package/dist/tools/pipeline-tools.js.map +1 -0
  295. package/package.json +9 -3
package/dist/index.js CHANGED
@@ -1,74 +1,64 @@
1
1
  import { mkdirSync } from "node:fs";
2
2
  import { basename, join } from "node:path";
3
- // Shared Domain
4
3
  import { WorkspaceId } from "./domain/shared/value-objects.js";
5
- // Infrastructure
6
4
  import { SqliteAdapter } from "./infrastructure/database/sqlite-adapter.js";
7
- // Context Memory Repositories
8
5
  import { SqliteSessionRepository } from "./infrastructure/context-memory/session-repository.js";
9
6
  import { SqliteTodoRepository } from "./infrastructure/context-memory/todo-repository.js";
10
7
  import { SqliteNoteRepository } from "./infrastructure/context-memory/note-repository.js";
11
8
  import { createSimpleSearchRepo } from "./infrastructure/context-memory/search-repository.js";
12
- // Kanban Repositories
13
9
  import { SqliteCardRepository } from "./infrastructure/kanban/card-repository.js";
14
- import { SqliteSprintRepository, SqliteEpicRepository, } from "./infrastructure/kanban/sprint-repository.js";
15
- // Context Memory Domain Services
16
- import { SessionDomainService, TodoDomainService, NoteDomainService, ContextSearchService, } from "./domain/context-memory/services.js";
17
- // Kanban Domain Services
10
+ import { SqliteSprintRepository, SqliteEpicRepository } from "./infrastructure/kanban/sprint-repository.js";
11
+ import { SessionDomainService, TodoDomainService, NoteDomainService, ContextSearchService } from "./domain/context-memory/services.js";
18
12
  import { CardDomainService } from "./domain/kanban/services.js";
19
- // Governance Domain
20
13
  import { DEFAULT_POLICIES } from "./domain/governance/policies.js";
21
14
  import { PolicyValidationService } from "./domain/governance/services.js";
22
- // Context Memory Application
23
15
  import { SessionUseCases } from "./application/context-memory/session-use-cases.js";
24
16
  import { TodoUseCases } from "./application/context-memory/todo-use-cases.js";
25
17
  import { NoteUseCases } from "./application/context-memory/note-use-cases.js";
26
- // Kanban Application
27
18
  import { CardUseCases } from "./application/kanban/card-use-cases.js";
28
- import { SprintUseCases, EpicUseCases, } from "./application/kanban/sprint-use-cases.js";
19
+ import { SprintUseCases, EpicUseCases } from "./application/kanban/sprint-use-cases.js";
29
20
  import { BoardUseCases } from "./application/kanban/board-use-cases.js";
30
- // Governance Application
31
21
  import { GovernanceUseCases } from "./application/governance/validation-use-cases.js";
32
- // Token Metrics
33
22
  import { SqliteTokenMetricsRepository } from "./infrastructure/token-metrics/token-metrics-repository.js";
34
23
  import { TokenMetricsUseCases } from "./application/token-metrics/tracking-use-cases.js";
35
- // Vault
36
24
  import { VaultFsAdapter } from "./infrastructure/vault/vault-fs-adapter.js";
37
25
  import { VaultUseCases } from "./application/vault/use-cases.js";
38
26
  import { VaultManager } from "./application/vault/vault-manager.js";
39
- // RAG Infrastructure (native TypeScript, replaces Python bridge)
40
27
  import { VectraVectorRepository } from "./infrastructure/rag/vectra-adapter.js";
41
28
  import { OllamaEmbeddingProvider } from "./infrastructure/rag/ollama-embeddings.js";
42
29
  import { LangchainTextSplitter } from "./infrastructure/rag/text-splitter.js";
43
30
  import { FileSystemDiscovery } from "./infrastructure/rag/file-discovery.js";
44
- import { DEFAULT_RAG_CONFIG } from "./domain/rag/value-objects.js";
45
- // RAG Application
46
31
  import { RagUseCases } from "./application/rag/use-cases.js";
47
32
  import { OracleUseCases } from "./application/rag/oracle-use-cases.js";
48
- // Domain Map Infrastructure
49
33
  import { LspClientAdapter } from "./infrastructure/domain-map/lsp-adapter.js";
50
34
  import { LlmSemanticAnalyzer } from "./infrastructure/domain-map/llm-analyzer.js";
51
35
  import { FileProjectScanner } from "./infrastructure/domain-map/project-scanner.js";
52
- // Domain Map Application
36
+ import { createLlmPromptFn } from "./infrastructure/domain-map/llm-prompt-factory.js";
37
+ import { SqliteAgentProfileRepository } from "./infrastructure/agent-registry/agent-profile-repository.js";
38
+ import { OpencodeAgentSessionAdapter } from "./infrastructure/agent-registry/agent-session-adapter.js";
39
+ import { BUILT_IN_PROFILES } from "./infrastructure/agent-registry/built-in-profiles.js";
40
+ import { AgentRegistryService } from "./domain/agent-registry/services.js";
41
+ import { AgentRegistryUseCases } from "./application/agent-registry/use-cases.js";
53
42
  import { DomainMapUseCases } from "./application/domain-map/use-cases.js";
54
- // Workspace Registry Infrastructure
55
43
  import { SqliteWorkspaceRegistryRepository } from "./infrastructure/workspace-registry/workspace-repository.js";
56
44
  import { SqliteWorkspaceDependencyRepository } from "./infrastructure/workspace-registry/dependency-repository.js";
57
- // Workspace Registry Domain
58
45
  import { WorkspaceRegistryService } from "./domain/workspace-registry/services.js";
59
46
  import { resolveJarvisHome } from "./domain/workspace-registry/value-objects.js";
60
- // Workspace Registry Application
61
47
  import { WorkspaceRegistryUseCases } from "./application/workspace-registry/use-cases.js";
62
- // Environment Infrastructure
63
48
  import { SqliteEnvironmentRepository } from "./infrastructure/environment/environment-repository.js";
64
49
  import { EnvironmentScannerAdapter } from "./infrastructure/environment/scanner-adapter.js";
65
- // Environment Domain
66
50
  import { EnvironmentDomainService } from "./domain/environment/services.js";
67
- // Environment Application
51
+ import { YamlConfigRepository } from "./infrastructure/config/yaml-config-repository.js";
52
+ import { ConfigService } from "./application/config/config-service.js";
53
+ import { SqlitePipelineRepository, InMemoryPipelineTemplateRegistry, DaggerCliAdapter, DaggerScaffoldGenerator } from "./infrastructure/pipeline/index.js";
54
+ import { PipelineFactory, GateEnforcer } from "./domain/pipeline/services.js";
55
+ import { PipelineId } from "./domain/pipeline/value-objects.js";
56
+ import { PipelineUseCases } from "./application/pipeline/use-cases.js";
68
57
  import { EnvironmentUseCases } from "./application/environment/use-cases.js";
69
- // Tools
70
58
  import { createContextMemoryTools } from "./tools/context-memory-tools.js";
71
59
  import { createKanbanCardTools } from "./tools/kanban-card-tools.js";
60
+ import { createKanbanGroomingTools } from "./tools/kanban-grooming-tools.js";
61
+ import { createKanbanGateTools } from "./tools/kanban-gate-tools.js";
72
62
  import { createKanbanBoardTools } from "./tools/kanban-board-tools.js";
73
63
  import { createGovernanceTools } from "./tools/governance-tools.js";
74
64
  import { createRagTools } from "./tools/rag-tools.js";
@@ -80,6 +70,14 @@ import { createDomainMapTools } from "./tools/domain-map-tools.js";
80
70
  import { createWorkspaceRegistryTools } from "./tools/workspace-registry-tools.js";
81
71
  import { createEnvironmentTools } from "./tools/environment-tools.js";
82
72
  import { createTokenMetricsTools } from "./tools/token-metrics-tools.js";
73
+ import { createAgentRegistryTools } from "./tools/agent-registry-tools.js";
74
+ import { createPipelineTools } from "./tools/pipeline-tools.js";
75
+ import { AzureSyncUseCases } from "./application/azure-sync/push-use-cases.js";
76
+ import { AzureSyncPullUseCases } from "./application/azure-sync/pull-use-cases.js";
77
+ import { AzurePrUseCases } from "./application/azure-sync/pr-use-cases.js";
78
+ import { AzureDevOpsClient } from "./infrastructure/azure-sync/azure-devops-client.js";
79
+ import { SqliteSyncRepository } from "./infrastructure/azure-sync/sqlite-sync-repository.js";
80
+ import { createAzureSyncTools } from "./tools/azure-sync-tools.js";
83
81
  // Hooks
84
82
  import { createCompactingHook } from "./hooks/context-compacting.js";
85
83
  import { createShellEnvHook } from "./hooks/shell-env.js";
@@ -105,6 +103,10 @@ export const JarvisPlugin = async (input) => {
105
103
  mkdirSync(jarvisHome, { recursive: true });
106
104
  const registryDbPath = join(jarvisHome, "registry.db");
107
105
  const registryDb = new SqliteAdapter({ path: registryDbPath });
106
+ // ── Configuration ─────────────────────────────────────────────────
107
+ const configPath = join(input.directory, "config", "jarvis.yaml");
108
+ const configRepo = new YamlConfigRepository(configPath);
109
+ const configService = new ConfigService(configRepo);
108
110
  // ── Repository Layer ──────────────────────────────────────────────
109
111
  // Context Memory
110
112
  const sessionRepo = new SqliteSessionRepository(db);
@@ -123,6 +125,9 @@ export const JarvisPlugin = async (input) => {
123
125
  // Environment (per-project db, scoped to current workspace)
124
126
  const wsId = WorkspaceId.create(getWorkspace(input.directory));
125
127
  const environmentRepo = new SqliteEnvironmentRepository(db, wsId);
128
+ // Agent Registry
129
+ const agentProfileRepo = new SqliteAgentProfileRepository(db);
130
+ const agentSessionAdapter = new OpencodeAgentSessionAdapter(input.client);
126
131
  // Vault (filesystem-based, no SQLite)
127
132
  const vaultRoot = join(jarvisDir, "..", "obsidian-vault");
128
133
  const vaultRepo = new VaultFsAdapter(vaultRoot);
@@ -132,21 +137,41 @@ export const JarvisPlugin = async (input) => {
132
137
  const todoService = new TodoDomainService(todoRepo);
133
138
  const noteService = new NoteDomainService(noteRepo);
134
139
  const searchService = new ContextSearchService(searchRepo);
135
- // Kanban
136
- const cardService = new CardDomainService(cardRepo);
140
+ // Kanban — Gate config port bridges config BC to kanban domain
141
+ const kanbanConfig = configService.getKanbanConfig();
142
+ const gateConfigPort = {
143
+ getGateDefinitions(phase) {
144
+ const defs = kanbanConfig.gateTasks[phase];
145
+ return defs ?? [];
146
+ },
147
+ getMinTransitionIntervalSecs() {
148
+ return kanbanConfig.minTransitionIntervalSecs;
149
+ },
150
+ };
151
+ const cardService = new CardDomainService(cardRepo, gateConfigPort);
137
152
  // Governance
138
153
  const validationService = new PolicyValidationService(DEFAULT_POLICIES);
139
154
  // Workspace Registry
140
155
  const workspaceRegistryService = new WorkspaceRegistryService(workspaceRegistryRepo, workspaceDependencyRepo);
141
156
  // Environment
142
157
  const environmentService = new EnvironmentDomainService(environmentRepo);
158
+ // Agent Registry
159
+ const agentRegistryService = new AgentRegistryService(agentProfileRepo);
160
+ // Pipeline
161
+ const pipelineRepo = new SqlitePipelineRepository(db);
162
+ const templateRepo = new InMemoryPipelineTemplateRegistry();
163
+ const daggerPort = new DaggerCliAdapter();
164
+ const scaffoldPort = new DaggerScaffoldGenerator();
165
+ const pipelineFactory = new PipelineFactory(pipelineRepo, templateRepo);
166
+ const gateEnforcer = new GateEnforcer(pipelineRepo);
143
167
  // ── Application Use Case Layer ────────────────────────────────────
144
168
  // Context Memory
145
169
  const sessionUseCases = new SessionUseCases(sessionService);
146
170
  const todoUseCases = new TodoUseCases(todoService, todoRepo);
147
171
  const noteUseCases = new NoteUseCases(noteService, searchService);
148
172
  // Kanban
149
- const cardUseCases = new CardUseCases(cardRepo, cardService);
173
+ const pipelineStatusProvider = async (id) => (await pipelineRepo.findById(PipelineId.from(id)))?.status;
174
+ const cardUseCases = new CardUseCases(cardRepo, cardService, pipelineStatusProvider);
150
175
  const sprintUseCases = new SprintUseCases(sprintRepo);
151
176
  const epicUseCases = new EpicUseCases(epicRepo);
152
177
  const boardUseCases = new BoardUseCases(cardRepo, cardService);
@@ -159,6 +184,17 @@ export const JarvisPlugin = async (input) => {
159
184
  const vaultManager = new VaultManager(vaultRepo, vaultUseCases);
160
185
  // Workspace Registry
161
186
  const workspaceRegistryUseCases = new WorkspaceRegistryUseCases(workspaceRegistryService);
187
+ // Agent Registry
188
+ const agentRegistryUseCases = new AgentRegistryUseCases(agentRegistryService, agentSessionAdapter);
189
+ // Pipeline
190
+ const pipelineUseCases = new PipelineUseCases(pipelineRepo, templateRepo, pipelineFactory, gateEnforcer, daggerPort, scaffoldPort, async (e) => {
191
+ await tokenMetricsUseCases.recordUsage({
192
+ workspace: getWorkspace(input.directory), toolName: "pipeline-run", agent: "pipeline",
193
+ inputTokens: 0, outputTokens: 0, model: "dagger", operation: "pipeline-gate",
194
+ ...(e.cardId !== undefined ? { cardId: e.cardId } : {}),
195
+ metadata: { pipelineId: e.pipelineId, gateId: e.gateId, success: e.success, durationMs: e.durationMs },
196
+ });
197
+ });
162
198
  // Environment (use cases created after projectScanner, see below)
163
199
  // ── Tools ─────────────────────────────────────────────────────────
164
200
  const contextMemoryTools = createContextMemoryTools({
@@ -173,6 +209,12 @@ export const JarvisPlugin = async (input) => {
173
209
  epicUseCases,
174
210
  getWorkspace,
175
211
  });
212
+ const kanbanGroomingTools = createKanbanGroomingTools({
213
+ cardUseCases,
214
+ });
215
+ const kanbanGateTools = createKanbanGateTools({
216
+ cardUseCases,
217
+ });
176
218
  const kanbanBoardTools = createKanbanBoardTools({
177
219
  sprintUseCases,
178
220
  epicUseCases,
@@ -183,10 +225,11 @@ export const JarvisPlugin = async (input) => {
183
225
  governanceUseCases,
184
226
  });
185
227
  // RAG Infrastructure (native TypeScript — Vectra + Ollama + TextSplitters)
228
+ const ragConfig = configService.getRagConfig();
186
229
  const ragPersistRoot = join(jarvisDir, "rag");
187
230
  mkdirSync(ragPersistRoot, { recursive: true });
188
- const embeddingProvider = new OllamaEmbeddingProvider(DEFAULT_RAG_CONFIG.ollamaUrl, DEFAULT_RAG_CONFIG.embeddingModel, 768);
189
- const vectorRepository = new VectraVectorRepository(ragPersistRoot, DEFAULT_RAG_CONFIG.embeddingModel);
231
+ const embeddingProvider = new OllamaEmbeddingProvider(ragConfig.ollama.url, ragConfig.ollama.model, ragConfig.ollama.dimensions);
232
+ const vectorRepository = new VectraVectorRepository(ragPersistRoot, ragConfig.ollama.model);
190
233
  const textSplitter = new LangchainTextSplitter();
191
234
  const fileDiscovery = new FileSystemDiscovery();
192
235
  const ragUseCases = new RagUseCases({
@@ -194,6 +237,7 @@ export const JarvisPlugin = async (input) => {
194
237
  vectorRepository,
195
238
  textSplitter,
196
239
  fileDiscovery,
240
+ ragConfig,
197
241
  });
198
242
  const oracleUseCases = new OracleUseCases({
199
243
  embeddingProvider,
@@ -226,49 +270,7 @@ export const JarvisPlugin = async (input) => {
226
270
  // Domain Map Infrastructure + Application + Tools
227
271
  const lspClient = new LspClientAdapter();
228
272
  const projectScanner = new FileProjectScanner();
229
- // LLM analyzer prompt function — delegates to OpenCode SDK session.prompt().
230
- // Creates a temporary session, sends the analysis prompt, extracts the
231
- // LLM text response, and cleans up the session. Supports model override
232
- // so users can choose a cost-effective model for large codebase analysis.
233
- const llmPromptFn = async (prompt, model) => {
234
- const createResult = await input.client.session.create({
235
- body: { title: "[jarvis] domain-map-analysis" },
236
- });
237
- if (!createResult.data) {
238
- throw new Error("Failed to create analysis session");
239
- }
240
- const sessionId = createResult.data.id;
241
- try {
242
- const promptResult = await input.client.session.prompt({
243
- path: { id: sessionId },
244
- body: {
245
- system: "You are a Domain-Driven Design expert analyzing a codebase. " +
246
- "Respond ONLY with valid JSON matching the schema in the prompt. " +
247
- "Do not include markdown fences around the JSON. " +
248
- "Do not use any tools.",
249
- ...(model !== undefined
250
- ? {
251
- model: { providerID: model.providerID, modelID: model.modelID },
252
- }
253
- : {}),
254
- parts: [{ type: "text", text: prompt }],
255
- },
256
- });
257
- if (!promptResult.data) {
258
- throw new Error("LLM analysis returned no data");
259
- }
260
- const textParts = promptResult.data.parts.filter((p) => p.type === "text");
261
- if (textParts.length === 0) {
262
- throw new Error("LLM analysis returned no text parts");
263
- }
264
- return textParts.map((p) => p.text).join("");
265
- }
266
- finally {
267
- await input.client.session
268
- .delete({ path: { id: sessionId } })
269
- .catch(() => { });
270
- }
271
- };
273
+ const llmPromptFn = createLlmPromptFn(input.client);
272
274
  const llmAnalyzer = new LlmSemanticAnalyzer(llmPromptFn);
273
275
  const domainMapUseCases = new DomainMapUseCases({
274
276
  lspClient,
@@ -296,6 +298,33 @@ export const JarvisPlugin = async (input) => {
296
298
  getWorkspace,
297
299
  directory: input.directory,
298
300
  });
301
+ // Agent Registry Tools (profile management + session spawning)
302
+ const agentRegistryTools = createAgentRegistryTools({
303
+ agentRegistryUseCases,
304
+ });
305
+ // Pipeline Tools (CI/CD pipeline lifecycle + gate operations)
306
+ const pipelineTools = createPipelineTools({
307
+ pipelineUseCases,
308
+ cardUseCases,
309
+ getWorkspace,
310
+ });
311
+ // Azure Sync
312
+ const azureSyncConfig = configService.getAzureSyncConfig();
313
+ const azureClient = new AzureDevOpsClient(azureSyncConfig.authMethod);
314
+ const syncRepo = new SqliteSyncRepository(db);
315
+ const azureSyncUseCases = new AzureSyncUseCases({
316
+ azureClient, syncMappingRepo: syncRepo, syncLogRepo: syncRepo,
317
+ cardUseCases, epicUseCases, sprintUseCases, configService,
318
+ });
319
+ const azureSyncPullUseCases = new AzureSyncPullUseCases({ azureClient, syncMappingRepo: syncRepo, syncLogRepo: syncRepo,
320
+ cardUseCases, epicUseCases, sprintUseCases, configService }, azureSyncUseCases);
321
+ const azurePrUseCases = new AzurePrUseCases({ azureClient, configService });
322
+ const azureSyncTools = createAzureSyncTools({
323
+ azureSyncUseCases, azureSyncPullUseCases, azurePrUseCases, getWorkspace,
324
+ defaultOrg: azureSyncConfig.organization,
325
+ defaultProject: azureSyncConfig.project,
326
+ defaultRepository: azureSyncConfig.repository,
327
+ });
299
328
  // ── Auto-Registration ─────────────────────────────────────────────
300
329
  // Register current workspace in the central registry on plugin boot.
301
330
  // Fire-and-forget — does not block plugin startup.
@@ -303,6 +332,10 @@ export const JarvisPlugin = async (input) => {
303
332
  workspaceRegistryUseCases.autoRegister(wsName, input.directory).catch(() => {
304
333
  // Silently ignore auto-registration errors (e.g. corrupt registry.db)
305
334
  });
335
+ // Bootstrap built-in agent profiles (fire-and-forget).
336
+ agentRegistryUseCases.bootstrapBuiltInProfiles(BUILT_IN_PROFILES).catch(() => {
337
+ // Silently ignore bootstrap errors
338
+ });
306
339
  // ── Hooks ─────────────────────────────────────────────────────────
307
340
  const compactingHook = createCompactingHook({
308
341
  sessionUseCases,
@@ -328,6 +361,8 @@ export const JarvisPlugin = async (input) => {
328
361
  tool: {
329
362
  ...contextMemoryTools,
330
363
  ...kanbanCardTools,
364
+ ...kanbanGroomingTools,
365
+ ...kanbanGateTools,
331
366
  ...kanbanBoardTools,
332
367
  ...governanceTools,
333
368
  ...ragTools,
@@ -339,6 +374,9 @@ export const JarvisPlugin = async (input) => {
339
374
  ...workspaceRegistryTools,
340
375
  ...environmentTools,
341
376
  ...tokenMetricsTools,
377
+ ...agentRegistryTools,
378
+ ...pipelineTools,
379
+ ...azureSyncTools,
342
380
  },
343
381
  "experimental.session.compacting": compactingHook,
344
382
  "shell.env": shellEnvHook,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * SQLite Agent Profile Repository
3
+ *
4
+ * Implements AgentProfileRepository interface from domain layer.
5
+ * Maps AgentProfile entities to/from SQLite rows with JSON serialization
6
+ * for complex value objects (ModelPreference, AgentCapabilities, AllowedTools).
7
+ *
8
+ * SOLID: SRP - persistence for AgentProfile aggregate only
9
+ * SOLID: DIP - implements domain interface
10
+ * SOLID: LSP - fully substitutable for AgentProfileRepository
11
+ */
12
+ import type { SqliteAdapter } from "../database/sqlite-adapter.js";
13
+ import type { AgentProfileRepository } from "../../domain/agent-registry/repositories.js";
14
+ import { AgentProfile } from "../../domain/agent-registry/entities.js";
15
+ import { AgentProfileId } from "../../domain/agent-registry/value-objects.js";
16
+ import type { AgentRole, AgentProfileStatus } from "../../domain/agent-registry/value-objects.js";
17
+ export declare class SqliteAgentProfileRepository implements AgentProfileRepository {
18
+ private readonly db;
19
+ constructor(db: SqliteAdapter);
20
+ save(profile: AgentProfile): Promise<void>;
21
+ findById(id: AgentProfileId): Promise<AgentProfile | undefined>;
22
+ findByRole(role: AgentRole): Promise<AgentProfile[]>;
23
+ findByStatus(status: AgentProfileStatus): Promise<AgentProfile[]>;
24
+ findAll(): Promise<AgentProfile[]>;
25
+ delete(id: AgentProfileId): Promise<boolean>;
26
+ exists(id: AgentProfileId): Promise<boolean>;
27
+ private toDomain;
28
+ }
29
+ //# sourceMappingURL=agent-profile-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-profile-repository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/agent-registry/agent-profile-repository.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EACL,cAAc,EAKf,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EACnB,MAAM,8CAA8C,CAAC;AAsCtD,qBAAa,4BAA6B,YAAW,sBAAsB;IAC7D,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,aAAa;IAIxC,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC1C,QAAQ,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAQ/D,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAQpD,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAQjE,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAQlC,MAAM,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAS5C,MAAM,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAQlD,OAAO,CAAC,QAAQ;CAmBjB"}
@@ -0,0 +1,109 @@
1
+ import { AgentProfile } from "../../domain/agent-registry/entities.js";
2
+ import { AgentProfileId, SystemPrompt, ModelPreference, AgentCapabilities, AllowedTools, } from "../../domain/agent-registry/value-objects.js";
3
+ import { Timestamp } from "../../domain/shared/value-objects.js";
4
+ const SCHEMA_KEY = "agent_profiles";
5
+ const DDL = `
6
+ CREATE TABLE IF NOT EXISTS agent_profiles (
7
+ id TEXT PRIMARY KEY,
8
+ display_name TEXT NOT NULL,
9
+ role TEXT NOT NULL,
10
+ system_prompt TEXT NOT NULL,
11
+ model_preference TEXT NOT NULL DEFAULT '{"primary":"default","fallbacks":[]}',
12
+ capabilities TEXT NOT NULL DEFAULT '[]',
13
+ allowed_tools TEXT NOT NULL DEFAULT '[]',
14
+ status TEXT NOT NULL DEFAULT 'active',
15
+ built_in INTEGER NOT NULL DEFAULT 0,
16
+ created_at TEXT NOT NULL,
17
+ updated_at TEXT NOT NULL
18
+ );
19
+ CREATE INDEX IF NOT EXISTS idx_agent_profile_role ON agent_profiles(role);
20
+ CREATE INDEX IF NOT EXISTS idx_agent_profile_status ON agent_profiles(status);
21
+ `;
22
+ export class SqliteAgentProfileRepository {
23
+ db;
24
+ constructor(db) {
25
+ this.db = db;
26
+ this.db.ensureSchema(SCHEMA_KEY, DDL);
27
+ }
28
+ async save(profile) {
29
+ const data = profile.toData();
30
+ const sql = `
31
+ INSERT INTO agent_profiles (
32
+ id, display_name, role, system_prompt, model_preference,
33
+ capabilities, allowed_tools, status, built_in, created_at, updated_at
34
+ )
35
+ VALUES (
36
+ @id, @display_name, @role, @system_prompt, @model_preference,
37
+ @capabilities, @allowed_tools, @status, @built_in, @created_at, @updated_at
38
+ )
39
+ ON CONFLICT(id) DO UPDATE SET
40
+ display_name = @display_name,
41
+ role = @role,
42
+ system_prompt = @system_prompt,
43
+ model_preference = @model_preference,
44
+ capabilities = @capabilities,
45
+ allowed_tools = @allowed_tools,
46
+ status = @status,
47
+ updated_at = @updated_at
48
+ `;
49
+ this.db.execute(sql, {
50
+ id: data.id.value,
51
+ display_name: data.displayName,
52
+ role: data.role,
53
+ system_prompt: data.systemPrompt.value,
54
+ model_preference: JSON.stringify(data.modelPreference.toJSON()),
55
+ capabilities: data.capabilities.toJSON(),
56
+ allowed_tools: data.allowedTools.toJSON(),
57
+ status: data.status,
58
+ built_in: data.builtIn ? 1 : 0,
59
+ created_at: data.createdAt.toISO(),
60
+ updated_at: data.updatedAt.toISO(),
61
+ });
62
+ }
63
+ async findById(id) {
64
+ const row = this.db.queryOne("SELECT * FROM agent_profiles WHERE id = @id", { id: id.value });
65
+ return row ? this.toDomain(row) : undefined;
66
+ }
67
+ async findByRole(role) {
68
+ const rows = this.db.queryAll("SELECT * FROM agent_profiles WHERE role = @role ORDER BY display_name", { role });
69
+ return rows.map((row) => this.toDomain(row));
70
+ }
71
+ async findByStatus(status) {
72
+ const rows = this.db.queryAll("SELECT * FROM agent_profiles WHERE status = @status ORDER BY display_name", { status });
73
+ return rows.map((row) => this.toDomain(row));
74
+ }
75
+ async findAll() {
76
+ const rows = this.db.queryAll("SELECT * FROM agent_profiles ORDER BY built_in DESC, display_name", {});
77
+ return rows.map((row) => this.toDomain(row));
78
+ }
79
+ async delete(id) {
80
+ const exists = await this.exists(id);
81
+ if (!exists)
82
+ return false;
83
+ this.db.execute("DELETE FROM agent_profiles WHERE id = @id", {
84
+ id: id.value,
85
+ });
86
+ return true;
87
+ }
88
+ async exists(id) {
89
+ const row = this.db.queryOne("SELECT COUNT(*) as cnt FROM agent_profiles WHERE id = @id", { id: id.value });
90
+ return row !== undefined && row.cnt > 0;
91
+ }
92
+ toDomain(row) {
93
+ const modelJson = JSON.parse(row.model_preference);
94
+ return AgentProfile.reconstitute({
95
+ id: AgentProfileId.from(row.id),
96
+ displayName: row.display_name,
97
+ role: row.role,
98
+ systemPrompt: SystemPrompt.from(row.system_prompt),
99
+ modelPreference: ModelPreference.fromJSON(modelJson),
100
+ capabilities: AgentCapabilities.fromJSON(row.capabilities),
101
+ allowedTools: AllowedTools.fromJSON(row.allowed_tools),
102
+ status: row.status,
103
+ builtIn: row.built_in === 1,
104
+ createdAt: Timestamp.fromISO(row.created_at),
105
+ updatedAt: Timestamp.fromISO(row.updated_at),
106
+ });
107
+ }
108
+ }
109
+ //# sourceMappingURL=agent-profile-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-profile-repository.js","sourceRoot":"","sources":["../../../src/infrastructure/agent-registry/agent-profile-repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Agent Session Adapter
3
+ *
4
+ * Implements AgentSessionPort from domain layer using the OpenCode SDK client.
5
+ * Bridges between domain's session abstraction and the actual OpenCode API.
6
+ *
7
+ * SOLID: SRP - session creation and messaging via SDK only
8
+ * SOLID: DIP - implements domain port interface
9
+ * SOLID: LSP - fully substitutable for AgentSessionPort
10
+ */
11
+ import type { PluginInput } from "@opencode-ai/plugin";
12
+ import type { AgentSessionPort, SessionInfo } from "../../domain/agent-registry/repositories.js";
13
+ type OpencodeClient = PluginInput["client"];
14
+ export declare class OpencodeAgentSessionAdapter implements AgentSessionPort {
15
+ private readonly client;
16
+ constructor(client: OpencodeClient);
17
+ createSession(params: {
18
+ readonly systemPrompt: string;
19
+ readonly modelId?: string;
20
+ }): Promise<SessionInfo>;
21
+ sendPrompt(params: {
22
+ readonly sessionId: string;
23
+ readonly message: string;
24
+ }): Promise<void>;
25
+ listSessions(): Promise<SessionInfo[]>;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=agent-session-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-session-adapter.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/agent-registry/agent-session-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACZ,MAAM,6CAA6C,CAAC;AAErD,KAAK,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;AAE5C,qBAAa,2BAA4B,YAAW,gBAAgB;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAE7C,aAAa,CAAC,MAAM,EAAE;QAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,WAAW,CAAC;IAyClB,UAAU,CAAC,MAAM,EAAE;QACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,IAAI,CAAC;IASX,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;CAU7C"}
@@ -0,0 +1,61 @@
1
+ export class OpencodeAgentSessionAdapter {
2
+ client;
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ async createSession(params) {
7
+ const createResult = await this.client.session.create({
8
+ body: { title: "[jarvis] agent-session" },
9
+ });
10
+ if (!createResult.data) {
11
+ throw new Error("Failed to create agent session");
12
+ }
13
+ const sessionId = createResult.data.id;
14
+ // Send system prompt to configure the session
15
+ await this.client.session.prompt({
16
+ path: { id: sessionId },
17
+ body: {
18
+ system: params.systemPrompt,
19
+ ...(params.modelId !== undefined
20
+ ? {
21
+ model: {
22
+ providerID: "anthropic",
23
+ modelID: params.modelId,
24
+ },
25
+ }
26
+ : {}),
27
+ parts: [
28
+ {
29
+ type: "text",
30
+ text: "You are now initialized. Await further instructions.",
31
+ },
32
+ ],
33
+ },
34
+ });
35
+ return {
36
+ id: sessionId,
37
+ ...(createResult.data.title !== undefined
38
+ ? { title: createResult.data.title }
39
+ : {}),
40
+ };
41
+ }
42
+ async sendPrompt(params) {
43
+ await this.client.session.prompt({
44
+ path: { id: params.sessionId },
45
+ body: {
46
+ parts: [{ type: "text", text: params.message }],
47
+ },
48
+ });
49
+ }
50
+ async listSessions() {
51
+ const result = await this.client.session.list();
52
+ const sessions = result.data;
53
+ if (!sessions)
54
+ return [];
55
+ return sessions.map((s) => ({
56
+ id: s.id,
57
+ ...(s.title !== undefined ? { title: s.title } : {}),
58
+ }));
59
+ }
60
+ }
61
+ //# sourceMappingURL=agent-session-adapter.js.map