devchain-cli 0.10.4 → 0.11.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 (363) hide show
  1. package/README.md +13 -7
  2. package/dist/cli.js +55 -63
  3. package/dist/drizzle/0048_sessions_transcript_fields.sql +6 -0
  4. package/dist/drizzle/0049_provider_models_and_agent_model_override.sql +24 -0
  5. package/dist/drizzle/meta/_journal.json +14 -0
  6. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts +25 -0
  7. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts.map +1 -1
  8. package/dist/node_modules/@devchain/shared/schemas/export-schema.js +9 -3
  9. package/dist/node_modules/@devchain/shared/schemas/export-schema.js.map +1 -1
  10. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  11. package/dist/server/app.main.module.js +2 -0
  12. package/dist/server/app.main.module.js.map +1 -1
  13. package/dist/server/app.normal.module.js +2 -0
  14. package/dist/server/app.normal.module.js.map +1 -1
  15. package/dist/server/common/config/env.config.js +1 -10
  16. package/dist/server/common/config/env.config.js.map +1 -1
  17. package/dist/server/modules/agents/controllers/agents.controller.d.ts +1 -0
  18. package/dist/server/modules/agents/controllers/agents.controller.js +3 -0
  19. package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -1
  20. package/dist/server/modules/chat/dtos/chat.dto.d.ts +4 -4
  21. package/dist/server/modules/core/services/preflight.service.js +7 -0
  22. package/dist/server/modules/core/services/preflight.service.js.map +1 -1
  23. package/dist/server/modules/core/services/provider-mcp-ensure.service.js +8 -0
  24. package/dist/server/modules/core/services/provider-mcp-ensure.service.js.map +1 -1
  25. package/dist/server/modules/documents/controllers/documents.controller.d.ts +2 -2
  26. package/dist/server/modules/documents/controllers/documents.controller.js.map +1 -1
  27. package/dist/server/modules/epics/controllers/epic-comments.controller.d.ts +2 -2
  28. package/dist/server/modules/epics/controllers/epic-comments.controller.js.map +1 -1
  29. package/dist/server/modules/events/catalog/claude.hooks.session.started.d.ts +4 -4
  30. package/dist/server/modules/events/catalog/index.d.ts +115 -4
  31. package/dist/server/modules/events/catalog/index.js +6 -0
  32. package/dist/server/modules/events/catalog/index.js.map +1 -1
  33. package/dist/server/modules/events/catalog/session.transcript.discovered.d.ts +24 -0
  34. package/dist/server/modules/events/catalog/session.transcript.discovered.js +15 -0
  35. package/dist/server/modules/events/catalog/session.transcript.discovered.js.map +1 -0
  36. package/dist/server/modules/events/catalog/session.transcript.ended.d.ts +51 -0
  37. package/dist/server/modules/events/catalog/session.transcript.ended.js +20 -0
  38. package/dist/server/modules/events/catalog/session.transcript.ended.js.map +1 -0
  39. package/dist/server/modules/events/catalog/session.transcript.updated.d.ts +51 -0
  40. package/dist/server/modules/events/catalog/session.transcript.updated.js +20 -0
  41. package/dist/server/modules/events/catalog/session.transcript.updated.js.map +1 -0
  42. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.d.ts +2 -2
  43. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.js.map +1 -1
  44. package/dist/server/modules/events/subscribers/index.js +2 -0
  45. package/dist/server/modules/events/subscribers/index.js.map +1 -1
  46. package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.d.ts +2 -2
  47. package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.js.map +1 -1
  48. package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.d.ts +12 -0
  49. package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.js +88 -0
  50. package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.js.map +1 -0
  51. package/dist/server/modules/guests/services/guest-health.service.d.ts +2 -2
  52. package/dist/server/modules/guests/services/guest-health.service.js.map +1 -1
  53. package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +4 -4
  54. package/dist/server/modules/hooks/services/hooks.service.d.ts +2 -2
  55. package/dist/server/modules/hooks/services/hooks.service.js.map +1 -1
  56. package/dist/server/modules/mcp/dtos/mcp.dto.js +8 -3
  57. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  58. package/dist/server/modules/mcp/services/handlers/activity-tools.d.ts +4 -0
  59. package/dist/server/modules/mcp/services/handlers/activity-tools.js +193 -0
  60. package/dist/server/modules/mcp/services/handlers/activity-tools.js.map +1 -0
  61. package/dist/server/modules/mcp/services/handlers/chat-tools.d.ts +6 -0
  62. package/dist/server/modules/mcp/services/handlers/chat-tools.js +605 -0
  63. package/dist/server/modules/mcp/services/handlers/chat-tools.js.map +1 -0
  64. package/dist/server/modules/mcp/services/handlers/document-tools.d.ts +6 -0
  65. package/dist/server/modules/mcp/services/handlers/document-tools.js +141 -0
  66. package/dist/server/modules/mcp/services/handlers/document-tools.js.map +1 -0
  67. package/dist/server/modules/mcp/services/handlers/epic-tools.d.ts +11 -0
  68. package/dist/server/modules/mcp/services/handlers/epic-tools.js +913 -0
  69. package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -0
  70. package/dist/server/modules/mcp/services/handlers/prompt-tools.d.ts +4 -0
  71. package/dist/server/modules/mcp/services/handlers/prompt-tools.js +109 -0
  72. package/dist/server/modules/mcp/services/handlers/prompt-tools.js.map +1 -0
  73. package/dist/server/modules/mcp/services/handlers/record-tools.d.ts +8 -0
  74. package/dist/server/modules/mcp/services/handlers/record-tools.js +114 -0
  75. package/dist/server/modules/mcp/services/handlers/record-tools.js.map +1 -0
  76. package/dist/server/modules/mcp/services/handlers/review-tools.d.ts +8 -0
  77. package/dist/server/modules/mcp/services/handlers/review-tools.js +672 -0
  78. package/dist/server/modules/mcp/services/handlers/review-tools.js.map +1 -0
  79. package/dist/server/modules/mcp/services/handlers/session-tools.d.ts +4 -0
  80. package/dist/server/modules/mcp/services/handlers/session-tools.js +114 -0
  81. package/dist/server/modules/mcp/services/handlers/session-tools.js.map +1 -0
  82. package/dist/server/modules/mcp/services/handlers/skill-tools.d.ts +4 -0
  83. package/dist/server/modules/mcp/services/handlers/skill-tools.js +124 -0
  84. package/dist/server/modules/mcp/services/handlers/skill-tools.js.map +1 -0
  85. package/dist/server/modules/mcp/services/handlers/types.d.ts +33 -0
  86. package/dist/server/modules/mcp/services/handlers/types.js +3 -0
  87. package/dist/server/modules/mcp/services/handlers/types.js.map +1 -0
  88. package/dist/server/modules/mcp/services/mappers/dto-mappers.d.ts +14 -0
  89. package/dist/server/modules/mcp/services/mappers/dto-mappers.js +138 -0
  90. package/dist/server/modules/mcp/services/mappers/dto-mappers.js.map +1 -0
  91. package/dist/server/modules/mcp/services/mcp-provider-registration.service.d.ts +8 -0
  92. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js +258 -51
  93. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js.map +1 -1
  94. package/dist/server/modules/mcp/services/mcp.service.d.ts +6 -66
  95. package/dist/server/modules/mcp/services/mcp.service.js +97 -3329
  96. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
  97. package/dist/server/modules/mcp/services/utils/document-link-resolver.d.ts +10 -0
  98. package/dist/server/modules/mcp/services/utils/document-link-resolver.js +124 -0
  99. package/dist/server/modules/mcp/services/utils/document-link-resolver.js.map +1 -0
  100. package/dist/server/modules/mcp/services/utils/resolve-epic-id.d.ts +3 -0
  101. package/dist/server/modules/mcp/services/utils/resolve-epic-id.js +40 -0
  102. package/dist/server/modules/mcp/services/utils/resolve-epic-id.js.map +1 -0
  103. package/dist/server/modules/mcp/services/utils/resource-resolver.d.ts +10 -0
  104. package/dist/server/modules/mcp/services/utils/resource-resolver.js +124 -0
  105. package/dist/server/modules/mcp/services/utils/resource-resolver.js.map +1 -0
  106. package/dist/server/modules/mcp/services/utils/session-context-resolver.d.ts +14 -0
  107. package/dist/server/modules/mcp/services/utils/session-context-resolver.js +169 -0
  108. package/dist/server/modules/mcp/services/utils/session-context-resolver.js.map +1 -0
  109. package/dist/server/modules/mcp/tool-definitions.js +12 -3
  110. package/dist/server/modules/mcp/tool-definitions.js.map +1 -1
  111. package/dist/server/modules/orchestrator/docker/services/docker.service.js +16 -2
  112. package/dist/server/modules/orchestrator/docker/services/docker.service.js.map +1 -1
  113. package/dist/server/modules/orchestrator/ui/app/lib/worktrees.js +9 -0
  114. package/dist/server/modules/orchestrator/ui/app/lib/worktrees.js.map +1 -1
  115. package/dist/server/modules/profiles/controllers/provider-configs.controller.d.ts +2 -2
  116. package/dist/server/modules/profiles/controllers/provider-configs.controller.js.map +1 -1
  117. package/dist/server/modules/profiles/dto.d.ts +2 -2
  118. package/dist/server/modules/projects/controllers/projects.controller.d.ts +38 -33
  119. package/dist/server/modules/projects/controllers/projects.controller.js +12 -7
  120. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  121. package/dist/server/modules/projects/dtos/export.dto.d.ts +7 -0
  122. package/dist/server/modules/projects/dtos/export.dto.js +1 -0
  123. package/dist/server/modules/projects/dtos/export.dto.js.map +1 -1
  124. package/dist/server/modules/projects/helpers/profile-mapping.helpers.d.ts +102 -0
  125. package/dist/server/modules/projects/helpers/profile-mapping.helpers.js +369 -0
  126. package/dist/server/modules/projects/helpers/profile-mapping.helpers.js.map +1 -0
  127. package/dist/server/modules/projects/helpers/project-export.d.ts +141 -0
  128. package/dist/server/modules/projects/helpers/project-export.js +314 -0
  129. package/dist/server/modules/projects/helpers/project-export.js.map +1 -0
  130. package/dist/server/modules/projects/helpers/project-import.d.ts +132 -0
  131. package/dist/server/modules/projects/helpers/project-import.js +600 -0
  132. package/dist/server/modules/projects/helpers/project-import.js.map +1 -0
  133. package/dist/server/modules/projects/helpers/project-presets.helpers.d.ts +26 -0
  134. package/dist/server/modules/projects/helpers/project-presets.helpers.js +110 -0
  135. package/dist/server/modules/projects/helpers/project-presets.helpers.js.map +1 -0
  136. package/dist/server/modules/projects/helpers/project-runtime.helpers.d.ts +69 -0
  137. package/dist/server/modules/projects/helpers/project-runtime.helpers.js +201 -0
  138. package/dist/server/modules/projects/helpers/project-runtime.helpers.js.map +1 -0
  139. package/dist/server/modules/projects/helpers/project-template-manifest.helpers.d.ts +16 -0
  140. package/dist/server/modules/projects/helpers/project-template-manifest.helpers.js +107 -0
  141. package/dist/server/modules/projects/helpers/project-template-manifest.helpers.js.map +1 -0
  142. package/dist/server/modules/projects/helpers/template-file.helpers.d.ts +9 -0
  143. package/dist/server/modules/projects/helpers/template-file.helpers.js +92 -0
  144. package/dist/server/modules/projects/helpers/template-file.helpers.js.map +1 -0
  145. package/dist/server/modules/projects/helpers/template-loader.d.ts +85 -0
  146. package/dist/server/modules/projects/helpers/template-loader.js +406 -0
  147. package/dist/server/modules/projects/helpers/template-loader.js.map +1 -0
  148. package/dist/server/modules/projects/services/main-project-bootstrap.service.js +4 -0
  149. package/dist/server/modules/projects/services/main-project-bootstrap.service.js.map +1 -1
  150. package/dist/server/modules/projects/services/projects.service.d.ts +29 -54
  151. package/dist/server/modules/projects/services/projects.service.js +46 -1704
  152. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  153. package/dist/server/modules/prompts/controllers/prompts.controller.d.ts +2 -2
  154. package/dist/server/modules/prompts/controllers/prompts.controller.js.map +1 -1
  155. package/dist/server/modules/providers/adapters/index.d.ts +1 -0
  156. package/dist/server/modules/providers/adapters/index.js +1 -0
  157. package/dist/server/modules/providers/adapters/index.js.map +1 -1
  158. package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +16 -0
  159. package/dist/server/modules/providers/adapters/opencode.adapter.js +64 -0
  160. package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -0
  161. package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +2 -1
  162. package/dist/server/modules/providers/adapters/provider-adapter.factory.js +5 -2
  163. package/dist/server/modules/providers/adapters/provider-adapter.factory.js.map +1 -1
  164. package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +1 -0
  165. package/dist/server/modules/providers/adapters/provider-adapters.module.js +2 -1
  166. package/dist/server/modules/providers/adapters/provider-adapters.module.js.map +1 -1
  167. package/dist/server/modules/providers/controllers/provider-models.controller.d.ts +22 -0
  168. package/dist/server/modules/providers/controllers/provider-models.controller.js +173 -0
  169. package/dist/server/modules/providers/controllers/provider-models.controller.js.map +1 -0
  170. package/dist/server/modules/providers/providers.module.js +2 -1
  171. package/dist/server/modules/providers/providers.module.js.map +1 -1
  172. package/dist/server/modules/records/controllers/records.controller.d.ts +2 -2
  173. package/dist/server/modules/records/controllers/records.controller.js.map +1 -1
  174. package/dist/server/modules/registry/services/template-upgrade.service.js +1 -9
  175. package/dist/server/modules/registry/services/template-upgrade.service.js.map +1 -1
  176. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.d.ts +21 -0
  177. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js +207 -0
  178. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js.map +1 -0
  179. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.d.ts +22 -0
  180. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js +214 -0
  181. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js.map +1 -0
  182. package/dist/server/modules/session-reader/adapters/gemini-session-reader.adapter.d.ts +23 -0
  183. package/dist/server/modules/session-reader/adapters/gemini-session-reader.adapter.js +224 -0
  184. package/dist/server/modules/session-reader/adapters/gemini-session-reader.adapter.js.map +1 -0
  185. package/dist/server/modules/session-reader/adapters/session-reader-adapter.factory.d.ts +9 -0
  186. package/dist/server/modules/session-reader/adapters/session-reader-adapter.factory.js +40 -0
  187. package/dist/server/modules/session-reader/adapters/session-reader-adapter.factory.js.map +1 -0
  188. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +37 -0
  189. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js +3 -0
  190. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js.map +1 -0
  191. package/dist/server/modules/session-reader/adapters/utils/estimate-content-tokens.d.ts +11 -0
  192. package/dist/server/modules/session-reader/adapters/utils/estimate-content-tokens.js +77 -0
  193. package/dist/server/modules/session-reader/adapters/utils/estimate-content-tokens.js.map +1 -0
  194. package/dist/server/modules/session-reader/adapters/utils/file-search.util.d.ts +1 -0
  195. package/dist/server/modules/session-reader/adapters/utils/file-search.util.js +22 -0
  196. package/dist/server/modules/session-reader/adapters/utils/file-search.util.js.map +1 -0
  197. package/dist/server/modules/session-reader/builders/chunk-builder.d.ts +5 -0
  198. package/dist/server/modules/session-reader/builders/chunk-builder.js +131 -0
  199. package/dist/server/modules/session-reader/builders/chunk-builder.js.map +1 -0
  200. package/dist/server/modules/session-reader/builders/semantic-step-extractor.d.ts +3 -0
  201. package/dist/server/modules/session-reader/builders/semantic-step-extractor.js +93 -0
  202. package/dist/server/modules/session-reader/builders/semantic-step-extractor.js.map +1 -0
  203. package/dist/server/modules/session-reader/builders/turn-builder.d.ts +3 -0
  204. package/dist/server/modules/session-reader/builders/turn-builder.js +102 -0
  205. package/dist/server/modules/session-reader/builders/turn-builder.js.map +1 -0
  206. package/dist/server/modules/session-reader/controllers/session-reader.controller.d.ts +430 -0
  207. package/dist/server/modules/session-reader/controllers/session-reader.controller.js +252 -0
  208. package/dist/server/modules/session-reader/controllers/session-reader.controller.js.map +1 -0
  209. package/dist/server/modules/session-reader/data/pricing.json +5001 -0
  210. package/dist/server/modules/session-reader/dtos/index.d.ts +2 -0
  211. package/dist/server/modules/session-reader/dtos/index.js +10 -0
  212. package/dist/server/modules/session-reader/dtos/index.js.map +1 -0
  213. package/dist/server/modules/session-reader/dtos/unified-chunk.types.d.ts +92 -0
  214. package/dist/server/modules/session-reader/dtos/unified-chunk.types.js +19 -0
  215. package/dist/server/modules/session-reader/dtos/unified-chunk.types.js.map +1 -0
  216. package/dist/server/modules/session-reader/dtos/unified-session.types.d.ts +118 -0
  217. package/dist/server/modules/session-reader/dtos/unified-session.types.js +23 -0
  218. package/dist/server/modules/session-reader/dtos/unified-session.types.js.map +1 -0
  219. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.d.ts +15 -0
  220. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js +363 -0
  221. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js.map +1 -0
  222. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.d.ts +16 -0
  223. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js +622 -0
  224. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js.map +1 -0
  225. package/dist/server/modules/session-reader/parsers/gemini-json.parser.d.ts +15 -0
  226. package/dist/server/modules/session-reader/parsers/gemini-json.parser.js +380 -0
  227. package/dist/server/modules/session-reader/parsers/gemini-json.parser.js.map +1 -0
  228. package/dist/server/modules/session-reader/services/pricing.interface.d.ts +9 -0
  229. package/dist/server/modules/session-reader/services/pricing.interface.js +24 -0
  230. package/dist/server/modules/session-reader/services/pricing.interface.js.map +1 -0
  231. package/dist/server/modules/session-reader/services/pricing.service.d.ts +21 -0
  232. package/dist/server/modules/session-reader/services/pricing.service.js +106 -0
  233. package/dist/server/modules/session-reader/services/pricing.service.js.map +1 -0
  234. package/dist/server/modules/session-reader/services/session-cache.service.d.ts +24 -0
  235. package/dist/server/modules/session-reader/services/session-cache.service.js +203 -0
  236. package/dist/server/modules/session-reader/services/session-cache.service.js.map +1 -0
  237. package/dist/server/modules/session-reader/services/session-reader.service.d.ts +56 -0
  238. package/dist/server/modules/session-reader/services/session-reader.service.js +305 -0
  239. package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -0
  240. package/dist/server/modules/session-reader/services/subagent-locator.service.d.ts +10 -0
  241. package/dist/server/modules/session-reader/services/subagent-locator.service.js +102 -0
  242. package/dist/server/modules/session-reader/services/subagent-locator.service.js.map +1 -0
  243. package/dist/server/modules/session-reader/services/subagent-resolver.service.d.ts +22 -0
  244. package/dist/server/modules/session-reader/services/subagent-resolver.service.js +211 -0
  245. package/dist/server/modules/session-reader/services/subagent-resolver.service.js.map +1 -0
  246. package/dist/server/modules/session-reader/services/transcript-path-validator.service.d.ts +7 -0
  247. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js +150 -0
  248. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js.map +1 -0
  249. package/dist/server/modules/session-reader/services/transcript-persistence.listener.d.ts +30 -0
  250. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js +336 -0
  251. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js.map +1 -0
  252. package/dist/server/modules/session-reader/services/transcript-watcher.service.d.ts +28 -0
  253. package/dist/server/modules/session-reader/services/transcript-watcher.service.js +325 -0
  254. package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -0
  255. package/dist/server/modules/session-reader/session-reader.module.d.ts +13 -0
  256. package/dist/server/modules/session-reader/session-reader.module.js +82 -0
  257. package/dist/server/modules/session-reader/session-reader.module.js.map +1 -0
  258. package/dist/server/modules/sessions/dtos/sessions.dto.d.ts +2 -0
  259. package/dist/server/modules/sessions/dtos/sessions.dto.js.map +1 -1
  260. package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +2 -2
  261. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  262. package/dist/server/modules/sessions/services/sessions.service.js +19 -4
  263. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  264. package/dist/server/modules/sessions/utils/profile-options.d.ts +1 -0
  265. package/dist/server/modules/sessions/utils/profile-options.js +18 -0
  266. package/dist/server/modules/sessions/utils/profile-options.js.map +1 -1
  267. package/dist/server/modules/settings/controllers/settings.controller.d.ts +2 -2
  268. package/dist/server/modules/settings/controllers/settings.controller.js.map +1 -1
  269. package/dist/server/modules/settings/dtos/settings.dto.d.ts +14 -2
  270. package/dist/server/modules/settings/dtos/settings.dto.js +1 -0
  271. package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -1
  272. package/dist/server/modules/skills/services/skill-source-registry.service.d.ts +2 -2
  273. package/dist/server/modules/skills/services/skill-source-registry.service.js.map +1 -1
  274. package/dist/server/modules/statuses/controllers/statuses.controller.d.ts +2 -2
  275. package/dist/server/modules/statuses/controllers/statuses.controller.js.map +1 -1
  276. package/dist/server/modules/storage/db/schema.d.ts +176 -0
  277. package/dist/server/modules/storage/db/schema.js +17 -1
  278. package/dist/server/modules/storage/db/schema.js.map +1 -1
  279. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +53 -9
  280. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  281. package/dist/server/modules/storage/local/delegates/agent-profile.delegate.d.ts +39 -0
  282. package/dist/server/modules/storage/local/delegates/agent-profile.delegate.js +286 -0
  283. package/dist/server/modules/storage/local/delegates/agent-profile.delegate.js.map +1 -0
  284. package/dist/server/modules/storage/local/delegates/agent.delegate.d.ts +21 -0
  285. package/dist/server/modules/storage/local/delegates/agent.delegate.js +210 -0
  286. package/dist/server/modules/storage/local/delegates/agent.delegate.js.map +1 -0
  287. package/dist/server/modules/storage/local/delegates/base-storage.delegate.d.ts +12 -0
  288. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js +19 -0
  289. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js.map +1 -0
  290. package/dist/server/modules/storage/local/delegates/document.delegate.d.ts +20 -0
  291. package/dist/server/modules/storage/local/delegates/document.delegate.js +267 -0
  292. package/dist/server/modules/storage/local/delegates/document.delegate.js.map +1 -0
  293. package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +38 -0
  294. package/dist/server/modules/storage/local/delegates/epic.delegate.js +686 -0
  295. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -0
  296. package/dist/server/modules/storage/local/delegates/guest.delegate.d.ts +14 -0
  297. package/dist/server/modules/storage/local/delegates/guest.delegate.js +172 -0
  298. package/dist/server/modules/storage/local/delegates/guest.delegate.js.map +1 -0
  299. package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.d.ts +17 -0
  300. package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.js +249 -0
  301. package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.js.map +1 -0
  302. package/dist/server/modules/storage/local/delegates/project.delegate.d.ts +16 -0
  303. package/dist/server/modules/storage/local/delegates/project.delegate.js +630 -0
  304. package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -0
  305. package/dist/server/modules/storage/local/delegates/prompt.delegate.d.ts +17 -0
  306. package/dist/server/modules/storage/local/delegates/prompt.delegate.js +318 -0
  307. package/dist/server/modules/storage/local/delegates/prompt.delegate.js.map +1 -0
  308. package/dist/server/modules/storage/local/delegates/provider-model.delegate.d.ts +15 -0
  309. package/dist/server/modules/storage/local/delegates/provider-model.delegate.js +210 -0
  310. package/dist/server/modules/storage/local/delegates/provider-model.delegate.js.map +1 -0
  311. package/dist/server/modules/storage/local/delegates/provider.delegate.d.ts +18 -0
  312. package/dist/server/modules/storage/local/delegates/provider.delegate.js +151 -0
  313. package/dist/server/modules/storage/local/delegates/provider.delegate.js.map +1 -0
  314. package/dist/server/modules/storage/local/delegates/record.delegate.d.ts +16 -0
  315. package/dist/server/modules/storage/local/delegates/record.delegate.js +190 -0
  316. package/dist/server/modules/storage/local/delegates/record.delegate.js.map +1 -0
  317. package/dist/server/modules/storage/local/delegates/review.delegate.d.ts +25 -0
  318. package/dist/server/modules/storage/local/delegates/review.delegate.js +426 -0
  319. package/dist/server/modules/storage/local/delegates/review.delegate.js.map +1 -0
  320. package/dist/server/modules/storage/local/delegates/skill-source.delegate.d.ts +28 -0
  321. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js +347 -0
  322. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js.map +1 -0
  323. package/dist/server/modules/storage/local/delegates/status.delegate.d.ts +12 -0
  324. package/dist/server/modules/storage/local/delegates/status.delegate.js +130 -0
  325. package/dist/server/modules/storage/local/delegates/status.delegate.js.map +1 -0
  326. package/dist/server/modules/storage/local/delegates/subscriber.delegate.d.ts +11 -0
  327. package/dist/server/modules/storage/local/delegates/subscriber.delegate.js +144 -0
  328. package/dist/server/modules/storage/local/delegates/subscriber.delegate.js.map +1 -0
  329. package/dist/server/modules/storage/local/delegates/tag.delegate.d.ts +11 -0
  330. package/dist/server/modules/storage/local/delegates/tag.delegate.js +102 -0
  331. package/dist/server/modules/storage/local/delegates/tag.delegate.js.map +1 -0
  332. package/dist/server/modules/storage/local/delegates/watcher.delegate.d.ts +12 -0
  333. package/dist/server/modules/storage/local/delegates/watcher.delegate.js +183 -0
  334. package/dist/server/modules/storage/local/delegates/watcher.delegate.js.map +1 -0
  335. package/dist/server/modules/storage/local/helpers/storage-helpers.d.ts +32 -0
  336. package/dist/server/modules/storage/local/helpers/storage-helpers.js +276 -0
  337. package/dist/server/modules/storage/local/helpers/storage-helpers.js.map +1 -0
  338. package/dist/server/modules/storage/local/local-storage.service.d.ts +30 -22
  339. package/dist/server/modules/storage/local/local-storage.service.js +227 -3627
  340. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  341. package/dist/server/modules/storage/models/domain.models.d.ts +14 -1
  342. package/dist/server/modules/subscribers/services/subscribers.service.d.ts +2 -2
  343. package/dist/server/modules/subscribers/services/subscribers.service.js.map +1 -1
  344. package/dist/server/modules/ui/ui.controller.d.ts +2 -2
  345. package/dist/server/modules/ui/ui.controller.js +9 -3
  346. package/dist/server/modules/ui/ui.controller.js.map +1 -1
  347. package/dist/server/modules/watchers/services/watchers.service.d.ts +2 -2
  348. package/dist/server/templates/3-agents-dev.json +209 -191
  349. package/dist/server/templates/5-agents-dev.json +243 -198
  350. package/dist/server/test-setup.js +14 -0
  351. package/dist/server/test-setup.js.map +1 -1
  352. package/dist/server/tsconfig.tsbuildinfo +1 -1
  353. package/dist/server/ui/assets/{ReviewDetailPage-CvHhaFJw.js → ReviewDetailPage-DJyH8bKk.js} +1 -1
  354. package/dist/server/ui/assets/{ReviewsPage-DCDiMjwZ.js → ReviewsPage-DHvmyjjG.js} +1 -1
  355. package/dist/server/ui/assets/index-cHqKW6LQ.css +32 -0
  356. package/dist/server/ui/assets/index-f0KXZKs1.js +1011 -0
  357. package/dist/server/ui/assets/{useReviewSubscription-D_vmMkNu.js → useReviewSubscription-CUbCp0An.js} +32 -35
  358. package/dist/server/ui/index.html +2 -2
  359. package/dist/templates/3-agents-dev.json +209 -191
  360. package/dist/templates/5-agents-dev.json +243 -198
  361. package/package.json +18 -1
  362. package/dist/server/ui/assets/index-CWqSXDUZ.js +0 -977
  363. package/dist/server/ui/assets/index-DvRuLfpZ.css +0 -32
@@ -0,0 +1 @@
1
+ {"version":3,"file":"epic.delegate.js","sourceRoot":"","sources":["../../../../../src/modules/storage/local/delegates/epic.delegate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { CreateGuest, Guest } from '../../models/domain.models';
2
+ import { BaseStorageDelegate, type StorageDelegateContext } from './base-storage.delegate';
3
+ export declare class GuestStorageDelegate extends BaseStorageDelegate {
4
+ constructor(context: StorageDelegateContext);
5
+ createGuest(data: CreateGuest): Promise<Guest>;
6
+ getGuest(id: string): Promise<Guest>;
7
+ getGuestByName(projectId: string, name: string): Promise<Guest | null>;
8
+ getGuestByTmuxSessionId(tmuxSessionId: string): Promise<Guest | null>;
9
+ getGuestsByIdPrefix(prefix: string): Promise<Guest[]>;
10
+ listGuests(projectId: string): Promise<Guest[]>;
11
+ listAllGuests(): Promise<Guest[]>;
12
+ deleteGuest(id: string): Promise<void>;
13
+ updateGuestLastSeen(id: string, lastSeenAt: string): Promise<Guest>;
14
+ }
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.GuestStorageDelegate = void 0;
37
+ const error_types_1 = require("../../../../common/errors/error-types");
38
+ const logger_1 = require("../../../../common/logging/logger");
39
+ const base_storage_delegate_1 = require("./base-storage.delegate");
40
+ const logger = (0, logger_1.createLogger)('GuestStorageDelegate');
41
+ class GuestStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate {
42
+ constructor(context) {
43
+ super(context);
44
+ }
45
+ async createGuest(data) {
46
+ const { randomUUID } = await Promise.resolve().then(() => __importStar(require('crypto')));
47
+ const { guests } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
48
+ const { eq, and, sql } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
49
+ const now = new Date().toISOString();
50
+ const existingByName = await this.db
51
+ .select()
52
+ .from(guests)
53
+ .where(and(eq(guests.projectId, data.projectId), sql `${guests.name} = ${data.name} COLLATE NOCASE`))
54
+ .limit(1);
55
+ if (existingByName.length > 0) {
56
+ throw new error_types_1.ConflictError(`Guest with name "${data.name}" already exists in project`, {
57
+ projectId: data.projectId,
58
+ name: data.name,
59
+ });
60
+ }
61
+ const existingByTmux = await this.db
62
+ .select()
63
+ .from(guests)
64
+ .where(eq(guests.tmuxSessionId, data.tmuxSessionId))
65
+ .limit(1);
66
+ if (existingByTmux.length > 0) {
67
+ throw new error_types_1.ConflictError(`Guest with tmux session "${data.tmuxSessionId}" already exists`, {
68
+ tmuxSessionId: data.tmuxSessionId,
69
+ });
70
+ }
71
+ const guest = {
72
+ id: randomUUID(),
73
+ projectId: data.projectId,
74
+ name: data.name,
75
+ description: data.description ?? null,
76
+ tmuxSessionId: data.tmuxSessionId,
77
+ lastSeenAt: data.lastSeenAt,
78
+ createdAt: now,
79
+ updatedAt: now,
80
+ };
81
+ await this.db.insert(guests).values(guest);
82
+ logger.info({ guestId: guest.id, projectId: data.projectId, name: data.name }, 'Created guest');
83
+ return guest;
84
+ }
85
+ async getGuest(id) {
86
+ const { guests } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
87
+ const { eq } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
88
+ const rows = await this.db.select().from(guests).where(eq(guests.id, id)).limit(1);
89
+ if (rows.length === 0) {
90
+ throw new error_types_1.NotFoundError('Guest', id);
91
+ }
92
+ return rows[0];
93
+ }
94
+ async getGuestByName(projectId, name) {
95
+ const { guests } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
96
+ const { eq, and, sql } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
97
+ const rows = await this.db
98
+ .select()
99
+ .from(guests)
100
+ .where(and(eq(guests.projectId, projectId), sql `${guests.name} = ${name} COLLATE NOCASE`))
101
+ .limit(1);
102
+ if (rows.length === 0) {
103
+ return null;
104
+ }
105
+ return rows[0];
106
+ }
107
+ async getGuestByTmuxSessionId(tmuxSessionId) {
108
+ const { guests } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
109
+ const { eq } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
110
+ const rows = await this.db
111
+ .select()
112
+ .from(guests)
113
+ .where(eq(guests.tmuxSessionId, tmuxSessionId))
114
+ .limit(1);
115
+ if (rows.length === 0) {
116
+ return null;
117
+ }
118
+ return rows[0];
119
+ }
120
+ async getGuestsByIdPrefix(prefix) {
121
+ const { guests } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
122
+ const { like } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
123
+ const rows = await this.db
124
+ .select()
125
+ .from(guests)
126
+ .where(like(guests.id, `${prefix}%`));
127
+ return rows;
128
+ }
129
+ async listGuests(projectId) {
130
+ const { guests } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
131
+ const { eq, asc } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
132
+ const rows = await this.db
133
+ .select()
134
+ .from(guests)
135
+ .where(eq(guests.projectId, projectId))
136
+ .orderBy(asc(guests.name));
137
+ return rows;
138
+ }
139
+ async listAllGuests() {
140
+ const { guests } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
141
+ const { asc } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
142
+ const rows = await this.db.select().from(guests).orderBy(asc(guests.createdAt));
143
+ return rows;
144
+ }
145
+ async deleteGuest(id) {
146
+ const { guests } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
147
+ const { eq } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
148
+ await this.getGuest(id);
149
+ await this.db.delete(guests).where(eq(guests.id, id));
150
+ logger.info({ guestId: id }, 'Deleted guest');
151
+ }
152
+ async updateGuestLastSeen(id, lastSeenAt) {
153
+ const { guests } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
154
+ const { eq } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
155
+ const existing = await this.getGuest(id);
156
+ const now = new Date().toISOString();
157
+ await this.db
158
+ .update(guests)
159
+ .set({
160
+ lastSeenAt,
161
+ updatedAt: now,
162
+ })
163
+ .where(eq(guests.id, id));
164
+ return {
165
+ ...existing,
166
+ lastSeenAt,
167
+ updatedAt: now,
168
+ };
169
+ }
170
+ }
171
+ exports.GuestStorageDelegate = GuestStorageDelegate;
172
+ //# sourceMappingURL=guest.delegate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guest.delegate.js","sourceRoot":"","sources":["../../../../../src/modules/storage/local/delegates/guest.delegate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type CreateProfileProviderConfig, type ProfileProviderConfig, type UpdateProfileProviderConfig } from '../../models/domain.models';
2
+ import { BaseStorageDelegate, type StorageDelegateContext } from './base-storage.delegate';
3
+ export interface ProfileProviderConfigStorageDelegateDependencies {
4
+ getProfileProviderConfig: (id: string) => Promise<ProfileProviderConfig>;
5
+ }
6
+ export declare class ProfileProviderConfigStorageDelegate extends BaseStorageDelegate {
7
+ private readonly dependencies;
8
+ constructor(context: StorageDelegateContext, dependencies: ProfileProviderConfigStorageDelegateDependencies);
9
+ createProfileProviderConfig(data: CreateProfileProviderConfig): Promise<ProfileProviderConfig>;
10
+ getProfileProviderConfig(id: string): Promise<ProfileProviderConfig>;
11
+ listProfileProviderConfigsByProfile(profileId: string): Promise<ProfileProviderConfig[]>;
12
+ listProfileProviderConfigsByIds(ids: string[]): Promise<ProfileProviderConfig[]>;
13
+ listAllProfileProviderConfigs(): Promise<ProfileProviderConfig[]>;
14
+ updateProfileProviderConfig(id: string, data: UpdateProfileProviderConfig): Promise<ProfileProviderConfig>;
15
+ deleteProfileProviderConfig(id: string): Promise<void>;
16
+ reorderProfileProviderConfigs(profileId: string, configIds: string[]): Promise<void>;
17
+ }
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ProfileProviderConfigStorageDelegate = void 0;
37
+ const error_types_1 = require("../../../../common/errors/error-types");
38
+ const logger_1 = require("../../../../common/logging/logger");
39
+ const storage_helpers_1 = require("../helpers/storage-helpers");
40
+ const base_storage_delegate_1 = require("./base-storage.delegate");
41
+ const logger = (0, logger_1.createLogger)('ProfileProviderConfigStorageDelegate');
42
+ class ProfileProviderConfigStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate {
43
+ constructor(context, dependencies) {
44
+ super(context);
45
+ this.dependencies = dependencies;
46
+ }
47
+ async createProfileProviderConfig(data) {
48
+ const { randomUUID } = await Promise.resolve().then(() => __importStar(require('crypto')));
49
+ const now = new Date().toISOString();
50
+ const { profileProviderConfigs } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
51
+ const { eq, sql } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
52
+ let position = data.position;
53
+ if (position === undefined) {
54
+ const maxResult = await this.db
55
+ .select({ maxPos: sql `COALESCE(MAX(${profileProviderConfigs.position}), -1)` })
56
+ .from(profileProviderConfigs)
57
+ .where(eq(profileProviderConfigs.profileId, data.profileId));
58
+ position = (maxResult[0]?.maxPos ?? -1) + 1;
59
+ }
60
+ const config = {
61
+ id: randomUUID(),
62
+ profileId: data.profileId,
63
+ providerId: data.providerId,
64
+ name: data.name,
65
+ options: data.options ?? null,
66
+ env: data.env ?? null,
67
+ position,
68
+ createdAt: now,
69
+ updatedAt: now,
70
+ };
71
+ await this.db.insert(profileProviderConfigs).values({
72
+ id: config.id,
73
+ profileId: config.profileId,
74
+ providerId: config.providerId,
75
+ name: config.name,
76
+ options: config.options,
77
+ env: config.env ? JSON.stringify(config.env) : null,
78
+ position: config.position,
79
+ createdAt: config.createdAt,
80
+ updatedAt: config.updatedAt,
81
+ });
82
+ logger.info({ configId: config.id, profileId: config.profileId, position }, 'Created profile provider config');
83
+ return config;
84
+ }
85
+ async getProfileProviderConfig(id) {
86
+ const { profileProviderConfigs } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
87
+ const { eq } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
88
+ const result = await this.db
89
+ .select()
90
+ .from(profileProviderConfigs)
91
+ .where(eq(profileProviderConfigs.id, id))
92
+ .limit(1);
93
+ if (!result[0]) {
94
+ throw new error_types_1.NotFoundError('ProfileProviderConfig', id);
95
+ }
96
+ const row = result[0];
97
+ return {
98
+ id: row.id,
99
+ profileId: row.profileId,
100
+ providerId: row.providerId,
101
+ name: row.name,
102
+ options: row.options,
103
+ env: (0, storage_helpers_1.parseProviderConfigEnv)(row.env, row.id, row.profileId),
104
+ position: row.position,
105
+ createdAt: row.createdAt,
106
+ updatedAt: row.updatedAt,
107
+ };
108
+ }
109
+ async listProfileProviderConfigsByProfile(profileId) {
110
+ const { profileProviderConfigs } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
111
+ const { eq, asc } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
112
+ const results = await this.db
113
+ .select()
114
+ .from(profileProviderConfigs)
115
+ .where(eq(profileProviderConfigs.profileId, profileId))
116
+ .orderBy(asc(profileProviderConfigs.position), asc(profileProviderConfigs.id));
117
+ return results.map((row) => ({
118
+ id: row.id,
119
+ profileId: row.profileId,
120
+ providerId: row.providerId,
121
+ name: row.name,
122
+ options: row.options,
123
+ env: (0, storage_helpers_1.parseProviderConfigEnv)(row.env, row.id, row.profileId),
124
+ position: row.position,
125
+ createdAt: row.createdAt,
126
+ updatedAt: row.updatedAt,
127
+ }));
128
+ }
129
+ async listProfileProviderConfigsByIds(ids) {
130
+ if (ids.length === 0) {
131
+ return [];
132
+ }
133
+ const { profileProviderConfigs } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
134
+ const { inArray } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
135
+ const results = await this.db
136
+ .select()
137
+ .from(profileProviderConfigs)
138
+ .where(inArray(profileProviderConfigs.id, ids));
139
+ return results.map((row) => ({
140
+ id: row.id,
141
+ profileId: row.profileId,
142
+ providerId: row.providerId,
143
+ name: row.name,
144
+ options: row.options,
145
+ env: (0, storage_helpers_1.parseProviderConfigEnv)(row.env, row.id, row.profileId),
146
+ position: row.position,
147
+ createdAt: row.createdAt,
148
+ updatedAt: row.updatedAt,
149
+ }));
150
+ }
151
+ async listAllProfileProviderConfigs() {
152
+ const { profileProviderConfigs } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
153
+ const results = await this.db.select().from(profileProviderConfigs);
154
+ return results.map((row) => ({
155
+ id: row.id,
156
+ profileId: row.profileId,
157
+ providerId: row.providerId,
158
+ name: row.name,
159
+ options: row.options,
160
+ env: (0, storage_helpers_1.parseProviderConfigEnv)(row.env, row.id, row.profileId),
161
+ position: row.position,
162
+ createdAt: row.createdAt,
163
+ updatedAt: row.updatedAt,
164
+ }));
165
+ }
166
+ async updateProfileProviderConfig(id, data) {
167
+ const { profileProviderConfigs } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
168
+ const { eq } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
169
+ const now = new Date().toISOString();
170
+ const updateData = { updatedAt: now };
171
+ if (data.providerId !== undefined) {
172
+ updateData.providerId = data.providerId;
173
+ }
174
+ if (data.name !== undefined) {
175
+ updateData.name = data.name;
176
+ }
177
+ if (data.options !== undefined) {
178
+ updateData.options = data.options;
179
+ }
180
+ if (data.env !== undefined) {
181
+ updateData.env = data.env ? JSON.stringify(data.env) : null;
182
+ }
183
+ if (data.position !== undefined) {
184
+ updateData.position = data.position;
185
+ }
186
+ await this.db
187
+ .update(profileProviderConfigs)
188
+ .set(updateData)
189
+ .where(eq(profileProviderConfigs.id, id));
190
+ logger.info({ configId: id }, 'Updated profile provider config');
191
+ return this.dependencies.getProfileProviderConfig(id);
192
+ }
193
+ async deleteProfileProviderConfig(id) {
194
+ const { profileProviderConfigs } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
195
+ const { eq } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
196
+ const { agents } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
197
+ const agentRefs = await this.db
198
+ .select({ id: agents.id })
199
+ .from(agents)
200
+ .where(eq(agents.providerConfigId, id))
201
+ .limit(1);
202
+ if (agentRefs.length > 0) {
203
+ throw new error_types_1.ValidationError('Cannot delete provider config: still referenced by agents', {
204
+ configId: id,
205
+ referencingAgentId: agentRefs[0].id,
206
+ });
207
+ }
208
+ await this.db.delete(profileProviderConfigs).where(eq(profileProviderConfigs.id, id));
209
+ logger.info({ configId: id }, 'Deleted profile provider config');
210
+ }
211
+ async reorderProfileProviderConfigs(profileId, configIds) {
212
+ const { profileProviderConfigs } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
213
+ const { eq } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
214
+ const sqlite = this.rawClient;
215
+ if (!sqlite || typeof sqlite.exec !== 'function') {
216
+ throw new error_types_1.StorageError('Unable to access underlying SQLite client for transaction control');
217
+ }
218
+ try {
219
+ sqlite.exec('BEGIN IMMEDIATE TRANSACTION');
220
+ const configs = await this.db
221
+ .select({ position: profileProviderConfigs.position })
222
+ .from(profileProviderConfigs)
223
+ .where(eq(profileProviderConfigs.profileId, profileId));
224
+ const maxPosition = Math.max(0, ...configs.map((c) => c.position ?? 0));
225
+ const tempBase = maxPosition + 1000;
226
+ for (let i = 0; i < configIds.length; i++) {
227
+ await this.db
228
+ .update(profileProviderConfigs)
229
+ .set({ position: tempBase + i })
230
+ .where(eq(profileProviderConfigs.id, configIds[i]));
231
+ }
232
+ for (let i = 0; i < configIds.length; i++) {
233
+ await this.db
234
+ .update(profileProviderConfigs)
235
+ .set({ position: i })
236
+ .where(eq(profileProviderConfigs.id, configIds[i]));
237
+ }
238
+ sqlite.exec('COMMIT');
239
+ logger.info({ profileId, configIds }, 'Reordered provider configs');
240
+ }
241
+ catch (error) {
242
+ sqlite.exec('ROLLBACK');
243
+ logger.error({ error, profileId, configIds }, 'Failed to reorder provider configs, rolled back');
244
+ throw error;
245
+ }
246
+ }
247
+ }
248
+ exports.ProfileProviderConfigStorageDelegate = ProfileProviderConfigStorageDelegate;
249
+ //# sourceMappingURL=profile-provider-config.delegate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-provider-config.delegate.js","sourceRoot":"","sources":["../../../../../src/modules/storage/local/delegates/profile-provider-config.delegate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { CreateProjectWithTemplateOptions, CreateProjectWithTemplateResult, ListOptions, ListResult, TemplateImportPayload } from '../../interfaces/storage.interface';
2
+ import type { CreateProject, Project, UpdateProject } from '../../models/domain.models';
3
+ import { BaseStorageDelegate, type StorageDelegateContext } from './base-storage.delegate';
4
+ export declare class ProjectStorageDelegate extends BaseStorageDelegate {
5
+ constructor(context: StorageDelegateContext);
6
+ private listSeedableSourceNamesForNewProject;
7
+ createProject(data: CreateProject): Promise<Project>;
8
+ createProjectWithTemplate(data: CreateProject, template: TemplateImportPayload, options?: CreateProjectWithTemplateOptions): Promise<CreateProjectWithTemplateResult>;
9
+ getProject(id: string): Promise<Project>;
10
+ findProjectByPath(path: string): Promise<Project | null>;
11
+ getProjectByRootPath(rootPath: string): Promise<Project | null>;
12
+ findProjectContainingPath(absolutePath: string): Promise<Project | null>;
13
+ listProjects(options?: ListOptions): Promise<ListResult<Project>>;
14
+ updateProject(id: string, data: UpdateProject): Promise<Project>;
15
+ deleteProject(id: string): Promise<void>;
16
+ }