devchain-cli 0.1.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 (380) hide show
  1. package/LICENSE +53 -0
  2. package/README.md +74 -0
  3. package/dist/cli.js +782 -0
  4. package/dist/drizzle/0000_flippant_the_spike.sql +220 -0
  5. package/dist/drizzle/0001_shiny_snowbird.sql +7 -0
  6. package/dist/drizzle/0002_high_zemo.sql +19 -0
  7. package/dist/drizzle/0003_noisy_scarecrow.sql +21 -0
  8. package/dist/drizzle/0004_mcp_metadata.sql +5 -0
  9. package/dist/drizzle/0005_agent_profile_instructions.sql +3 -0
  10. package/dist/drizzle/0006_wakeful_marvex.sql +15 -0
  11. package/dist/drizzle/0007_agent_profile_options.sql +7 -0
  12. package/dist/drizzle/0008_event_logs.sql +31 -0
  13. package/dist/drizzle/0009_chat_tables.sql +42 -0
  14. package/dist/drizzle/0010_amazing_the_initiative.sql +11 -0
  15. package/dist/drizzle/0011_curved_payback.sql +16 -0
  16. package/dist/drizzle/0012_terminal_activity.sql +8 -0
  17. package/dist/drizzle/0013_chat_activities.sql +18 -0
  18. package/dist/drizzle/0014_chat_activities_start_msg_nullable.sql +5 -0
  19. package/dist/drizzle/0015_projects_is_template.sql +4 -0
  20. package/dist/drizzle/0016_agent_profiles_project_scoped.sql +4 -0
  21. package/dist/drizzle/meta/0000_snapshot.json +1388 -0
  22. package/dist/drizzle/meta/0001_snapshot.json +1434 -0
  23. package/dist/drizzle/meta/0002_snapshot.json +1434 -0
  24. package/dist/drizzle/meta/0003_snapshot.json +1583 -0
  25. package/dist/drizzle/meta/0004_snapshot.json +1605 -0
  26. package/dist/drizzle/meta/0005_snapshot.json +1612 -0
  27. package/dist/drizzle/meta/0006_snapshot.json +1742 -0
  28. package/dist/drizzle/meta/0007_snapshot.json +1742 -0
  29. package/dist/drizzle/meta/0008_snapshot.json +1897 -0
  30. package/dist/drizzle/meta/0009_snapshot.json +2202 -0
  31. package/dist/drizzle/meta/0010_snapshot.json +2283 -0
  32. package/dist/drizzle/meta/0011_snapshot.json +2407 -0
  33. package/dist/drizzle/meta/_journal.json +125 -0
  34. package/dist/lib/interactive-cli.js +279 -0
  35. package/dist/server/app.module.d.ts +4 -0
  36. package/dist/server/app.module.js +64 -0
  37. package/dist/server/app.module.js.map +1 -0
  38. package/dist/server/common/config/env.config.d.ts +23 -0
  39. package/dist/server/common/config/env.config.js +60 -0
  40. package/dist/server/common/config/env.config.js.map +1 -0
  41. package/dist/server/common/config/feature-flags.d.ts +5 -0
  42. package/dist/server/common/config/feature-flags.js +8 -0
  43. package/dist/server/common/config/feature-flags.js.map +1 -0
  44. package/dist/server/common/errors/error-types.d.ts +30 -0
  45. package/dist/server/common/errors/error-types.js +63 -0
  46. package/dist/server/common/errors/error-types.js.map +1 -0
  47. package/dist/server/common/filters/http-exception.filter.d.ts +4 -0
  48. package/dist/server/common/filters/http-exception.filter.js +72 -0
  49. package/dist/server/common/filters/http-exception.filter.js.map +1 -0
  50. package/dist/server/common/filters/ws-exception.filter.d.ts +5 -0
  51. package/dist/server/common/filters/ws-exception.filter.js +102 -0
  52. package/dist/server/common/filters/ws-exception.filter.js.map +1 -0
  53. package/dist/server/common/logging/logger.d.ts +3 -0
  54. package/dist/server/common/logging/logger.js +29 -0
  55. package/dist/server/common/logging/logger.js.map +1 -0
  56. package/dist/server/common/middleware/request-id.middleware.d.ts +12 -0
  57. package/dist/server/common/middleware/request-id.middleware.js +24 -0
  58. package/dist/server/common/middleware/request-id.middleware.js.map +1 -0
  59. package/dist/server/main.d.ts +1 -0
  60. package/dist/server/main.js +94 -0
  61. package/dist/server/main.js.map +1 -0
  62. package/dist/server/modules/agents/agents.module.d.ts +2 -0
  63. package/dist/server/modules/agents/agents.module.js +22 -0
  64. package/dist/server/modules/agents/agents.module.js.map +1 -0
  65. package/dist/server/modules/agents/controllers/agents.controller.d.ts +12 -0
  66. package/dist/server/modules/agents/controllers/agents.controller.js +115 -0
  67. package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -0
  68. package/dist/server/modules/chat/chat.module.d.ts +2 -0
  69. package/dist/server/modules/chat/chat.module.js +28 -0
  70. package/dist/server/modules/chat/chat.module.js.map +1 -0
  71. package/dist/server/modules/chat/controllers/chat-settings.controller.d.ts +8 -0
  72. package/dist/server/modules/chat/controllers/chat-settings.controller.js +66 -0
  73. package/dist/server/modules/chat/controllers/chat-settings.controller.js.map +1 -0
  74. package/dist/server/modules/chat/controllers/chat.controller.d.ts +15 -0
  75. package/dist/server/modules/chat/controllers/chat.controller.js +152 -0
  76. package/dist/server/modules/chat/controllers/chat.controller.js.map +1 -0
  77. package/dist/server/modules/chat/dtos/chat-settings.dto.d.ts +31 -0
  78. package/dist/server/modules/chat/dtos/chat-settings.dto.js +17 -0
  79. package/dist/server/modules/chat/dtos/chat-settings.dto.js.map +1 -0
  80. package/dist/server/modules/chat/dtos/chat.dto.d.ts +309 -0
  81. package/dist/server/modules/chat/dtos/chat.dto.js +80 -0
  82. package/dist/server/modules/chat/dtos/chat.dto.js.map +1 -0
  83. package/dist/server/modules/chat/services/chat-settings.service.d.ts +12 -0
  84. package/dist/server/modules/chat/services/chat-settings.service.js +120 -0
  85. package/dist/server/modules/chat/services/chat-settings.service.js.map +1 -0
  86. package/dist/server/modules/chat/services/chat.service.d.ts +45 -0
  87. package/dist/server/modules/chat/services/chat.service.js +730 -0
  88. package/dist/server/modules/chat/services/chat.service.js.map +1 -0
  89. package/dist/server/modules/chat/services/invite-template.util.d.ts +17 -0
  90. package/dist/server/modules/chat/services/invite-template.util.js +70 -0
  91. package/dist/server/modules/chat/services/invite-template.util.js.map +1 -0
  92. package/dist/server/modules/core/controllers/health.controller.d.ts +7 -0
  93. package/dist/server/modules/core/controllers/health.controller.js +39 -0
  94. package/dist/server/modules/core/controllers/health.controller.js.map +1 -0
  95. package/dist/server/modules/core/controllers/preflight.controller.d.ts +10 -0
  96. package/dist/server/modules/core/controllers/preflight.controller.js +58 -0
  97. package/dist/server/modules/core/controllers/preflight.controller.js.map +1 -0
  98. package/dist/server/modules/core/core.module.d.ts +2 -0
  99. package/dist/server/modules/core/core.module.js +27 -0
  100. package/dist/server/modules/core/core.module.js.map +1 -0
  101. package/dist/server/modules/core/services/preflight.service.d.ts +44 -0
  102. package/dist/server/modules/core/services/preflight.service.js +400 -0
  103. package/dist/server/modules/core/services/preflight.service.js.map +1 -0
  104. package/dist/server/modules/documents/controllers/documents.controller.d.ts +12 -0
  105. package/dist/server/modules/documents/controllers/documents.controller.js +173 -0
  106. package/dist/server/modules/documents/controllers/documents.controller.js.map +1 -0
  107. package/dist/server/modules/documents/documents.module.d.ts +2 -0
  108. package/dist/server/modules/documents/documents.module.js +22 -0
  109. package/dist/server/modules/documents/documents.module.js.map +1 -0
  110. package/dist/server/modules/epics/controllers/epic-comments.controller.d.ts +10 -0
  111. package/dist/server/modules/epics/controllers/epic-comments.controller.js +94 -0
  112. package/dist/server/modules/epics/controllers/epic-comments.controller.js.map +1 -0
  113. package/dist/server/modules/epics/controllers/epics.controller.d.ts +16 -0
  114. package/dist/server/modules/epics/controllers/epics.controller.js +201 -0
  115. package/dist/server/modules/epics/controllers/epics.controller.js.map +1 -0
  116. package/dist/server/modules/epics/epics.module.d.ts +2 -0
  117. package/dist/server/modules/epics/epics.module.js +28 -0
  118. package/dist/server/modules/epics/epics.module.js.map +1 -0
  119. package/dist/server/modules/epics/services/epics.service.d.ts +34 -0
  120. package/dist/server/modules/epics/services/epics.service.js +251 -0
  121. package/dist/server/modules/epics/services/epics.service.js.map +1 -0
  122. package/dist/server/modules/events/catalog/epic.assigned.d.ts +36 -0
  123. package/dist/server/modules/events/catalog/epic.assigned.js +19 -0
  124. package/dist/server/modules/events/catalog/epic.assigned.js.map +1 -0
  125. package/dist/server/modules/events/catalog/index.d.ts +71 -0
  126. package/dist/server/modules/events/catalog/index.js +15 -0
  127. package/dist/server/modules/events/catalog/index.js.map +1 -0
  128. package/dist/server/modules/events/catalog/session.crashed.d.ts +15 -0
  129. package/dist/server/modules/events/catalog/session.crashed.js +12 -0
  130. package/dist/server/modules/events/catalog/session.crashed.js.map +1 -0
  131. package/dist/server/modules/events/catalog/session.started.d.ts +21 -0
  132. package/dist/server/modules/events/catalog/session.started.js +14 -0
  133. package/dist/server/modules/events/catalog/session.started.js.map +1 -0
  134. package/dist/server/modules/events/catalog/session.stopped.d.ts +12 -0
  135. package/dist/server/modules/events/catalog/session.stopped.js +11 -0
  136. package/dist/server/modules/events/catalog/session.stopped.js.map +1 -0
  137. package/dist/server/modules/events/controllers/event-log.controller.d.ts +7 -0
  138. package/dist/server/modules/events/controllers/event-log.controller.js +75 -0
  139. package/dist/server/modules/events/controllers/event-log.controller.js.map +1 -0
  140. package/dist/server/modules/events/dtos/event-log.dto.d.ts +33 -0
  141. package/dist/server/modules/events/dtos/event-log.dto.js +3 -0
  142. package/dist/server/modules/events/dtos/event-log.dto.js.map +1 -0
  143. package/dist/server/modules/events/events.module.d.ts +2 -0
  144. package/dist/server/modules/events/events.module.js +45 -0
  145. package/dist/server/modules/events/events.module.js.map +1 -0
  146. package/dist/server/modules/events/index.d.ts +6 -0
  147. package/dist/server/modules/events/index.js +23 -0
  148. package/dist/server/modules/events/index.js.map +1 -0
  149. package/dist/server/modules/events/services/event-log.service.d.ts +38 -0
  150. package/dist/server/modules/events/services/event-log.service.js +272 -0
  151. package/dist/server/modules/events/services/event-log.service.js.map +1 -0
  152. package/dist/server/modules/events/services/events-stream.service.d.ts +23 -0
  153. package/dist/server/modules/events/services/events-stream.service.js +45 -0
  154. package/dist/server/modules/events/services/events-stream.service.js.map +1 -0
  155. package/dist/server/modules/events/services/events.service.d.ts +14 -0
  156. package/dist/server/modules/events/services/events.service.js +65 -0
  157. package/dist/server/modules/events/services/events.service.js.map +1 -0
  158. package/dist/server/modules/events/subscribers/chat-message-broadcaster.subscriber.d.ts +20 -0
  159. package/dist/server/modules/events/subscribers/chat-message-broadcaster.subscriber.js +47 -0
  160. package/dist/server/modules/events/subscribers/chat-message-broadcaster.subscriber.js.map +1 -0
  161. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.d.ts +24 -0
  162. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.js +81 -0
  163. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.js.map +1 -0
  164. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.d.ts +25 -0
  165. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.js +223 -0
  166. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.js.map +1 -0
  167. package/dist/server/modules/events/subscribers/index.d.ts +2 -0
  168. package/dist/server/modules/events/subscribers/index.js +12 -0
  169. package/dist/server/modules/events/subscribers/index.js.map +1 -0
  170. package/dist/server/modules/fs/fs.controller.d.ts +18 -0
  171. package/dist/server/modules/fs/fs.controller.js +56 -0
  172. package/dist/server/modules/fs/fs.controller.js.map +1 -0
  173. package/dist/server/modules/fs/fs.module.d.ts +2 -0
  174. package/dist/server/modules/fs/fs.module.js +20 -0
  175. package/dist/server/modules/fs/fs.module.js.map +1 -0
  176. package/dist/server/modules/mcp/constants.d.ts +9 -0
  177. package/dist/server/modules/mcp/constants.js +38 -0
  178. package/dist/server/modules/mcp/constants.js.map +1 -0
  179. package/dist/server/modules/mcp/controllers/mcp-http.controller.d.ts +16 -0
  180. package/dist/server/modules/mcp/controllers/mcp-http.controller.js +790 -0
  181. package/dist/server/modules/mcp/controllers/mcp-http.controller.js.map +1 -0
  182. package/dist/server/modules/mcp/controllers/mcp-sdk.controller.d.ts +12 -0
  183. package/dist/server/modules/mcp/controllers/mcp-sdk.controller.js +676 -0
  184. package/dist/server/modules/mcp/controllers/mcp-sdk.controller.js.map +1 -0
  185. package/dist/server/modules/mcp/controllers/mcp-test.controller.d.ts +50 -0
  186. package/dist/server/modules/mcp/controllers/mcp-test.controller.js +115 -0
  187. package/dist/server/modules/mcp/controllers/mcp-test.controller.js.map +1 -0
  188. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +1094 -0
  189. package/dist/server/modules/mcp/dtos/mcp.dto.js +257 -0
  190. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -0
  191. package/dist/server/modules/mcp/gateways/mcp.gateway.d.ts +21 -0
  192. package/dist/server/modules/mcp/gateways/mcp.gateway.js +141 -0
  193. package/dist/server/modules/mcp/gateways/mcp.gateway.js.map +1 -0
  194. package/dist/server/modules/mcp/mcp.module.d.ts +2 -0
  195. package/dist/server/modules/mcp/mcp.module.js +83 -0
  196. package/dist/server/modules/mcp/mcp.module.js.map +1 -0
  197. package/dist/server/modules/mcp/services/instructions-resolver.d.ts +24 -0
  198. package/dist/server/modules/mcp/services/instructions-resolver.js +203 -0
  199. package/dist/server/modules/mcp/services/instructions-resolver.js.map +1 -0
  200. package/dist/server/modules/mcp/services/mcp-provider-registration.service.d.ts +52 -0
  201. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js +327 -0
  202. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js.map +1 -0
  203. package/dist/server/modules/mcp/services/mcp-server.service.d.ts +6 -0
  204. package/dist/server/modules/mcp/services/mcp-server.service.js +26 -0
  205. package/dist/server/modules/mcp/services/mcp-server.service.js.map +1 -0
  206. package/dist/server/modules/mcp/services/mcp.service.d.ts +69 -0
  207. package/dist/server/modules/mcp/services/mcp.service.js +2056 -0
  208. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -0
  209. package/dist/server/modules/mcp/services/terminal-activity.service.d.ts +9 -0
  210. package/dist/server/modules/mcp/services/terminal-activity.service.js +51 -0
  211. package/dist/server/modules/mcp/services/terminal-activity.service.js.map +1 -0
  212. package/dist/server/modules/profiles/controllers/profiles.controller.d.ts +45 -0
  213. package/dist/server/modules/profiles/controllers/profiles.controller.js +188 -0
  214. package/dist/server/modules/profiles/controllers/profiles.controller.js.map +1 -0
  215. package/dist/server/modules/profiles/dto.d.ts +75 -0
  216. package/dist/server/modules/profiles/dto.js +24 -0
  217. package/dist/server/modules/profiles/dto.js.map +1 -0
  218. package/dist/server/modules/profiles/profiles.module.d.ts +2 -0
  219. package/dist/server/modules/profiles/profiles.module.js +22 -0
  220. package/dist/server/modules/profiles/profiles.module.js.map +1 -0
  221. package/dist/server/modules/projects/controllers/projects.controller.d.ts +131 -0
  222. package/dist/server/modules/projects/controllers/projects.controller.js +196 -0
  223. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -0
  224. package/dist/server/modules/projects/projects.module.d.ts +2 -0
  225. package/dist/server/modules/projects/projects.module.js +26 -0
  226. package/dist/server/modules/projects/projects.module.js.map +1 -0
  227. package/dist/server/modules/projects/services/projects.service.d.ts +138 -0
  228. package/dist/server/modules/projects/services/projects.service.js +564 -0
  229. package/dist/server/modules/projects/services/projects.service.js.map +1 -0
  230. package/dist/server/modules/prompts/controllers/prompts.controller.d.ts +11 -0
  231. package/dist/server/modules/prompts/controllers/prompts.controller.js +112 -0
  232. package/dist/server/modules/prompts/controllers/prompts.controller.js.map +1 -0
  233. package/dist/server/modules/prompts/prompts.module.d.ts +2 -0
  234. package/dist/server/modules/prompts/prompts.module.js +22 -0
  235. package/dist/server/modules/prompts/prompts.module.js.map +1 -0
  236. package/dist/server/modules/providers/adapters/claude.adapter.d.ts +9 -0
  237. package/dist/server/modules/providers/adapters/claude.adapter.js +46 -0
  238. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -0
  239. package/dist/server/modules/providers/adapters/codex.adapter.d.ts +9 -0
  240. package/dist/server/modules/providers/adapters/codex.adapter.js +46 -0
  241. package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -0
  242. package/dist/server/modules/providers/adapters/index.d.ts +4 -0
  243. package/dist/server/modules/providers/adapters/index.js +21 -0
  244. package/dist/server/modules/providers/adapters/index.js.map +1 -0
  245. package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +8 -0
  246. package/dist/server/modules/providers/adapters/provider-adapter.factory.js +42 -0
  247. package/dist/server/modules/providers/adapters/provider-adapter.factory.js.map +1 -0
  248. package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +18 -0
  249. package/dist/server/modules/providers/adapters/provider-adapter.interface.js +3 -0
  250. package/dist/server/modules/providers/adapters/provider-adapter.interface.js.map +1 -0
  251. package/dist/server/modules/providers/controllers/providers.controller.d.ts +33 -0
  252. package/dist/server/modules/providers/controllers/providers.controller.js +399 -0
  253. package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -0
  254. package/dist/server/modules/providers/providers.module.d.ts +2 -0
  255. package/dist/server/modules/providers/providers.module.js +27 -0
  256. package/dist/server/modules/providers/providers.module.js.map +1 -0
  257. package/dist/server/modules/records/controllers/records.controller.d.ts +13 -0
  258. package/dist/server/modules/records/controllers/records.controller.js +83 -0
  259. package/dist/server/modules/records/controllers/records.controller.js.map +1 -0
  260. package/dist/server/modules/records/records.module.d.ts +2 -0
  261. package/dist/server/modules/records/records.module.js +22 -0
  262. package/dist/server/modules/records/records.module.js.map +1 -0
  263. package/dist/server/modules/sessions/controllers/sessions.controller.d.ts +13 -0
  264. package/dist/server/modules/sessions/controllers/sessions.controller.js +93 -0
  265. package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -0
  266. package/dist/server/modules/sessions/dtos/sessions.dto.d.ts +67 -0
  267. package/dist/server/modules/sessions/dtos/sessions.dto.js +18 -0
  268. package/dist/server/modules/sessions/dtos/sessions.dto.js.map +1 -0
  269. package/dist/server/modules/sessions/services/activity-tracker.service.d.ts +15 -0
  270. package/dist/server/modules/sessions/services/activity-tracker.service.js +103 -0
  271. package/dist/server/modules/sessions/services/activity-tracker.service.js.map +1 -0
  272. package/dist/server/modules/sessions/services/sessions.service.d.ts +49 -0
  273. package/dist/server/modules/sessions/services/sessions.service.js +511 -0
  274. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -0
  275. package/dist/server/modules/sessions/sessions.module.d.ts +2 -0
  276. package/dist/server/modules/sessions/sessions.module.js +36 -0
  277. package/dist/server/modules/sessions/sessions.module.js.map +1 -0
  278. package/dist/server/modules/sessions/utils/profile-options.d.ts +4 -0
  279. package/dist/server/modules/sessions/utils/profile-options.js +70 -0
  280. package/dist/server/modules/sessions/utils/profile-options.js.map +1 -0
  281. package/dist/server/modules/sessions/utils/template-renderer.d.ts +27 -0
  282. package/dist/server/modules/sessions/utils/template-renderer.js +38 -0
  283. package/dist/server/modules/sessions/utils/template-renderer.js.map +1 -0
  284. package/dist/server/modules/settings/controllers/settings.controller.d.ts +10 -0
  285. package/dist/server/modules/settings/controllers/settings.controller.js +77 -0
  286. package/dist/server/modules/settings/controllers/settings.controller.js.map +1 -0
  287. package/dist/server/modules/settings/dtos/settings.dto.d.ts +104 -0
  288. package/dist/server/modules/settings/dtos/settings.dto.js +44 -0
  289. package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -0
  290. package/dist/server/modules/settings/services/settings.service.d.ts +20 -0
  291. package/dist/server/modules/settings/services/settings.service.js +310 -0
  292. package/dist/server/modules/settings/services/settings.service.js.map +1 -0
  293. package/dist/server/modules/settings/settings.module.d.ts +2 -0
  294. package/dist/server/modules/settings/settings.module.js +26 -0
  295. package/dist/server/modules/settings/settings.module.js.map +1 -0
  296. package/dist/server/modules/statuses/controllers/statuses.controller.d.ts +17 -0
  297. package/dist/server/modules/statuses/controllers/statuses.controller.js +124 -0
  298. package/dist/server/modules/statuses/controllers/statuses.controller.js.map +1 -0
  299. package/dist/server/modules/statuses/statuses.module.d.ts +2 -0
  300. package/dist/server/modules/statuses/statuses.module.js +22 -0
  301. package/dist/server/modules/statuses/statuses.module.js.map +1 -0
  302. package/dist/server/modules/storage/db/db.config.d.ts +5 -0
  303. package/dist/server/modules/storage/db/db.config.js +19 -0
  304. package/dist/server/modules/storage/db/db.config.js.map +1 -0
  305. package/dist/server/modules/storage/db/db.module.d.ts +2 -0
  306. package/dist/server/modules/storage/db/db.module.js +22 -0
  307. package/dist/server/modules/storage/db/db.module.js.map +1 -0
  308. package/dist/server/modules/storage/db/db.provider.d.ts +3 -0
  309. package/dist/server/modules/storage/db/db.provider.js +61 -0
  310. package/dist/server/modules/storage/db/db.provider.js.map +1 -0
  311. package/dist/server/modules/storage/db/migrate.d.ts +1 -0
  312. package/dist/server/modules/storage/db/migrate.js +32 -0
  313. package/dist/server/modules/storage/db/migrate.js.map +1 -0
  314. package/dist/server/modules/storage/db/schema.d.ts +4058 -0
  315. package/dist/server/modules/storage/db/schema.js +393 -0
  316. package/dist/server/modules/storage/db/schema.js.map +1 -0
  317. package/dist/server/modules/storage/db/sqlite-raw.d.ts +3 -0
  318. package/dist/server/modules/storage/db/sqlite-raw.js +8 -0
  319. package/dist/server/modules/storage/db/sqlite-raw.js.map +1 -0
  320. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +193 -0
  321. package/dist/server/modules/storage/interfaces/storage.interface.js +5 -0
  322. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -0
  323. package/dist/server/modules/storage/local/local-storage.service.d.ts +105 -0
  324. package/dist/server/modules/storage/local/local-storage.service.js +2069 -0
  325. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -0
  326. package/dist/server/modules/storage/models/domain.models.d.ts +152 -0
  327. package/dist/server/modules/storage/models/domain.models.js +3 -0
  328. package/dist/server/modules/storage/models/domain.models.js.map +1 -0
  329. package/dist/server/modules/storage/storage.module.d.ts +2 -0
  330. package/dist/server/modules/storage/storage.module.js +29 -0
  331. package/dist/server/modules/storage/storage.module.js.map +1 -0
  332. package/dist/server/modules/terminal/dtos/ws-envelope.dto.d.ts +103 -0
  333. package/dist/server/modules/terminal/dtos/ws-envelope.dto.js +50 -0
  334. package/dist/server/modules/terminal/dtos/ws-envelope.dto.js.map +1 -0
  335. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +83 -0
  336. package/dist/server/modules/terminal/gateways/terminal.gateway.js +622 -0
  337. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -0
  338. package/dist/server/modules/terminal/services/pty.service.d.ts +29 -0
  339. package/dist/server/modules/terminal/services/pty.service.js +236 -0
  340. package/dist/server/modules/terminal/services/pty.service.js.map +1 -0
  341. package/dist/server/modules/terminal/services/terminal-emulator.service.d.ts +40 -0
  342. package/dist/server/modules/terminal/services/terminal-emulator.service.js +356 -0
  343. package/dist/server/modules/terminal/services/terminal-emulator.service.js.map +1 -0
  344. package/dist/server/modules/terminal/services/terminal-seed.service.d.ts +29 -0
  345. package/dist/server/modules/terminal/services/terminal-seed.service.js +233 -0
  346. package/dist/server/modules/terminal/services/terminal-seed.service.js.map +1 -0
  347. package/dist/server/modules/terminal/services/terminal-send-coordinator.service.d.ts +5 -0
  348. package/dist/server/modules/terminal/services/terminal-send-coordinator.service.js +36 -0
  349. package/dist/server/modules/terminal/services/terminal-send-coordinator.service.js.map +1 -0
  350. package/dist/server/modules/terminal/services/terminal-stream.service.d.ts +17 -0
  351. package/dist/server/modules/terminal/services/terminal-stream.service.js +88 -0
  352. package/dist/server/modules/terminal/services/terminal-stream.service.js.map +1 -0
  353. package/dist/server/modules/terminal/services/tmux.service.d.ts +42 -0
  354. package/dist/server/modules/terminal/services/tmux.service.js +318 -0
  355. package/dist/server/modules/terminal/services/tmux.service.js.map +1 -0
  356. package/dist/server/modules/terminal/terminal.module.d.ts +2 -0
  357. package/dist/server/modules/terminal/terminal.module.js +47 -0
  358. package/dist/server/modules/terminal/terminal.module.js.map +1 -0
  359. package/dist/server/modules/terminal/utils/ansi-sanitizer.d.ts +8 -0
  360. package/dist/server/modules/terminal/utils/ansi-sanitizer.js +48 -0
  361. package/dist/server/modules/terminal/utils/ansi-sanitizer.js.map +1 -0
  362. package/dist/server/modules/terminal/utils/control-keys.d.ts +3 -0
  363. package/dist/server/modules/terminal/utils/control-keys.js +30 -0
  364. package/dist/server/modules/terminal/utils/control-keys.js.map +1 -0
  365. package/dist/server/modules/ui/ui.controller.d.ts +4 -0
  366. package/dist/server/modules/ui/ui.controller.js +55 -0
  367. package/dist/server/modules/ui/ui.controller.js.map +1 -0
  368. package/dist/server/modules/ui/ui.module.d.ts +2 -0
  369. package/dist/server/modules/ui/ui.module.js +22 -0
  370. package/dist/server/modules/ui/ui.module.js.map +1 -0
  371. package/dist/server/test-setup.d.ts +1 -0
  372. package/dist/server/test-setup.js +14 -0
  373. package/dist/server/test-setup.js.map +1 -0
  374. package/dist/server/tsconfig.tsbuildinfo +1 -0
  375. package/dist/server/ui/assets/index-DFChYYFN.css +32 -0
  376. package/dist/server/ui/assets/index-DpXRypHy.js +636 -0
  377. package/dist/server/ui/index.html +26 -0
  378. package/dist/templates/simple-codex.json +134 -0
  379. package/package.json +105 -0
  380. package/prebuilds/README.md +7 -0
@@ -0,0 +1,399 @@
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.ProvidersController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const promises_1 = require("fs/promises");
18
+ const fs_1 = require("fs");
19
+ const path_1 = require("path");
20
+ const child_process_1 = require("child_process");
21
+ const util_1 = require("util");
22
+ const storage_interface_1 = require("../../storage/interfaces/storage.interface");
23
+ const zod_1 = require("zod");
24
+ const logger_1 = require("../../../common/logging/logger");
25
+ const mcp_provider_registration_service_1 = require("../../mcp/services/mcp-provider-registration.service");
26
+ const preflight_service_1 = require("../../core/services/preflight.service");
27
+ const env_config_1 = require("../../../common/config/env.config");
28
+ const adapters_1 = require("../adapters");
29
+ const logger = (0, logger_1.createLogger)('ProvidersController');
30
+ const execFileAsync = (0, util_1.promisify)(child_process_1.execFile);
31
+ const CreateProviderSchema = zod_1.z.object({
32
+ name: zod_1.z.string().min(1).max(100),
33
+ binPath: zod_1.z.string().nullable().optional(),
34
+ mcpConfigured: zod_1.z.boolean().optional(),
35
+ mcpEndpoint: zod_1.z.string().nullable().optional(),
36
+ mcpRegisteredAt: zod_1.z.string().nullable().optional(),
37
+ });
38
+ const UpdateProviderSchema = zod_1.z.object({
39
+ name: zod_1.z.string().min(1).max(100).optional(),
40
+ binPath: zod_1.z.string().nullable().optional(),
41
+ mcpConfigured: zod_1.z.boolean().optional(),
42
+ mcpEndpoint: zod_1.z.string().nullable().optional(),
43
+ mcpRegisteredAt: zod_1.z.string().nullable().optional(),
44
+ });
45
+ const ConfigureMcpSchema = zod_1.z.object({
46
+ endpoint: zod_1.z.string().min(1).optional(),
47
+ alias: zod_1.z.string().min(1).max(100).optional(),
48
+ extraArgs: zod_1.z.array(zod_1.z.string()).optional(),
49
+ projectPath: zod_1.z.string().min(1).optional(),
50
+ addCommand: zod_1.z.string().min(1).optional(),
51
+ });
52
+ const EnsureMcpSchema = zod_1.z.object({
53
+ projectPath: zod_1.z.string().min(1).optional(),
54
+ });
55
+ const SUPPORTED_MCP_PROVIDERS = new Set(['claude', 'codex']);
56
+ let ProvidersController = class ProvidersController {
57
+ constructor(storage, mcpRegistration, preflight, adapterFactory) {
58
+ this.storage = storage;
59
+ this.mcpRegistration = mcpRegistration;
60
+ this.preflight = preflight;
61
+ this.adapterFactory = adapterFactory;
62
+ }
63
+ async listProviders() {
64
+ logger.info('GET /api/providers');
65
+ return this.storage.listProviders();
66
+ }
67
+ async getProvider(id) {
68
+ logger.info({ id }, 'GET /api/providers/:id');
69
+ return this.storage.getProvider(id);
70
+ }
71
+ async createProvider(body) {
72
+ logger.info('POST /api/providers');
73
+ const parsed = CreateProviderSchema.parse(body);
74
+ const normalizedPath = await this.normalizeBinPath(parsed.binPath ?? null);
75
+ const payload = {
76
+ name: parsed.name,
77
+ binPath: normalizedPath,
78
+ mcpConfigured: false,
79
+ mcpEndpoint: parsed.mcpEndpoint ?? null,
80
+ mcpRegisteredAt: null,
81
+ };
82
+ return this.storage.createProvider(payload);
83
+ }
84
+ async updateProvider(id, body) {
85
+ logger.info({ id }, 'PUT /api/providers/:id');
86
+ const parsed = UpdateProviderSchema.parse(body);
87
+ const payload = {};
88
+ if (parsed.name !== undefined) {
89
+ payload.name = parsed.name;
90
+ }
91
+ if (parsed.binPath !== undefined) {
92
+ payload.binPath = await this.normalizeBinPath(parsed.binPath);
93
+ }
94
+ if (parsed.mcpEndpoint !== undefined) {
95
+ payload.mcpEndpoint = parsed.mcpEndpoint ?? null;
96
+ }
97
+ if (parsed.mcpConfigured !== undefined) {
98
+ payload.mcpConfigured = parsed.mcpConfigured;
99
+ if (!parsed.mcpConfigured) {
100
+ payload.mcpRegisteredAt = null;
101
+ }
102
+ }
103
+ if (parsed.mcpRegisteredAt !== undefined) {
104
+ payload.mcpRegisteredAt = parsed.mcpRegisteredAt ?? null;
105
+ }
106
+ const result = await this.storage.updateProvider(id, payload);
107
+ this.preflight.clearCache();
108
+ logger.debug('Cleared preflight cache after provider update');
109
+ return result;
110
+ }
111
+ async deleteProvider(id) {
112
+ logger.info({ id }, 'DELETE /api/providers/:id');
113
+ const profiles = await this.storage.listAgentProfiles();
114
+ const profilesUsingProvider = profiles.items.filter((p) => p.providerId === id);
115
+ if (profilesUsingProvider.length > 0) {
116
+ const profileNames = profilesUsingProvider.map((p) => p.name).join(', ');
117
+ throw new common_1.BadRequestException({
118
+ message: `Cannot delete provider: ${profilesUsingProvider.length} profile(s) are still using it`,
119
+ details: `The following profiles are using this provider: ${profileNames}`,
120
+ profileCount: profilesUsingProvider.length,
121
+ profiles: profileNames,
122
+ });
123
+ }
124
+ await this.storage.deleteProvider(id);
125
+ this.preflight.clearCache();
126
+ logger.debug('Cleared preflight cache after provider deletion');
127
+ }
128
+ async ensureMcp(id, body) {
129
+ logger.info({ id }, 'POST /api/providers/:id/mcp/ensure');
130
+ const parsed = EnsureMcpSchema.parse(body);
131
+ const provider = await this.storage.getProvider(id);
132
+ if (!this.adapterFactory.isSupported(provider.name)) {
133
+ throw new common_1.BadRequestException({
134
+ message: `MCP ensure not supported for provider: ${provider.name}`,
135
+ field: 'provider',
136
+ });
137
+ }
138
+ const env = (0, env_config_1.getEnvConfig)();
139
+ const expectedEndpoint = `http://127.0.0.1:${env.PORT}/mcp`;
140
+ const expectedAlias = 'devchain';
141
+ const listResult = await this.mcpRegistration.listRegistrations(provider, {
142
+ cwd: parsed.projectPath,
143
+ });
144
+ if (!listResult.success) {
145
+ throw new common_1.BadRequestException({
146
+ message: 'Failed to list MCP registrations',
147
+ details: listResult.message,
148
+ });
149
+ }
150
+ const existingEntry = listResult.entries.find((e) => e.alias === expectedAlias);
151
+ let action;
152
+ if (existingEntry) {
153
+ if (existingEntry.endpoint === expectedEndpoint) {
154
+ action = 'already_configured';
155
+ logger.debug({ provider: provider.name }, 'MCP already configured correctly');
156
+ }
157
+ else {
158
+ logger.info({ provider: provider.name, existing: existingEntry.endpoint, expected: expectedEndpoint }, 'MCP endpoint mismatch, removing and re-adding');
159
+ const removeResult = await this.mcpRegistration.removeRegistration(provider, expectedAlias, { cwd: parsed.projectPath });
160
+ if (!removeResult.success) {
161
+ throw new common_1.BadRequestException({
162
+ message: 'Failed to remove existing MCP registration',
163
+ details: removeResult.message,
164
+ });
165
+ }
166
+ const addResult = await this.mcpRegistration.registerProvider(provider, {
167
+ endpoint: expectedEndpoint,
168
+ alias: expectedAlias,
169
+ }, { cwd: parsed.projectPath });
170
+ if (!addResult.success) {
171
+ throw new common_1.BadRequestException({
172
+ message: 'Failed to re-register MCP after removal',
173
+ details: addResult.message,
174
+ });
175
+ }
176
+ action = 'fixed_mismatch';
177
+ }
178
+ }
179
+ else {
180
+ logger.info({ provider: provider.name }, 'MCP not registered, adding');
181
+ const addResult = await this.mcpRegistration.registerProvider(provider, {
182
+ endpoint: expectedEndpoint,
183
+ alias: expectedAlias,
184
+ }, { cwd: parsed.projectPath });
185
+ if (!addResult.success) {
186
+ throw new common_1.BadRequestException({
187
+ message: 'Failed to register MCP',
188
+ details: addResult.message,
189
+ });
190
+ }
191
+ action = 'added';
192
+ }
193
+ if (action !== 'already_configured') {
194
+ const metadata = {
195
+ mcpConfigured: true,
196
+ mcpEndpoint: expectedEndpoint,
197
+ mcpRegisteredAt: new Date().toISOString(),
198
+ };
199
+ await this.storage.updateProviderMcpMetadata(id, metadata);
200
+ }
201
+ this.preflight.clearCache();
202
+ logger.debug('Cleared preflight cache after MCP ensure');
203
+ return {
204
+ success: true,
205
+ action,
206
+ endpoint: expectedEndpoint,
207
+ alias: expectedAlias,
208
+ };
209
+ }
210
+ async configureMcp(id, body) {
211
+ logger.info({ id }, 'POST /api/providers/:id/mcp');
212
+ const parsed = ConfigureMcpSchema.parse(body);
213
+ const provider = await this.storage.getProvider(id);
214
+ const endpoint = parsed.endpoint ?? provider.mcpEndpoint ?? null;
215
+ if (!endpoint) {
216
+ throw new common_1.BadRequestException({
217
+ message: 'Endpoint is required for MCP configuration',
218
+ field: 'endpoint',
219
+ });
220
+ }
221
+ if (!this.adapterFactory.isSupported(provider.name)) {
222
+ throw new common_1.BadRequestException({
223
+ message: `MCP configuration not supported for provider: ${provider.name}`,
224
+ field: 'provider',
225
+ });
226
+ }
227
+ const alias = parsed.alias ?? 'devchain';
228
+ const result = await this.mcpRegistration.registerProvider(provider, {
229
+ endpoint,
230
+ alias,
231
+ extraArgs: parsed.extraArgs,
232
+ }, {
233
+ cwd: parsed.projectPath,
234
+ timeoutMs: 10_000,
235
+ });
236
+ if (!result.success) {
237
+ throw new common_1.BadRequestException({
238
+ message: result.message,
239
+ field: 'mcpEndpoint',
240
+ details: (result.stderr || result.stdout || '').trim(),
241
+ });
242
+ }
243
+ const metadata = {
244
+ mcpConfigured: true,
245
+ mcpEndpoint: endpoint,
246
+ mcpRegisteredAt: new Date().toISOString(),
247
+ };
248
+ await this.storage.updateProviderMcpMetadata(id, metadata);
249
+ this.preflight.clearCache();
250
+ logger.debug('Cleared preflight cache after MCP configuration');
251
+ return {
252
+ success: true,
253
+ message: result.message,
254
+ stdout: result.stdout,
255
+ stderr: result.stderr,
256
+ };
257
+ }
258
+ async normalizeBinPath(binPath) {
259
+ if (binPath === undefined || binPath === null) {
260
+ return null;
261
+ }
262
+ const trimmed = binPath.trim();
263
+ if (!trimmed) {
264
+ return null;
265
+ }
266
+ if (!(0, path_1.isAbsolute)(trimmed)) {
267
+ try {
268
+ const { stdout } = await execFileAsync('which', [trimmed]);
269
+ const discovered = stdout.trim();
270
+ if (!discovered) {
271
+ throw new common_1.BadRequestException({
272
+ message: `Command '${trimmed}' not found on PATH. Provide an absolute path or install the binary.`,
273
+ field: 'binPath',
274
+ });
275
+ }
276
+ return trimmed;
277
+ }
278
+ catch (error) {
279
+ throw new common_1.BadRequestException({
280
+ message: `Command '${trimmed}' not found on PATH. Provide an absolute path or install the binary.`,
281
+ field: 'binPath',
282
+ });
283
+ }
284
+ }
285
+ const resolved = (0, path_1.resolve)(trimmed);
286
+ try {
287
+ const stats = await (0, promises_1.stat)(resolved);
288
+ if (!stats.isFile()) {
289
+ throw new common_1.BadRequestException({
290
+ message: 'Provider binary path must point to an executable file.',
291
+ field: 'binPath',
292
+ });
293
+ }
294
+ await (0, promises_1.access)(resolved, fs_1.constants.X_OK);
295
+ return resolved;
296
+ }
297
+ catch (error) {
298
+ if (error instanceof common_1.BadRequestException) {
299
+ throw error;
300
+ }
301
+ const err = error;
302
+ let message = 'Provider binary path does not exist or is not executable.';
303
+ if (err?.code === 'ENOENT') {
304
+ message = 'Provider binary path does not exist.';
305
+ }
306
+ else if (err?.code === 'EACCES' || err?.code === 'EPERM') {
307
+ message = 'Provider binary path is not executable.';
308
+ }
309
+ throw new common_1.BadRequestException({
310
+ message,
311
+ field: 'binPath',
312
+ });
313
+ }
314
+ }
315
+ shouldAttemptMcpRegistration(name, endpoint) {
316
+ return SUPPORTED_MCP_PROVIDERS.has(name) && !!endpoint;
317
+ }
318
+ composePreviewProvider(existing, update = {}, parsed = {}) {
319
+ return {
320
+ ...existing,
321
+ name: update.name ?? existing.name,
322
+ binPath: update.binPath !== undefined ? update.binPath : existing.binPath,
323
+ mcpConfigured: parsed.mcpConfigured !== undefined ? parsed.mcpConfigured : existing.mcpConfigured,
324
+ mcpEndpoint: update.mcpEndpoint !== undefined ? update.mcpEndpoint : existing.mcpEndpoint,
325
+ mcpRegisteredAt: parsed.mcpRegisteredAt !== undefined ? parsed.mcpRegisteredAt : existing.mcpRegisteredAt,
326
+ };
327
+ }
328
+ async ensureMcpRegistrationSuccess(provider, options, execOptions) {
329
+ const result = await this.mcpRegistration.registerProvider(provider, options, execOptions);
330
+ if (!result.success) {
331
+ throw new common_1.BadRequestException({
332
+ message: result.message,
333
+ field: 'mcpEndpoint',
334
+ details: (result.stderr || result.stdout || '').trim(),
335
+ });
336
+ }
337
+ return result;
338
+ }
339
+ };
340
+ exports.ProvidersController = ProvidersController;
341
+ __decorate([
342
+ (0, common_1.Get)(),
343
+ __metadata("design:type", Function),
344
+ __metadata("design:paramtypes", []),
345
+ __metadata("design:returntype", Promise)
346
+ ], ProvidersController.prototype, "listProviders", null);
347
+ __decorate([
348
+ (0, common_1.Get)(':id'),
349
+ __param(0, (0, common_1.Param)('id')),
350
+ __metadata("design:type", Function),
351
+ __metadata("design:paramtypes", [String]),
352
+ __metadata("design:returntype", Promise)
353
+ ], ProvidersController.prototype, "getProvider", null);
354
+ __decorate([
355
+ (0, common_1.Post)(),
356
+ __param(0, (0, common_1.Body)()),
357
+ __metadata("design:type", Function),
358
+ __metadata("design:paramtypes", [Object]),
359
+ __metadata("design:returntype", Promise)
360
+ ], ProvidersController.prototype, "createProvider", null);
361
+ __decorate([
362
+ (0, common_1.Put)(':id'),
363
+ __param(0, (0, common_1.Param)('id')),
364
+ __param(1, (0, common_1.Body)()),
365
+ __metadata("design:type", Function),
366
+ __metadata("design:paramtypes", [String, Object]),
367
+ __metadata("design:returntype", Promise)
368
+ ], ProvidersController.prototype, "updateProvider", null);
369
+ __decorate([
370
+ (0, common_1.Delete)(':id'),
371
+ __param(0, (0, common_1.Param)('id')),
372
+ __metadata("design:type", Function),
373
+ __metadata("design:paramtypes", [String]),
374
+ __metadata("design:returntype", Promise)
375
+ ], ProvidersController.prototype, "deleteProvider", null);
376
+ __decorate([
377
+ (0, common_1.Post)(':id/mcp/ensure'),
378
+ __param(0, (0, common_1.Param)('id')),
379
+ __param(1, (0, common_1.Body)()),
380
+ __metadata("design:type", Function),
381
+ __metadata("design:paramtypes", [String, Object]),
382
+ __metadata("design:returntype", Promise)
383
+ ], ProvidersController.prototype, "ensureMcp", null);
384
+ __decorate([
385
+ (0, common_1.Post)(':id/mcp'),
386
+ __param(0, (0, common_1.Param)('id')),
387
+ __param(1, (0, common_1.Body)()),
388
+ __metadata("design:type", Function),
389
+ __metadata("design:paramtypes", [String, Object]),
390
+ __metadata("design:returntype", Promise)
391
+ ], ProvidersController.prototype, "configureMcp", null);
392
+ exports.ProvidersController = ProvidersController = __decorate([
393
+ (0, common_1.Controller)('api/providers'),
394
+ __param(0, (0, common_1.Inject)(storage_interface_1.STORAGE_SERVICE)),
395
+ __metadata("design:paramtypes", [Object, mcp_provider_registration_service_1.McpProviderRegistrationService,
396
+ preflight_service_1.PreflightService,
397
+ adapters_1.ProviderAdapterFactory])
398
+ ], ProvidersController);
399
+ //# sourceMappingURL=providers.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.controller.js","sourceRoot":"","sources":["../../../../src/modules/providers/controllers/providers.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAUwB;AACxB,0CAA2C;AAC3C,2BAA+B;AAC/B,+BAA2C;AAC3C,iDAAyC;AACzC,+BAAiC;AACjC,kFAA6F;AAO7F,6BAAwB;AACxB,2DAA8D;AAC9D,4GAAsG;AACtG,6EAAyE;AACzE,kEAAiE;AACjE,0CAAqD;AAErD,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,qBAAqB,CAAC,CAAC;AACnD,MAAM,aAAa,GAAG,IAAA,gBAAS,EAAC,wBAAQ,CAAC,CAAC;AAE1C,MAAM,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzC,aAAa,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC3C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzC,aAAa,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC5C,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAGtD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAC4C,OAAuB,EAChD,eAA+C,EAC/C,SAA2B,EAC3B,cAAsC;QAHb,YAAO,GAAP,OAAO,CAAgB;QAChD,oBAAe,GAAf,eAAe,CAAgC;QAC/C,cAAS,GAAT,SAAS,CAAkB;QAC3B,mBAAc,GAAd,cAAc,CAAwB;IACtD,CAAC;IAGE,AAAN,KAAK,CAAC,aAAa;QACjB,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IACtC,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CAAc,EAAU;QACvC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc,CAAS,IAAa;QACxC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAE3E,MAAM,OAAO,GAAmB;YAC9B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,cAAc;YACvB,aAAa,EAAE,KAAK;YACpB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI;YACvC,eAAe,EAAE,IAAI;SACtB,CAAC;QAIF,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc,CAAc,EAAU,EAAU,IAAa;QACjE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,OAAO,GAAmB,EAAE,CAAC;QAEnC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC;QACnD,CAAC;QAGD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC1B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;YACjC,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;QAC3D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAG9D,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAE9D,OAAO,MAAM,CAAC;IAChB,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc,CAAc,EAAU;QAC1C,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,2BAA2B,CAAC,CAAC;QAGjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACxD,MAAM,qBAAqB,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;QAEhF,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,YAAY,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzE,MAAM,IAAI,4BAAmB,CAAC;gBAC5B,OAAO,EAAE,2BAA2B,qBAAqB,CAAC,MAAM,gCAAgC;gBAChG,OAAO,EAAE,mDAAmD,YAAY,EAAE;gBAC1E,YAAY,EAAE,qBAAqB,CAAC,MAAM;gBAC1C,QAAQ,EAAE,YAAY;aACvB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAGtC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAClE,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CAAc,EAAU,EAAU,IAAa;QAC5D,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,oCAAoC,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAGpD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,4BAAmB,CAAC;gBAC5B,OAAO,EAAE,0CAA0C,QAAQ,CAAC,IAAI,EAAE;gBAClE,KAAK,EAAE,UAAU;aAClB,CAAC,CAAC;QACL,CAAC;QAGD,MAAM,GAAG,GAAG,IAAA,yBAAY,GAAE,CAAC;QAC3B,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,CAAC,IAAI,MAAM,CAAC;QAC5D,MAAM,aAAa,GAAG,UAAU,CAAC;QAGjC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,EAAE;YACxE,GAAG,EAAE,MAAM,CAAC,WAAW;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,4BAAmB,CAAC;gBAC5B,OAAO,EAAE,kCAAkC;gBAC3C,OAAO,EAAE,UAAU,CAAC,OAAO;aAC5B,CAAC,CAAC;QACL,CAAC;QAGD,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;QAChF,IAAI,MAAyD,CAAC;QAE9D,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,aAAa,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;gBAEhD,MAAM,GAAG,oBAAoB,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,kCAAkC,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBAEN,MAAM,CAAC,IAAI,CACT,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EACzF,+CAA+C,CAChD,CAAC;gBAGF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAChE,QAAQ,EACR,aAAa,EACb,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,CAC5B,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;oBAC1B,MAAM,IAAI,4BAAmB,CAAC;wBAC5B,OAAO,EAAE,4CAA4C;wBACrD,OAAO,EAAE,YAAY,CAAC,OAAO;qBAC9B,CAAC,CAAC;gBACL,CAAC;gBAGD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAC3D,QAAQ,EACR;oBACE,QAAQ,EAAE,gBAAgB;oBAC1B,KAAK,EAAE,aAAa;iBACrB,EACD,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,CAC5B,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBACvB,MAAM,IAAI,4BAAmB,CAAC;wBAC5B,OAAO,EAAE,yCAAyC;wBAClD,OAAO,EAAE,SAAS,CAAC,OAAO;qBAC3B,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,GAAG,gBAAgB,CAAC;YAC5B,CAAC;QACH,CAAC;aAAM,CAAC;YAEN,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,4BAA4B,CAAC,CAAC;YACvE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAC3D,QAAQ,EACR;gBACE,QAAQ,EAAE,gBAAgB;gBAC1B,KAAK,EAAE,aAAa;aACrB,EACD,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,CAC5B,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACvB,MAAM,IAAI,4BAAmB,CAAC;oBAC5B,OAAO,EAAE,wBAAwB;oBACjC,OAAO,EAAE,SAAS,CAAC,OAAO;iBAC3B,CAAC,CAAC;YACL,CAAC;YAED,MAAM,GAAG,OAAO,CAAC;QACnB,CAAC;QAGD,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;YACpC,MAAM,QAAQ,GAA8B;gBAC1C,aAAa,EAAE,IAAI;gBACnB,WAAW,EAAE,gBAAgB;gBAC7B,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAC1C,CAAC;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC;QAGD,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAEzD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM;YACN,QAAQ,EAAE,gBAAgB;YAC1B,KAAK,EAAE,aAAa;SACrB,CAAC;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY,CAAc,EAAU,EAAU,IAAa;QAC/D,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,6BAA6B,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC;QAEjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,4BAAmB,CAAC;gBAC5B,OAAO,EAAE,4CAA4C;gBACrD,KAAK,EAAE,UAAU;aAClB,CAAC,CAAC;QACL,CAAC;QAGD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,4BAAmB,CAAC;gBAC5B,OAAO,EAAE,iDAAiD,QAAQ,CAAC,IAAI,EAAE;gBACzE,KAAK,EAAE,UAAU;aAClB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CACxD,QAAQ,EACR;YACE,QAAQ;YACR,KAAK;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,EACD;YACE,GAAG,EAAE,MAAM,CAAC,WAAW;YACvB,SAAS,EAAE,MAAM;SAClB,CACF,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,4BAAmB,CAAC;gBAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,aAAa;gBACpB,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;aACvD,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAA8B;YAC1C,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,QAAQ;YACrB,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAC1C,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAG3D,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAEhE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,OAAkC;QAC/D,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAA,iBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;YAEzB,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,IAAI,4BAAmB,CAAC;wBAC5B,OAAO,EAAE,YAAY,OAAO,sEAAsE;wBAClG,KAAK,EAAE,SAAS;qBACjB,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,4BAAmB,CAAC;oBAC5B,OAAO,EAAE,YAAY,OAAO,sEAAsE;oBAClG,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAA,eAAI,EAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBACpB,MAAM,IAAI,4BAAmB,CAAC;oBAC5B,OAAO,EAAE,wDAAwD;oBACjE,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAA,iBAAM,EAAC,QAAQ,EAAE,cAAS,CAAC,IAAI,CAAC,CAAC;YACvC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,4BAAmB,EAAE,CAAC;gBACzC,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,GAAG,GAAG,KAA8B,CAAC;YAC3C,IAAI,OAAO,GAAG,2DAA2D,CAAC;YAC1E,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,OAAO,GAAG,sCAAsC,CAAC;YACnD,CAAC;iBAAM,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,IAAI,GAAG,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3D,OAAO,GAAG,yCAAyC,CAAC;YACtD,CAAC;YAED,MAAM,IAAI,4BAAmB,CAAC;gBAC5B,OAAO;gBACP,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,4BAA4B,CAAC,IAAY,EAAE,QAAmC;QACpF,OAAO,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IACzD,CAAC;IAEO,sBAAsB,CAC5B,QAAkB,EAClB,SAAyB,EAAE,EAC3B,SAA+C,EAAE;QAEjD,OAAO;YACL,GAAG,QAAQ;YACX,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI;YAClC,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO;YACzE,aAAa,EACX,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa;YACpF,WAAW,EAAE,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW;YACzF,eAAe,EACb,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe;SAC3F,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,4BAA4B,CACxC,QAAkB,EAClB,OAAmE,EACnE,WAA8B;QAE9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAC3F,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,4BAAmB,CAAC;gBAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,aAAa;gBACpB,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;aACvD,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAhYY,kDAAmB;AASxB;IADL,IAAA,YAAG,GAAE;;;;wDAIL;AAGK;IADL,IAAA,YAAG,EAAC,KAAK,CAAC;IACQ,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;sDAG7B;AAGK;IADL,IAAA,aAAI,GAAE;IACe,WAAA,IAAA,aAAI,GAAE,CAAA;;;;yDAgB3B;AAGK;IADL,IAAA,YAAG,EAAC,KAAK,CAAC;IACW,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;;;yDAkCpD;AAGK;IADL,IAAA,eAAM,EAAC,KAAK,CAAC;IACQ,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;yDAsBhC;AAGK;IADL,IAAA,aAAI,EAAC,gBAAgB,CAAC;IACN,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;;;oDAqH/C;AAGK;IADL,IAAA,aAAI,EAAC,SAAS,CAAC;IACI,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;;;uDA4DlD;8BA1RU,mBAAmB;IAD/B,IAAA,mBAAU,EAAC,eAAe,CAAC;IAGvB,WAAA,IAAA,eAAM,EAAC,mCAAe,CAAC,CAAA;6CACU,kEAA8B;QACpC,oCAAgB;QACX,iCAAsB;GAL9C,mBAAmB,CAgY/B"}
@@ -0,0 +1,2 @@
1
+ export declare class ProvidersModule {
2
+ }
@@ -0,0 +1,27 @@
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.ProvidersModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const providers_controller_1 = require("./controllers/providers.controller");
12
+ const storage_module_1 = require("../storage/storage.module");
13
+ const mcp_module_1 = require("../mcp/mcp.module");
14
+ const core_module_1 = require("../core/core.module");
15
+ const adapters_1 = require("./adapters");
16
+ let ProvidersModule = class ProvidersModule {
17
+ };
18
+ exports.ProvidersModule = ProvidersModule;
19
+ exports.ProvidersModule = ProvidersModule = __decorate([
20
+ (0, common_1.Module)({
21
+ imports: [storage_module_1.StorageModule, mcp_module_1.McpModule, core_module_1.CoreModule],
22
+ controllers: [providers_controller_1.ProvidersController],
23
+ providers: [adapters_1.ProviderAdapterFactory],
24
+ exports: [adapters_1.ProviderAdapterFactory],
25
+ })
26
+ ], ProvidersModule);
27
+ //# sourceMappingURL=providers.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.module.js","sourceRoot":"","sources":["../../../src/modules/providers/providers.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6EAAyE;AACzE,8DAA0D;AAC1D,kDAA8C;AAC9C,qDAAiD;AACjD,yCAAoD;AAQ7C,IAAM,eAAe,GAArB,MAAM,eAAe;CAAG,CAAA;AAAlB,0CAAe;0BAAf,eAAe;IAN3B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,8BAAa,EAAE,sBAAS,EAAE,wBAAU,CAAC;QAC/C,WAAW,EAAE,CAAC,0CAAmB,CAAC;QAClC,SAAS,EAAE,CAAC,iCAAsB,CAAC;QACnC,OAAO,EAAE,CAAC,iCAAsB,CAAC;KAClC,CAAC;GACW,eAAe,CAAG"}
@@ -0,0 +1,13 @@
1
+ import { StorageService } from '../../storage/interfaces/storage.interface';
2
+ import { EpicRecord } from '../../storage/models/domain.models';
3
+ export declare class RecordsController {
4
+ private readonly storage;
5
+ constructor(storage: StorageService);
6
+ listRecords(epicId: string, type?: string, tags?: string, limit?: string, offset?: string): Promise<{
7
+ items: EpicRecord[];
8
+ total: number;
9
+ limit: number;
10
+ offset: number;
11
+ }>;
12
+ getRecord(id: string): Promise<EpicRecord>;
13
+ }
@@ -0,0 +1,83 @@
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.RecordsController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const storage_interface_1 = require("../../storage/interfaces/storage.interface");
18
+ const logger_1 = require("../../../common/logging/logger");
19
+ const logger = (0, logger_1.createLogger)('RecordsController');
20
+ let RecordsController = class RecordsController {
21
+ constructor(storage) {
22
+ this.storage = storage;
23
+ }
24
+ async listRecords(epicId, type, tags, limit, offset) {
25
+ logger.info({ epicId, type, tags, limit, offset }, 'GET /api/records');
26
+ if (!epicId) {
27
+ throw new common_1.BadRequestException('epicId query parameter required');
28
+ }
29
+ const options = {};
30
+ if (limit) {
31
+ options.limit = parseInt(limit, 10);
32
+ }
33
+ if (offset) {
34
+ options.offset = parseInt(offset, 10);
35
+ }
36
+ const result = await this.storage.listRecords(epicId, options);
37
+ let filtered = result.items;
38
+ if (type) {
39
+ filtered = filtered.filter((r) => r.type === type);
40
+ }
41
+ if (tags) {
42
+ const tagArray = tags.split(',').map((t) => t.trim());
43
+ filtered = filtered.filter((r) => {
44
+ return tagArray.every((tag) => r.tags.includes(tag));
45
+ });
46
+ }
47
+ return {
48
+ items: filtered,
49
+ total: filtered.length,
50
+ limit: result.limit,
51
+ offset: result.offset,
52
+ };
53
+ }
54
+ async getRecord(id) {
55
+ logger.info({ id }, 'GET /api/records/:id');
56
+ return this.storage.getRecord(id);
57
+ }
58
+ };
59
+ exports.RecordsController = RecordsController;
60
+ __decorate([
61
+ (0, common_1.Get)(),
62
+ __param(0, (0, common_1.Query)('epicId')),
63
+ __param(1, (0, common_1.Query)('type')),
64
+ __param(2, (0, common_1.Query)('tags')),
65
+ __param(3, (0, common_1.Query)('limit')),
66
+ __param(4, (0, common_1.Query)('offset')),
67
+ __metadata("design:type", Function),
68
+ __metadata("design:paramtypes", [String, String, String, String, String]),
69
+ __metadata("design:returntype", Promise)
70
+ ], RecordsController.prototype, "listRecords", null);
71
+ __decorate([
72
+ (0, common_1.Get)(':id'),
73
+ __param(0, (0, common_1.Param)('id')),
74
+ __metadata("design:type", Function),
75
+ __metadata("design:paramtypes", [String]),
76
+ __metadata("design:returntype", Promise)
77
+ ], RecordsController.prototype, "getRecord", null);
78
+ exports.RecordsController = RecordsController = __decorate([
79
+ (0, common_1.Controller)('api/records'),
80
+ __param(0, (0, common_1.Inject)(storage_interface_1.STORAGE_SERVICE)),
81
+ __metadata("design:paramtypes", [Object])
82
+ ], RecordsController);
83
+ //# sourceMappingURL=records.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"records.controller.js","sourceRoot":"","sources":["../../../../src/modules/records/controllers/records.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare class RecordsModule {
2
+ }
@@ -0,0 +1,22 @@
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.RecordsModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const records_controller_1 = require("./controllers/records.controller");
12
+ const storage_module_1 = require("../storage/storage.module");
13
+ let RecordsModule = class RecordsModule {
14
+ };
15
+ exports.RecordsModule = RecordsModule;
16
+ exports.RecordsModule = RecordsModule = __decorate([
17
+ (0, common_1.Module)({
18
+ imports: [storage_module_1.StorageModule],
19
+ controllers: [records_controller_1.RecordsController],
20
+ })
21
+ ], RecordsModule);
22
+ //# sourceMappingURL=records.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"records.module.js","sourceRoot":"","sources":["../../../src/modules/records/records.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yEAAqE;AACrE,8DAA0D;AAMnD,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IAJzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,8BAAa,CAAC;QACxB,WAAW,EAAE,CAAC,sCAAiB,CAAC;KACjC,CAAC;GACW,aAAa,CAAG"}
@@ -0,0 +1,13 @@
1
+ import { SessionsService } from '../services/sessions.service';
2
+ import { SessionDetailDto, SessionDto, AgentPresenceResponseDto } from '../dtos/sessions.dto';
3
+ export declare class SessionsController {
4
+ private readonly sessionsService;
5
+ constructor(sessionsService: SessionsService);
6
+ launchSession(body: unknown): Promise<SessionDetailDto>;
7
+ terminateSession(id: string): Promise<{
8
+ message: string;
9
+ }>;
10
+ listActiveSessions(projectId?: string): Promise<SessionDto[]>;
11
+ getAgentPresence(projectId?: string): Promise<AgentPresenceResponseDto>;
12
+ getSession(id: string): SessionDto | null;
13
+ }