devchain-cli 0.19.1 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/dist/drizzle/0069_fluffy_exodus.sql +2 -0
  2. package/dist/drizzle/0070_lyrical_tombstone.sql +1 -0
  3. package/dist/drizzle/0071_special_avengers.sql +22 -0
  4. package/dist/drizzle/meta/0069_snapshot.json +5767 -0
  5. package/dist/drizzle/meta/0070_snapshot.json +5774 -0
  6. package/dist/drizzle/meta/0071_snapshot.json +5931 -0
  7. package/dist/drizzle/meta/_journal.json +22 -1
  8. package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.d.ts +0 -1
  9. package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.d.ts.map +1 -1
  10. package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.js +0 -2
  11. package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.js.map +1 -1
  12. package/dist/node_modules/@devchain/shared/e2ee/base64.js +1 -1
  13. package/dist/node_modules/@devchain/shared/e2ee/base64.js.map +1 -1
  14. package/dist/node_modules/@devchain/shared/host-resolver.d.ts.map +1 -1
  15. package/dist/node_modules/@devchain/shared/host-resolver.js.map +1 -1
  16. package/dist/node_modules/@devchain/shared/schemas/claude-launch-settings.d.ts.map +1 -1
  17. package/dist/node_modules/@devchain/shared/schemas/claude-launch-settings.js +23 -0
  18. package/dist/node_modules/@devchain/shared/schemas/claude-launch-settings.js.map +1 -1
  19. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts +475 -15
  20. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts.map +1 -1
  21. package/dist/node_modules/@devchain/shared/schemas/export-schema.js +22 -9
  22. package/dist/node_modules/@devchain/shared/schemas/export-schema.js.map +1 -1
  23. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  24. package/dist/node_modules/@devchain/shared/tunnel-protocol.d.ts.map +1 -1
  25. package/dist/node_modules/@devchain/shared/tunnel-protocol.js +0 -1
  26. package/dist/node_modules/@devchain/shared/tunnel-protocol.js.map +1 -1
  27. package/dist/server/app.main.module.js +0 -2
  28. package/dist/server/app.main.module.js.map +1 -1
  29. package/dist/server/app.normal.module.js +0 -2
  30. package/dist/server/app.normal.module.js.map +1 -1
  31. package/dist/server/common/config/container-scope.d.ts +4 -0
  32. package/dist/server/common/config/container-scope.js +11 -0
  33. package/dist/server/common/config/container-scope.js.map +1 -0
  34. package/dist/server/common/test/app-bootstrap.helper.js +1 -0
  35. package/dist/server/common/test/app-bootstrap.helper.js.map +1 -1
  36. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js +11 -4
  37. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js.map +1 -1
  38. package/dist/server/modules/agent-message-delivery/adapters/legacy-recipient-resolver.adapter.d.ts +1 -3
  39. package/dist/server/modules/agent-message-delivery/adapters/legacy-recipient-resolver.adapter.js +1 -1
  40. package/dist/server/modules/agent-message-delivery/adapters/legacy-recipient-resolver.adapter.js.map +1 -1
  41. package/dist/server/modules/agent-message-delivery/agent-message-delivery.module.js +0 -2
  42. package/dist/server/modules/agent-message-delivery/agent-message-delivery.module.js.map +1 -1
  43. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.d.ts +1 -0
  44. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js +19 -7
  45. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js.map +1 -1
  46. package/dist/server/modules/agent-message-delivery/dtos/delivery.types.d.ts +16 -5
  47. package/dist/server/modules/agent-message-delivery/ports/delivery-recipient-resolver.d.ts +1 -3
  48. package/dist/server/modules/agent-message-delivery/ports/delivery-recipient-resolver.js.map +1 -1
  49. package/dist/server/modules/agents/controllers/agents.controller.d.ts +1 -0
  50. package/dist/server/modules/agents/controllers/agents.controller.js +7 -1
  51. package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -1
  52. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -1
  53. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.d.ts +1 -1
  54. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js +0 -8
  55. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js.map +1 -1
  56. package/dist/server/modules/epics/services/epics.service.d.ts +2 -0
  57. package/dist/server/modules/epics/services/epics.service.js +17 -3
  58. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  59. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.d.ts +6 -0
  60. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.js +111 -34
  61. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.js.map +1 -1
  62. package/dist/server/modules/events/catalog/agent.message.sent.d.ts +89 -0
  63. package/dist/server/modules/events/catalog/agent.message.sent.js +16 -0
  64. package/dist/server/modules/events/catalog/agent.message.sent.js.map +1 -1
  65. package/dist/server/modules/events/catalog/broadcast-registry.js +1 -21
  66. package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -1
  67. package/dist/server/modules/events/catalog/index.d.ts +103 -22
  68. package/dist/server/modules/events/catalog/index.js +9 -3
  69. package/dist/server/modules/events/catalog/index.js.map +1 -1
  70. package/dist/server/modules/events/catalog/review.created.d.ts +4 -4
  71. package/dist/server/modules/events/catalog/session.recommendation.d.ts +2 -2
  72. package/dist/server/modules/events/catalog/session.stopped.d.ts +14 -0
  73. package/dist/server/modules/events/catalog/session.stopped.js +10 -1
  74. package/dist/server/modules/events/catalog/session.stopped.js.map +1 -1
  75. package/dist/server/modules/events/services/event-log.service.d.ts +3 -3
  76. package/dist/server/modules/events/services/event-log.service.js +58 -26
  77. package/dist/server/modules/events/services/event-log.service.js.map +1 -1
  78. package/dist/server/modules/events/services/events.service.d.ts +1 -1
  79. package/dist/server/modules/events/services/events.service.js +5 -0
  80. package/dist/server/modules/events/services/events.service.js.map +1 -1
  81. package/dist/server/modules/mcp/constants.d.ts +0 -4
  82. package/dist/server/modules/mcp/constants.js +1 -15
  83. package/dist/server/modules/mcp/constants.js.map +1 -1
  84. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +34 -308
  85. package/dist/server/modules/mcp/dtos/mcp.dto.js +22 -94
  86. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  87. package/dist/server/modules/mcp/mcp-full.module.js +2 -2
  88. package/dist/server/modules/mcp/mcp-full.module.js.map +1 -1
  89. package/dist/server/modules/mcp/services/handlers/chat-context.d.ts +2 -4
  90. package/dist/server/modules/mcp/services/handlers/chat-tools.d.ts +0 -3
  91. package/dist/server/modules/mcp/services/handlers/chat-tools.js +81 -382
  92. package/dist/server/modules/mcp/services/handlers/chat-tools.js.map +1 -1
  93. package/dist/server/modules/mcp/services/handlers/epic-tools.js +7 -3
  94. package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -1
  95. package/dist/server/modules/mcp/services/handlers/project-context.d.ts +6 -0
  96. package/dist/server/modules/mcp/services/handlers/{activity-context.js → project-context.js} +1 -1
  97. package/dist/server/modules/mcp/services/handlers/project-context.js.map +1 -0
  98. package/dist/server/modules/mcp/services/handlers/project-tools.d.ts +3 -0
  99. package/dist/server/modules/mcp/services/handlers/project-tools.js +32 -0
  100. package/dist/server/modules/mcp/services/handlers/project-tools.js.map +1 -0
  101. package/dist/server/modules/mcp/services/mappers/dto-mappers.js +1 -0
  102. package/dist/server/modules/mcp/services/mappers/dto-mappers.js.map +1 -1
  103. package/dist/server/modules/mcp/services/mcp.service.d.ts +4 -4
  104. package/dist/server/modules/mcp/services/mcp.service.js +46 -51
  105. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
  106. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js +0 -3
  107. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js.map +1 -1
  108. package/dist/server/modules/mcp/tool-descriptors/chat.metadata.js +8 -58
  109. package/dist/server/modules/mcp/tool-descriptors/chat.metadata.js.map +1 -1
  110. package/dist/server/modules/mcp/tool-descriptors/index.js +4 -4
  111. package/dist/server/modules/mcp/tool-descriptors/index.js.map +1 -1
  112. package/dist/server/modules/mcp/tool-descriptors/project.bindings.d.ts +2 -0
  113. package/dist/server/modules/mcp/tool-descriptors/project.bindings.js +8 -0
  114. package/dist/server/modules/mcp/tool-descriptors/project.bindings.js.map +1 -0
  115. package/dist/server/modules/mcp/tool-descriptors/project.metadata.d.ts +2 -0
  116. package/dist/server/modules/mcp/tool-descriptors/project.metadata.js +37 -0
  117. package/dist/server/modules/mcp/tool-descriptors/project.metadata.js.map +1 -0
  118. package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js +0 -2
  119. package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js.map +1 -1
  120. package/dist/server/modules/profiles/dto.d.ts +4 -4
  121. package/dist/server/modules/project-communication/dtos/project-communication.types.d.ts +44 -0
  122. package/dist/server/modules/project-communication/dtos/project-communication.types.js +3 -0
  123. package/dist/server/modules/project-communication/dtos/project-communication.types.js.map +1 -0
  124. package/dist/server/modules/project-communication/project-communication.module.d.ts +2 -0
  125. package/dist/server/modules/project-communication/project-communication.module.js +24 -0
  126. package/dist/server/modules/project-communication/project-communication.module.js.map +1 -0
  127. package/dist/server/modules/project-communication/project-communication.service.d.ts +16 -0
  128. package/dist/server/modules/project-communication/project-communication.service.js +224 -0
  129. package/dist/server/modules/project-communication/project-communication.service.js.map +1 -0
  130. package/dist/server/modules/projects/controllers/projects.controller.d.ts +4 -11
  131. package/dist/server/modules/projects/controllers/projects.controller.js +3 -10
  132. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  133. package/dist/server/modules/projects/helpers/project-export.d.ts +2 -5
  134. package/dist/server/modules/projects/helpers/project-runtime.helpers.d.ts +2 -5
  135. package/dist/server/modules/projects/helpers/project-runtime.helpers.js.map +1 -1
  136. package/dist/server/modules/projects/services/projects.service.d.ts +2 -5
  137. package/dist/server/modules/projects/template-codec/codecs/agents.codec.d.ts +2 -0
  138. package/dist/server/modules/projects/template-codec/codecs/agents.codec.js +2 -0
  139. package/dist/server/modules/projects/template-codec/codecs/agents.codec.js.map +1 -1
  140. package/dist/server/modules/projects/template-codec/codecs/subscribers.codec.d.ts +3 -10
  141. package/dist/server/modules/projects/template-codec/codecs/subscribers.codec.js.map +1 -1
  142. package/dist/server/modules/providers/adapters/capabilities/index.d.ts +2 -2
  143. package/dist/server/modules/providers/adapters/capabilities/index.js +2 -1
  144. package/dist/server/modules/providers/adapters/capabilities/index.js.map +1 -1
  145. package/dist/server/modules/providers/adapters/capabilities/provider-plugin.capability.d.ts +6 -0
  146. package/dist/server/modules/providers/adapters/capabilities/provider-plugin.capability.js +3 -0
  147. package/dist/server/modules/providers/adapters/capabilities/provider-plugin.capability.js.map +1 -0
  148. package/dist/server/modules/providers/adapters/capabilities/type-guards.d.ts +3 -0
  149. package/dist/server/modules/providers/adapters/capabilities/type-guards.js +6 -0
  150. package/dist/server/modules/providers/adapters/capabilities/type-guards.js.map +1 -1
  151. package/dist/server/modules/providers/adapters/claude.adapter.d.ts +6 -2
  152. package/dist/server/modules/providers/adapters/claude.adapter.js +53 -0
  153. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
  154. package/dist/server/modules/providers/adapters/codex.adapter.d.ts +7 -2
  155. package/dist/server/modules/providers/adapters/codex.adapter.js +46 -0
  156. package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
  157. package/dist/server/modules/providers/adapters/plugin-catalog.utils.d.ts +15 -0
  158. package/dist/server/modules/providers/adapters/plugin-catalog.utils.js +62 -0
  159. package/dist/server/modules/providers/adapters/plugin-catalog.utils.js.map +1 -0
  160. package/dist/server/modules/providers/controllers/provider-plugin-policy.controller.d.ts +18 -0
  161. package/dist/server/modules/providers/controllers/provider-plugin-policy.controller.js +149 -0
  162. package/dist/server/modules/providers/controllers/provider-plugin-policy.controller.js.map +1 -0
  163. package/dist/server/modules/providers/controllers/provider-plugins.controller.d.ts +8 -0
  164. package/dist/server/modules/providers/controllers/provider-plugins.controller.js +78 -0
  165. package/dist/server/modules/providers/controllers/provider-plugins.controller.js.map +1 -0
  166. package/dist/server/modules/providers/dtos/provider-plugin.dto.d.ts +28 -0
  167. package/dist/server/modules/providers/dtos/provider-plugin.dto.js +3 -0
  168. package/dist/server/modules/providers/dtos/provider-plugin.dto.js.map +1 -0
  169. package/dist/server/modules/providers/providers.module.js +15 -1
  170. package/dist/server/modules/providers/providers.module.js.map +1 -1
  171. package/dist/server/modules/providers/services/provider-plugin-policy.service.d.ts +20 -0
  172. package/dist/server/modules/providers/services/provider-plugin-policy.service.js +146 -0
  173. package/dist/server/modules/providers/services/provider-plugin-policy.service.js.map +1 -0
  174. package/dist/server/modules/providers/services/provider-plugins.service.d.ts +21 -0
  175. package/dist/server/modules/providers/services/provider-plugins.service.js +169 -0
  176. package/dist/server/modules/providers/services/provider-plugins.service.js.map +1 -0
  177. package/dist/server/modules/registry/controllers/templates.controller.d.ts +14 -2
  178. package/dist/server/modules/reviews/dtos/review.dto.d.ts +2 -2
  179. package/dist/server/modules/reviews/subscribers/review-comment-notifier.subscriber.js +0 -1
  180. package/dist/server/modules/reviews/subscribers/review-comment-notifier.subscriber.js.map +1 -1
  181. package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.d.ts +9 -1
  182. package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.js +102 -16
  183. package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.js.map +1 -1
  184. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.d.ts +53 -0
  185. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js +842 -0
  186. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js.map +1 -0
  187. package/dist/server/modules/runtime-context-capture/index.d.ts +2 -1
  188. package/dist/server/modules/runtime-context-capture/index.js +5 -1
  189. package/dist/server/modules/runtime-context-capture/index.js.map +1 -1
  190. package/dist/server/modules/runtime-context-capture/runtime-context-capture.module.js +11 -2
  191. package/dist/server/modules/runtime-context-capture/runtime-context-capture.module.js.map +1 -1
  192. package/dist/server/modules/scheduled-epics/dtos/scheduled-epic.dto.d.ts +1 -1
  193. package/dist/server/modules/session-reader/data/pricing.json +32 -19
  194. package/dist/server/modules/sessions/controllers/sessions.controller.js +4 -1
  195. package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -1
  196. package/dist/server/modules/sessions/services/delivery-failure-disclosure.d.ts +12 -0
  197. package/dist/server/modules/sessions/services/delivery-failure-disclosure.js +25 -0
  198. package/dist/server/modules/sessions/services/delivery-failure-disclosure.js.map +1 -0
  199. package/dist/server/modules/sessions/services/delivery-failure-notifier.service.js +7 -3
  200. package/dist/server/modules/sessions/services/delivery-failure-notifier.service.js.map +1 -1
  201. package/dist/server/modules/sessions/services/message-enqueue.service.d.ts +2 -1
  202. package/dist/server/modules/sessions/services/message-enqueue.service.js +1 -0
  203. package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -1
  204. package/dist/server/modules/sessions/services/message-pool.types.d.ts +4 -1
  205. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js +8 -2
  206. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js.map +1 -1
  207. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +20 -0
  208. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +26 -2
  209. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
  210. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.d.ts +5 -1
  211. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +70 -12
  212. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
  213. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.d.ts +5 -1
  214. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +68 -10
  215. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
  216. package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +2 -1
  217. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +63 -28
  218. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  219. package/dist/server/modules/sessions/services/sessions.service.d.ts +6 -3
  220. package/dist/server/modules/sessions/services/sessions.service.js +82 -92
  221. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  222. package/dist/server/modules/sessions/utils/profile-options.d.ts +1 -0
  223. package/dist/server/modules/sessions/utils/profile-options.js +7 -0
  224. package/dist/server/modules/sessions/utils/profile-options.js.map +1 -1
  225. package/dist/server/modules/storage/db/schema.d.ts +255 -0
  226. package/dist/server/modules/storage/db/schema.js +34 -3
  227. package/dist/server/modules/storage/db/schema.js.map +1 -1
  228. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +15 -3
  229. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  230. package/dist/server/modules/storage/local/delegates/agent.delegate.d.ts +1 -0
  231. package/dist/server/modules/storage/local/delegates/agent.delegate.js +43 -1
  232. package/dist/server/modules/storage/local/delegates/agent.delegate.js.map +1 -1
  233. package/dist/server/modules/storage/local/delegates/epic.delegate.js +6 -0
  234. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
  235. package/dist/server/modules/storage/local/delegates/project.delegate.d.ts +1 -0
  236. package/dist/server/modules/storage/local/delegates/project.delegate.js +21 -0
  237. package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
  238. package/dist/server/modules/storage/local/delegates/provider-plugin-policy.delegate.d.ts +13 -0
  239. package/dist/server/modules/storage/local/delegates/provider-plugin-policy.delegate.js +90 -0
  240. package/dist/server/modules/storage/local/delegates/provider-plugin-policy.delegate.js.map +1 -0
  241. package/dist/server/modules/storage/local/delegates/review.delegate.d.ts +0 -1
  242. package/dist/server/modules/storage/local/delegates/review.delegate.js +0 -20
  243. package/dist/server/modules/storage/local/delegates/review.delegate.js.map +1 -1
  244. package/dist/server/modules/storage/local/local-storage.service.d.ts +12 -2
  245. package/dist/server/modules/storage/local/local-storage.service.js +33 -3
  246. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  247. package/dist/server/modules/storage/models/domain.models.d.ts +26 -5
  248. package/dist/server/modules/subscribers/actions/restart-agent.action.js +4 -1
  249. package/dist/server/modules/subscribers/actions/restart-agent.action.js.map +1 -1
  250. package/dist/server/modules/subscribers/actions/send-message.action.js +47 -12
  251. package/dist/server/modules/subscribers/actions/send-message.action.js.map +1 -1
  252. package/dist/server/modules/subscribers/dtos/subscriber.dto.d.ts +231 -23
  253. package/dist/server/modules/subscribers/dtos/subscriber.dto.js +10 -5
  254. package/dist/server/modules/subscribers/dtos/subscriber.dto.js.map +1 -1
  255. package/dist/server/modules/subscribers/events/event-fields-catalog.js +6 -1
  256. package/dist/server/modules/subscribers/events/event-fields-catalog.js.map +1 -1
  257. package/dist/server/modules/subscribers/services/subscriber-executor.service.d.ts +3 -0
  258. package/dist/server/modules/subscribers/services/subscriber-executor.service.js +44 -0
  259. package/dist/server/modules/subscribers/services/subscriber-executor.service.js.map +1 -1
  260. package/dist/server/modules/teams/services/teams.service.js +4 -1
  261. package/dist/server/modules/teams/services/teams.service.js.map +1 -1
  262. package/dist/server/modules/teams/subscribers/team-membership-changed-notifier.subscriber.js +3 -1
  263. package/dist/server/modules/teams/subscribers/team-membership-changed-notifier.subscriber.js.map +1 -1
  264. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +0 -6
  265. package/dist/server/modules/terminal/gateways/terminal.gateway.js +1 -33
  266. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
  267. package/dist/server/modules/terminal/services/terminal-io/lifecycle.d.ts +2 -1
  268. package/dist/server/modules/terminal/services/terminal-io/lifecycle.js +38 -0
  269. package/dist/server/modules/terminal/services/terminal-io/lifecycle.js.map +1 -1
  270. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.d.ts +13 -2
  271. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js +141 -25
  272. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js.map +1 -1
  273. package/dist/server/modules/terminal/services/terminal-io/types.d.ts +15 -0
  274. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js +8 -5
  275. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js.map +1 -1
  276. package/dist/server/modules/watchers/dtos/watcher.dto.d.ts +2 -2
  277. package/dist/server/templates/teams-dev.json +157 -104
  278. package/dist/server/tsconfig.tsbuildinfo +1 -1
  279. package/dist/server/ui/assets/{ReviewDetailPage-yOe1a_fn.js → ReviewDetailPage-BZoAe0G2.js} +1 -1
  280. package/dist/server/ui/assets/{ReviewsPage-Bib-IgPo.js → ReviewsPage-J3XZDw7k.js} +1 -1
  281. package/dist/server/ui/assets/index-CxmSxl5f.css +32 -0
  282. package/dist/server/ui/assets/index-DoKUmi74.js +1153 -0
  283. package/dist/server/ui/assets/{useReviewSubscription-BmU3yczR.js → useReviewSubscription-CNUx-AWQ.js} +19 -19
  284. package/dist/server/ui/index.html +2 -2
  285. package/dist/templates/teams-dev.json +157 -104
  286. package/package.json +16 -2
  287. package/dist/drizzle/PHASE2_MIGRATION_GUIDE.md +0 -109
  288. package/dist/server/modules/agent-message-delivery/subscribers/chat-message-delivery.subscriber.d.ts +0 -22
  289. package/dist/server/modules/agent-message-delivery/subscribers/chat-message-delivery.subscriber.js +0 -64
  290. package/dist/server/modules/agent-message-delivery/subscribers/chat-message-delivery.subscriber.js.map +0 -1
  291. package/dist/server/modules/chat/chat.module.d.ts +0 -2
  292. package/dist/server/modules/chat/chat.module.js +0 -38
  293. package/dist/server/modules/chat/chat.module.js.map +0 -1
  294. package/dist/server/modules/chat/controllers/chat-settings.controller.d.ts +0 -8
  295. package/dist/server/modules/chat/controllers/chat-settings.controller.js +0 -67
  296. package/dist/server/modules/chat/controllers/chat-settings.controller.js.map +0 -1
  297. package/dist/server/modules/chat/controllers/chat.controller.d.ts +0 -15
  298. package/dist/server/modules/chat/controllers/chat.controller.js +0 -153
  299. package/dist/server/modules/chat/controllers/chat.controller.js.map +0 -1
  300. package/dist/server/modules/chat/dtos/chat-settings.dto.d.ts +0 -31
  301. package/dist/server/modules/chat/dtos/chat-settings.dto.js +0 -17
  302. package/dist/server/modules/chat/dtos/chat-settings.dto.js.map +0 -1
  303. package/dist/server/modules/chat/dtos/chat.dto.d.ts +0 -309
  304. package/dist/server/modules/chat/dtos/chat.dto.js +0 -80
  305. package/dist/server/modules/chat/dtos/chat.dto.js.map +0 -1
  306. package/dist/server/modules/chat/services/chat-session-invite.service.d.ts +0 -16
  307. package/dist/server/modules/chat/services/chat-session-invite.service.js +0 -200
  308. package/dist/server/modules/chat/services/chat-session-invite.service.js.map +0 -1
  309. package/dist/server/modules/chat/services/chat-settings.service.d.ts +0 -12
  310. package/dist/server/modules/chat/services/chat-settings.service.js +0 -123
  311. package/dist/server/modules/chat/services/chat-settings.service.js.map +0 -1
  312. package/dist/server/modules/chat/services/chat.service.d.ts +0 -47
  313. package/dist/server/modules/chat/services/chat.service.js +0 -693
  314. package/dist/server/modules/chat/services/chat.service.js.map +0 -1
  315. package/dist/server/modules/chat/services/invite-template.util.d.ts +0 -17
  316. package/dist/server/modules/chat/services/invite-template.util.js +0 -70
  317. package/dist/server/modules/chat/services/invite-template.util.js.map +0 -1
  318. package/dist/server/modules/events/catalog/chat.message.read.d.ts +0 -21
  319. package/dist/server/modules/events/catalog/chat.message.read.js +0 -14
  320. package/dist/server/modules/events/catalog/chat.message.read.js.map +0 -1
  321. package/dist/server/modules/mcp/services/handlers/activity-context.d.ts +0 -6
  322. package/dist/server/modules/mcp/services/handlers/activity-context.js.map +0 -1
  323. package/dist/server/modules/mcp/services/handlers/activity-tools.d.ts +0 -4
  324. package/dist/server/modules/mcp/services/handlers/activity-tools.js +0 -179
  325. package/dist/server/modules/mcp/services/handlers/activity-tools.js.map +0 -1
  326. package/dist/server/modules/mcp/tool-descriptors/activity.bindings.d.ts +0 -2
  327. package/dist/server/modules/mcp/tool-descriptors/activity.bindings.js +0 -9
  328. package/dist/server/modules/mcp/tool-descriptors/activity.bindings.js.map +0 -1
  329. package/dist/server/modules/mcp/tool-descriptors/activity.metadata.d.ts +0 -2
  330. package/dist/server/modules/mcp/tool-descriptors/activity.metadata.js +0 -49
  331. package/dist/server/modules/mcp/tool-descriptors/activity.metadata.js.map +0 -1
  332. package/dist/server/ui/assets/index-B2TO-QTO.js +0 -1156
  333. package/dist/server/ui/assets/index-DowJ3ZtQ.css +0 -32
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-plugin-policy.controller.js","sourceRoot":"","sources":["../../../../src/modules/providers/controllers/provider-plugin-policy.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ProviderPluginsService } from '../services/provider-plugins.service';
2
+ export declare class ProviderPluginsController {
3
+ private readonly providerPlugins;
4
+ constructor(providerPlugins: ProviderPluginsService);
5
+ listCatalog(): Promise<import("../dtos/provider-plugin.dto").ProviderPluginCatalogDto>;
6
+ refreshCatalog(): Promise<import("../dtos/provider-plugin.dto").ProviderPluginCatalogDto>;
7
+ install(body: unknown): Promise<import("../dtos/provider-plugin.dto").ProviderPluginInstallDto>;
8
+ }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ProviderPluginsController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const zod_1 = require("zod");
18
+ const logger_1 = require("../../../common/logging/logger");
19
+ const provider_plugins_service_1 = require("../services/provider-plugins.service");
20
+ const logger = (0, logger_1.createLogger)('ProviderPluginsController');
21
+ const ASCII_CONTROL_PATTERN = /[\u0000-\u001f\u007f]/;
22
+ const InstallProviderPluginSchema = zod_1.z
23
+ .object({
24
+ providerId: zod_1.z.string().trim().min(1).max(100),
25
+ pluginId: zod_1.z
26
+ .string()
27
+ .trim()
28
+ .min(1)
29
+ .max(512)
30
+ .refine((value) => !ASCII_CONTROL_PATTERN.test(value), {
31
+ message: 'pluginId must not contain ASCII control characters',
32
+ }),
33
+ })
34
+ .strict();
35
+ let ProviderPluginsController = class ProviderPluginsController {
36
+ providerPlugins;
37
+ constructor(providerPlugins) {
38
+ this.providerPlugins = providerPlugins;
39
+ }
40
+ listCatalog() {
41
+ logger.info('GET /api/provider-plugins');
42
+ return this.providerPlugins.listCatalog();
43
+ }
44
+ refreshCatalog() {
45
+ logger.info('POST /api/provider-plugins/refresh');
46
+ return this.providerPlugins.refreshCatalog();
47
+ }
48
+ install(body) {
49
+ logger.info('POST /api/provider-plugins/install');
50
+ const request = InstallProviderPluginSchema.parse(body);
51
+ return this.providerPlugins.install(request.providerId, request.pluginId);
52
+ }
53
+ };
54
+ exports.ProviderPluginsController = ProviderPluginsController;
55
+ __decorate([
56
+ (0, common_1.Get)(),
57
+ __metadata("design:type", Function),
58
+ __metadata("design:paramtypes", []),
59
+ __metadata("design:returntype", void 0)
60
+ ], ProviderPluginsController.prototype, "listCatalog", null);
61
+ __decorate([
62
+ (0, common_1.Post)('refresh'),
63
+ __metadata("design:type", Function),
64
+ __metadata("design:paramtypes", []),
65
+ __metadata("design:returntype", void 0)
66
+ ], ProviderPluginsController.prototype, "refreshCatalog", null);
67
+ __decorate([
68
+ (0, common_1.Post)('install'),
69
+ __param(0, (0, common_1.Body)()),
70
+ __metadata("design:type", Function),
71
+ __metadata("design:paramtypes", [Object]),
72
+ __metadata("design:returntype", void 0)
73
+ ], ProviderPluginsController.prototype, "install", null);
74
+ exports.ProviderPluginsController = ProviderPluginsController = __decorate([
75
+ (0, common_1.Controller)('api/provider-plugins'),
76
+ __metadata("design:paramtypes", [provider_plugins_service_1.ProviderPluginsService])
77
+ ], ProviderPluginsController);
78
+ //# sourceMappingURL=provider-plugins.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-plugins.controller.js","sourceRoot":"","sources":["../../../../src/modules/providers/controllers/provider-plugins.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA6D;AAC7D,6BAAwB;AACxB,2DAA8D;AAC9D,mFAA8E;AAE9E,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,2BAA2B,CAAC,CAAC;AACzD,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD,MAAM,2BAA2B,GAAG,OAAC;KAClC,MAAM,CAAC;IACN,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7C,QAAQ,EAAE,OAAC;SACR,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACrD,OAAO,EAAE,oDAAoD;KAC9D,CAAC;CACL,CAAC;KACD,MAAM,EAAE,CAAC;AAGL,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACP;IAA7B,YAA6B,eAAuC;QAAvC,oBAAe,GAAf,eAAe,CAAwB;IAAG,CAAC;IAGxE,WAAW;QACT,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;IAGD,cAAc;QACZ,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;IAC/C,CAAC;IAGD,OAAO,CAAS,IAAa;QAC3B,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5E,CAAC;CACF,CAAA;AArBY,8DAAyB;AAIpC;IADC,IAAA,YAAG,GAAE;;;;4DAIL;AAGD;IADC,IAAA,aAAI,EAAC,SAAS,CAAC;;;;+DAIf;AAGD;IADC,IAAA,aAAI,EAAC,SAAS,CAAC;IACP,WAAA,IAAA,aAAI,GAAE,CAAA;;;;wDAId;oCApBU,yBAAyB;IADrC,IAAA,mBAAU,EAAC,sBAAsB,CAAC;qCAEa,iDAAsB;GADzD,yBAAyB,CAqBrC"}
@@ -0,0 +1,28 @@
1
+ export interface ProviderPluginCatalogEntry {
2
+ pluginId: string;
3
+ name: string;
4
+ description: string | null;
5
+ marketplaceName: string | null;
6
+ version: string | null;
7
+ installed: boolean;
8
+ available: boolean;
9
+ providerEnabled: boolean;
10
+ installationScopes: string[];
11
+ installCount: number | null;
12
+ installPolicy: string | null;
13
+ authPolicy: string | null;
14
+ }
15
+ export interface ProviderPluginDto extends ProviderPluginCatalogEntry {
16
+ providerId: string;
17
+ providerName: string;
18
+ }
19
+ export interface ProviderPluginCatalogDto {
20
+ items: ProviderPluginDto[];
21
+ total: number;
22
+ }
23
+ export interface ProviderPluginInstallDto {
24
+ success: true;
25
+ providerId: string;
26
+ providerName: string;
27
+ pluginId: string;
28
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=provider-plugin.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-plugin.dto.js","sourceRoot":"","sources":["../../../../src/modules/providers/dtos/provider-plugin.dto.ts"],"names":[],"mappings":""}
@@ -11,6 +11,8 @@ const common_1 = require("@nestjs/common");
11
11
  const providers_controller_1 = require("./controllers/providers.controller");
12
12
  const provider_models_controller_1 = require("./controllers/provider-models.controller");
13
13
  const provider_efforts_controller_1 = require("./controllers/provider-efforts.controller");
14
+ const provider_plugins_controller_1 = require("./controllers/provider-plugins.controller");
15
+ const provider_plugin_policy_controller_1 = require("./controllers/provider-plugin-policy.controller");
14
16
  const storage_module_1 = require("../storage/storage.module");
15
17
  const adapters_1 = require("./adapters");
16
18
  const provider_state_manager_service_1 = require("./services/provider-state-manager.service");
@@ -23,6 +25,8 @@ const settings_module_1 = require("../settings/settings.module");
23
25
  const registry_module_1 = require("../registry/registry.module");
24
26
  const process_executor_module_1 = require("../terminal/services/process-executor/process-executor.module");
25
27
  const provider_effort_seeding_module_1 = require("./services/provider-effort-seeding.module");
28
+ const provider_plugin_policy_service_1 = require("./services/provider-plugin-policy.service");
29
+ const provider_plugins_service_1 = require("./services/provider-plugins.service");
26
30
  let ProvidersModule = class ProvidersModule {
27
31
  };
28
32
  exports.ProvidersModule = ProvidersModule;
@@ -36,7 +40,13 @@ exports.ProvidersModule = ProvidersModule = __decorate([
36
40
  process_executor_module_1.ProcessExecutorModule,
37
41
  provider_effort_seeding_module_1.ProviderEffortSeedingModule,
38
42
  ],
39
- controllers: [providers_controller_1.ProvidersController, provider_models_controller_1.ProviderModelsController, provider_efforts_controller_1.ProviderEffortsController],
43
+ controllers: [
44
+ providers_controller_1.ProvidersController,
45
+ provider_models_controller_1.ProviderModelsController,
46
+ provider_efforts_controller_1.ProviderEffortsController,
47
+ provider_plugins_controller_1.ProviderPluginsController,
48
+ provider_plugin_policy_controller_1.ProviderPluginPolicyController,
49
+ ],
40
50
  providers: [
41
51
  provider_state_manager_service_1.ProviderStateManager,
42
52
  provider_project_sync_service_1.ProviderProjectSyncService,
@@ -47,6 +57,8 @@ exports.ProvidersModule = ProvidersModule = __decorate([
47
57
  mcp_registration_1.AntigravityMcpRegistrationAdapter,
48
58
  mcp_provider_registration_service_1.McpProviderRegistrationService,
49
59
  provider_mcp_ensure_service_1.ProviderMcpEnsureService,
60
+ provider_plugin_policy_service_1.ProviderPluginPolicyService,
61
+ provider_plugins_service_1.ProviderPluginsService,
50
62
  ],
51
63
  exports: [
52
64
  provider_project_sync_service_1.ProviderProjectSyncService,
@@ -54,6 +66,8 @@ exports.ProvidersModule = ProvidersModule = __decorate([
54
66
  mcp_provider_registration_service_1.McpProviderRegistrationService,
55
67
  mcp_registration_1.McpRegistrationPort,
56
68
  provider_mcp_ensure_service_1.ProviderMcpEnsureService,
69
+ provider_plugin_policy_service_1.ProviderPluginPolicyService,
70
+ provider_plugins_service_1.ProviderPluginsService,
57
71
  ],
58
72
  })
59
73
  ], ProvidersModule);
@@ -1 +1 @@
1
- {"version":3,"file":"providers.module.js","sourceRoot":"","sources":["../../../src/modules/providers/providers.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6EAAyE;AACzE,yFAAoF;AACpF,2FAAsF;AACtF,8DAA0D;AAC1D,yCAAoD;AACpD,8FAAiF;AACjF,4FAAsF;AACtF,sFAAiF;AACjF,oGAA8F;AAC9F,wFAAkF;AAClF,kEAKqC;AACrC,iEAA6D;AAC7D,iEAA6D;AAC7D,2GAAsG;AACtG,8FAAwF;AA+BjF,IAAM,eAAe,GAArB,MAAM,eAAe;CAAG,CAAA;AAAlB,0CAAe;0BAAf,eAAe;IA7B3B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,8BAAa;YACb,iCAAsB;YACtB,gCAAc;YACd,gCAAc;YACd,+CAAqB;YACrB,4DAA2B;SAC5B;QACD,WAAW,EAAE,CAAC,0CAAmB,EAAE,qDAAwB,EAAE,uDAAyB,CAAC;QACvF,SAAS,EAAE;YACT,qDAAoB;YACpB,0DAA0B;YAC1B,qDAAwB;YACxB,sCAAmB;YACnB,4CAAyB;YACzB,mDAAgC;YAChC,oDAAiC;YACjC,kEAA8B;YAC9B,sDAAwB;SACzB;QACD,OAAO,EAAE;YACP,0DAA0B;YAC1B,qDAAwB;YACxB,kEAA8B;YAC9B,sCAAmB;YACnB,sDAAwB;SACzB;KACF,CAAC;GACW,eAAe,CAAG"}
1
+ {"version":3,"file":"providers.module.js","sourceRoot":"","sources":["../../../src/modules/providers/providers.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6EAAyE;AACzE,yFAAoF;AACpF,2FAAsF;AACtF,2FAAsF;AACtF,uGAAiG;AACjG,8DAA0D;AAC1D,yCAAoD;AACpD,8FAAiF;AACjF,4FAAsF;AACtF,sFAAiF;AACjF,oGAA8F;AAC9F,wFAAkF;AAClF,kEAKqC;AACrC,iEAA6D;AAC7D,iEAA6D;AAC7D,2GAAsG;AACtG,8FAAwF;AACxF,8FAAwF;AACxF,kFAA6E;AAyCtE,IAAM,eAAe,GAArB,MAAM,eAAe;CAAG,CAAA;AAAlB,0CAAe;0BAAf,eAAe;IAvC3B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,8BAAa;YACb,iCAAsB;YACtB,gCAAc;YACd,gCAAc;YACd,+CAAqB;YACrB,4DAA2B;SAC5B;QACD,WAAW,EAAE;YACX,0CAAmB;YACnB,qDAAwB;YACxB,uDAAyB;YACzB,uDAAyB;YACzB,kEAA8B;SAC/B;QACD,SAAS,EAAE;YACT,qDAAoB;YACpB,0DAA0B;YAC1B,qDAAwB;YACxB,sCAAmB;YACnB,4CAAyB;YACzB,mDAAgC;YAChC,oDAAiC;YACjC,kEAA8B;YAC9B,sDAAwB;YACxB,4DAA2B;YAC3B,iDAAsB;SACvB;QACD,OAAO,EAAE;YACP,0DAA0B;YAC1B,qDAAwB;YACxB,kEAA8B;YAC9B,sCAAmB;YACnB,sDAAwB;YACxB,4DAA2B;YAC3B,iDAAsB;SACvB;KACF,CAAC;GACW,eAAe,CAAG"}
@@ -0,0 +1,20 @@
1
+ import { type StorageService } from '../../storage/interfaces/storage.interface';
2
+ export type ProviderPluginPolicySource = 'project' | 'default';
3
+ export interface EffectiveProviderPluginPolicy {
4
+ providerId: string;
5
+ pluginId: string;
6
+ enabled: boolean;
7
+ source: ProviderPluginPolicySource;
8
+ }
9
+ export declare class ProviderPluginPolicyService {
10
+ private readonly storage;
11
+ constructor(storage: StorageService);
12
+ setDefault(providerId: string, pluginId: string, enabled: boolean): Promise<EffectiveProviderPluginPolicy>;
13
+ resetDefault(providerId: string, pluginId: string): Promise<boolean>;
14
+ setProjectOverride(projectId: string, providerId: string, pluginId: string, enabled: boolean): Promise<EffectiveProviderPluginPolicy>;
15
+ resetProjectOverride(projectId: string, providerId: string, pluginId: string): Promise<boolean>;
16
+ resolve(projectId: string, providerId: string, pluginId: string): Promise<EffectiveProviderPluginPolicy | null>;
17
+ resolveAll(projectId: string, providerId: string): Promise<EffectiveProviderPluginPolicy[]>;
18
+ listConfigured(projectId: string, providerId: string): Promise<EffectiveProviderPluginPolicy[]>;
19
+ private normalizePluginId;
20
+ }
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ProviderPluginPolicyService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const error_types_1 = require("../../../common/errors/error-types");
18
+ const storage_interface_1 = require("../../storage/interfaces/storage.interface");
19
+ const MAX_PLUGIN_ID_LENGTH = 512;
20
+ const ASCII_CONTROL_PATTERN = /[\u0000-\u001f\u007f]/;
21
+ let ProviderPluginPolicyService = class ProviderPluginPolicyService {
22
+ storage;
23
+ constructor(storage) {
24
+ this.storage = storage;
25
+ }
26
+ async setDefault(providerId, pluginId, enabled) {
27
+ const normalizedPluginId = this.normalizePluginId(pluginId);
28
+ const row = await this.storage.upsertProviderPluginDefault({
29
+ providerId,
30
+ pluginId: normalizedPluginId,
31
+ enabled,
32
+ });
33
+ return {
34
+ providerId: row.providerId,
35
+ pluginId: row.pluginId,
36
+ enabled: row.enabled,
37
+ source: 'default',
38
+ };
39
+ }
40
+ async resetDefault(providerId, pluginId) {
41
+ return this.storage.deleteProviderPluginDefault(providerId, this.normalizePluginId(pluginId));
42
+ }
43
+ async setProjectOverride(projectId, providerId, pluginId, enabled) {
44
+ const normalizedPluginId = this.normalizePluginId(pluginId);
45
+ const row = await this.storage.upsertProjectProviderPluginOverride({
46
+ projectId,
47
+ providerId,
48
+ pluginId: normalizedPluginId,
49
+ enabled,
50
+ });
51
+ return {
52
+ providerId: row.providerId,
53
+ pluginId: row.pluginId,
54
+ enabled: row.enabled,
55
+ source: 'project',
56
+ };
57
+ }
58
+ async resetProjectOverride(projectId, providerId, pluginId) {
59
+ return this.storage.deleteProjectProviderPluginOverride(projectId, providerId, this.normalizePluginId(pluginId));
60
+ }
61
+ async resolve(projectId, providerId, pluginId) {
62
+ const normalizedPluginId = this.normalizePluginId(pluginId);
63
+ const projectOverride = await this.storage.getProjectProviderPluginOverride(projectId, providerId, normalizedPluginId);
64
+ if (projectOverride) {
65
+ return {
66
+ providerId,
67
+ pluginId: projectOverride.pluginId,
68
+ enabled: projectOverride.enabled,
69
+ source: 'project',
70
+ };
71
+ }
72
+ const providerDefault = await this.storage.getProviderPluginDefault(providerId, normalizedPluginId);
73
+ return providerDefault
74
+ ? {
75
+ providerId,
76
+ pluginId: providerDefault.pluginId,
77
+ enabled: providerDefault.enabled,
78
+ source: 'default',
79
+ }
80
+ : null;
81
+ }
82
+ async resolveAll(projectId, providerId) {
83
+ const [defaults, overrides] = await Promise.all([
84
+ this.storage.listProviderPluginDefaults(providerId),
85
+ this.storage.listProjectProviderPluginOverrides(projectId, providerId),
86
+ ]);
87
+ const effectiveByPluginId = new Map();
88
+ for (const row of defaults) {
89
+ effectiveByPluginId.set(row.pluginId, {
90
+ providerId,
91
+ pluginId: row.pluginId,
92
+ enabled: row.enabled,
93
+ source: 'default',
94
+ });
95
+ }
96
+ for (const row of overrides) {
97
+ effectiveByPluginId.set(row.pluginId, {
98
+ providerId,
99
+ pluginId: row.pluginId,
100
+ enabled: row.enabled,
101
+ source: 'project',
102
+ });
103
+ }
104
+ return [...effectiveByPluginId.values()].sort((left, right) => left.pluginId.localeCompare(right.pluginId));
105
+ }
106
+ async listConfigured(projectId, providerId) {
107
+ const [defaults, overrides] = await Promise.all([
108
+ this.storage.listProviderPluginDefaults(providerId),
109
+ this.storage.listProjectProviderPluginOverrides(projectId, providerId),
110
+ ]);
111
+ return [
112
+ ...defaults.map((row) => ({
113
+ providerId,
114
+ pluginId: row.pluginId,
115
+ enabled: row.enabled,
116
+ source: 'default',
117
+ })),
118
+ ...overrides.map((row) => ({
119
+ providerId,
120
+ pluginId: row.pluginId,
121
+ enabled: row.enabled,
122
+ source: 'project',
123
+ })),
124
+ ].sort((left, right) => left.pluginId.localeCompare(right.pluginId) || left.source.localeCompare(right.source));
125
+ }
126
+ normalizePluginId(pluginId) {
127
+ if (typeof pluginId !== 'string') {
128
+ throw new error_types_1.ValidationError('Plugin ID must contain 1 to 512 characters and no ASCII control characters.', { field: 'pluginId' });
129
+ }
130
+ const normalized = pluginId.trim();
131
+ const characterCount = Array.from(normalized).length;
132
+ if (characterCount === 0 ||
133
+ characterCount > MAX_PLUGIN_ID_LENGTH ||
134
+ ASCII_CONTROL_PATTERN.test(normalized)) {
135
+ throw new error_types_1.ValidationError('Plugin ID must contain 1 to 512 characters and no ASCII control characters.', { field: 'pluginId' });
136
+ }
137
+ return normalized;
138
+ }
139
+ };
140
+ exports.ProviderPluginPolicyService = ProviderPluginPolicyService;
141
+ exports.ProviderPluginPolicyService = ProviderPluginPolicyService = __decorate([
142
+ (0, common_1.Injectable)(),
143
+ __param(0, (0, common_1.Inject)(storage_interface_1.STORAGE_SERVICE)),
144
+ __metadata("design:paramtypes", [Object])
145
+ ], ProviderPluginPolicyService);
146
+ //# sourceMappingURL=provider-plugin-policy.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-plugin-policy.service.js","sourceRoot":"","sources":["../../../../src/modules/providers/services/provider-plugin-policy.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { type StorageService } from '../../storage/interfaces/storage.interface';
2
+ import { ProcessExecutor } from '../../terminal/services/process-executor/process-executor.port';
3
+ import { ProviderAdapterFactory } from '../adapters/provider-adapter.factory';
4
+ import type { ProviderPluginCatalogDto, ProviderPluginInstallDto } from '../dtos/provider-plugin.dto';
5
+ export declare class ProviderPluginsService {
6
+ private readonly storage;
7
+ private readonly adapterFactory;
8
+ private readonly executor;
9
+ private readonly catalogCache;
10
+ constructor(storage: StorageService, adapterFactory: ProviderAdapterFactory, executor: ProcessExecutor);
11
+ listCatalog(options?: {
12
+ refresh?: boolean;
13
+ }): Promise<ProviderPluginCatalogDto>;
14
+ refreshCatalog(): Promise<ProviderPluginCatalogDto>;
15
+ install(providerId: string, pluginId: string): Promise<ProviderPluginInstallDto>;
16
+ private listProviderCatalog;
17
+ private hasProviderPluginCapability;
18
+ private resolveProviderBinary;
19
+ private assertCommandSucceeded;
20
+ private normalizePluginId;
21
+ }
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ProviderPluginsService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const error_types_1 = require("../../../common/errors/error-types");
18
+ const resolve_binary_1 = require("../../../common/resolve-binary");
19
+ const storage_interface_1 = require("../../storage/interfaces/storage.interface");
20
+ const process_executor_port_1 = require("../../terminal/services/process-executor/process-executor.port");
21
+ const provider_adapter_factory_1 = require("../adapters/provider-adapter.factory");
22
+ const type_guards_1 = require("../adapters/capabilities/type-guards");
23
+ const CATALOG_TTL_MS = 10_000;
24
+ const PLUGIN_COMMAND_TIMEOUT_MS = 60_000;
25
+ const PLUGIN_COMMAND_MAX_BYTES = 2 * 1024 * 1024;
26
+ const MAX_PLUGIN_ID_LENGTH = 512;
27
+ const ASCII_CONTROL_PATTERN = /[\u0000-\u001f\u007f]/;
28
+ let ProviderPluginsService = class ProviderPluginsService {
29
+ storage;
30
+ adapterFactory;
31
+ executor;
32
+ catalogCache = new Map();
33
+ constructor(storage, adapterFactory, executor) {
34
+ this.storage = storage;
35
+ this.adapterFactory = adapterFactory;
36
+ this.executor = executor;
37
+ }
38
+ async listCatalog(options = {}) {
39
+ const providers = await this.storage.listProviders({ limit: 1_000, offset: 0 });
40
+ const pluginProviders = providers.items.filter((provider) => this.hasProviderPluginCapability(provider));
41
+ const entries = await Promise.all(pluginProviders.map((provider) => this.listProviderCatalog(provider, options.refresh === true)));
42
+ const items = entries
43
+ .flat()
44
+ .sort((left, right) => left.providerName.localeCompare(right.providerName) ||
45
+ (left.marketplaceName ?? '').localeCompare(right.marketplaceName ?? '') ||
46
+ left.name.localeCompare(right.name));
47
+ return { items, total: items.length };
48
+ }
49
+ async refreshCatalog() {
50
+ this.catalogCache.clear();
51
+ return this.listCatalog({ refresh: true });
52
+ }
53
+ async install(providerId, pluginId) {
54
+ const normalizedPluginId = this.normalizePluginId(pluginId);
55
+ const provider = await this.storage.getProvider(providerId);
56
+ const adapter = this.adapterFactory.getAdapter(provider.name);
57
+ if (!(0, type_guards_1.isProviderPluginCapable)(adapter)) {
58
+ throw new error_types_1.ValidationError(`Provider ${provider.name} does not support plugin installation`, {
59
+ providerId,
60
+ });
61
+ }
62
+ const binaryPath = await this.resolveProviderBinary(provider);
63
+ const result = await this.executor.run({
64
+ argv: [binaryPath, ...adapter.installProviderPlugin(normalizedPluginId)],
65
+ mode: 'pipe',
66
+ timeout: PLUGIN_COMMAND_TIMEOUT_MS,
67
+ outputLimits: { maxBytes: PLUGIN_COMMAND_MAX_BYTES },
68
+ });
69
+ this.assertCommandSucceeded(result, provider, 'installation');
70
+ this.catalogCache.delete(provider.id);
71
+ return {
72
+ success: true,
73
+ providerId: provider.id,
74
+ providerName: provider.name,
75
+ pluginId: normalizedPluginId,
76
+ };
77
+ }
78
+ async listProviderCatalog(provider, refresh) {
79
+ const cached = this.catalogCache.get(provider.id);
80
+ if (!refresh && cached && cached.expiresAt > Date.now()) {
81
+ return cached.items;
82
+ }
83
+ const adapter = this.adapterFactory.getAdapter(provider.name);
84
+ if (!(0, type_guards_1.isProviderPluginCapable)(adapter)) {
85
+ throw new error_types_1.ValidationError(`Provider ${provider.name} does not support plugin catalogs`, {
86
+ providerId: provider.id,
87
+ });
88
+ }
89
+ const binaryPath = await this.resolveProviderBinary(provider);
90
+ const result = await this.executor.run({
91
+ argv: [binaryPath, ...adapter.listProviderPlugins()],
92
+ mode: 'pipe',
93
+ timeout: PLUGIN_COMMAND_TIMEOUT_MS,
94
+ outputLimits: { maxBytes: PLUGIN_COMMAND_MAX_BYTES },
95
+ });
96
+ this.assertCommandSucceeded(result, provider, 'catalog');
97
+ let parsed;
98
+ try {
99
+ parsed = adapter.parseProviderPluginCatalog(result.stdout);
100
+ }
101
+ catch (error) {
102
+ throw new error_types_1.IOError(`Unable to parse ${provider.name} plugin catalog`, {
103
+ providerId: provider.id,
104
+ cause: error instanceof Error ? error.message : 'Unknown parser error',
105
+ });
106
+ }
107
+ const items = parsed.map((entry) => ({
108
+ ...entry,
109
+ providerId: provider.id,
110
+ providerName: provider.name,
111
+ }));
112
+ this.catalogCache.set(provider.id, {
113
+ expiresAt: Date.now() + CATALOG_TTL_MS,
114
+ items,
115
+ });
116
+ return items;
117
+ }
118
+ hasProviderPluginCapability(provider) {
119
+ if (!this.adapterFactory.isSupported(provider.name)) {
120
+ return false;
121
+ }
122
+ return (0, type_guards_1.isProviderPluginCapable)(this.adapterFactory.getAdapter(provider.name));
123
+ }
124
+ async resolveProviderBinary(provider) {
125
+ const candidate = provider.binPath ?? provider.name;
126
+ const binaryPath = await (0, resolve_binary_1.resolveBinary)(candidate, this.executor);
127
+ if (!binaryPath) {
128
+ throw new error_types_1.IOError(`Unable to resolve plugin provider binary for ${provider.name}`, {
129
+ providerId: provider.id,
130
+ });
131
+ }
132
+ return binaryPath;
133
+ }
134
+ assertCommandSucceeded(result, provider, operation) {
135
+ if (result.timedOut) {
136
+ throw new error_types_1.TimeoutError(`${provider.name} plugin ${operation} timed out`, {
137
+ providerId: provider.id,
138
+ });
139
+ }
140
+ if (operation === 'catalog' && result.truncated) {
141
+ throw new error_types_1.IOError(`${provider.name} plugin ${operation} output exceeded the size limit`, {
142
+ providerId: provider.id,
143
+ });
144
+ }
145
+ if (!result.success) {
146
+ throw new error_types_1.IOError(`${provider.name} plugin ${operation} failed`, {
147
+ providerId: provider.id,
148
+ exitCode: result.exitCode,
149
+ });
150
+ }
151
+ }
152
+ normalizePluginId(pluginId) {
153
+ const normalized = pluginId.trim();
154
+ if (normalized.length === 0 ||
155
+ normalized.length > MAX_PLUGIN_ID_LENGTH ||
156
+ ASCII_CONTROL_PATTERN.test(normalized)) {
157
+ throw new error_types_1.ValidationError('Plugin ID must contain 1 to 512 characters and no ASCII control characters.', { field: 'pluginId' });
158
+ }
159
+ return normalized;
160
+ }
161
+ };
162
+ exports.ProviderPluginsService = ProviderPluginsService;
163
+ exports.ProviderPluginsService = ProviderPluginsService = __decorate([
164
+ (0, common_1.Injectable)(),
165
+ __param(0, (0, common_1.Inject)(storage_interface_1.STORAGE_SERVICE)),
166
+ __metadata("design:paramtypes", [Object, provider_adapter_factory_1.ProviderAdapterFactory,
167
+ process_executor_port_1.ProcessExecutor])
168
+ ], ProviderPluginsService);
169
+ //# sourceMappingURL=provider-plugins.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-plugins.service.js","sourceRoot":"","sources":["../../../../src/modules/providers/services/provider-plugins.service.ts"],"names":[],"mappings":"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"}
@@ -52,9 +52,9 @@ export declare class TemplatesController {
52
52
  providerConfigs?: {
53
53
  name: string;
54
54
  providerName: string;
55
+ description?: string | null | undefined;
55
56
  options?: string | null | undefined;
56
57
  env?: Record<string, string> | null | undefined;
57
- description?: string | null | undefined;
58
58
  model?: string | null | undefined;
59
59
  effort?: string | null | undefined;
60
60
  position?: number | undefined;
@@ -62,6 +62,7 @@ export declare class TemplatesController {
62
62
  }[];
63
63
  agents: {
64
64
  name: string;
65
+ isProjectOwner: boolean;
65
66
  description?: string | null | undefined;
66
67
  id?: string | undefined;
67
68
  profileId?: string | undefined;
@@ -115,7 +116,18 @@ export declare class TemplatesController {
115
116
  eventFilter?: {
116
117
  value: string;
117
118
  field: string;
118
- operator: "contains" | "regex" | "equals";
119
+ operator: "contains" | "regex" | "equals" | "is_null" | "is_not_null";
120
+ } | {
121
+ combinator: "and" | "or";
122
+ filters: [{
123
+ value: string;
124
+ field: string;
125
+ operator: "contains" | "regex" | "equals" | "is_null" | "is_not_null";
126
+ }, ...{
127
+ value: string;
128
+ field: string;
129
+ operator: "contains" | "regex" | "equals" | "is_null" | "is_not_null";
130
+ }[]];
119
131
  } | null | undefined;
120
132
  groupName?: string | null | undefined;
121
133
  }[];