devchain-cli 0.12.4 → 0.13.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 (998) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.js +63 -104
  3. package/dist/drizzle/0062_provider_probe_proofs.sql +6 -0
  4. package/dist/drizzle/0063_session_name.sql +1 -0
  5. package/dist/drizzle/meta/0062_snapshot.json +5208 -0
  6. package/dist/drizzle/meta/0063_snapshot.json +5215 -0
  7. package/dist/drizzle/meta/_journal.json +14 -0
  8. package/dist/node_modules/@devchain/shared/host-resolver.d.ts +18 -0
  9. package/dist/node_modules/@devchain/shared/host-resolver.d.ts.map +1 -0
  10. package/dist/node_modules/@devchain/shared/host-resolver.js +69 -0
  11. package/dist/node_modules/@devchain/shared/host-resolver.js.map +1 -0
  12. package/dist/node_modules/@devchain/shared/index.d.ts +1 -0
  13. package/dist/node_modules/@devchain/shared/index.d.ts.map +1 -1
  14. package/dist/node_modules/@devchain/shared/index.js +1 -0
  15. package/dist/node_modules/@devchain/shared/index.js.map +1 -1
  16. package/dist/node_modules/@devchain/shared/package.json +2 -0
  17. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  18. package/dist/server/app.main.module.js +12 -6
  19. package/dist/server/app.main.module.js.map +1 -1
  20. package/dist/server/app.normal.module.js +14 -6
  21. package/dist/server/app.normal.module.js.map +1 -1
  22. package/dist/server/common/config/env.config.d.ts +7 -0
  23. package/dist/server/common/config/env.config.js +11 -0
  24. package/dist/server/common/config/env.config.js.map +1 -1
  25. package/dist/server/common/config/host-helpers.d.ts +3 -3
  26. package/dist/server/common/config/host-helpers.js +5 -28
  27. package/dist/server/common/config/host-helpers.js.map +1 -1
  28. package/dist/server/common/errors/service-unavailable.error.d.ts +4 -0
  29. package/dist/server/common/errors/service-unavailable.error.js +12 -0
  30. package/dist/server/common/errors/service-unavailable.error.js.map +1 -0
  31. package/dist/server/common/process-identity.d.ts +1 -0
  32. package/dist/server/common/process-identity.js +6 -0
  33. package/dist/server/common/process-identity.js.map +1 -0
  34. package/dist/server/common/resolve-binary.d.ts +2 -1
  35. package/dist/server/common/resolve-binary.js +7 -6
  36. package/dist/server/common/resolve-binary.js.map +1 -1
  37. package/dist/server/common/template/prompt-render-context.d.ts +12 -0
  38. package/dist/server/common/template/prompt-render-context.js +37 -0
  39. package/dist/server/common/template/prompt-render-context.js.map +1 -0
  40. package/dist/server/common/test/app-bootstrap.helper.d.ts +13 -0
  41. package/dist/server/common/test/app-bootstrap.helper.js +184 -0
  42. package/dist/server/common/test/app-bootstrap.helper.js.map +1 -0
  43. package/dist/server/main.js +2 -2
  44. package/dist/server/main.js.map +1 -1
  45. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.d.ts +5 -0
  46. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js +33 -0
  47. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js.map +1 -0
  48. package/dist/server/modules/agent-message-delivery/adapters/legacy-recipient-resolver.adapter.d.ts +6 -0
  49. package/dist/server/modules/agent-message-delivery/adapters/legacy-recipient-resolver.adapter.js +22 -0
  50. package/dist/server/modules/agent-message-delivery/adapters/legacy-recipient-resolver.adapter.js.map +1 -0
  51. package/dist/server/modules/agent-message-delivery/agent-message-delivery.module.d.ts +2 -0
  52. package/dist/server/modules/agent-message-delivery/agent-message-delivery.module.js +45 -0
  53. package/dist/server/modules/agent-message-delivery/agent-message-delivery.module.js.map +1 -0
  54. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.d.ts +21 -0
  55. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js +107 -0
  56. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js.map +1 -0
  57. package/dist/server/modules/agent-message-delivery/dtos/delivery.types.d.ts +32 -0
  58. package/dist/server/modules/agent-message-delivery/dtos/delivery.types.js +3 -0
  59. package/dist/server/modules/agent-message-delivery/dtos/delivery.types.js.map +1 -0
  60. package/dist/server/modules/agent-message-delivery/ports/delivery-formatter.d.ts +4 -0
  61. package/dist/server/modules/agent-message-delivery/ports/delivery-formatter.js +7 -0
  62. package/dist/server/modules/agent-message-delivery/ports/delivery-formatter.js.map +1 -0
  63. package/dist/server/modules/agent-message-delivery/ports/delivery-recipient-resolver.d.ts +8 -0
  64. package/dist/server/modules/agent-message-delivery/ports/delivery-recipient-resolver.js +7 -0
  65. package/dist/server/modules/agent-message-delivery/ports/delivery-recipient-resolver.js.map +1 -0
  66. package/dist/server/modules/{events/subscribers/chat-message-broadcaster.subscriber.d.ts → agent-message-delivery/subscribers/chat-message-delivery.subscriber.d.ts} +6 -4
  67. package/dist/server/modules/agent-message-delivery/subscribers/chat-message-delivery.subscriber.js +63 -0
  68. package/dist/server/modules/agent-message-delivery/subscribers/chat-message-delivery.subscriber.js.map +1 -0
  69. package/dist/server/modules/agents/agents.module.js +2 -2
  70. package/dist/server/modules/agents/agents.module.js.map +1 -1
  71. package/dist/server/modules/agents/controllers/agents.controller.d.ts +3 -1
  72. package/dist/server/modules/agents/controllers/agents.controller.js +6 -5
  73. package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -1
  74. package/dist/server/modules/chat/chat.module.js +14 -4
  75. package/dist/server/modules/chat/chat.module.js.map +1 -1
  76. package/dist/server/modules/chat/services/chat-session-invite.service.d.ts +16 -0
  77. package/dist/server/modules/chat/services/chat-session-invite.service.js +194 -0
  78. package/dist/server/modules/chat/services/chat-session-invite.service.js.map +1 -0
  79. package/dist/server/modules/chat/services/chat-settings.service.js +2 -1
  80. package/dist/server/modules/chat/services/chat-settings.service.js.map +1 -1
  81. package/dist/server/modules/chat/services/chat.service.d.ts +6 -4
  82. package/dist/server/modules/chat/services/chat.service.js +64 -105
  83. package/dist/server/modules/chat/services/chat.service.js.map +1 -1
  84. package/dist/server/modules/cloud/cloud.module.d.ts +2 -0
  85. package/dist/server/modules/cloud/cloud.module.js +54 -0
  86. package/dist/server/modules/cloud/cloud.module.js.map +1 -0
  87. package/dist/server/modules/cloud/controllers/activity-proxy.controller.d.ts +6 -0
  88. package/dist/server/modules/cloud/controllers/activity-proxy.controller.js +39 -0
  89. package/dist/server/modules/cloud/controllers/activity-proxy.controller.js.map +1 -0
  90. package/dist/server/modules/cloud/controllers/auth-callback.controller.d.ts +11 -0
  91. package/dist/server/modules/cloud/controllers/auth-callback.controller.js +72 -0
  92. package/dist/server/modules/cloud/controllers/auth-callback.controller.js.map +1 -0
  93. package/dist/server/modules/cloud/controllers/devices-proxy.controller.d.ts +9 -0
  94. package/dist/server/modules/cloud/controllers/devices-proxy.controller.js +75 -0
  95. package/dist/server/modules/cloud/controllers/devices-proxy.controller.js.map +1 -0
  96. package/dist/server/modules/cloud/controllers/egress-config.controller.d.ts +12 -0
  97. package/dist/server/modules/cloud/controllers/egress-config.controller.js +66 -0
  98. package/dist/server/modules/cloud/controllers/egress-config.controller.js.map +1 -0
  99. package/dist/server/modules/cloud/controllers/preferences-proxy.controller.d.ts +30 -0
  100. package/dist/server/modules/cloud/controllers/preferences-proxy.controller.js +159 -0
  101. package/dist/server/modules/cloud/controllers/preferences-proxy.controller.js.map +1 -0
  102. package/dist/server/modules/cloud/controllers/qr-initiate-proxy.controller.d.ts +11 -0
  103. package/dist/server/modules/cloud/controllers/qr-initiate-proxy.controller.js +89 -0
  104. package/dist/server/modules/cloud/controllers/qr-initiate-proxy.controller.js.map +1 -0
  105. package/dist/server/modules/cloud/dtos/cloud-tokens.dto.d.ts +20 -0
  106. package/dist/server/modules/cloud/dtos/cloud-tokens.dto.js +12 -0
  107. package/dist/server/modules/cloud/dtos/cloud-tokens.dto.js.map +1 -0
  108. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.d.ts +24 -0
  109. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js +111 -0
  110. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js.map +1 -0
  111. package/dist/server/modules/cloud/services/cloud-session-manager.service.d.ts +27 -0
  112. package/dist/server/modules/cloud/services/cloud-session-manager.service.js +257 -0
  113. package/dist/server/modules/cloud/services/cloud-session-manager.service.js.map +1 -0
  114. package/dist/server/modules/cloud/services/egress-queue.service.d.ts +20 -0
  115. package/dist/server/modules/cloud/services/egress-queue.service.js +136 -0
  116. package/dist/server/modules/cloud/services/egress-queue.service.js.map +1 -0
  117. package/dist/server/modules/cloud/services/encrypted-token-store.service.d.ts +15 -0
  118. package/dist/server/modules/cloud/services/encrypted-token-store.service.js +131 -0
  119. package/dist/server/modules/cloud/services/encrypted-token-store.service.js.map +1 -0
  120. package/dist/server/modules/cloud/services/event-mapper.service.d.ts +42 -0
  121. package/dist/server/modules/cloud/services/event-mapper.service.js +44 -0
  122. package/dist/server/modules/cloud/services/event-mapper.service.js.map +1 -0
  123. package/dist/server/modules/cloud/services/project-activity-reporter.service.d.ts +21 -0
  124. package/dist/server/modules/cloud/services/project-activity-reporter.service.js +138 -0
  125. package/dist/server/modules/cloud/services/project-activity-reporter.service.js.map +1 -0
  126. package/dist/server/modules/cloud/services/project-egress-config.service.d.ts +13 -0
  127. package/dist/server/modules/cloud/services/project-egress-config.service.js +87 -0
  128. package/dist/server/modules/cloud/services/project-egress-config.service.js.map +1 -0
  129. package/dist/server/modules/cloud/services/refresh-gate.service.d.ts +9 -0
  130. package/dist/server/modules/cloud/services/refresh-gate.service.js +63 -0
  131. package/dist/server/modules/cloud/services/refresh-gate.service.js.map +1 -0
  132. package/dist/server/modules/cloud/types/index.d.ts +14 -0
  133. package/dist/server/modules/cloud/types/index.js +3 -0
  134. package/dist/server/modules/cloud/types/index.js.map +1 -0
  135. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.d.ts +2 -0
  136. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js +25 -0
  137. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js.map +1 -0
  138. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.d.ts +39 -0
  139. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js +319 -0
  140. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js.map +1 -0
  141. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.d.ts +44 -0
  142. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +456 -0
  143. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -0
  144. package/dist/server/modules/cloud-tunnel/services/tunnel-keypair.service.d.ts +22 -0
  145. package/dist/server/modules/cloud-tunnel/services/tunnel-keypair.service.js +146 -0
  146. package/dist/server/modules/cloud-tunnel/services/tunnel-keypair.service.js.map +1 -0
  147. package/dist/server/modules/codebase-overview-analyzer/codebase-overview-analyzer.module.js +2 -1
  148. package/dist/server/modules/codebase-overview-analyzer/codebase-overview-analyzer.module.js.map +1 -1
  149. package/dist/server/modules/codebase-overview-analyzer/services/codebase-overview-analyzer.service.d.ts +3 -1
  150. package/dist/server/modules/codebase-overview-analyzer/services/codebase-overview-analyzer.service.js +14 -20
  151. package/dist/server/modules/codebase-overview-analyzer/services/codebase-overview-analyzer.service.js.map +1 -1
  152. package/dist/server/modules/core/controllers/preflight.controller.d.ts +0 -4
  153. package/dist/server/modules/core/controllers/preflight.controller.js +0 -17
  154. package/dist/server/modules/core/controllers/preflight.controller.js.map +1 -1
  155. package/dist/server/modules/core/controllers/runtime.controller.d.ts +4 -0
  156. package/dist/server/modules/core/controllers/runtime.controller.js +5 -0
  157. package/dist/server/modules/core/controllers/runtime.controller.js.map +1 -1
  158. package/dist/server/modules/core/core-normal-health.module.js +2 -0
  159. package/dist/server/modules/core/core-normal-health.module.js.map +1 -1
  160. package/dist/server/modules/core/core-normal.module.js +12 -6
  161. package/dist/server/modules/core/core-normal.module.js.map +1 -1
  162. package/dist/server/modules/core/services/gemini-trusted-folders.module.d.ts +2 -0
  163. package/dist/server/modules/core/services/gemini-trusted-folders.module.js +21 -0
  164. package/dist/server/modules/core/services/gemini-trusted-folders.module.js.map +1 -0
  165. package/dist/server/modules/core/services/normal-readiness-checker.service.d.ts +3 -1
  166. package/dist/server/modules/core/services/normal-readiness-checker.service.js +9 -11
  167. package/dist/server/modules/core/services/normal-readiness-checker.service.js.map +1 -1
  168. package/dist/server/modules/core/services/preflight.service.d.ts +4 -3
  169. package/dist/server/modules/core/services/preflight.service.js +21 -17
  170. package/dist/server/modules/core/services/preflight.service.js.map +1 -1
  171. package/dist/server/modules/epics/controllers/epic-comments.controller.d.ts +3 -1
  172. package/dist/server/modules/epics/controllers/epic-comments.controller.js +5 -7
  173. package/dist/server/modules/epics/controllers/epic-comments.controller.js.map +1 -1
  174. package/dist/server/modules/epics/epics.module.js +13 -4
  175. package/dist/server/modules/epics/epics.module.js.map +1 -1
  176. package/dist/server/modules/epics/services/epics.service.d.ts +21 -7
  177. package/dist/server/modules/epics/services/epics.service.js +176 -50
  178. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  179. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.d.ts +25 -0
  180. package/dist/server/modules/{events → epics}/subscribers/epic-assignment-notifier.subscriber.js +47 -105
  181. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.js.map +1 -0
  182. package/dist/server/modules/epics/subscribers/sub-epic-created-notifier.subscriber.d.ts +15 -0
  183. package/dist/server/modules/{events → epics}/subscribers/sub-epic-created-notifier.subscriber.js +43 -52
  184. package/dist/server/modules/epics/subscribers/sub-epic-created-notifier.subscriber.js.map +1 -0
  185. package/dist/server/modules/events/catalog/broadcast-metadata.d.ts +8 -0
  186. package/dist/server/modules/events/catalog/broadcast-metadata.js +3 -0
  187. package/dist/server/modules/events/catalog/broadcast-metadata.js.map +1 -0
  188. package/dist/server/modules/events/catalog/broadcast-registry.d.ts +4 -0
  189. package/dist/server/modules/events/catalog/broadcast-registry.js +335 -0
  190. package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -0
  191. package/dist/server/modules/events/catalog/chat.message.read.d.ts +21 -0
  192. package/dist/server/modules/events/catalog/chat.message.read.js +14 -0
  193. package/dist/server/modules/events/catalog/chat.message.read.js.map +1 -0
  194. package/dist/server/modules/events/catalog/epic.comment.created.d.ts +57 -0
  195. package/dist/server/modules/events/catalog/epic.comment.created.js +28 -0
  196. package/dist/server/modules/events/catalog/epic.comment.created.js.map +1 -0
  197. package/dist/server/modules/events/catalog/epic.created.d.ts +18 -0
  198. package/dist/server/modules/events/catalog/epic.created.js +6 -0
  199. package/dist/server/modules/events/catalog/epic.created.js.map +1 -1
  200. package/dist/server/modules/events/catalog/epic.deleted.d.ts +39 -0
  201. package/dist/server/modules/events/catalog/epic.deleted.js +22 -0
  202. package/dist/server/modules/events/catalog/epic.deleted.js.map +1 -0
  203. package/dist/server/modules/events/catalog/epic.updated.d.ts +6 -0
  204. package/dist/server/modules/events/catalog/epic.updated.js +2 -0
  205. package/dist/server/modules/events/catalog/epic.updated.js.map +1 -1
  206. package/dist/server/modules/events/catalog/guest.unregistered.d.ts +2 -2
  207. package/dist/server/modules/events/catalog/index.d.ts +272 -2
  208. package/dist/server/modules/events/catalog/index.js +18 -0
  209. package/dist/server/modules/events/catalog/index.js.map +1 -1
  210. package/dist/server/modules/events/catalog/review.comment.created.d.ts +6 -0
  211. package/dist/server/modules/events/catalog/review.comment.created.js +2 -0
  212. package/dist/server/modules/events/catalog/review.comment.created.js.map +1 -1
  213. package/dist/server/modules/events/catalog/session.activity.changed.d.ts +21 -0
  214. package/dist/server/modules/events/catalog/session.activity.changed.js +14 -0
  215. package/dist/server/modules/events/catalog/session.activity.changed.js.map +1 -0
  216. package/dist/server/modules/events/catalog/session.cloud-connected.d.ts +12 -0
  217. package/dist/server/modules/events/catalog/session.cloud-connected.js +11 -0
  218. package/dist/server/modules/events/catalog/session.cloud-connected.js.map +1 -0
  219. package/dist/server/modules/events/catalog/session.cloud-disconnected.d.ts +12 -0
  220. package/dist/server/modules/events/catalog/session.cloud-disconnected.js +11 -0
  221. package/dist/server/modules/events/catalog/session.cloud-disconnected.js.map +1 -0
  222. package/dist/server/modules/events/catalog/session.presence.changed.d.ts +18 -0
  223. package/dist/server/modules/events/catalog/session.presence.changed.js +13 -0
  224. package/dist/server/modules/events/catalog/session.presence.changed.js.map +1 -0
  225. package/dist/server/modules/events/catalog/session.provider-session-id.discovered.d.ts +18 -0
  226. package/dist/server/modules/events/catalog/session.provider-session-id.discovered.js +13 -0
  227. package/dist/server/modules/events/catalog/session.provider-session-id.discovered.js.map +1 -0
  228. package/dist/server/modules/events/catalog/session.recommendation.d.ts +30 -0
  229. package/dist/server/modules/events/catalog/session.recommendation.js +17 -0
  230. package/dist/server/modules/events/catalog/session.recommendation.js.map +1 -0
  231. package/dist/server/modules/events/catalog/session.restored.d.ts +3 -0
  232. package/dist/server/modules/events/catalog/session.restored.js +1 -0
  233. package/dist/server/modules/events/catalog/session.restored.js.map +1 -1
  234. package/dist/server/modules/events/catalog/session.transcript.updated.d.ts +21 -0
  235. package/dist/server/modules/events/catalog/session.transcript.updated.js +7 -0
  236. package/dist/server/modules/events/catalog/session.transcript.updated.js.map +1 -1
  237. package/dist/server/modules/events/catalog/team.config.updated.d.ts +9 -0
  238. package/dist/server/modules/events/catalog/team.config.updated.js +3 -0
  239. package/dist/server/modules/events/catalog/team.config.updated.js.map +1 -1
  240. package/dist/server/modules/events/catalog/team.member.added.d.ts +12 -0
  241. package/dist/server/modules/events/catalog/team.member.added.js +4 -0
  242. package/dist/server/modules/events/catalog/team.member.added.js.map +1 -1
  243. package/dist/server/modules/events/catalog/team.member.removed.d.ts +12 -0
  244. package/dist/server/modules/events/catalog/team.member.removed.js +4 -0
  245. package/dist/server/modules/events/catalog/team.member.removed.js.map +1 -1
  246. package/dist/server/modules/events/events-core.module.d.ts +2 -0
  247. package/dist/server/modules/events/{events-domain.module.js → events-core.module.js} +13 -24
  248. package/dist/server/modules/events/events-core.module.js.map +1 -0
  249. package/dist/server/modules/events/events.module.js +3 -4
  250. package/dist/server/modules/events/events.module.js.map +1 -1
  251. package/dist/server/modules/events/index.d.ts +2 -1
  252. package/dist/server/modules/events/index.js +2 -1
  253. package/dist/server/modules/events/index.js.map +1 -1
  254. package/dist/server/modules/events/services/catalog-broadcaster.service.d.ts +9 -0
  255. package/dist/server/modules/events/services/catalog-broadcaster.service.js +56 -0
  256. package/dist/server/modules/events/services/catalog-broadcaster.service.js.map +1 -0
  257. package/dist/server/modules/events/services/events-stream.service.d.ts +3 -3
  258. package/dist/server/modules/events/services/events-stream.service.js +6 -6
  259. package/dist/server/modules/events/services/events-stream.service.js.map +1 -1
  260. package/dist/server/modules/git/git.module.js +2 -1
  261. package/dist/server/modules/git/git.module.js.map +1 -1
  262. package/dist/server/modules/git/services/git.service.d.ts +3 -1
  263. package/dist/server/modules/git/services/git.service.js +17 -19
  264. package/dist/server/modules/git/services/git.service.js.map +1 -1
  265. package/dist/server/modules/guests/guests.module.js +2 -2
  266. package/dist/server/modules/guests/guests.module.js.map +1 -1
  267. package/dist/server/modules/guests/services/guest-health.service.d.ts +3 -3
  268. package/dist/server/modules/guests/services/guest-health.service.js +7 -7
  269. package/dist/server/modules/guests/services/guest-health.service.js.map +1 -1
  270. package/dist/server/modules/guests/services/guests.service.d.ts +3 -3
  271. package/dist/server/modules/guests/services/guests.service.js +7 -7
  272. package/dist/server/modules/guests/services/guests.service.js.map +1 -1
  273. package/dist/server/modules/hooks/hooks.module.js +2 -2
  274. package/dist/server/modules/hooks/hooks.module.js.map +1 -1
  275. package/dist/server/modules/mcp/controllers/mcp-http.controller.js +2 -2
  276. package/dist/server/modules/mcp/controllers/mcp-http.controller.js.map +1 -1
  277. package/dist/server/modules/mcp/controllers/mcp-sdk.controller.js +2 -2
  278. package/dist/server/modules/mcp/controllers/mcp-sdk.controller.js.map +1 -1
  279. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +40 -27
  280. package/dist/server/modules/mcp/dtos/mcp.dto.js +20 -4
  281. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  282. package/dist/server/modules/mcp/mcp-full.module.d.ts +2 -0
  283. package/dist/server/modules/mcp/{mcp.module.js → mcp-full.module.js} +15 -21
  284. package/dist/server/modules/mcp/mcp-full.module.js.map +1 -0
  285. package/dist/server/modules/mcp/services/handlers/activity-context.d.ts +6 -0
  286. package/dist/server/modules/mcp/services/handlers/activity-context.js +3 -0
  287. package/dist/server/modules/mcp/services/handlers/activity-context.js.map +1 -0
  288. package/dist/server/modules/mcp/services/handlers/activity-tools.d.ts +3 -3
  289. package/dist/server/modules/mcp/services/handlers/activity-tools.js +87 -101
  290. package/dist/server/modules/mcp/services/handlers/activity-tools.js.map +1 -1
  291. package/dist/server/modules/mcp/services/handlers/agent-context.d.ts +16 -0
  292. package/dist/server/modules/mcp/services/handlers/agent-context.js +3 -0
  293. package/dist/server/modules/mcp/services/handlers/agent-context.js.map +1 -0
  294. package/dist/server/modules/mcp/services/handlers/agent-tools.d.ts +5 -0
  295. package/dist/server/modules/mcp/services/handlers/agent-tools.js +194 -0
  296. package/dist/server/modules/mcp/services/handlers/agent-tools.js.map +1 -0
  297. package/dist/server/modules/mcp/services/handlers/chat-context.d.ts +17 -0
  298. package/dist/server/modules/mcp/services/handlers/chat-context.js +3 -0
  299. package/dist/server/modules/mcp/services/handlers/chat-context.js.map +1 -0
  300. package/dist/server/modules/mcp/services/handlers/chat-tools/recipient-resolution.d.ts +13 -0
  301. package/dist/server/modules/mcp/services/handlers/chat-tools/recipient-resolution.js +40 -0
  302. package/dist/server/modules/mcp/services/handlers/chat-tools/recipient-resolution.js.map +1 -0
  303. package/dist/server/modules/mcp/services/handlers/chat-tools.d.ts +5 -5
  304. package/dist/server/modules/mcp/services/handlers/chat-tools.js +149 -306
  305. package/dist/server/modules/mcp/services/handlers/chat-tools.js.map +1 -1
  306. package/dist/server/modules/mcp/services/handlers/document-context.d.ts +8 -0
  307. package/dist/server/modules/mcp/services/handlers/document-context.js +3 -0
  308. package/dist/server/modules/mcp/services/handlers/document-context.js.map +1 -0
  309. package/dist/server/modules/mcp/services/handlers/document-tools.d.ts +5 -5
  310. package/dist/server/modules/mcp/services/handlers/document-tools.js +20 -54
  311. package/dist/server/modules/mcp/services/handlers/document-tools.js.map +1 -1
  312. package/dist/server/modules/mcp/services/handlers/epic-context.d.ts +9 -0
  313. package/dist/server/modules/mcp/services/handlers/epic-context.js +3 -0
  314. package/dist/server/modules/mcp/services/handlers/epic-context.js.map +1 -0
  315. package/dist/server/modules/mcp/services/handlers/epic-tools.d.ts +8 -10
  316. package/dist/server/modules/mcp/services/handlers/epic-tools.js +186 -397
  317. package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -1
  318. package/dist/server/modules/mcp/services/handlers/null-adapter.d.ts +1 -0
  319. package/dist/server/modules/mcp/services/handlers/null-adapter.js +20 -0
  320. package/dist/server/modules/mcp/services/handlers/null-adapter.js.map +1 -0
  321. package/dist/server/modules/mcp/services/handlers/prompt-context.d.ts +9 -0
  322. package/dist/server/modules/mcp/services/handlers/prompt-context.js +3 -0
  323. package/dist/server/modules/mcp/services/handlers/prompt-context.js.map +1 -0
  324. package/dist/server/modules/mcp/services/handlers/prompt-tools.d.ts +3 -3
  325. package/dist/server/modules/mcp/services/handlers/prompt-tools.js +22 -51
  326. package/dist/server/modules/mcp/services/handlers/prompt-tools.js.map +1 -1
  327. package/dist/server/modules/mcp/services/handlers/record-context.d.ts +5 -0
  328. package/dist/server/modules/mcp/services/handlers/record-context.js +3 -0
  329. package/dist/server/modules/mcp/services/handlers/record-context.js.map +1 -0
  330. package/dist/server/modules/mcp/services/handlers/record-tools.d.ts +7 -7
  331. package/dist/server/modules/mcp/services/handlers/record-tools.js +6 -7
  332. package/dist/server/modules/mcp/services/handlers/record-tools.js.map +1 -1
  333. package/dist/server/modules/mcp/services/handlers/review-context.d.ts +11 -0
  334. package/dist/server/modules/mcp/services/handlers/review-context.js +3 -0
  335. package/dist/server/modules/mcp/services/handlers/review-context.js.map +1 -0
  336. package/dist/server/modules/mcp/services/handlers/review-tools.d.ts +7 -7
  337. package/dist/server/modules/mcp/services/handlers/review-tools.js +164 -362
  338. package/dist/server/modules/mcp/services/handlers/review-tools.js.map +1 -1
  339. package/dist/server/modules/mcp/services/handlers/session-context.d.ts +9 -0
  340. package/dist/server/modules/mcp/services/handlers/session-context.js +3 -0
  341. package/dist/server/modules/mcp/services/handlers/session-context.js.map +1 -0
  342. package/dist/server/modules/mcp/services/handlers/session-tools.d.ts +3 -3
  343. package/dist/server/modules/mcp/services/handlers/session-tools.js +21 -23
  344. package/dist/server/modules/mcp/services/handlers/session-tools.js.map +1 -1
  345. package/dist/server/modules/mcp/services/handlers/skill-context.d.ts +6 -0
  346. package/dist/server/modules/mcp/services/handlers/skill-context.js +3 -0
  347. package/dist/server/modules/mcp/services/handlers/skill-context.js.map +1 -0
  348. package/dist/server/modules/mcp/services/handlers/skill-tools.d.ts +3 -3
  349. package/dist/server/modules/mcp/services/handlers/skill-tools.js +55 -75
  350. package/dist/server/modules/mcp/services/handlers/skill-tools.js.map +1 -1
  351. package/dist/server/modules/mcp/services/handlers/teams-context.d.ts +9 -0
  352. package/dist/server/modules/mcp/services/handlers/teams-context.js +3 -0
  353. package/dist/server/modules/mcp/services/handlers/teams-context.js.map +1 -0
  354. package/dist/server/modules/mcp/services/handlers/teams-tools.d.ts +7 -7
  355. package/dist/server/modules/mcp/services/handlers/teams-tools.js +260 -267
  356. package/dist/server/modules/mcp/services/handlers/teams-tools.js.map +1 -1
  357. package/dist/server/modules/mcp/services/handlers/types.d.ts +2 -35
  358. package/dist/server/modules/mcp/services/instructions-resolver.d.ts +2 -2
  359. package/dist/server/modules/mcp/services/instructions-resolver.js.map +1 -1
  360. package/dist/server/modules/mcp/services/mcp.service.d.ts +21 -8
  361. package/dist/server/modules/mcp/services/mcp.service.js +208 -109
  362. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
  363. package/dist/server/modules/mcp/services/utils/agent-name-resolver.d.ts +2 -0
  364. package/dist/server/modules/mcp/services/utils/agent-name-resolver.js +27 -0
  365. package/dist/server/modules/mcp/services/utils/agent-name-resolver.js.map +1 -0
  366. package/dist/server/modules/mcp/services/utils/redact.d.ts +2 -0
  367. package/dist/server/modules/mcp/services/utils/redact.js +19 -0
  368. package/dist/server/modules/mcp/services/utils/redact.js.map +1 -0
  369. package/dist/server/modules/mcp/services/utils/require-project.d.ts +5 -0
  370. package/dist/server/modules/mcp/services/utils/require-project.js +20 -0
  371. package/dist/server/modules/mcp/services/utils/require-project.js.map +1 -0
  372. package/dist/server/modules/mcp/services/utils/resolve-epic-id.d.ts +2 -2
  373. package/dist/server/modules/mcp/services/utils/resolve-epic-id.js.map +1 -1
  374. package/dist/server/modules/mcp/services/utils/resource-resolver.d.ts +2 -2
  375. package/dist/server/modules/mcp/services/utils/resource-resolver.js.map +1 -1
  376. package/dist/server/modules/mcp/services/utils/session-context-helpers.d.ts +12 -0
  377. package/dist/server/modules/mcp/services/utils/session-context-helpers.js +34 -0
  378. package/dist/server/modules/mcp/services/utils/session-context-helpers.js.map +1 -0
  379. package/dist/server/modules/mcp/services/utils/session-context-resolver.d.ts +4 -4
  380. package/dist/server/modules/mcp/services/utils/session-context-resolver.js +9 -13
  381. package/dist/server/modules/mcp/services/utils/session-context-resolver.js.map +1 -1
  382. package/dist/server/modules/mcp/standalone-mcp.module.d.ts +2 -0
  383. package/dist/server/modules/mcp/standalone-mcp.module.js +36 -0
  384. package/dist/server/modules/mcp/standalone-mcp.module.js.map +1 -0
  385. package/dist/server/modules/mcp/tool-descriptors/activity.bindings.d.ts +2 -0
  386. package/dist/server/modules/mcp/tool-descriptors/activity.bindings.js +9 -0
  387. package/dist/server/modules/mcp/tool-descriptors/activity.bindings.js.map +1 -0
  388. package/dist/server/modules/mcp/tool-descriptors/activity.metadata.d.ts +2 -0
  389. package/dist/server/modules/mcp/tool-descriptors/activity.metadata.js +49 -0
  390. package/dist/server/modules/mcp/tool-descriptors/activity.metadata.js.map +1 -0
  391. package/dist/server/modules/mcp/tool-descriptors/agent.bindings.d.ts +2 -0
  392. package/dist/server/modules/mcp/tool-descriptors/agent.bindings.js +10 -0
  393. package/dist/server/modules/mcp/tool-descriptors/agent.bindings.js.map +1 -0
  394. package/dist/server/modules/mcp/tool-descriptors/agent.metadata.d.ts +2 -0
  395. package/dist/server/modules/mcp/tool-descriptors/agent.metadata.js +65 -0
  396. package/dist/server/modules/mcp/tool-descriptors/agent.metadata.js.map +1 -0
  397. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.d.ts +2 -0
  398. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js +11 -0
  399. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js.map +1 -0
  400. package/dist/server/modules/mcp/tool-descriptors/chat.metadata.d.ts +2 -0
  401. package/dist/server/modules/mcp/tool-descriptors/chat.metadata.js +89 -0
  402. package/dist/server/modules/mcp/tool-descriptors/chat.metadata.js.map +1 -0
  403. package/dist/server/modules/mcp/tool-descriptors/document.bindings.d.ts +2 -0
  404. package/dist/server/modules/mcp/tool-descriptors/document.bindings.js +11 -0
  405. package/dist/server/modules/mcp/tool-descriptors/document.bindings.js.map +1 -0
  406. package/dist/server/modules/mcp/tool-descriptors/document.metadata.d.ts +2 -0
  407. package/dist/server/modules/mcp/tool-descriptors/document.metadata.js +96 -0
  408. package/dist/server/modules/mcp/tool-descriptors/document.metadata.js.map +1 -0
  409. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.d.ts +2 -0
  410. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js +17 -0
  411. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js.map +1 -0
  412. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.d.ts +2 -0
  413. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js +229 -0
  414. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js.map +1 -0
  415. package/dist/server/modules/mcp/tool-descriptors/index.d.ts +4 -0
  416. package/dist/server/modules/mcp/tool-descriptors/index.js +52 -0
  417. package/dist/server/modules/mcp/tool-descriptors/index.js.map +1 -0
  418. package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.d.ts +2 -0
  419. package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.js +9 -0
  420. package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.js.map +1 -0
  421. package/dist/server/modules/mcp/tool-descriptors/prompt.metadata.d.ts +2 -0
  422. package/dist/server/modules/mcp/tool-descriptors/prompt.metadata.js +43 -0
  423. package/dist/server/modules/mcp/tool-descriptors/prompt.metadata.js.map +1 -0
  424. package/dist/server/modules/mcp/tool-descriptors/record.bindings.d.ts +2 -0
  425. package/dist/server/modules/mcp/tool-descriptors/record.bindings.js +13 -0
  426. package/dist/server/modules/mcp/tool-descriptors/record.bindings.js.map +1 -0
  427. package/dist/server/modules/mcp/tool-descriptors/record.metadata.d.ts +2 -0
  428. package/dist/server/modules/mcp/tool-descriptors/record.metadata.js +106 -0
  429. package/dist/server/modules/mcp/tool-descriptors/record.metadata.js.map +1 -0
  430. package/dist/server/modules/mcp/tool-descriptors/review.bindings.d.ts +2 -0
  431. package/dist/server/modules/mcp/tool-descriptors/review.bindings.js +13 -0
  432. package/dist/server/modules/mcp/tool-descriptors/review.bindings.js.map +1 -0
  433. package/dist/server/modules/mcp/tool-descriptors/review.metadata.d.ts +2 -0
  434. package/dist/server/modules/mcp/tool-descriptors/review.metadata.js +158 -0
  435. package/dist/server/modules/mcp/tool-descriptors/review.metadata.js.map +1 -0
  436. package/dist/server/modules/mcp/tool-descriptors/session.bindings.d.ts +2 -0
  437. package/dist/server/modules/mcp/tool-descriptors/session.bindings.js +9 -0
  438. package/dist/server/modules/mcp/tool-descriptors/session.bindings.js.map +1 -0
  439. package/dist/server/modules/mcp/tool-descriptors/session.metadata.d.ts +4 -0
  440. package/dist/server/modules/mcp/tool-descriptors/session.metadata.js +43 -0
  441. package/dist/server/modules/mcp/tool-descriptors/session.metadata.js.map +1 -0
  442. package/dist/server/modules/mcp/tool-descriptors/skill.bindings.d.ts +2 -0
  443. package/dist/server/modules/mcp/tool-descriptors/skill.bindings.js +9 -0
  444. package/dist/server/modules/mcp/tool-descriptors/skill.bindings.js.map +1 -0
  445. package/dist/server/modules/mcp/tool-descriptors/skill.metadata.d.ts +2 -0
  446. package/dist/server/modules/mcp/tool-descriptors/skill.metadata.js +47 -0
  447. package/dist/server/modules/mcp/tool-descriptors/skill.metadata.js.map +1 -0
  448. package/dist/server/modules/mcp/tool-descriptors/team.bindings.d.ts +2 -0
  449. package/dist/server/modules/mcp/tool-descriptors/team.bindings.js +13 -0
  450. package/dist/server/modules/mcp/tool-descriptors/team.bindings.js.map +1 -0
  451. package/dist/server/modules/mcp/tool-descriptors/team.metadata.d.ts +2 -0
  452. package/dist/server/modules/mcp/tool-descriptors/team.metadata.js +142 -0
  453. package/dist/server/modules/mcp/tool-descriptors/team.metadata.js.map +1 -0
  454. package/dist/server/modules/mcp/tool-descriptors/types.d.ts +9 -0
  455. package/dist/server/modules/mcp/tool-descriptors/types.js +3 -0
  456. package/dist/server/modules/mcp/tool-descriptors/types.js.map +1 -0
  457. package/dist/server/modules/mcp/utils/param-suggestion.js +4 -3
  458. package/dist/server/modules/mcp/utils/param-suggestion.js.map +1 -1
  459. package/dist/server/modules/orchestrator/docker/docker.module.js +2 -0
  460. package/dist/server/modules/orchestrator/docker/docker.module.js.map +1 -1
  461. package/dist/server/modules/orchestrator/docker/services/docker.service.d.ts +4 -1
  462. package/dist/server/modules/orchestrator/docker/services/docker.service.js +20 -14
  463. package/dist/server/modules/orchestrator/docker/services/docker.service.js.map +1 -1
  464. package/dist/server/modules/orchestrator/git/git.module.js +2 -1
  465. package/dist/server/modules/orchestrator/git/git.module.js.map +1 -1
  466. package/dist/server/modules/orchestrator/git/services/git-worktree.service.d.ts +4 -2
  467. package/dist/server/modules/orchestrator/git/services/git-worktree.service.js +19 -26
  468. package/dist/server/modules/orchestrator/git/services/git-worktree.service.js.map +1 -1
  469. package/dist/server/modules/orchestrator/proxy/services/orchestrator-proxy.service.js.map +1 -1
  470. package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.d.ts +3 -2
  471. package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js +31 -53
  472. package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js.map +1 -1
  473. package/dist/server/modules/orchestrator/worktrees/worktrees.module.js +4 -4
  474. package/dist/server/modules/orchestrator/worktrees/worktrees.module.js.map +1 -1
  475. package/dist/server/modules/profiles/controllers/provider-configs.controller.d.ts +3 -1
  476. package/dist/server/modules/profiles/controllers/provider-configs.controller.js +5 -3
  477. package/dist/server/modules/profiles/controllers/provider-configs.controller.js.map +1 -1
  478. package/dist/server/modules/profiles/profiles.module.js +4 -1
  479. package/dist/server/modules/profiles/profiles.module.js.map +1 -1
  480. package/dist/server/modules/profiles/services/provider-configs.service.d.ts +13 -0
  481. package/dist/server/modules/profiles/services/provider-configs.service.js +88 -0
  482. package/dist/server/modules/profiles/services/provider-configs.service.js.map +1 -0
  483. package/dist/server/modules/projects/controllers/projects.controller.d.ts +20 -1
  484. package/dist/server/modules/projects/controllers/projects.controller.js +132 -2
  485. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  486. package/dist/server/modules/projects/dtos/export.dto.d.ts +6 -6
  487. package/dist/server/modules/projects/dtos/template-upgrade.dto.d.ts +20 -0
  488. package/dist/server/modules/projects/dtos/template-upgrade.dto.js +90 -0
  489. package/dist/server/modules/projects/dtos/template-upgrade.dto.js.map +1 -0
  490. package/dist/server/modules/projects/projects.module.js +21 -2
  491. package/dist/server/modules/projects/projects.module.js.map +1 -1
  492. package/dist/server/modules/projects/services/project-provider-provisioning.service.d.ts +1 -1
  493. package/dist/server/modules/projects/services/project-provider-provisioning.service.js +1 -1
  494. package/dist/server/modules/projects/services/project-provider-provisioning.service.js.map +1 -1
  495. package/dist/server/modules/projects/services/project-registry-import.service.d.ts +38 -0
  496. package/dist/server/modules/projects/services/project-registry-import.service.js +140 -0
  497. package/dist/server/modules/projects/services/project-registry-import.service.js.map +1 -0
  498. package/dist/server/modules/{registry/services/template-upgrade.service.d.ts → projects/services/project-template-upgrade.service.d.ts} +6 -8
  499. package/dist/server/modules/{registry/services/template-upgrade.service.js → projects/services/project-template-upgrade.service.js} +14 -21
  500. package/dist/server/modules/projects/services/project-template-upgrade.service.js.map +1 -0
  501. package/dist/server/modules/projects/services/projects.service.d.ts +3 -1
  502. package/dist/server/modules/projects/services/projects.service.js +7 -4
  503. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  504. package/dist/server/modules/providers/adapters/capabilities/context-window.capability.d.ts +20 -0
  505. package/dist/server/modules/providers/adapters/capabilities/context-window.capability.js +3 -0
  506. package/dist/server/modules/providers/adapters/capabilities/context-window.capability.js.map +1 -0
  507. package/dist/server/modules/providers/adapters/capabilities/hook.capability.d.ts +13 -0
  508. package/dist/server/modules/providers/adapters/capabilities/hook.capability.js +3 -0
  509. package/dist/server/modules/providers/adapters/capabilities/hook.capability.js.map +1 -0
  510. package/dist/server/modules/providers/adapters/capabilities/index.d.ts +2 -0
  511. package/dist/server/modules/providers/adapters/capabilities/index.js +12 -0
  512. package/dist/server/modules/providers/adapters/capabilities/index.js.map +1 -0
  513. package/dist/server/modules/providers/adapters/capabilities/project-mcp-settings.capability.d.ts +3 -0
  514. package/dist/server/modules/providers/adapters/capabilities/project-mcp-settings.capability.js +3 -0
  515. package/dist/server/modules/providers/adapters/capabilities/project-mcp-settings.capability.js.map +1 -0
  516. package/dist/server/modules/providers/adapters/capabilities/project-provisioning.capability.d.ts +14 -0
  517. package/dist/server/modules/providers/adapters/capabilities/project-provisioning.capability.js +3 -0
  518. package/dist/server/modules/providers/adapters/capabilities/project-provisioning.capability.js.map +1 -0
  519. package/dist/server/modules/providers/adapters/capabilities/transcript-discovery.capability.d.ts +6 -0
  520. package/dist/server/modules/providers/adapters/capabilities/transcript-discovery.capability.js +3 -0
  521. package/dist/server/modules/providers/adapters/capabilities/transcript-discovery.capability.js.map +1 -0
  522. package/dist/server/modules/providers/adapters/capabilities/type-guards.d.ts +35 -0
  523. package/dist/server/modules/providers/adapters/capabilities/type-guards.js +33 -0
  524. package/dist/server/modules/providers/adapters/capabilities/type-guards.js.map +1 -0
  525. package/dist/server/modules/providers/adapters/claude.adapter.d.ts +23 -2
  526. package/dist/server/modules/providers/adapters/claude.adapter.js +134 -0
  527. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
  528. package/dist/server/modules/providers/adapters/codex.adapter.d.ts +7 -2
  529. package/dist/server/modules/providers/adapters/codex.adapter.js +4 -0
  530. package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
  531. package/dist/server/modules/providers/adapters/gemini.adapter.d.ts +11 -2
  532. package/dist/server/modules/providers/adapters/gemini.adapter.js +47 -2
  533. package/dist/server/modules/providers/adapters/gemini.adapter.js.map +1 -1
  534. package/dist/server/modules/providers/adapters/index.d.ts +1 -0
  535. package/dist/server/modules/providers/adapters/index.js +1 -0
  536. package/dist/server/modules/providers/adapters/index.js.map +1 -1
  537. package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +1 -1
  538. package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -1
  539. package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +4 -8
  540. package/dist/server/modules/providers/adapters/provider-adapters.module.js +2 -1
  541. package/dist/server/modules/providers/adapters/provider-adapters.module.js.map +1 -1
  542. package/dist/server/modules/providers/controllers/provider-models.controller.d.ts +4 -3
  543. package/dist/server/modules/providers/controllers/provider-models.controller.js +29 -36
  544. package/dist/server/modules/providers/controllers/provider-models.controller.js.map +1 -1
  545. package/dist/server/modules/providers/controllers/providers.controller.d.ts +7 -13
  546. package/dist/server/modules/providers/controllers/providers.controller.js +19 -239
  547. package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
  548. package/dist/server/modules/providers/providers.module.js +24 -6
  549. package/dist/server/modules/providers/providers.module.js.map +1 -1
  550. package/dist/server/modules/providers/services/mcp-provider-registration.service.d.ts +23 -0
  551. package/dist/server/modules/providers/services/mcp-provider-registration.service.js +111 -0
  552. package/dist/server/modules/providers/services/mcp-provider-registration.service.js.map +1 -0
  553. package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.d.ts +26 -0
  554. package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.js +274 -0
  555. package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.js.map +1 -0
  556. package/dist/server/modules/providers/services/mcp-registration/config-file-mcp-registration.adapter.d.ts +14 -0
  557. package/dist/server/modules/providers/services/mcp-registration/config-file-mcp-registration.adapter.js +328 -0
  558. package/dist/server/modules/providers/services/mcp-registration/config-file-mcp-registration.adapter.js.map +1 -0
  559. package/dist/server/modules/providers/services/mcp-registration/index.d.ts +5 -0
  560. package/dist/server/modules/providers/services/mcp-registration/index.js +10 -0
  561. package/dist/server/modules/providers/services/mcp-registration/index.js.map +1 -0
  562. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.d.ts +20 -0
  563. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.js +47 -0
  564. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.js.map +1 -0
  565. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.types.d.ts +43 -0
  566. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.types.js +3 -0
  567. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.types.js.map +1 -0
  568. package/dist/server/modules/providers/services/probe-proof.service.d.ts +3 -1
  569. package/dist/server/modules/providers/services/probe-proof.service.js +23 -9
  570. package/dist/server/modules/providers/services/probe-proof.service.js.map +1 -1
  571. package/dist/server/modules/{core → providers}/services/provider-mcp-ensure.service.d.ts +3 -8
  572. package/dist/server/modules/providers/services/provider-mcp-ensure.service.js +175 -0
  573. package/dist/server/modules/providers/services/provider-mcp-ensure.service.js.map +1 -0
  574. package/dist/server/modules/providers/services/provider-state-manager.service.d.ts +53 -0
  575. package/dist/server/modules/providers/services/provider-state-manager.service.js +249 -0
  576. package/dist/server/modules/providers/services/provider-state-manager.service.js.map +1 -0
  577. package/dist/server/modules/providers/utils/probe-1m.d.ts +2 -1
  578. package/dist/server/modules/providers/utils/probe-1m.js +13 -19
  579. package/dist/server/modules/providers/utils/probe-1m.js.map +1 -1
  580. package/dist/server/modules/realtime/dtos/ws-envelope.dto.d.ts +19 -0
  581. package/dist/server/modules/realtime/dtos/ws-envelope.dto.js +20 -0
  582. package/dist/server/modules/realtime/dtos/ws-envelope.dto.js.map +1 -0
  583. package/dist/server/modules/realtime/ports/realtime-broadcaster.port.d.ts +4 -0
  584. package/dist/server/modules/realtime/ports/realtime-broadcaster.port.js +5 -0
  585. package/dist/server/modules/realtime/ports/realtime-broadcaster.port.js.map +1 -0
  586. package/dist/server/modules/realtime/realtime-broadcast.module.d.ts +2 -0
  587. package/dist/server/modules/realtime/realtime-broadcast.module.js +25 -0
  588. package/dist/server/modules/realtime/realtime-broadcast.module.js.map +1 -0
  589. package/dist/server/modules/realtime/services/noop-realtime-broadcast.adapter.d.ts +4 -0
  590. package/dist/server/modules/realtime/services/noop-realtime-broadcast.adapter.js +19 -0
  591. package/dist/server/modules/realtime/services/noop-realtime-broadcast.adapter.js.map +1 -0
  592. package/dist/server/modules/realtime/services/realtime-broadcast.service.d.ts +7 -0
  593. package/dist/server/modules/realtime/services/realtime-broadcast.service.js +33 -0
  594. package/dist/server/modules/realtime/services/realtime-broadcast.service.js.map +1 -0
  595. package/dist/server/modules/registry/controllers/registry.controller.d.ts +1 -30
  596. package/dist/server/modules/registry/controllers/registry.controller.js +2 -105
  597. package/dist/server/modules/registry/controllers/registry.controller.js.map +1 -1
  598. package/dist/server/modules/registry/index.d.ts +0 -1
  599. package/dist/server/modules/registry/index.js +0 -1
  600. package/dist/server/modules/registry/index.js.map +1 -1
  601. package/dist/server/modules/registry/registry.module.js +1 -5
  602. package/dist/server/modules/registry/registry.module.js.map +1 -1
  603. package/dist/server/modules/registry/services/registry-orchestration.service.d.ts +1 -29
  604. package/dist/server/modules/registry/services/registry-orchestration.service.js +2 -94
  605. package/dist/server/modules/registry/services/registry-orchestration.service.js.map +1 -1
  606. package/dist/server/modules/reviews/reviews.module.js +8 -4
  607. package/dist/server/modules/reviews/reviews.module.js.map +1 -1
  608. package/dist/server/modules/reviews/services/review-suggestion-applier.service.d.ts +29 -0
  609. package/dist/server/modules/reviews/services/review-suggestion-applier.service.js +116 -0
  610. package/dist/server/modules/reviews/services/review-suggestion-applier.service.js.map +1 -0
  611. package/dist/server/modules/reviews/services/reviews.service.js +11 -0
  612. package/dist/server/modules/reviews/services/reviews.service.js.map +1 -1
  613. package/dist/server/modules/reviews/subscribers/review-comment-notifier.subscriber.d.ts +16 -0
  614. package/dist/server/modules/{events → reviews}/subscribers/review-comment-notifier.subscriber.js +26 -75
  615. package/dist/server/modules/reviews/subscribers/review-comment-notifier.subscriber.js.map +1 -0
  616. package/dist/server/modules/seeders/seeders/0001_seed_compact_on_idle_watcher.d.ts +1 -1
  617. package/dist/server/modules/seeders/seeders/0002_seed_replace_permission_mode_plan.d.ts +1 -1
  618. package/dist/server/modules/seeders/seeders/0003_seed_preseed_jeffallan_claude_skills.d.ts +1 -1
  619. package/dist/server/modules/seeders/seeders/0004_seed_disable_microsoft_source_default.d.ts +1 -1
  620. package/dist/server/modules/seeders/seeders/0005_seed_renew_instructions_subscriber.d.ts +1 -1
  621. package/dist/server/modules/seeders/seeders/0006_seed_rename_template_slugs.d.ts +1 -1
  622. package/dist/server/modules/seeders/seeders/0007_seed_claude_no_flicker_env.d.ts +1 -1
  623. package/dist/server/modules/seeders/services/data-seeder.service.d.ts +2 -12
  624. package/dist/server/modules/seeders/services/data-seeder.service.js.map +1 -1
  625. package/dist/server/modules/seeders/types/seeder.types.d.ts +15 -0
  626. package/dist/server/modules/seeders/types/seeder.types.js +3 -0
  627. package/dist/server/modules/seeders/types/seeder.types.js.map +1 -0
  628. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.d.ts +8 -0
  629. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js +63 -3
  630. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js.map +1 -1
  631. package/dist/server/modules/session-reader/controllers/session-reader.controller.d.ts +19 -410
  632. package/dist/server/modules/session-reader/controllers/session-reader.controller.js +159 -69
  633. package/dist/server/modules/session-reader/controllers/session-reader.controller.js.map +1 -1
  634. package/dist/server/modules/session-reader/data/pricing.json +19 -0
  635. package/dist/server/modules/session-reader/dtos/unified-chunk.types.d.ts +1 -2
  636. package/dist/server/modules/session-reader/dtos/unified-chunk.types.js.map +1 -1
  637. package/dist/server/modules/session-reader/dtos/unified-message.types.d.ts +66 -0
  638. package/dist/server/modules/session-reader/dtos/unified-message.types.js +3 -0
  639. package/dist/server/modules/session-reader/dtos/unified-message.types.js.map +1 -0
  640. package/dist/server/modules/session-reader/dtos/unified-session.types.d.ts +2 -66
  641. package/dist/server/modules/session-reader/dtos/unified-session.types.js.map +1 -1
  642. package/dist/server/modules/session-reader/services/codex-provider-session-id-backfill.service.d.ts +25 -0
  643. package/dist/server/modules/session-reader/services/codex-provider-session-id-backfill.service.js +175 -0
  644. package/dist/server/modules/session-reader/services/codex-provider-session-id-backfill.service.js.map +1 -0
  645. package/dist/server/modules/session-reader/services/session-cache.service.d.ts +9 -0
  646. package/dist/server/modules/session-reader/services/session-cache.service.js +15 -0
  647. package/dist/server/modules/session-reader/services/session-cache.service.js.map +1 -1
  648. package/dist/server/modules/session-reader/services/session-reader.service.d.ts +50 -4
  649. package/dist/server/modules/session-reader/services/session-reader.service.js +173 -116
  650. package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
  651. package/dist/server/modules/session-reader/services/transcript-cursor.d.ts +6 -0
  652. package/dist/server/modules/session-reader/services/transcript-cursor.js +27 -0
  653. package/dist/server/modules/session-reader/services/transcript-cursor.js.map +1 -0
  654. package/dist/server/modules/session-reader/services/transcript-persistence.listener.d.ts +45 -2
  655. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js +472 -54
  656. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js.map +1 -1
  657. package/dist/server/modules/session-reader/services/transcript-serialization.d.ts +4 -0
  658. package/dist/server/modules/session-reader/services/transcript-serialization.js +31 -0
  659. package/dist/server/modules/session-reader/services/transcript-serialization.js.map +1 -0
  660. package/dist/server/modules/session-reader/services/transcript-truncation.d.ts +6 -0
  661. package/dist/server/modules/session-reader/services/transcript-truncation.js +175 -0
  662. package/dist/server/modules/session-reader/services/transcript-truncation.js.map +1 -0
  663. package/dist/server/modules/session-reader/services/transcript-watcher.service.js +52 -2
  664. package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -1
  665. package/dist/server/modules/session-reader/session-reader.module.js +6 -2
  666. package/dist/server/modules/session-reader/session-reader.module.js.map +1 -1
  667. package/dist/server/modules/sessions/controllers/sessions.controller.d.ts +9 -1
  668. package/dist/server/modules/sessions/controllers/sessions.controller.js +74 -4
  669. package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -1
  670. package/dist/server/modules/sessions/dtos/active-session-info.dto.d.ts +21 -0
  671. package/dist/server/modules/sessions/dtos/active-session-info.dto.js +12 -0
  672. package/dist/server/modules/sessions/dtos/active-session-info.dto.js.map +1 -0
  673. package/dist/server/modules/sessions/dtos/sessions.dto.d.ts +2 -0
  674. package/dist/server/modules/sessions/dtos/sessions.dto.js.map +1 -1
  675. package/dist/server/modules/sessions/services/active-session-lookup.service.d.ts +9 -0
  676. package/dist/server/modules/sessions/services/active-session-lookup.service.js +70 -0
  677. package/dist/server/modules/sessions/services/active-session-lookup.service.js.map +1 -0
  678. package/dist/server/modules/sessions/services/agent-presence-aggregator.d.ts +13 -0
  679. package/dist/server/modules/sessions/services/agent-presence-aggregator.js +36 -0
  680. package/dist/server/modules/sessions/services/agent-presence-aggregator.js.map +1 -0
  681. package/dist/server/modules/sessions/services/delivery-failure-notifier.service.d.ts +9 -0
  682. package/dist/server/modules/sessions/services/delivery-failure-notifier.service.js +64 -0
  683. package/dist/server/modules/sessions/services/delivery-failure-notifier.service.js.map +1 -0
  684. package/dist/server/modules/sessions/services/message-activity-stream.service.d.ts +4 -4
  685. package/dist/server/modules/sessions/services/message-activity-stream.service.js +6 -6
  686. package/dist/server/modules/sessions/services/message-activity-stream.service.js.map +1 -1
  687. package/dist/server/modules/sessions/services/message-enqueue.service.d.ts +30 -0
  688. package/dist/server/modules/sessions/services/message-enqueue.service.js +55 -0
  689. package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -0
  690. package/dist/server/modules/sessions/services/message-log.service.d.ts +24 -0
  691. package/dist/server/modules/sessions/services/message-log.service.js +110 -0
  692. package/dist/server/modules/sessions/services/message-log.service.js.map +1 -0
  693. package/dist/server/modules/sessions/services/message-pool.types.d.ts +69 -0
  694. package/dist/server/modules/sessions/services/message-pool.types.js +5 -0
  695. package/dist/server/modules/sessions/services/message-pool.types.js.map +1 -0
  696. package/dist/server/modules/sessions/services/provider-launch-config/index.d.ts +2 -0
  697. package/dist/server/modules/sessions/services/provider-launch-config/index.js +9 -0
  698. package/dist/server/modules/sessions/services/provider-launch-config/index.js.map +1 -0
  699. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.d.ts +24 -0
  700. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +45 -0
  701. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -0
  702. package/dist/server/modules/sessions/services/session-launcher-facade.service.d.ts +13 -0
  703. package/dist/server/modules/sessions/services/session-launcher-facade.service.js +73 -0
  704. package/dist/server/modules/sessions/services/session-launcher-facade.service.js.map +1 -0
  705. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +262 -0
  706. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +329 -0
  707. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -0
  708. package/dist/server/modules/sessions/services/session-runtime/cleanup-stack.d.ts +11 -0
  709. package/dist/server/modules/sessions/services/session-runtime/cleanup-stack.js +27 -0
  710. package/dist/server/modules/sessions/services/session-runtime/cleanup-stack.js.map +1 -0
  711. package/dist/server/modules/sessions/services/session-runtime/index.d.ts +4 -0
  712. package/dist/server/modules/sessions/services/session-runtime/index.js +12 -0
  713. package/dist/server/modules/sessions/services/session-runtime/index.js.map +1 -0
  714. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.d.ts +38 -0
  715. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +404 -0
  716. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -0
  717. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.d.ts +26 -0
  718. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +265 -0
  719. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -0
  720. package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.d.ts +10 -0
  721. package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.js +34 -0
  722. package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.js.map +1 -0
  723. package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +11 -84
  724. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +60 -185
  725. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  726. package/dist/server/modules/sessions/services/sessions.service.d.ts +25 -52
  727. package/dist/server/modules/sessions/services/sessions.service.js +134 -840
  728. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  729. package/dist/server/modules/sessions/sessions-delivery.module.d.ts +2 -0
  730. package/dist/server/modules/sessions/sessions-delivery.module.js +26 -0
  731. package/dist/server/modules/sessions/sessions-delivery.module.js.map +1 -0
  732. package/dist/server/modules/sessions/sessions-read.module.d.ts +2 -0
  733. package/dist/server/modules/sessions/sessions-read.module.js +23 -0
  734. package/dist/server/modules/sessions/sessions-read.module.js.map +1 -0
  735. package/dist/server/modules/sessions/sessions.module.js +22 -5
  736. package/dist/server/modules/sessions/sessions.module.js.map +1 -1
  737. package/dist/server/modules/sessions/utils/claude-config.d.ts +1 -1
  738. package/dist/server/modules/sessions/utils/claude-config.js +2 -2
  739. package/dist/server/modules/sessions/utils/env-builder.d.ts +1 -1
  740. package/dist/server/modules/sessions/utils/env-builder.js +8 -3
  741. package/dist/server/modules/sessions/utils/env-builder.js.map +1 -1
  742. package/dist/server/modules/sessions/utils/tmux-naming.util.d.ts +1 -0
  743. package/dist/server/modules/sessions/utils/tmux-naming.util.js +10 -0
  744. package/dist/server/modules/sessions/utils/tmux-naming.util.js.map +1 -0
  745. package/dist/server/modules/settings/dtos/settings.dto.d.ts +14 -0
  746. package/dist/server/modules/settings/dtos/settings.dto.js +3 -3
  747. package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -1
  748. package/dist/server/modules/settings/local/delegates/core-settings.delegate.d.ts +20 -0
  749. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js +499 -0
  750. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js.map +1 -0
  751. package/dist/server/modules/settings/local/delegates/message-pool-settings.delegate.d.ts +14 -0
  752. package/dist/server/modules/settings/local/delegates/message-pool-settings.delegate.js +67 -0
  753. package/dist/server/modules/settings/local/delegates/message-pool-settings.delegate.js.map +1 -0
  754. package/dist/server/modules/settings/local/delegates/preset-settings.delegate.d.ts +36 -0
  755. package/dist/server/modules/settings/local/delegates/preset-settings.delegate.js +393 -0
  756. package/dist/server/modules/settings/local/delegates/preset-settings.delegate.js.map +1 -0
  757. package/dist/server/modules/settings/local/delegates/registry-settings.delegate.d.ts +20 -0
  758. package/dist/server/modules/settings/local/delegates/registry-settings.delegate.js +82 -0
  759. package/dist/server/modules/settings/local/delegates/registry-settings.delegate.js.map +1 -0
  760. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.d.ts +16 -0
  761. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js +107 -0
  762. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js.map +1 -0
  763. package/dist/server/modules/settings/services/settings.constants.d.ts +31 -0
  764. package/dist/server/modules/settings/services/settings.constants.js +24 -0
  765. package/dist/server/modules/settings/services/settings.constants.js.map +1 -0
  766. package/dist/server/modules/settings/services/settings.service.d.ts +15 -54
  767. package/dist/server/modules/settings/services/settings.service.js +85 -897
  768. package/dist/server/modules/settings/services/settings.service.js.map +1 -1
  769. package/dist/server/modules/skills/services/skill-search.utils.d.ts +18 -0
  770. package/dist/server/modules/skills/services/skill-search.utils.js +87 -0
  771. package/dist/server/modules/skills/services/skill-search.utils.js.map +1 -0
  772. package/dist/server/modules/skills/services/skills.service.js +25 -27
  773. package/dist/server/modules/skills/services/skills.service.js.map +1 -1
  774. package/dist/server/modules/storage/db/schema.d.ts +81 -0
  775. package/dist/server/modules/storage/db/schema.js +10 -2
  776. package/dist/server/modules/storage/db/schema.js.map +1 -1
  777. package/dist/server/modules/storage/db/transaction-runner.d.ts +8 -0
  778. package/dist/server/modules/storage/db/transaction-runner.js +44 -0
  779. package/dist/server/modules/storage/db/transaction-runner.js.map +1 -0
  780. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +4 -0
  781. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  782. package/dist/server/modules/storage/local/delegates/base-storage.delegate.d.ts +2 -0
  783. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js +2 -0
  784. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js.map +1 -1
  785. package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +2 -1
  786. package/dist/server/modules/storage/local/delegates/epic.delegate.js +36 -1
  787. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
  788. package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.js +5 -35
  789. package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.js.map +1 -1
  790. package/dist/server/modules/storage/local/delegates/project.delegate.js +12 -20
  791. package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
  792. package/dist/server/modules/storage/local/delegates/provider-model.delegate.js +2 -12
  793. package/dist/server/modules/storage/local/delegates/provider-model.delegate.js.map +1 -1
  794. package/dist/server/modules/storage/local/delegates/review.delegate.js +22 -38
  795. package/dist/server/modules/storage/local/delegates/review.delegate.js.map +1 -1
  796. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js +2 -17
  797. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js.map +1 -1
  798. package/dist/server/modules/storage/local/local-storage.service.d.ts +2 -1
  799. package/dist/server/modules/storage/local/local-storage.service.js +3 -0
  800. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  801. package/dist/server/modules/subscribers/actions/action.interface.d.ts +6 -6
  802. package/dist/server/modules/subscribers/actions/restart-agent.action.js +4 -3
  803. package/dist/server/modules/subscribers/actions/restart-agent.action.js.map +1 -1
  804. package/dist/server/modules/subscribers/actions/send-message.action.js +12 -7
  805. package/dist/server/modules/subscribers/actions/send-message.action.js.map +1 -1
  806. package/dist/server/modules/subscribers/events/event-fields-catalog.js +1 -0
  807. package/dist/server/modules/subscribers/events/event-fields-catalog.js.map +1 -1
  808. package/dist/server/modules/subscribers/services/automation-scheduler.service.d.ts +2 -13
  809. package/dist/server/modules/subscribers/services/automation-scheduler.service.js.map +1 -1
  810. package/dist/server/modules/subscribers/services/subscriber-executor.service.d.ts +9 -18
  811. package/dist/server/modules/subscribers/services/subscriber-executor.service.js +29 -24
  812. package/dist/server/modules/subscribers/services/subscriber-executor.service.js.map +1 -1
  813. package/dist/server/modules/subscribers/services/subscriber-scheduler.types.d.ts +23 -0
  814. package/dist/server/modules/subscribers/services/subscriber-scheduler.types.js +3 -0
  815. package/dist/server/modules/subscribers/services/subscriber-scheduler.types.js.map +1 -0
  816. package/dist/server/modules/subscribers/subscribers.module.js +7 -5
  817. package/dist/server/modules/subscribers/subscribers.module.js.map +1 -1
  818. package/dist/server/modules/teams/dtos/recipient-context.dto.d.ts +6 -0
  819. package/dist/server/modules/teams/dtos/recipient-context.dto.js +3 -0
  820. package/dist/server/modules/teams/dtos/recipient-context.dto.js.map +1 -0
  821. package/dist/server/modules/teams/services/teams.service.d.ts +4 -0
  822. package/dist/server/modules/teams/services/teams.service.js +68 -0
  823. package/dist/server/modules/teams/services/teams.service.js.map +1 -1
  824. package/dist/server/modules/teams/storage/teams.store.d.ts +2 -0
  825. package/dist/server/modules/teams/storage/teams.store.js +110 -167
  826. package/dist/server/modules/teams/storage/teams.store.js.map +1 -1
  827. package/dist/server/modules/teams/subscribers/team-config-updated-notifier.subscriber.d.ts +18 -0
  828. package/dist/server/modules/{events → teams}/subscribers/team-config-updated-notifier.subscriber.js +38 -43
  829. package/dist/server/modules/teams/subscribers/team-config-updated-notifier.subscriber.js.map +1 -0
  830. package/dist/server/modules/teams/subscribers/team-membership-changed-notifier.subscriber.d.ts +18 -0
  831. package/dist/server/modules/{events → teams}/subscribers/team-membership-changed-notifier.subscriber.js +29 -44
  832. package/dist/server/modules/teams/subscribers/team-membership-changed-notifier.subscriber.js.map +1 -0
  833. package/dist/server/modules/teams/teams.module.js +11 -3
  834. package/dist/server/modules/teams/teams.module.js.map +1 -1
  835. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +24 -15
  836. package/dist/server/modules/terminal/gateways/terminal.gateway.js +317 -383
  837. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
  838. package/dist/server/modules/terminal/services/guest-delivery.service.d.ts +7 -0
  839. package/dist/server/modules/terminal/services/guest-delivery.service.js +37 -0
  840. package/dist/server/modules/terminal/services/guest-delivery.service.js.map +1 -0
  841. package/dist/server/modules/terminal/services/process-executor/child-process-executor.d.ts +5 -0
  842. package/dist/server/modules/terminal/services/process-executor/child-process-executor.js +195 -0
  843. package/dist/server/modules/terminal/services/process-executor/child-process-executor.js.map +1 -0
  844. package/dist/server/modules/terminal/services/process-executor/fake-process-executor.d.ts +44 -0
  845. package/dist/server/modules/terminal/services/process-executor/fake-process-executor.js +106 -0
  846. package/dist/server/modules/terminal/services/process-executor/fake-process-executor.js.map +1 -0
  847. package/dist/server/modules/terminal/services/process-executor/process-executor.module.d.ts +2 -0
  848. package/dist/server/modules/terminal/services/process-executor/process-executor.module.js +31 -0
  849. package/dist/server/modules/terminal/services/process-executor/process-executor.module.js.map +1 -0
  850. package/dist/server/modules/terminal/services/process-executor/process-executor.port.d.ts +33 -0
  851. package/dist/server/modules/terminal/services/process-executor/process-executor.port.js +20 -0
  852. package/dist/server/modules/terminal/services/process-executor/process-executor.port.js.map +1 -0
  853. package/dist/server/modules/terminal/services/process-executor/pty-executor.d.ts +5 -0
  854. package/dist/server/modules/terminal/services/process-executor/pty-executor.js +157 -0
  855. package/dist/server/modules/terminal/services/process-executor/pty-executor.js.map +1 -0
  856. package/dist/server/modules/terminal/services/process-executor/routing-process-executor.d.ts +10 -0
  857. package/dist/server/modules/terminal/services/process-executor/routing-process-executor.js +36 -0
  858. package/dist/server/modules/terminal/services/process-executor/routing-process-executor.js.map +1 -0
  859. package/dist/server/modules/terminal/services/pty.service.d.ts +11 -14
  860. package/dist/server/modules/terminal/services/pty.service.js +43 -72
  861. package/dist/server/modules/terminal/services/pty.service.js.map +1 -1
  862. package/dist/server/modules/terminal/services/terminal-activity.service.d.ts +24 -0
  863. package/dist/server/modules/terminal/services/terminal-activity.service.js +164 -0
  864. package/dist/server/modules/terminal/services/terminal-activity.service.js.map +1 -0
  865. package/dist/server/modules/terminal/services/terminal-delivery-facade.service.d.ts +9 -0
  866. package/dist/server/modules/terminal/services/terminal-delivery-facade.service.js +47 -0
  867. package/dist/server/modules/terminal/services/terminal-delivery-facade.service.js.map +1 -0
  868. package/dist/server/modules/terminal/services/terminal-delivery.types.d.ts +10 -0
  869. package/dist/server/modules/terminal/services/terminal-delivery.types.js +3 -0
  870. package/dist/server/modules/terminal/services/terminal-delivery.types.js.map +1 -0
  871. package/dist/server/modules/terminal/services/terminal-io/capture.d.ts +6 -0
  872. package/dist/server/modules/terminal/services/terminal-io/capture.js +77 -0
  873. package/dist/server/modules/terminal/services/terminal-io/capture.js.map +1 -0
  874. package/dist/server/modules/terminal/services/terminal-io/delivery.d.ts +19 -0
  875. package/dist/server/modules/terminal/services/terminal-io/delivery.js +230 -0
  876. package/dist/server/modules/terminal/services/terminal-io/delivery.js.map +1 -0
  877. package/dist/server/modules/terminal/services/terminal-io/lifecycle.d.ts +7 -0
  878. package/dist/server/modules/terminal/services/terminal-io/lifecycle.js +87 -0
  879. package/dist/server/modules/terminal/services/terminal-io/lifecycle.js.map +1 -0
  880. package/dist/server/modules/terminal/services/terminal-io/monitoring.d.ts +4 -0
  881. package/dist/server/modules/terminal/services/terminal-io/monitoring.js +65 -0
  882. package/dist/server/modules/terminal/services/terminal-io/monitoring.js.map +1 -0
  883. package/dist/server/modules/terminal/services/terminal-io/quote-shell-arg.d.ts +1 -0
  884. package/dist/server/modules/terminal/services/terminal-io/quote-shell-arg.js +9 -0
  885. package/dist/server/modules/terminal/services/terminal-io/quote-shell-arg.js.map +1 -0
  886. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.d.ts +35 -0
  887. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js +210 -0
  888. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js.map +1 -0
  889. package/dist/server/modules/terminal/services/terminal-io/types.d.ts +42 -0
  890. package/dist/server/modules/terminal/services/terminal-io/types.js +3 -0
  891. package/dist/server/modules/terminal/services/terminal-io/types.js.map +1 -0
  892. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.d.ts +11 -0
  893. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js +63 -0
  894. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js.map +1 -0
  895. package/dist/server/modules/terminal/services/terminal-seed.service.d.ts +7 -5
  896. package/dist/server/modules/terminal/services/terminal-seed.service.js +48 -45
  897. package/dist/server/modules/terminal/services/terminal-seed.service.js.map +1 -1
  898. package/dist/server/modules/terminal/services/terminal-session/terminal-frame-stream.d.ts +11 -0
  899. package/dist/server/modules/terminal/services/terminal-session/terminal-frame-stream.js +17 -0
  900. package/dist/server/modules/terminal/services/terminal-session/terminal-frame-stream.js.map +1 -0
  901. package/dist/server/modules/terminal/services/terminal-session/terminal-session-registry.d.ts +15 -0
  902. package/dist/server/modules/terminal/services/terminal-session/terminal-session-registry.js +62 -0
  903. package/dist/server/modules/terminal/services/terminal-session/terminal-session-registry.js.map +1 -0
  904. package/dist/server/modules/terminal/services/terminal-session/terminal-session.d.ts +77 -0
  905. package/dist/server/modules/terminal/services/terminal-session/terminal-session.js +252 -0
  906. package/dist/server/modules/terminal/services/terminal-session/terminal-session.js.map +1 -0
  907. package/dist/server/modules/terminal/terminal-delivery.module.d.ts +2 -0
  908. package/dist/server/modules/terminal/terminal-delivery.module.js +26 -0
  909. package/dist/server/modules/terminal/terminal-delivery.module.js.map +1 -0
  910. package/dist/server/modules/terminal/terminal.module.js +29 -9
  911. package/dist/server/modules/terminal/terminal.module.js.map +1 -1
  912. package/dist/server/modules/terminal/utils/normalize-line-endings.d.ts +1 -0
  913. package/dist/server/modules/terminal/utils/normalize-line-endings.js +8 -0
  914. package/dist/server/modules/terminal/utils/normalize-line-endings.js.map +1 -0
  915. package/dist/server/modules/watchers/services/watcher-runner.service.d.ts +3 -3
  916. package/dist/server/modules/watchers/services/watcher-runner.service.js +20 -14
  917. package/dist/server/modules/watchers/services/watcher-runner.service.js.map +1 -1
  918. package/dist/server/modules/watchers/watchers.module.js +2 -2
  919. package/dist/server/modules/watchers/watchers.module.js.map +1 -1
  920. package/dist/server/templates/teams-dev.json +15 -14
  921. package/dist/server/tsconfig.tsbuildinfo +1 -1
  922. package/dist/server/ui/assets/{ReviewDetailPage-CoOg-QZq.js → ReviewDetailPage-D-vG55cH.js} +1 -1
  923. package/dist/server/ui/assets/ReviewsPage-GU7PX-qN.js +6 -0
  924. package/dist/server/ui/assets/index-59euy2RV.css +32 -0
  925. package/dist/server/ui/assets/index-fIGAPUv3.js +1085 -0
  926. package/dist/server/ui/assets/{useReviewSubscription-CnFCUxkN.js → useReviewSubscription-BjoztEj6.js} +22 -27
  927. package/dist/server/ui/index.html +2 -2
  928. package/dist/templates/teams-dev.json +15 -14
  929. package/package.json +15 -2
  930. package/dist/server/modules/core/services/provider-mcp-ensure.service.js +0 -307
  931. package/dist/server/modules/core/services/provider-mcp-ensure.service.js.map +0 -1
  932. package/dist/server/modules/events/events-domain.module.d.ts +0 -2
  933. package/dist/server/modules/events/events-domain.module.js.map +0 -1
  934. package/dist/server/modules/events/subscribers/chat-message-broadcaster.subscriber.js +0 -47
  935. package/dist/server/modules/events/subscribers/chat-message-broadcaster.subscriber.js.map +0 -1
  936. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.d.ts +0 -28
  937. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.js +0 -120
  938. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.js.map +0 -1
  939. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.d.ts +0 -29
  940. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.js.map +0 -1
  941. package/dist/server/modules/events/subscribers/index.d.ts +0 -2
  942. package/dist/server/modules/events/subscribers/index.js +0 -28
  943. package/dist/server/modules/events/subscribers/index.js.map +0 -1
  944. package/dist/server/modules/events/subscribers/project-state-broadcaster.subscriber.d.ts +0 -16
  945. package/dist/server/modules/events/subscribers/project-state-broadcaster.subscriber.js +0 -101
  946. package/dist/server/modules/events/subscribers/project-state-broadcaster.subscriber.js.map +0 -1
  947. package/dist/server/modules/events/subscribers/review-broadcaster.subscriber.d.ts +0 -16
  948. package/dist/server/modules/events/subscribers/review-broadcaster.subscriber.js +0 -163
  949. package/dist/server/modules/events/subscribers/review-broadcaster.subscriber.js.map +0 -1
  950. package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.d.ts +0 -24
  951. package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.js.map +0 -1
  952. package/dist/server/modules/events/subscribers/sub-epic-created-notifier.subscriber.d.ts +0 -18
  953. package/dist/server/modules/events/subscribers/sub-epic-created-notifier.subscriber.js.map +0 -1
  954. package/dist/server/modules/events/subscribers/team-config-updated-notifier.subscriber.d.ts +0 -18
  955. package/dist/server/modules/events/subscribers/team-config-updated-notifier.subscriber.js.map +0 -1
  956. package/dist/server/modules/events/subscribers/team-membership-changed-notifier.subscriber.d.ts +0 -18
  957. package/dist/server/modules/events/subscribers/team-membership-changed-notifier.subscriber.js.map +0 -1
  958. package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.d.ts +0 -12
  959. package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.js +0 -88
  960. package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.js.map +0 -1
  961. package/dist/server/modules/events/subscribers/worktree-broadcaster.subscriber.d.ts +0 -8
  962. package/dist/server/modules/events/subscribers/worktree-broadcaster.subscriber.js +0 -48
  963. package/dist/server/modules/events/subscribers/worktree-broadcaster.subscriber.js.map +0 -1
  964. package/dist/server/modules/mcp/dtos/schema-registry.d.ts +0 -7
  965. package/dist/server/modules/mcp/dtos/schema-registry.js +0 -64
  966. package/dist/server/modules/mcp/dtos/schema-registry.js.map +0 -1
  967. package/dist/server/modules/mcp/mcp.module.d.ts +0 -2
  968. package/dist/server/modules/mcp/mcp.module.js.map +0 -1
  969. package/dist/server/modules/mcp/services/mcp-provider-registration.service.d.ts +0 -64
  970. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js +0 -663
  971. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js.map +0 -1
  972. package/dist/server/modules/mcp/services/terminal-activity.service.d.ts +0 -9
  973. package/dist/server/modules/mcp/services/terminal-activity.service.js +0 -68
  974. package/dist/server/modules/mcp/services/terminal-activity.service.js.map +0 -1
  975. package/dist/server/modules/mcp/tool-definitions.d.ts +0 -3077
  976. package/dist/server/modules/mcp/tool-definitions.js +0 -913
  977. package/dist/server/modules/mcp/tool-definitions.js.map +0 -1
  978. package/dist/server/modules/registry/services/template-upgrade.service.js.map +0 -1
  979. package/dist/server/modules/sessions/services/activity-tracker.service.d.ts +0 -17
  980. package/dist/server/modules/sessions/services/activity-tracker.service.js +0 -121
  981. package/dist/server/modules/sessions/services/activity-tracker.service.js.map +0 -1
  982. package/dist/server/modules/sessions/utils/template-renderer.d.ts +0 -33
  983. package/dist/server/modules/sessions/utils/template-renderer.js +0 -44
  984. package/dist/server/modules/sessions/utils/template-renderer.js.map +0 -1
  985. package/dist/server/modules/terminal/services/confirmed-delivery.helper.d.ts +0 -17
  986. package/dist/server/modules/terminal/services/confirmed-delivery.helper.js +0 -65
  987. package/dist/server/modules/terminal/services/confirmed-delivery.helper.js.map +0 -1
  988. package/dist/server/modules/terminal/services/terminal-send-coordinator.service.d.ts +0 -5
  989. package/dist/server/modules/terminal/services/terminal-send-coordinator.service.js +0 -36
  990. package/dist/server/modules/terminal/services/terminal-send-coordinator.service.js.map +0 -1
  991. package/dist/server/modules/terminal/services/tmux.service.d.ts +0 -78
  992. package/dist/server/modules/terminal/services/tmux.service.js +0 -548
  993. package/dist/server/modules/terminal/services/tmux.service.js.map +0 -1
  994. package/dist/server/templates/5-agents-dev.json +0 -1084
  995. package/dist/server/ui/assets/ReviewsPage-DVBA6KIu.js +0 -6
  996. package/dist/server/ui/assets/index-D6-SAeCU.css +0 -32
  997. package/dist/server/ui/assets/index-DylwMbnX.js +0 -1032
  998. package/dist/templates/5-agents-dev.json +0 -1084
@@ -0,0 +1,136 @@
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.EgressQueueService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const logger_1 = require("../../../common/logging/logger");
18
+ const cloud_session_manager_service_1 = require("./cloud-session-manager.service");
19
+ const refresh_gate_service_1 = require("./refresh-gate.service");
20
+ const realtime_broadcaster_port_1 = require("../../realtime/ports/realtime-broadcaster.port");
21
+ const logger = (0, logger_1.createLogger)('EgressQueue');
22
+ const MAX_QUEUE_SIZE = 1000;
23
+ const MAX_DELIVERY_ATTEMPTS = 3;
24
+ const DRAIN_INTERVAL_MS = 100;
25
+ const BASE_BACKOFF_MS = 1000;
26
+ const NOTIFICATIONS_SERVICE_URL = process.env.NOTIFICATIONS_SERVICE_URL || 'http://localhost:3003';
27
+ let EgressQueueService = class EgressQueueService {
28
+ constructor(cloudSession, refreshGate, broadcaster) {
29
+ this.cloudSession = cloudSession;
30
+ this.refreshGate = refreshGate;
31
+ this.broadcaster = broadcaster;
32
+ this.queue = [];
33
+ this.drainTimer = null;
34
+ this.paused = false;
35
+ this.pauseBackoffMs = BASE_BACKOFF_MS;
36
+ this.drainTimer = setInterval(() => this.drainOnce(), DRAIN_INTERVAL_MS);
37
+ }
38
+ onModuleDestroy() {
39
+ if (this.drainTimer) {
40
+ clearInterval(this.drainTimer);
41
+ this.drainTimer = null;
42
+ }
43
+ }
44
+ enqueue(payload) {
45
+ if (this.queue.length >= MAX_QUEUE_SIZE) {
46
+ this.queue.shift();
47
+ logger.warn('Queue overflow — dropped oldest entry');
48
+ }
49
+ this.queue.push({ payload, attempts: 0, nextAttemptAt: Date.now() });
50
+ }
51
+ get length() {
52
+ return this.queue.length;
53
+ }
54
+ async drainOnce() {
55
+ if (this.paused || this.queue.length === 0)
56
+ return;
57
+ const now = Date.now();
58
+ const entry = this.queue[0];
59
+ if (!entry || entry.nextAttemptAt > now)
60
+ return;
61
+ const token = this.cloudSession.getAccessToken();
62
+ if (!token)
63
+ return;
64
+ try {
65
+ const response = await fetch(`${NOTIFICATIONS_SERVICE_URL}/api/v1/ingest/local-app`, {
66
+ method: 'POST',
67
+ headers: {
68
+ 'Content-Type': 'application/json',
69
+ Authorization: `Bearer ${token}`,
70
+ },
71
+ body: JSON.stringify(entry.payload),
72
+ });
73
+ if (response.ok || response.status === 409) {
74
+ this.queue.shift();
75
+ this.pauseBackoffMs = BASE_BACKOFF_MS;
76
+ return;
77
+ }
78
+ if (response.status === 401) {
79
+ await this.handle401();
80
+ return;
81
+ }
82
+ entry.attempts++;
83
+ if (entry.attempts >= MAX_DELIVERY_ATTEMPTS) {
84
+ this.queue.shift();
85
+ logger.warn({ sourceEventId: entry.payload.sourceEventId, attempts: entry.attempts }, 'Dropping event after max delivery attempts');
86
+ return;
87
+ }
88
+ entry.nextAttemptAt = now + BASE_BACKOFF_MS * Math.pow(2, entry.attempts - 1);
89
+ logger.debug({ sourceEventId: entry.payload.sourceEventId, attempt: entry.attempts }, 'Delivery failed — scheduling retry');
90
+ }
91
+ catch (error) {
92
+ entry.attempts++;
93
+ if (entry.attempts >= MAX_DELIVERY_ATTEMPTS) {
94
+ this.queue.shift();
95
+ logger.warn({ sourceEventId: entry.payload.sourceEventId, error }, 'Dropping event after network error');
96
+ return;
97
+ }
98
+ entry.nextAttemptAt = now + BASE_BACKOFF_MS * Math.pow(2, entry.attempts - 1);
99
+ }
100
+ }
101
+ async handle401() {
102
+ this.paused = true;
103
+ logger.info('401 received — initiating single-flight refresh');
104
+ const outcome = await this.refreshGate.attemptRefresh();
105
+ switch (outcome) {
106
+ case 'success':
107
+ this.paused = false;
108
+ this.pauseBackoffMs = BASE_BACKOFF_MS;
109
+ logger.info('Refresh succeeded — resuming queue');
110
+ break;
111
+ case 'transient_failure':
112
+ this.pauseBackoffMs = Math.min(this.pauseBackoffMs * 2, 30_000);
113
+ logger.warn({ backoffMs: this.pauseBackoffMs }, 'Transient refresh failure — pausing with backoff');
114
+ setTimeout(() => {
115
+ this.paused = false;
116
+ }, this.pauseBackoffMs);
117
+ break;
118
+ case 'permanent_failure':
119
+ logger.warn('Permanent refresh failure — draining queue');
120
+ this.queue = [];
121
+ this.paused = false;
122
+ this.broadcaster.broadcastEvent('cloud', 'egress_disconnected', {
123
+ reason: 'refresh_failed',
124
+ });
125
+ break;
126
+ }
127
+ }
128
+ };
129
+ exports.EgressQueueService = EgressQueueService;
130
+ exports.EgressQueueService = EgressQueueService = __decorate([
131
+ (0, common_1.Injectable)(),
132
+ __param(2, (0, common_1.Inject)(realtime_broadcaster_port_1.REALTIME_BROADCASTER)),
133
+ __metadata("design:paramtypes", [cloud_session_manager_service_1.CloudSessionManagerService,
134
+ refresh_gate_service_1.RefreshGateService, Object])
135
+ ], EgressQueueService);
136
+ //# sourceMappingURL=egress-queue.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"egress-queue.service.js","sourceRoot":"","sources":["../../../../src/modules/cloud/services/egress-queue.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
2
+ import type { CloudTokens } from '../types';
3
+ export declare class EncryptedTokenStoreService {
4
+ private readonly db;
5
+ private sqlite;
6
+ private encryptionKey;
7
+ constructor(db: BetterSQLite3Database);
8
+ private getEncryptionKey;
9
+ private getOrCreateSecret;
10
+ private encrypt;
11
+ private decrypt;
12
+ store(tokens: CloudTokens): void;
13
+ retrieve(): CloudTokens | null;
14
+ clear(): void;
15
+ }
@@ -0,0 +1,131 @@
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.EncryptedTokenStoreService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const crypto_1 = require("crypto");
18
+ const fs_1 = require("fs");
19
+ const path_1 = require("path");
20
+ const os_1 = require("os");
21
+ const better_sqlite3_1 = require("drizzle-orm/better-sqlite3");
22
+ const db_provider_1 = require("../../storage/db/db.provider");
23
+ const sqlite_raw_1 = require("../../storage/db/sqlite-raw");
24
+ const logger_1 = require("../../../common/logging/logger");
25
+ const logger = (0, logger_1.createLogger)('EncryptedTokenStore');
26
+ const APP_SALT = Buffer.from('devchain-cloud-token-store-v1-salt', 'utf8');
27
+ const SETTINGS_KEY = 'cloud.tokens.encrypted';
28
+ const SECRET_DIR = (0, path_1.join)((0, os_1.homedir)(), '.devchain', 'cloud');
29
+ const SECRET_FILE = (0, path_1.join)(SECRET_DIR, 'secret.key');
30
+ const SECRET_LENGTH = 32;
31
+ const KEY_LENGTH = 32;
32
+ const IV_LENGTH = 12;
33
+ const AUTH_TAG_LENGTH = 16;
34
+ const SCRYPT_COST = 16384;
35
+ const SCRYPT_BLOCK_SIZE = 8;
36
+ const SCRYPT_PARALLELIZATION = 1;
37
+ let EncryptedTokenStoreService = class EncryptedTokenStoreService {
38
+ constructor(db) {
39
+ this.db = db;
40
+ this.encryptionKey = null;
41
+ this.sqlite = (0, sqlite_raw_1.getRawSqliteClient)(this.db);
42
+ }
43
+ getEncryptionKey() {
44
+ if (this.encryptionKey) {
45
+ return this.encryptionKey;
46
+ }
47
+ const secret = this.getOrCreateSecret();
48
+ const machineComponent = Buffer.from(`${(0, os_1.hostname)()}:${(0, os_1.userInfo)().username}`, 'utf8');
49
+ const password = Buffer.concat([secret, machineComponent]);
50
+ this.encryptionKey = (0, crypto_1.scryptSync)(password, APP_SALT, KEY_LENGTH, {
51
+ N: SCRYPT_COST,
52
+ r: SCRYPT_BLOCK_SIZE,
53
+ p: SCRYPT_PARALLELIZATION,
54
+ });
55
+ return this.encryptionKey;
56
+ }
57
+ getOrCreateSecret() {
58
+ if ((0, fs_1.existsSync)(SECRET_FILE)) {
59
+ return (0, fs_1.readFileSync)(SECRET_FILE);
60
+ }
61
+ if (!(0, fs_1.existsSync)(SECRET_DIR)) {
62
+ (0, fs_1.mkdirSync)(SECRET_DIR, { recursive: true, mode: 0o700 });
63
+ }
64
+ const secret = (0, crypto_1.randomBytes)(SECRET_LENGTH);
65
+ (0, fs_1.writeFileSync)(SECRET_FILE, secret, { mode: 0o600 });
66
+ (0, fs_1.chmodSync)(SECRET_FILE, 0o600);
67
+ logger.info('Created new cloud token encryption secret');
68
+ return secret;
69
+ }
70
+ encrypt(plaintext) {
71
+ const key = this.getEncryptionKey();
72
+ const iv = (0, crypto_1.randomBytes)(IV_LENGTH);
73
+ const cipher = (0, crypto_1.createCipheriv)('aes-256-gcm', key, iv, {
74
+ authTagLength: AUTH_TAG_LENGTH,
75
+ });
76
+ const encrypted = Buffer.concat([cipher.update(plaintext, 'utf8'), cipher.final()]);
77
+ const authTag = cipher.getAuthTag();
78
+ return Buffer.concat([iv, authTag, encrypted]).toString('base64');
79
+ }
80
+ decrypt(ciphertext) {
81
+ const key = this.getEncryptionKey();
82
+ const data = Buffer.from(ciphertext, 'base64');
83
+ const iv = data.subarray(0, IV_LENGTH);
84
+ const authTag = data.subarray(IV_LENGTH, IV_LENGTH + AUTH_TAG_LENGTH);
85
+ const encrypted = data.subarray(IV_LENGTH + AUTH_TAG_LENGTH);
86
+ const decipher = (0, crypto_1.createDecipheriv)('aes-256-gcm', key, iv, {
87
+ authTagLength: AUTH_TAG_LENGTH,
88
+ });
89
+ decipher.setAuthTag(authTag);
90
+ return decipher.update(encrypted) + decipher.final('utf8');
91
+ }
92
+ store(tokens) {
93
+ const plaintext = JSON.stringify(tokens);
94
+ const encrypted = this.encrypt(plaintext);
95
+ const now = new Date().toISOString();
96
+ this.sqlite
97
+ .prepare(`INSERT INTO settings (id, key, value, created_at, updated_at)
98
+ VALUES (lower(hex(randomblob(16))), ?, ?, ?, ?)
99
+ ON CONFLICT(key) DO UPDATE SET value = excluded.value, updated_at = excluded.updated_at`)
100
+ .run(SETTINGS_KEY, encrypted, now, now);
101
+ logger.info({ userId: tokens.userId }, 'Cloud tokens stored');
102
+ }
103
+ retrieve() {
104
+ const row = this.sqlite
105
+ .prepare('SELECT value FROM settings WHERE key = ?')
106
+ .get(SETTINGS_KEY);
107
+ if (!row) {
108
+ return null;
109
+ }
110
+ try {
111
+ const plaintext = this.decrypt(row.value);
112
+ return JSON.parse(plaintext);
113
+ }
114
+ catch (error) {
115
+ logger.warn({ error }, 'Failed to decrypt cloud tokens — clearing stale data');
116
+ this.clear();
117
+ return null;
118
+ }
119
+ }
120
+ clear() {
121
+ this.sqlite.prepare('DELETE FROM settings WHERE key = ?').run(SETTINGS_KEY);
122
+ logger.info('Cloud tokens cleared');
123
+ }
124
+ };
125
+ exports.EncryptedTokenStoreService = EncryptedTokenStoreService;
126
+ exports.EncryptedTokenStoreService = EncryptedTokenStoreService = __decorate([
127
+ (0, common_1.Injectable)(),
128
+ __param(0, (0, common_1.Inject)(db_provider_1.DB_CONNECTION)),
129
+ __metadata("design:paramtypes", [better_sqlite3_1.BetterSQLite3Database])
130
+ ], EncryptedTokenStoreService);
131
+ //# sourceMappingURL=encrypted-token-store.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encrypted-token-store.service.js","sourceRoot":"","sources":["../../../../src/modules/cloud/services/encrypted-token-store.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { EpicCreatedEventPayload } from '../../events/catalog/epic.created';
2
+ import type { EpicDeletedEventPayload } from '../../events/catalog/epic.deleted';
3
+ import type { EpicUpdatedEventPayload } from '../../events/catalog/epic.updated';
4
+ import type { EpicCommentCreatedEventPayload } from '../../events/catalog/epic.comment.created';
5
+ import type { SessionCrashedEventPayload } from '../../events/catalog/session.crashed';
6
+ import type { SessionStoppedEventPayload } from '../../events/catalog/session.stopped';
7
+ export interface IngestPayload {
8
+ source: 'workflow';
9
+ sourceEventId: string;
10
+ sourceEventType: string;
11
+ forwardingUserId: string;
12
+ recipientMode: 'self';
13
+ recipientHints: never[];
14
+ occurredAt: string;
15
+ payload: Record<string, unknown>;
16
+ projectId: string | null;
17
+ orgId: null;
18
+ }
19
+ type AllowlistedEvent = {
20
+ name: 'epic.created';
21
+ payload: EpicCreatedEventPayload;
22
+ } | {
23
+ name: 'epic.updated';
24
+ payload: EpicUpdatedEventPayload;
25
+ } | {
26
+ name: 'epic.deleted';
27
+ payload: EpicDeletedEventPayload;
28
+ } | {
29
+ name: 'epic.comment.created';
30
+ payload: EpicCommentCreatedEventPayload;
31
+ } | {
32
+ name: 'session.crashed';
33
+ payload: SessionCrashedEventPayload;
34
+ } | {
35
+ name: 'session.stopped';
36
+ payload: SessionStoppedEventPayload;
37
+ };
38
+ export declare class EventMapperService {
39
+ mapToIngestPayload(event: AllowlistedEvent, sourceEventId: string, forwardingUserId: string): IngestPayload;
40
+ private extractProjectId;
41
+ }
42
+ export {};
@@ -0,0 +1,44 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.EventMapperService = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ let EventMapperService = class EventMapperService {
12
+ mapToIngestPayload(event, sourceEventId, forwardingUserId) {
13
+ const projectId = this.extractProjectId(event);
14
+ return {
15
+ source: 'workflow',
16
+ sourceEventId,
17
+ sourceEventType: event.name,
18
+ forwardingUserId,
19
+ recipientMode: 'self',
20
+ recipientHints: [],
21
+ occurredAt: new Date().toISOString(),
22
+ payload: event.payload,
23
+ projectId,
24
+ orgId: null,
25
+ };
26
+ }
27
+ extractProjectId(event) {
28
+ switch (event.name) {
29
+ case 'epic.created':
30
+ case 'epic.updated':
31
+ case 'epic.deleted':
32
+ case 'epic.comment.created':
33
+ return event.payload.projectId;
34
+ case 'session.crashed':
35
+ case 'session.stopped':
36
+ return null;
37
+ }
38
+ }
39
+ };
40
+ exports.EventMapperService = EventMapperService;
41
+ exports.EventMapperService = EventMapperService = __decorate([
42
+ (0, common_1.Injectable)()
43
+ ], EventMapperService);
44
+ //# sourceMappingURL=event-mapper.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-mapper.service.js","sourceRoot":"","sources":["../../../../src/modules/cloud/services/event-mapper.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AA8BrC,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,kBAAkB,CAChB,KAAuB,EACvB,aAAqB,EACrB,gBAAwB;QAExB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAE/C,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,aAAa;YACb,eAAe,EAAE,KAAK,CAAC,IAAI;YAC3B,gBAAgB;YAChB,aAAa,EAAE,MAAM;YACrB,cAAc,EAAE,EAAE;YAClB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,OAAO,EAAE,KAAK,CAAC,OAA6C;YAC5D,SAAS;YACT,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,KAAuB;QAC9C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,cAAc,CAAC;YACpB,KAAK,cAAc,CAAC;YACpB,KAAK,cAAc,CAAC;YACpB,KAAK,sBAAsB;gBACzB,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YACjC,KAAK,iBAAiB,CAAC;YACvB,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;CACF,CAAA;AAlCY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;GACA,kBAAkB,CAkC9B"}
@@ -0,0 +1,21 @@
1
+ import { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
2
+ import type { SessionActivityChangedEventPayload } from '../../events/catalog/session.activity.changed';
3
+ import { CloudSessionManagerService } from './cloud-session-manager.service';
4
+ import { RefreshGateService } from './refresh-gate.service';
5
+ interface TouchProjectOptions {
6
+ respectThrottle?: boolean;
7
+ }
8
+ export declare class ProjectActivityReporterService {
9
+ private readonly cloudSession;
10
+ private readonly refreshGate;
11
+ private readonly sqlite;
12
+ private readonly lastTouchedByProjectId;
13
+ constructor(db: BetterSQLite3Database, cloudSession: CloudSessionManagerService, refreshGate: RefreshGateService);
14
+ onSessionActivityChanged(payload: SessionActivityChangedEventPayload): Promise<void>;
15
+ touchProject(projectId: string, options?: TouchProjectOptions): Promise<null>;
16
+ private resolveSessionProjectId;
17
+ private isThrottled;
18
+ private forwardUpstream;
19
+ private callUpstream;
20
+ }
21
+ export {};
@@ -0,0 +1,138 @@
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.ProjectActivityReporterService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const event_emitter_1 = require("@nestjs/event-emitter");
18
+ const better_sqlite3_1 = require("drizzle-orm/better-sqlite3");
19
+ const logger_1 = require("../../../common/logging/logger");
20
+ const db_provider_1 = require("../../storage/db/db.provider");
21
+ const sqlite_raw_1 = require("../../storage/db/sqlite-raw");
22
+ const cloud_session_manager_service_1 = require("./cloud-session-manager.service");
23
+ const refresh_gate_service_1 = require("./refresh-gate.service");
24
+ const PROJECT_ACTIVITY_THROTTLE_MS = 60_000;
25
+ const logger = (0, logger_1.createLogger)('ProjectActivityReporter');
26
+ let ProjectActivityReporterService = class ProjectActivityReporterService {
27
+ constructor(db, cloudSession, refreshGate) {
28
+ this.cloudSession = cloudSession;
29
+ this.refreshGate = refreshGate;
30
+ this.lastTouchedByProjectId = new Map();
31
+ this.sqlite = (0, sqlite_raw_1.getRawSqliteClient)(db);
32
+ }
33
+ async onSessionActivityChanged(payload) {
34
+ if (payload.state !== 'busy')
35
+ return;
36
+ const projectId = this.resolveSessionProjectId(payload.sessionId);
37
+ if (!projectId)
38
+ return;
39
+ try {
40
+ await this.touchProject(projectId);
41
+ }
42
+ catch (error) {
43
+ logger.debug({ error, projectId, sessionId: payload.sessionId }, 'Activity touch failed');
44
+ }
45
+ }
46
+ async touchProject(projectId, options = {}) {
47
+ const normalizedProjectId = projectId.trim();
48
+ if (!normalizedProjectId) {
49
+ throw new common_1.HttpException('Project id is required', common_1.HttpStatus.BAD_REQUEST);
50
+ }
51
+ const respectThrottle = options.respectThrottle ?? true;
52
+ if (respectThrottle && this.isThrottled(normalizedProjectId)) {
53
+ return null;
54
+ }
55
+ if (respectThrottle) {
56
+ this.lastTouchedByProjectId.set(normalizedProjectId, Date.now());
57
+ }
58
+ return this.forwardUpstream('POST', `/api/v1/activity/projects/${encodeURIComponent(normalizedProjectId)}/touch`);
59
+ }
60
+ resolveSessionProjectId(sessionId) {
61
+ const row = this.sqlite
62
+ .prepare(`SELECT agents.project_id AS projectId
63
+ FROM sessions
64
+ JOIN agents ON agents.id = sessions.agent_id
65
+ WHERE sessions.id = ?`)
66
+ .get(sessionId);
67
+ return row?.projectId ?? null;
68
+ }
69
+ isThrottled(projectId) {
70
+ const lastTouchedAt = this.lastTouchedByProjectId.get(projectId);
71
+ return lastTouchedAt !== undefined && Date.now() - lastTouchedAt < PROJECT_ACTIVITY_THROTTLE_MS;
72
+ }
73
+ async forwardUpstream(method, path, body) {
74
+ const status = this.cloudSession.getStatus();
75
+ if (!status.connected)
76
+ throw new common_1.UnauthorizedException('Cloud is not connected');
77
+ return this.callUpstream(method, path, body, this.cloudSession.getAccessToken());
78
+ }
79
+ async callUpstream(method, path, body, token) {
80
+ if (!token)
81
+ throw new common_1.UnauthorizedException('No access token');
82
+ const baseUrl = process.env.NOTIFICATIONS_SERVICE_URL ?? 'http://localhost:3003';
83
+ const hasBody = body !== undefined;
84
+ const headers = {
85
+ Authorization: `Bearer ${token}`,
86
+ ...(hasBody ? { 'Content-Type': 'application/json' } : {}),
87
+ };
88
+ const init = {
89
+ method,
90
+ headers,
91
+ ...(hasBody ? { body: JSON.stringify(body) } : {}),
92
+ };
93
+ const res = await fetch(`${baseUrl}${path}`, init);
94
+ if (res.status === 401) {
95
+ const outcome = await this.refreshGate.attemptRefresh();
96
+ if (outcome === 'success') {
97
+ const refreshed = this.cloudSession.getAccessToken();
98
+ if (!refreshed)
99
+ throw new common_1.UnauthorizedException('Refresh succeeded but no token');
100
+ const retryHeaders = {
101
+ Authorization: `Bearer ${refreshed}`,
102
+ ...(hasBody ? { 'Content-Type': 'application/json' } : {}),
103
+ };
104
+ const retry = await fetch(`${baseUrl}${path}`, { ...init, headers: retryHeaders });
105
+ if (!retry.ok)
106
+ throw new common_1.HttpException(await safeText(retry), retry.status);
107
+ return null;
108
+ }
109
+ throw new common_1.UnauthorizedException('Cloud session expired');
110
+ }
111
+ if (!res.ok)
112
+ throw new common_1.HttpException(await safeText(res), res.status);
113
+ return null;
114
+ }
115
+ };
116
+ exports.ProjectActivityReporterService = ProjectActivityReporterService;
117
+ __decorate([
118
+ (0, event_emitter_1.OnEvent)('session.activity.changed', { async: true }),
119
+ __metadata("design:type", Function),
120
+ __metadata("design:paramtypes", [Object]),
121
+ __metadata("design:returntype", Promise)
122
+ ], ProjectActivityReporterService.prototype, "onSessionActivityChanged", null);
123
+ exports.ProjectActivityReporterService = ProjectActivityReporterService = __decorate([
124
+ (0, common_1.Injectable)(),
125
+ __param(0, (0, common_1.Inject)(db_provider_1.DB_CONNECTION)),
126
+ __metadata("design:paramtypes", [better_sqlite3_1.BetterSQLite3Database,
127
+ cloud_session_manager_service_1.CloudSessionManagerService,
128
+ refresh_gate_service_1.RefreshGateService])
129
+ ], ProjectActivityReporterService);
130
+ async function safeText(res) {
131
+ try {
132
+ return await res.text();
133
+ }
134
+ catch {
135
+ return '';
136
+ }
137
+ }
138
+ //# sourceMappingURL=project-activity-reporter.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-activity-reporter.service.js","sourceRoot":"","sources":["../../../../src/modules/cloud/services/project-activity-reporter.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
2
+ export declare class ProjectEgressConfigService {
3
+ private readonly db;
4
+ private sqlite;
5
+ private cache;
6
+ constructor(db: BetterSQLite3Database);
7
+ isEnabled(projectId: string): boolean;
8
+ hasAnyEnabled(): boolean;
9
+ setEnabled(projectId: string, enabled: boolean): void;
10
+ getAll(): Record<string, boolean>;
11
+ private getMap;
12
+ private persist;
13
+ }