@cat-factory/worker 0.6.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 (586) hide show
  1. package/LICENSE +21 -0
  2. package/dist/app.d.ts +22 -0
  3. package/dist/app.d.ts.map +1 -0
  4. package/dist/app.js +49 -0
  5. package/dist/app.js.map +1 -0
  6. package/dist/index.d.ts +17 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +234 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/infrastructure/ai/CloudflareModelProvider.d.ts +23 -0
  11. package/dist/infrastructure/ai/CloudflareModelProvider.d.ts.map +1 -0
  12. package/dist/infrastructure/ai/CloudflareModelProvider.js +62 -0
  13. package/dist/infrastructure/ai/CloudflareModelProvider.js.map +1 -0
  14. package/dist/infrastructure/ai/CompositeAgentExecutor.d.ts +2 -0
  15. package/dist/infrastructure/ai/CompositeAgentExecutor.d.ts.map +1 -0
  16. package/dist/infrastructure/ai/CompositeAgentExecutor.js +5 -0
  17. package/dist/infrastructure/ai/CompositeAgentExecutor.js.map +1 -0
  18. package/dist/infrastructure/ai/ContainerAgentExecutor.d.ts +2 -0
  19. package/dist/infrastructure/ai/ContainerAgentExecutor.d.ts.map +1 -0
  20. package/dist/infrastructure/ai/ContainerAgentExecutor.js +5 -0
  21. package/dist/infrastructure/ai/ContainerAgentExecutor.js.map +1 -0
  22. package/dist/infrastructure/ai/ContainerRepoBootstrapper.d.ts +2 -0
  23. package/dist/infrastructure/ai/ContainerRepoBootstrapper.d.ts.map +1 -0
  24. package/dist/infrastructure/ai/ContainerRepoBootstrapper.js +5 -0
  25. package/dist/infrastructure/ai/ContainerRepoBootstrapper.js.map +1 -0
  26. package/dist/infrastructure/ai/ContainerRepoScanner.d.ts +39 -0
  27. package/dist/infrastructure/ai/ContainerRepoScanner.d.ts.map +1 -0
  28. package/dist/infrastructure/ai/ContainerRepoScanner.js +115 -0
  29. package/dist/infrastructure/ai/ContainerRepoScanner.js.map +1 -0
  30. package/dist/infrastructure/ai/LlmFragmentSelector.d.ts +2 -0
  31. package/dist/infrastructure/ai/LlmFragmentSelector.d.ts.map +1 -0
  32. package/dist/infrastructure/ai/LlmFragmentSelector.js +4 -0
  33. package/dist/infrastructure/ai/LlmFragmentSelector.js.map +1 -0
  34. package/dist/infrastructure/ai/RunnerJobClient.d.ts +2 -0
  35. package/dist/infrastructure/ai/RunnerJobClient.d.ts.map +1 -0
  36. package/dist/infrastructure/ai/RunnerJobClient.js +5 -0
  37. package/dist/infrastructure/ai/RunnerJobClient.js.map +1 -0
  38. package/dist/infrastructure/ai/WorkersAiLlmUpstream.d.ts +28 -0
  39. package/dist/infrastructure/ai/WorkersAiLlmUpstream.d.ts.map +1 -0
  40. package/dist/infrastructure/ai/WorkersAiLlmUpstream.js +486 -0
  41. package/dist/infrastructure/ai/WorkersAiLlmUpstream.js.map +1 -0
  42. package/dist/infrastructure/ai/providerEndpoints.d.ts +17 -0
  43. package/dist/infrastructure/ai/providerEndpoints.d.ts.map +1 -0
  44. package/dist/infrastructure/ai/providerEndpoints.js +42 -0
  45. package/dist/infrastructure/ai/providerEndpoints.js.map +1 -0
  46. package/dist/infrastructure/ai/registries.d.ts +11 -0
  47. package/dist/infrastructure/ai/registries.d.ts.map +1 -0
  48. package/dist/infrastructure/ai/registries.js +14 -0
  49. package/dist/infrastructure/ai/registries.js.map +1 -0
  50. package/dist/infrastructure/auth/GitHubOAuth.d.ts +2 -0
  51. package/dist/infrastructure/auth/GitHubOAuth.d.ts.map +1 -0
  52. package/dist/infrastructure/auth/GitHubOAuth.js +3 -0
  53. package/dist/infrastructure/auth/GitHubOAuth.js.map +1 -0
  54. package/dist/infrastructure/auth/middleware.d.ts +2 -0
  55. package/dist/infrastructure/auth/middleware.d.ts.map +1 -0
  56. package/dist/infrastructure/auth/middleware.js +3 -0
  57. package/dist/infrastructure/auth/middleware.js.map +1 -0
  58. package/dist/infrastructure/auth/signing.d.ts +3 -0
  59. package/dist/infrastructure/auth/signing.d.ts.map +1 -0
  60. package/dist/infrastructure/auth/signing.js +3 -0
  61. package/dist/infrastructure/auth/signing.js.map +1 -0
  62. package/dist/infrastructure/config/agents.d.ts +6 -0
  63. package/dist/infrastructure/config/agents.d.ts.map +1 -0
  64. package/dist/infrastructure/config/agents.js +100 -0
  65. package/dist/infrastructure/config/agents.js.map +1 -0
  66. package/dist/infrastructure/config/auth.d.ts +13 -0
  67. package/dist/infrastructure/config/auth.d.ts.map +1 -0
  68. package/dist/infrastructure/config/auth.js +80 -0
  69. package/dist/infrastructure/config/auth.js.map +1 -0
  70. package/dist/infrastructure/config/cors.d.ts +2 -0
  71. package/dist/infrastructure/config/cors.d.ts.map +1 -0
  72. package/dist/infrastructure/config/cors.js +3 -0
  73. package/dist/infrastructure/config/cors.js.map +1 -0
  74. package/dist/infrastructure/config/datadog.d.ts +6 -0
  75. package/dist/infrastructure/config/datadog.d.ts.map +1 -0
  76. package/dist/infrastructure/config/datadog.js +22 -0
  77. package/dist/infrastructure/config/datadog.js.map +1 -0
  78. package/dist/infrastructure/config/documents.d.ts +5 -0
  79. package/dist/infrastructure/config/documents.d.ts.map +1 -0
  80. package/dist/infrastructure/config/documents.js +36 -0
  81. package/dist/infrastructure/config/documents.js.map +1 -0
  82. package/dist/infrastructure/config/email.d.ts +5 -0
  83. package/dist/infrastructure/config/email.d.ts.map +1 -0
  84. package/dist/infrastructure/config/email.js +12 -0
  85. package/dist/infrastructure/config/email.js.map +1 -0
  86. package/dist/infrastructure/config/environments.d.ts +5 -0
  87. package/dist/infrastructure/config/environments.d.ts.map +1 -0
  88. package/dist/infrastructure/config/environments.js +15 -0
  89. package/dist/infrastructure/config/environments.js.map +1 -0
  90. package/dist/infrastructure/config/execution.d.ts +5 -0
  91. package/dist/infrastructure/config/execution.d.ts.map +1 -0
  92. package/dist/infrastructure/config/execution.js +21 -0
  93. package/dist/infrastructure/config/execution.js.map +1 -0
  94. package/dist/infrastructure/config/fragmentLibrary.d.ts +5 -0
  95. package/dist/infrastructure/config/fragmentLibrary.d.ts.map +1 -0
  96. package/dist/infrastructure/config/fragmentLibrary.js +7 -0
  97. package/dist/infrastructure/config/fragmentLibrary.js.map +1 -0
  98. package/dist/infrastructure/config/github.d.ts +5 -0
  99. package/dist/infrastructure/config/github.d.ts.map +1 -0
  100. package/dist/infrastructure/config/github.js +25 -0
  101. package/dist/infrastructure/config/github.js.map +1 -0
  102. package/dist/infrastructure/config/index.d.ts +20 -0
  103. package/dist/infrastructure/config/index.d.ts.map +1 -0
  104. package/dist/infrastructure/config/index.js +52 -0
  105. package/dist/infrastructure/config/index.js.map +1 -0
  106. package/dist/infrastructure/config/langfuse.d.ts +10 -0
  107. package/dist/infrastructure/config/langfuse.d.ts.map +1 -0
  108. package/dist/infrastructure/config/langfuse.js +17 -0
  109. package/dist/infrastructure/config/langfuse.js.map +1 -0
  110. package/dist/infrastructure/config/observability.d.ts +10 -0
  111. package/dist/infrastructure/config/observability.d.ts.map +1 -0
  112. package/dist/infrastructure/config/observability.js +11 -0
  113. package/dist/infrastructure/config/observability.js.map +1 -0
  114. package/dist/infrastructure/config/retention.d.ts +5 -0
  115. package/dist/infrastructure/config/retention.d.ts.map +1 -0
  116. package/dist/infrastructure/config/retention.js +15 -0
  117. package/dist/infrastructure/config/retention.js.map +1 -0
  118. package/dist/infrastructure/config/runners.d.ts +5 -0
  119. package/dist/infrastructure/config/runners.d.ts.map +1 -0
  120. package/dist/infrastructure/config/runners.js +13 -0
  121. package/dist/infrastructure/config/runners.js.map +1 -0
  122. package/dist/infrastructure/config/slack.d.ts +5 -0
  123. package/dist/infrastructure/config/slack.d.ts.map +1 -0
  124. package/dist/infrastructure/config/slack.js +17 -0
  125. package/dist/infrastructure/config/slack.js.map +1 -0
  126. package/dist/infrastructure/config/spending.d.ts +4 -0
  127. package/dist/infrastructure/config/spending.d.ts.map +1 -0
  128. package/dist/infrastructure/config/spending.js +36 -0
  129. package/dist/infrastructure/config/spending.js.map +1 -0
  130. package/dist/infrastructure/config/tasks.d.ts +5 -0
  131. package/dist/infrastructure/config/tasks.d.ts.map +1 -0
  132. package/dist/infrastructure/config/tasks.js +31 -0
  133. package/dist/infrastructure/config/tasks.js.map +1 -0
  134. package/dist/infrastructure/config/utils.d.ts +6 -0
  135. package/dist/infrastructure/config/utils.d.ts.map +1 -0
  136. package/dist/infrastructure/config/utils.js +24 -0
  137. package/dist/infrastructure/config/utils.js.map +1 -0
  138. package/dist/infrastructure/container.d.ts +8 -0
  139. package/dist/infrastructure/container.d.ts.map +1 -0
  140. package/dist/infrastructure/container.js +1157 -0
  141. package/dist/infrastructure/container.js.map +1 -0
  142. package/dist/infrastructure/containers/CloudflareContainerTransport.d.ts +22 -0
  143. package/dist/infrastructure/containers/CloudflareContainerTransport.d.ts.map +1 -0
  144. package/dist/infrastructure/containers/CloudflareContainerTransport.js +129 -0
  145. package/dist/infrastructure/containers/CloudflareContainerTransport.js.map +1 -0
  146. package/dist/infrastructure/containers/ContainerInstanceRegistry.d.ts +62 -0
  147. package/dist/infrastructure/containers/ContainerInstanceRegistry.d.ts.map +1 -0
  148. package/dist/infrastructure/containers/ContainerInstanceRegistry.js +74 -0
  149. package/dist/infrastructure/containers/ContainerInstanceRegistry.js.map +1 -0
  150. package/dist/infrastructure/containers/ContainerSessionService.d.ts +2 -0
  151. package/dist/infrastructure/containers/ContainerSessionService.d.ts.map +1 -0
  152. package/dist/infrastructure/containers/ContainerSessionService.js +3 -0
  153. package/dist/infrastructure/containers/ContainerSessionService.js.map +1 -0
  154. package/dist/infrastructure/containers/ExecutionContainer.d.ts +48 -0
  155. package/dist/infrastructure/containers/ExecutionContainer.d.ts.map +1 -0
  156. package/dist/infrastructure/containers/ExecutionContainer.js +88 -0
  157. package/dist/infrastructure/containers/ExecutionContainer.js.map +1 -0
  158. package/dist/infrastructure/documents/ConfluenceProvider.d.ts +29 -0
  159. package/dist/infrastructure/documents/ConfluenceProvider.d.ts.map +1 -0
  160. package/dist/infrastructure/documents/ConfluenceProvider.js +179 -0
  161. package/dist/infrastructure/documents/ConfluenceProvider.js.map +1 -0
  162. package/dist/infrastructure/documents/GitHubDocsProvider.d.ts +42 -0
  163. package/dist/infrastructure/documents/GitHubDocsProvider.d.ts.map +1 -0
  164. package/dist/infrastructure/documents/GitHubDocsProvider.js +85 -0
  165. package/dist/infrastructure/documents/GitHubDocsProvider.js.map +1 -0
  166. package/dist/infrastructure/documents/NotionProvider.d.ts +32 -0
  167. package/dist/infrastructure/documents/NotionProvider.d.ts.map +1 -0
  168. package/dist/infrastructure/documents/NotionProvider.js +220 -0
  169. package/dist/infrastructure/documents/NotionProvider.js.map +1 -0
  170. package/dist/infrastructure/durable-objects/WorkspaceEventsHub.d.ts +20 -0
  171. package/dist/infrastructure/durable-objects/WorkspaceEventsHub.d.ts.map +1 -0
  172. package/dist/infrastructure/durable-objects/WorkspaceEventsHub.js +62 -0
  173. package/dist/infrastructure/durable-objects/WorkspaceEventsHub.js.map +1 -0
  174. package/dist/infrastructure/env.d.ts +370 -0
  175. package/dist/infrastructure/env.d.ts.map +1 -0
  176. package/dist/infrastructure/env.js +2 -0
  177. package/dist/infrastructure/env.js.map +1 -0
  178. package/dist/infrastructure/environments/HttpEnvironmentProvider.d.ts +27 -0
  179. package/dist/infrastructure/environments/HttpEnvironmentProvider.d.ts.map +1 -0
  180. package/dist/infrastructure/environments/HttpEnvironmentProvider.js +314 -0
  181. package/dist/infrastructure/environments/HttpEnvironmentProvider.js.map +1 -0
  182. package/dist/infrastructure/environments/WebCryptoSecretCipher.d.ts +2 -0
  183. package/dist/infrastructure/environments/WebCryptoSecretCipher.d.ts.map +1 -0
  184. package/dist/infrastructure/environments/WebCryptoSecretCipher.js +5 -0
  185. package/dist/infrastructure/environments/WebCryptoSecretCipher.js.map +1 -0
  186. package/dist/infrastructure/environments/sweep.d.ts +5 -0
  187. package/dist/infrastructure/environments/sweep.d.ts.map +1 -0
  188. package/dist/infrastructure/environments/sweep.js +16 -0
  189. package/dist/infrastructure/environments/sweep.js.map +1 -0
  190. package/dist/infrastructure/events/DurableObjectEventPublisher.d.ts +25 -0
  191. package/dist/infrastructure/events/DurableObjectEventPublisher.d.ts.map +1 -0
  192. package/dist/infrastructure/events/DurableObjectEventPublisher.js +64 -0
  193. package/dist/infrastructure/events/DurableObjectEventPublisher.js.map +1 -0
  194. package/dist/infrastructure/events/InAppNotificationChannel.d.ts +19 -0
  195. package/dist/infrastructure/events/InAppNotificationChannel.d.ts.map +1 -0
  196. package/dist/infrastructure/events/InAppNotificationChannel.js +22 -0
  197. package/dist/infrastructure/events/InAppNotificationChannel.js.map +1 -0
  198. package/dist/infrastructure/gateways/DoRealtimeGateway.d.ts +15 -0
  199. package/dist/infrastructure/gateways/DoRealtimeGateway.d.ts.map +1 -0
  200. package/dist/infrastructure/gateways/DoRealtimeGateway.js +20 -0
  201. package/dist/infrastructure/gateways/DoRealtimeGateway.js.map +1 -0
  202. package/dist/infrastructure/gateways/GitHubGateways.d.ts +27 -0
  203. package/dist/infrastructure/gateways/GitHubGateways.d.ts.map +1 -0
  204. package/dist/infrastructure/gateways/GitHubGateways.js +48 -0
  205. package/dist/infrastructure/gateways/GitHubGateways.js.map +1 -0
  206. package/dist/infrastructure/github/FetchGitHubClient.d.ts +2 -0
  207. package/dist/infrastructure/github/FetchGitHubClient.d.ts.map +1 -0
  208. package/dist/infrastructure/github/FetchGitHubClient.js +4 -0
  209. package/dist/infrastructure/github/FetchGitHubClient.js.map +1 -0
  210. package/dist/infrastructure/github/FetchGitHubProvisioningClient.d.ts +2 -0
  211. package/dist/infrastructure/github/FetchGitHubProvisioningClient.d.ts.map +1 -0
  212. package/dist/infrastructure/github/FetchGitHubProvisioningClient.js +5 -0
  213. package/dist/infrastructure/github/FetchGitHubProvisioningClient.js.map +1 -0
  214. package/dist/infrastructure/github/GitHubAppAuth.d.ts +2 -0
  215. package/dist/infrastructure/github/GitHubAppAuth.d.ts.map +1 -0
  216. package/dist/infrastructure/github/GitHubAppAuth.js +5 -0
  217. package/dist/infrastructure/github/GitHubAppAuth.js.map +1 -0
  218. package/dist/infrastructure/github/GitHubAppRegistry.d.ts +2 -0
  219. package/dist/infrastructure/github/GitHubAppRegistry.d.ts.map +1 -0
  220. package/dist/infrastructure/github/GitHubAppRegistry.js +4 -0
  221. package/dist/infrastructure/github/GitHubAppRegistry.js.map +1 -0
  222. package/dist/infrastructure/github/GitHubCiStatusProvider.d.ts +2 -0
  223. package/dist/infrastructure/github/GitHubCiStatusProvider.d.ts.map +1 -0
  224. package/dist/infrastructure/github/GitHubCiStatusProvider.js +4 -0
  225. package/dist/infrastructure/github/GitHubCiStatusProvider.js.map +1 -0
  226. package/dist/infrastructure/github/GitHubMergeabilityProvider.d.ts +2 -0
  227. package/dist/infrastructure/github/GitHubMergeabilityProvider.d.ts.map +1 -0
  228. package/dist/infrastructure/github/GitHubMergeabilityProvider.js +4 -0
  229. package/dist/infrastructure/github/GitHubMergeabilityProvider.js.map +1 -0
  230. package/dist/infrastructure/github/GitHubPullRequestMerger.d.ts +2 -0
  231. package/dist/infrastructure/github/GitHubPullRequestMerger.d.ts.map +1 -0
  232. package/dist/infrastructure/github/GitHubPullRequestMerger.js +4 -0
  233. package/dist/infrastructure/github/GitHubPullRequestMerger.js.map +1 -0
  234. package/dist/infrastructure/github/WebCryptoWebhookVerifier.d.ts +2 -0
  235. package/dist/infrastructure/github/WebCryptoWebhookVerifier.d.ts.map +1 -0
  236. package/dist/infrastructure/github/WebCryptoWebhookVerifier.js +5 -0
  237. package/dist/infrastructure/github/WebCryptoWebhookVerifier.js.map +1 -0
  238. package/dist/infrastructure/github/encoding.d.ts +2 -0
  239. package/dist/infrastructure/github/encoding.d.ts.map +1 -0
  240. package/dist/infrastructure/github/encoding.js +3 -0
  241. package/dist/infrastructure/github/encoding.js.map +1 -0
  242. package/dist/infrastructure/github/state.d.ts +2 -0
  243. package/dist/infrastructure/github/state.d.ts.map +1 -0
  244. package/dist/infrastructure/github/state.js +3 -0
  245. package/dist/infrastructure/github/state.js.map +1 -0
  246. package/dist/infrastructure/github/sync-consumer.d.ts +16 -0
  247. package/dist/infrastructure/github/sync-consumer.d.ts.map +1 -0
  248. package/dist/infrastructure/github/sync-consumer.js +130 -0
  249. package/dist/infrastructure/github/sync-consumer.js.map +1 -0
  250. package/dist/infrastructure/http/errorHandler.d.ts +2 -0
  251. package/dist/infrastructure/http/errorHandler.d.ts.map +1 -0
  252. package/dist/infrastructure/http/errorHandler.js +3 -0
  253. package/dist/infrastructure/http/errorHandler.js.map +1 -0
  254. package/dist/infrastructure/http/params.d.ts +2 -0
  255. package/dist/infrastructure/http/params.d.ts.map +1 -0
  256. package/dist/infrastructure/http/params.js +3 -0
  257. package/dist/infrastructure/http/params.js.map +1 -0
  258. package/dist/infrastructure/http/types.d.ts +12 -0
  259. package/dist/infrastructure/http/types.d.ts.map +1 -0
  260. package/dist/infrastructure/http/types.js +2 -0
  261. package/dist/infrastructure/http/types.js.map +1 -0
  262. package/dist/infrastructure/http/validation.d.ts +2 -0
  263. package/dist/infrastructure/http/validation.d.ts.map +1 -0
  264. package/dist/infrastructure/http/validation.js +3 -0
  265. package/dist/infrastructure/http/validation.js.map +1 -0
  266. package/dist/infrastructure/observability/logger.d.ts +3 -0
  267. package/dist/infrastructure/observability/logger.d.ts.map +1 -0
  268. package/dist/infrastructure/observability/logger.js +4 -0
  269. package/dist/infrastructure/observability/logger.js.map +1 -0
  270. package/dist/infrastructure/repositories/D1AccountInvitationRepository.d.ts +15 -0
  271. package/dist/infrastructure/repositories/D1AccountInvitationRepository.d.ts.map +1 -0
  272. package/dist/infrastructure/repositories/D1AccountInvitationRepository.js +63 -0
  273. package/dist/infrastructure/repositories/D1AccountInvitationRepository.js.map +1 -0
  274. package/dist/infrastructure/repositories/D1AccountRepository.d.ts +15 -0
  275. package/dist/infrastructure/repositories/D1AccountRepository.d.ts.map +1 -0
  276. package/dist/infrastructure/repositories/D1AccountRepository.js +52 -0
  277. package/dist/infrastructure/repositories/D1AccountRepository.js.map +1 -0
  278. package/dist/infrastructure/repositories/D1AgentRunRepository.d.ts +18 -0
  279. package/dist/infrastructure/repositories/D1AgentRunRepository.d.ts.map +1 -0
  280. package/dist/infrastructure/repositories/D1AgentRunRepository.js +34 -0
  281. package/dist/infrastructure/repositories/D1AgentRunRepository.js.map +1 -0
  282. package/dist/infrastructure/repositories/D1BlockRepository.d.ts +23 -0
  283. package/dist/infrastructure/repositories/D1BlockRepository.d.ts.map +1 -0
  284. package/dist/infrastructure/repositories/D1BlockRepository.js +101 -0
  285. package/dist/infrastructure/repositories/D1BlockRepository.js.map +1 -0
  286. package/dist/infrastructure/repositories/D1BootstrapJobRepository.d.ts +16 -0
  287. package/dist/infrastructure/repositories/D1BootstrapJobRepository.d.ts.map +1 -0
  288. package/dist/infrastructure/repositories/D1BootstrapJobRepository.js +209 -0
  289. package/dist/infrastructure/repositories/D1BootstrapJobRepository.js.map +1 -0
  290. package/dist/infrastructure/repositories/D1BranchProjectionRepository.d.ts +12 -0
  291. package/dist/infrastructure/repositories/D1BranchProjectionRepository.d.ts.map +1 -0
  292. package/dist/infrastructure/repositories/D1BranchProjectionRepository.js +29 -0
  293. package/dist/infrastructure/repositories/D1BranchProjectionRepository.js.map +1 -0
  294. package/dist/infrastructure/repositories/D1CheckRunProjectionRepository.d.ts +12 -0
  295. package/dist/infrastructure/repositories/D1CheckRunProjectionRepository.d.ts.map +1 -0
  296. package/dist/infrastructure/repositories/D1CheckRunProjectionRepository.js +29 -0
  297. package/dist/infrastructure/repositories/D1CheckRunProjectionRepository.js.map +1 -0
  298. package/dist/infrastructure/repositories/D1ClarityReviewRepository.d.ts +19 -0
  299. package/dist/infrastructure/repositories/D1ClarityReviewRepository.d.ts.map +1 -0
  300. package/dist/infrastructure/repositories/D1ClarityReviewRepository.js +75 -0
  301. package/dist/infrastructure/repositories/D1ClarityReviewRepository.js.map +1 -0
  302. package/dist/infrastructure/repositories/D1CommitProjectionRepository.d.ts +13 -0
  303. package/dist/infrastructure/repositories/D1CommitProjectionRepository.d.ts.map +1 -0
  304. package/dist/infrastructure/repositories/D1CommitProjectionRepository.js +48 -0
  305. package/dist/infrastructure/repositories/D1CommitProjectionRepository.js.map +1 -0
  306. package/dist/infrastructure/repositories/D1ConsensusSessionRepository.d.ts +19 -0
  307. package/dist/infrastructure/repositories/D1ConsensusSessionRepository.d.ts.map +1 -0
  308. package/dist/infrastructure/repositories/D1ConsensusSessionRepository.js +88 -0
  309. package/dist/infrastructure/repositories/D1ConsensusSessionRepository.js.map +1 -0
  310. package/dist/infrastructure/repositories/D1DatadogConnectionRepository.d.ts +17 -0
  311. package/dist/infrastructure/repositories/D1DatadogConnectionRepository.d.ts.map +1 -0
  312. package/dist/infrastructure/repositories/D1DatadogConnectionRepository.js +47 -0
  313. package/dist/infrastructure/repositories/D1DatadogConnectionRepository.js.map +1 -0
  314. package/dist/infrastructure/repositories/D1DocumentConnectionRepository.d.ts +27 -0
  315. package/dist/infrastructure/repositories/D1DocumentConnectionRepository.d.ts.map +1 -0
  316. package/dist/infrastructure/repositories/D1DocumentConnectionRepository.js +89 -0
  317. package/dist/infrastructure/repositories/D1DocumentConnectionRepository.js.map +1 -0
  318. package/dist/infrastructure/repositories/D1DocumentRepository.d.ts +15 -0
  319. package/dist/infrastructure/repositories/D1DocumentRepository.d.ts.map +1 -0
  320. package/dist/infrastructure/repositories/D1DocumentRepository.js +66 -0
  321. package/dist/infrastructure/repositories/D1DocumentRepository.js.map +1 -0
  322. package/dist/infrastructure/repositories/D1EmailConnectionRepository.d.ts +13 -0
  323. package/dist/infrastructure/repositories/D1EmailConnectionRepository.d.ts.map +1 -0
  324. package/dist/infrastructure/repositories/D1EmailConnectionRepository.js +46 -0
  325. package/dist/infrastructure/repositories/D1EmailConnectionRepository.js.map +1 -0
  326. package/dist/infrastructure/repositories/D1EnvironmentConnectionRepository.d.ts +13 -0
  327. package/dist/infrastructure/repositories/D1EnvironmentConnectionRepository.d.ts.map +1 -0
  328. package/dist/infrastructure/repositories/D1EnvironmentConnectionRepository.js +48 -0
  329. package/dist/infrastructure/repositories/D1EnvironmentConnectionRepository.js.map +1 -0
  330. package/dist/infrastructure/repositories/D1EnvironmentRegistryRepository.d.ts +17 -0
  331. package/dist/infrastructure/repositories/D1EnvironmentRegistryRepository.d.ts.map +1 -0
  332. package/dist/infrastructure/repositories/D1EnvironmentRegistryRepository.js +95 -0
  333. package/dist/infrastructure/repositories/D1EnvironmentRegistryRepository.js.map +1 -0
  334. package/dist/infrastructure/repositories/D1ExecutionRepository.d.ts +28 -0
  335. package/dist/infrastructure/repositories/D1ExecutionRepository.d.ts.map +1 -0
  336. package/dist/infrastructure/repositories/D1ExecutionRepository.js +113 -0
  337. package/dist/infrastructure/repositories/D1ExecutionRepository.js.map +1 -0
  338. package/dist/infrastructure/repositories/D1FragmentSourceRepository.d.ts +15 -0
  339. package/dist/infrastructure/repositories/D1FragmentSourceRepository.d.ts.map +1 -0
  340. package/dist/infrastructure/repositories/D1FragmentSourceRepository.js +66 -0
  341. package/dist/infrastructure/repositories/D1FragmentSourceRepository.js.map +1 -0
  342. package/dist/infrastructure/repositories/D1GitHubInstallationRepository.d.ts +17 -0
  343. package/dist/infrastructure/repositories/D1GitHubInstallationRepository.d.ts.map +1 -0
  344. package/dist/infrastructure/repositories/D1GitHubInstallationRepository.js +79 -0
  345. package/dist/infrastructure/repositories/D1GitHubInstallationRepository.js.map +1 -0
  346. package/dist/infrastructure/repositories/D1IssueProjectionRepository.d.ts +13 -0
  347. package/dist/infrastructure/repositories/D1IssueProjectionRepository.d.ts.map +1 -0
  348. package/dist/infrastructure/repositories/D1IssueProjectionRepository.js +36 -0
  349. package/dist/infrastructure/repositories/D1IssueProjectionRepository.js.map +1 -0
  350. package/dist/infrastructure/repositories/D1LiveContainerRepository.d.ts +17 -0
  351. package/dist/infrastructure/repositories/D1LiveContainerRepository.d.ts.map +1 -0
  352. package/dist/infrastructure/repositories/D1LiveContainerRepository.js +40 -0
  353. package/dist/infrastructure/repositories/D1LiveContainerRepository.js.map +1 -0
  354. package/dist/infrastructure/repositories/D1LlmCallMetricRepository.d.ts +15 -0
  355. package/dist/infrastructure/repositories/D1LlmCallMetricRepository.d.ts.map +1 -0
  356. package/dist/infrastructure/repositories/D1LlmCallMetricRepository.js +123 -0
  357. package/dist/infrastructure/repositories/D1LlmCallMetricRepository.js.map +1 -0
  358. package/dist/infrastructure/repositories/D1LocalModelEndpointRepository.d.ts +15 -0
  359. package/dist/infrastructure/repositories/D1LocalModelEndpointRepository.d.ts.map +1 -0
  360. package/dist/infrastructure/repositories/D1LocalModelEndpointRepository.js +63 -0
  361. package/dist/infrastructure/repositories/D1LocalModelEndpointRepository.js.map +1 -0
  362. package/dist/infrastructure/repositories/D1MembershipRepository.d.ts +15 -0
  363. package/dist/infrastructure/repositories/D1MembershipRepository.d.ts.map +1 -0
  364. package/dist/infrastructure/repositories/D1MembershipRepository.js +58 -0
  365. package/dist/infrastructure/repositories/D1MembershipRepository.js.map +1 -0
  366. package/dist/infrastructure/repositories/D1MergePresetRepository.d.ts +21 -0
  367. package/dist/infrastructure/repositories/D1MergePresetRepository.d.ts.map +1 -0
  368. package/dist/infrastructure/repositories/D1MergePresetRepository.js +88 -0
  369. package/dist/infrastructure/repositories/D1MergePresetRepository.js.map +1 -0
  370. package/dist/infrastructure/repositories/D1ModelDefaultsRepository.d.ts +18 -0
  371. package/dist/infrastructure/repositories/D1ModelDefaultsRepository.d.ts.map +1 -0
  372. package/dist/infrastructure/repositories/D1ModelDefaultsRepository.js +47 -0
  373. package/dist/infrastructure/repositories/D1ModelDefaultsRepository.js.map +1 -0
  374. package/dist/infrastructure/repositories/D1NotificationRepository.d.ts +20 -0
  375. package/dist/infrastructure/repositories/D1NotificationRepository.d.ts.map +1 -0
  376. package/dist/infrastructure/repositories/D1NotificationRepository.js +81 -0
  377. package/dist/infrastructure/repositories/D1NotificationRepository.js.map +1 -0
  378. package/dist/infrastructure/repositories/D1PersonalSubscriptionRepository.d.ts +28 -0
  379. package/dist/infrastructure/repositories/D1PersonalSubscriptionRepository.d.ts.map +1 -0
  380. package/dist/infrastructure/repositories/D1PersonalSubscriptionRepository.js +142 -0
  381. package/dist/infrastructure/repositories/D1PersonalSubscriptionRepository.js.map +1 -0
  382. package/dist/infrastructure/repositories/D1PipelineRepository.d.ts +15 -0
  383. package/dist/infrastructure/repositories/D1PipelineRepository.d.ts.map +1 -0
  384. package/dist/infrastructure/repositories/D1PipelineRepository.js +46 -0
  385. package/dist/infrastructure/repositories/D1PipelineRepository.js.map +1 -0
  386. package/dist/infrastructure/repositories/D1PipelineScheduleRepository.d.ts +26 -0
  387. package/dist/infrastructure/repositories/D1PipelineScheduleRepository.d.ts.map +1 -0
  388. package/dist/infrastructure/repositories/D1PipelineScheduleRepository.js +192 -0
  389. package/dist/infrastructure/repositories/D1PipelineScheduleRepository.js.map +1 -0
  390. package/dist/infrastructure/repositories/D1PromptFragmentRepository.d.ts +15 -0
  391. package/dist/infrastructure/repositories/D1PromptFragmentRepository.d.ts.map +1 -0
  392. package/dist/infrastructure/repositories/D1PromptFragmentRepository.js +90 -0
  393. package/dist/infrastructure/repositories/D1PromptFragmentRepository.js.map +1 -0
  394. package/dist/infrastructure/repositories/D1ProviderApiKeyRepository.d.ts +21 -0
  395. package/dist/infrastructure/repositories/D1ProviderApiKeyRepository.d.ts.map +1 -0
  396. package/dist/infrastructure/repositories/D1ProviderApiKeyRepository.js +108 -0
  397. package/dist/infrastructure/repositories/D1ProviderApiKeyRepository.js.map +1 -0
  398. package/dist/infrastructure/repositories/D1ProviderSubscriptionTokenRepository.d.ts +19 -0
  399. package/dist/infrastructure/repositories/D1ProviderSubscriptionTokenRepository.d.ts.map +1 -0
  400. package/dist/infrastructure/repositories/D1ProviderSubscriptionTokenRepository.js +78 -0
  401. package/dist/infrastructure/repositories/D1ProviderSubscriptionTokenRepository.js.map +1 -0
  402. package/dist/infrastructure/repositories/D1PullRequestProjectionRepository.d.ts +13 -0
  403. package/dist/infrastructure/repositories/D1PullRequestProjectionRepository.d.ts.map +1 -0
  404. package/dist/infrastructure/repositories/D1PullRequestProjectionRepository.js +32 -0
  405. package/dist/infrastructure/repositories/D1PullRequestProjectionRepository.js.map +1 -0
  406. package/dist/infrastructure/repositories/D1RateLimitRepository.d.ts +18 -0
  407. package/dist/infrastructure/repositories/D1RateLimitRepository.d.ts.map +1 -0
  408. package/dist/infrastructure/repositories/D1RateLimitRepository.js +30 -0
  409. package/dist/infrastructure/repositories/D1RateLimitRepository.js.map +1 -0
  410. package/dist/infrastructure/repositories/D1ReferenceArchitectureRepository.d.ts +15 -0
  411. package/dist/infrastructure/repositories/D1ReferenceArchitectureRepository.d.ts.map +1 -0
  412. package/dist/infrastructure/repositories/D1ReferenceArchitectureRepository.js +77 -0
  413. package/dist/infrastructure/repositories/D1ReferenceArchitectureRepository.js.map +1 -0
  414. package/dist/infrastructure/repositories/D1ReleaseHealthConfigRepository.d.ts +17 -0
  415. package/dist/infrastructure/repositories/D1ReleaseHealthConfigRepository.d.ts.map +1 -0
  416. package/dist/infrastructure/repositories/D1ReleaseHealthConfigRepository.js +64 -0
  417. package/dist/infrastructure/repositories/D1ReleaseHealthConfigRepository.js.map +1 -0
  418. package/dist/infrastructure/repositories/D1RepoBlueprintRepository.d.ts +20 -0
  419. package/dist/infrastructure/repositories/D1RepoBlueprintRepository.d.ts.map +1 -0
  420. package/dist/infrastructure/repositories/D1RepoBlueprintRepository.js +64 -0
  421. package/dist/infrastructure/repositories/D1RepoBlueprintRepository.js.map +1 -0
  422. package/dist/infrastructure/repositories/D1RepoProjectionRepository.d.ts +20 -0
  423. package/dist/infrastructure/repositories/D1RepoProjectionRepository.d.ts.map +1 -0
  424. package/dist/infrastructure/repositories/D1RepoProjectionRepository.js +121 -0
  425. package/dist/infrastructure/repositories/D1RepoProjectionRepository.js.map +1 -0
  426. package/dist/infrastructure/repositories/D1RequirementReviewRepository.d.ts +20 -0
  427. package/dist/infrastructure/repositories/D1RequirementReviewRepository.d.ts.map +1 -0
  428. package/dist/infrastructure/repositories/D1RequirementReviewRepository.js +76 -0
  429. package/dist/infrastructure/repositories/D1RequirementReviewRepository.js.map +1 -0
  430. package/dist/infrastructure/repositories/D1RunnerPoolConnectionRepository.d.ts +13 -0
  431. package/dist/infrastructure/repositories/D1RunnerPoolConnectionRepository.d.ts.map +1 -0
  432. package/dist/infrastructure/repositories/D1RunnerPoolConnectionRepository.js +48 -0
  433. package/dist/infrastructure/repositories/D1RunnerPoolConnectionRepository.js.map +1 -0
  434. package/dist/infrastructure/repositories/D1ServiceFragmentDefaultsRepository.d.ts +16 -0
  435. package/dist/infrastructure/repositories/D1ServiceFragmentDefaultsRepository.d.ts.map +1 -0
  436. package/dist/infrastructure/repositories/D1ServiceFragmentDefaultsRepository.js +27 -0
  437. package/dist/infrastructure/repositories/D1ServiceFragmentDefaultsRepository.js.map +1 -0
  438. package/dist/infrastructure/repositories/D1ServiceRepository.d.ts +19 -0
  439. package/dist/infrastructure/repositories/D1ServiceRepository.d.ts.map +1 -0
  440. package/dist/infrastructure/repositories/D1ServiceRepository.js +114 -0
  441. package/dist/infrastructure/repositories/D1ServiceRepository.js.map +1 -0
  442. package/dist/infrastructure/repositories/D1SlackRepositories.d.ts +29 -0
  443. package/dist/infrastructure/repositories/D1SlackRepositories.d.ts.map +1 -0
  444. package/dist/infrastructure/repositories/D1SlackRepositories.js +119 -0
  445. package/dist/infrastructure/repositories/D1SlackRepositories.js.map +1 -0
  446. package/dist/infrastructure/repositories/D1TaskConnectionRepository.d.ts +27 -0
  447. package/dist/infrastructure/repositories/D1TaskConnectionRepository.d.ts.map +1 -0
  448. package/dist/infrastructure/repositories/D1TaskConnectionRepository.js +89 -0
  449. package/dist/infrastructure/repositories/D1TaskConnectionRepository.js.map +1 -0
  450. package/dist/infrastructure/repositories/D1TaskRepository.d.ts +15 -0
  451. package/dist/infrastructure/repositories/D1TaskRepository.d.ts.map +1 -0
  452. package/dist/infrastructure/repositories/D1TaskRepository.js +90 -0
  453. package/dist/infrastructure/repositories/D1TaskRepository.js.map +1 -0
  454. package/dist/infrastructure/repositories/D1TokenUsageRepository.d.ts +13 -0
  455. package/dist/infrastructure/repositories/D1TokenUsageRepository.d.ts.map +1 -0
  456. package/dist/infrastructure/repositories/D1TokenUsageRepository.js +41 -0
  457. package/dist/infrastructure/repositories/D1TokenUsageRepository.js.map +1 -0
  458. package/dist/infrastructure/repositories/D1TrackerSettingsRepository.d.ts +12 -0
  459. package/dist/infrastructure/repositories/D1TrackerSettingsRepository.d.ts.map +1 -0
  460. package/dist/infrastructure/repositories/D1TrackerSettingsRepository.js +32 -0
  461. package/dist/infrastructure/repositories/D1TrackerSettingsRepository.js.map +1 -0
  462. package/dist/infrastructure/repositories/D1UserRepository.d.ts +19 -0
  463. package/dist/infrastructure/repositories/D1UserRepository.d.ts.map +1 -0
  464. package/dist/infrastructure/repositories/D1UserRepository.js +108 -0
  465. package/dist/infrastructure/repositories/D1UserRepository.js.map +1 -0
  466. package/dist/infrastructure/repositories/D1WorkspaceMountRepository.d.ts +19 -0
  467. package/dist/infrastructure/repositories/D1WorkspaceMountRepository.d.ts.map +1 -0
  468. package/dist/infrastructure/repositories/D1WorkspaceMountRepository.js +115 -0
  469. package/dist/infrastructure/repositories/D1WorkspaceMountRepository.js.map +1 -0
  470. package/dist/infrastructure/repositories/D1WorkspaceRepository.d.ts +18 -0
  471. package/dist/infrastructure/repositories/D1WorkspaceRepository.d.ts.map +1 -0
  472. package/dist/infrastructure/repositories/D1WorkspaceRepository.js +77 -0
  473. package/dist/infrastructure/repositories/D1WorkspaceRepository.js.map +1 -0
  474. package/dist/infrastructure/repositories/D1WorkspaceSettingsRepository.d.ts +17 -0
  475. package/dist/infrastructure/repositories/D1WorkspaceSettingsRepository.d.ts.map +1 -0
  476. package/dist/infrastructure/repositories/D1WorkspaceSettingsRepository.js +50 -0
  477. package/dist/infrastructure/repositories/D1WorkspaceSettingsRepository.js.map +1 -0
  478. package/dist/infrastructure/repositories/chunk.d.ts +11 -0
  479. package/dist/infrastructure/repositories/chunk.d.ts.map +1 -0
  480. package/dist/infrastructure/repositories/chunk.js +17 -0
  481. package/dist/infrastructure/repositories/chunk.js.map +1 -0
  482. package/dist/infrastructure/repositories/github-mappers/branch.d.ts +11 -0
  483. package/dist/infrastructure/repositories/github-mappers/branch.d.ts.map +1 -0
  484. package/dist/infrastructure/repositories/github-mappers/branch.js +22 -0
  485. package/dist/infrastructure/repositories/github-mappers/branch.js.map +1 -0
  486. package/dist/infrastructure/repositories/github-mappers/check-run.d.ts +13 -0
  487. package/dist/infrastructure/repositories/github-mappers/check-run.d.ts.map +1 -0
  488. package/dist/infrastructure/repositories/github-mappers/check-run.js +24 -0
  489. package/dist/infrastructure/repositories/github-mappers/check-run.js.map +1 -0
  490. package/dist/infrastructure/repositories/github-mappers/commit.d.ts +12 -0
  491. package/dist/infrastructure/repositories/github-mappers/commit.d.ts.map +1 -0
  492. package/dist/infrastructure/repositories/github-mappers/commit.js +22 -0
  493. package/dist/infrastructure/repositories/github-mappers/commit.js.map +1 -0
  494. package/dist/infrastructure/repositories/github-mappers/index.d.ts +11 -0
  495. package/dist/infrastructure/repositories/github-mappers/index.d.ts.map +1 -0
  496. package/dist/infrastructure/repositories/github-mappers/index.js +14 -0
  497. package/dist/infrastructure/repositories/github-mappers/index.js.map +1 -0
  498. package/dist/infrastructure/repositories/github-mappers/installation.d.ts +16 -0
  499. package/dist/infrastructure/repositories/github-mappers/installation.d.ts.map +1 -0
  500. package/dist/infrastructure/repositories/github-mappers/installation.js +29 -0
  501. package/dist/infrastructure/repositories/github-mappers/installation.js.map +1 -0
  502. package/dist/infrastructure/repositories/github-mappers/issue.d.ts +15 -0
  503. package/dist/infrastructure/repositories/github-mappers/issue.d.ts.map +1 -0
  504. package/dist/infrastructure/repositories/github-mappers/issue.js +29 -0
  505. package/dist/infrastructure/repositories/github-mappers/issue.js.map +1 -0
  506. package/dist/infrastructure/repositories/github-mappers/pull-request.d.ts +18 -0
  507. package/dist/infrastructure/repositories/github-mappers/pull-request.d.ts.map +1 -0
  508. package/dist/infrastructure/repositories/github-mappers/pull-request.js +36 -0
  509. package/dist/infrastructure/repositories/github-mappers/pull-request.js.map +1 -0
  510. package/dist/infrastructure/repositories/github-mappers/repo.d.ts +15 -0
  511. package/dist/infrastructure/repositories/github-mappers/repo.d.ts.map +1 -0
  512. package/dist/infrastructure/repositories/github-mappers/repo.js +31 -0
  513. package/dist/infrastructure/repositories/github-mappers/repo.js.map +1 -0
  514. package/dist/infrastructure/repositories/github-mappers/serialize.d.ts +3 -0
  515. package/dist/infrastructure/repositories/github-mappers/serialize.d.ts.map +1 -0
  516. package/dist/infrastructure/repositories/github-mappers/serialize.js +4 -0
  517. package/dist/infrastructure/repositories/github-mappers/serialize.js.map +1 -0
  518. package/dist/infrastructure/repositories/github-mappers/sync-cursor.d.ts +8 -0
  519. package/dist/infrastructure/repositories/github-mappers/sync-cursor.d.ts.map +1 -0
  520. package/dist/infrastructure/repositories/github-mappers/sync-cursor.js +4 -0
  521. package/dist/infrastructure/repositories/github-mappers/sync-cursor.js.map +1 -0
  522. package/dist/infrastructure/repositories/github-mappers/upsert.d.ts +11 -0
  523. package/dist/infrastructure/repositories/github-mappers/upsert.d.ts.map +1 -0
  524. package/dist/infrastructure/repositories/github-mappers/upsert.js +18 -0
  525. package/dist/infrastructure/repositories/github-mappers/upsert.js.map +1 -0
  526. package/dist/infrastructure/repositories/mappers.d.ts +2 -0
  527. package/dist/infrastructure/repositories/mappers.d.ts.map +1 -0
  528. package/dist/infrastructure/repositories/mappers.js +4 -0
  529. package/dist/infrastructure/repositories/mappers.js.map +1 -0
  530. package/dist/infrastructure/runners/HttpRunnerPoolProvider.d.ts +2 -0
  531. package/dist/infrastructure/runners/HttpRunnerPoolProvider.d.ts.map +1 -0
  532. package/dist/infrastructure/runners/HttpRunnerPoolProvider.js +5 -0
  533. package/dist/infrastructure/runners/HttpRunnerPoolProvider.js.map +1 -0
  534. package/dist/infrastructure/runners/RunnerPoolTransport.d.ts +2 -0
  535. package/dist/infrastructure/runners/RunnerPoolTransport.d.ts.map +1 -0
  536. package/dist/infrastructure/runners/RunnerPoolTransport.js +5 -0
  537. package/dist/infrastructure/runners/RunnerPoolTransport.js.map +1 -0
  538. package/dist/infrastructure/runtime.d.ts +8 -0
  539. package/dist/infrastructure/runtime.d.ts.map +1 -0
  540. package/dist/infrastructure/runtime.js +13 -0
  541. package/dist/infrastructure/runtime.js.map +1 -0
  542. package/dist/infrastructure/tasks/GitHubIssuesProvider.d.ts +50 -0
  543. package/dist/infrastructure/tasks/GitHubIssuesProvider.d.ts.map +1 -0
  544. package/dist/infrastructure/tasks/GitHubIssuesProvider.js +91 -0
  545. package/dist/infrastructure/tasks/GitHubIssuesProvider.js.map +1 -0
  546. package/dist/infrastructure/tasks/JiraProvider.d.ts +29 -0
  547. package/dist/infrastructure/tasks/JiraProvider.d.ts.map +1 -0
  548. package/dist/infrastructure/tasks/JiraProvider.js +109 -0
  549. package/dist/infrastructure/tasks/JiraProvider.js.map +1 -0
  550. package/dist/infrastructure/workflows/BootstrapWorkflow.d.ts +21 -0
  551. package/dist/infrastructure/workflows/BootstrapWorkflow.d.ts.map +1 -0
  552. package/dist/infrastructure/workflows/BootstrapWorkflow.js +72 -0
  553. package/dist/infrastructure/workflows/BootstrapWorkflow.js.map +1 -0
  554. package/dist/infrastructure/workflows/ExecutionWorkflow.d.ts +15 -0
  555. package/dist/infrastructure/workflows/ExecutionWorkflow.d.ts.map +1 -0
  556. package/dist/infrastructure/workflows/ExecutionWorkflow.js +169 -0
  557. package/dist/infrastructure/workflows/ExecutionWorkflow.js.map +1 -0
  558. package/dist/infrastructure/workflows/GitHubBackfillWorkflow.d.ts +17 -0
  559. package/dist/infrastructure/workflows/GitHubBackfillWorkflow.d.ts.map +1 -0
  560. package/dist/infrastructure/workflows/GitHubBackfillWorkflow.js +24 -0
  561. package/dist/infrastructure/workflows/GitHubBackfillWorkflow.js.map +1 -0
  562. package/dist/infrastructure/workflows/WorkflowsBootstrapRunner.d.ts +15 -0
  563. package/dist/infrastructure/workflows/WorkflowsBootstrapRunner.d.ts.map +1 -0
  564. package/dist/infrastructure/workflows/WorkflowsBootstrapRunner.js +34 -0
  565. package/dist/infrastructure/workflows/WorkflowsBootstrapRunner.js.map +1 -0
  566. package/dist/infrastructure/workflows/WorkflowsWorkRunner.d.ts +31 -0
  567. package/dist/infrastructure/workflows/WorkflowsWorkRunner.d.ts.map +1 -0
  568. package/dist/infrastructure/workflows/WorkflowsWorkRunner.js +55 -0
  569. package/dist/infrastructure/workflows/WorkflowsWorkRunner.js.map +1 -0
  570. package/dist/infrastructure/workflows/retention.d.ts +35 -0
  571. package/dist/infrastructure/workflows/retention.d.ts.map +1 -0
  572. package/dist/infrastructure/workflows/retention.js +26 -0
  573. package/dist/infrastructure/workflows/retention.js.map +1 -0
  574. package/dist/infrastructure/workflows/sweeper.d.ts +57 -0
  575. package/dist/infrastructure/workflows/sweeper.d.ts.map +1 -0
  576. package/dist/infrastructure/workflows/sweeper.js +62 -0
  577. package/dist/infrastructure/workflows/sweeper.js.map +1 -0
  578. package/migrations/0001_init.sql +677 -0
  579. package/migrations/0002_clarity_reviews.sql +19 -0
  580. package/migrations/0002_consensus.sql +38 -0
  581. package/migrations/0002_llm_reasoning_text.sql +6 -0
  582. package/migrations/0002_local_model_endpoints.sql +16 -0
  583. package/migrations/0003_pipeline_labels_archive.sql +13 -0
  584. package/migrations/0003_release_health.sql +34 -0
  585. package/migrations/0004_run_timing_task_types.sql +24 -0
  586. package/package.json +65 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Igor Savin
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/dist/app.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ import type { CoreDependencies } from '@cat-factory/orchestration';
2
+ import { Hono } from 'hono';
3
+ import type { AppEnv } from './infrastructure/http/types';
4
+ export interface CreateAppOptions {
5
+ /** Override core dependencies — used by tests (e.g. a fake agent executor). */
6
+ overrides?: Partial<CoreDependencies>;
7
+ /** Force the Cloudflare-AI-enabled flag (conformance forces it off for parity). */
8
+ cloudflareModelsEnabled?: boolean;
9
+ }
10
+ /**
11
+ * Assembles the Hono application. A per-request middleware builds the DI
12
+ * container from the request's `env` bindings and stashes it on the context, so
13
+ * controllers resolve their services from `c.get('container')`.
14
+ *
15
+ * The bulk of the controllers are runtime-neutral and live in @cat-factory/server
16
+ * (`registerCoreControllers`); the Worker mounts only its own runtime-coupled
17
+ * controllers — the LLM proxy (Workers AI binding), the WebSocket event stream
18
+ * (Durable Object), the GitHub webhook (Queue) and connect (Workflow), and the
19
+ * OAuth login flow.
20
+ */
21
+ export declare function createApp(options?: CreateAppOptions): Hono<AppEnv>;
22
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAK3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACrC,mFAAmF;IACnF,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC,CA0CtE"}
package/dist/app.js ADDED
@@ -0,0 +1,49 @@
1
+ import { mountAuthGate, registerCoreControllers } from '@cat-factory/server';
2
+ import { Hono } from 'hono';
3
+ import { cors } from 'hono/cors';
4
+ import { resolveCorsOrigin } from './infrastructure/config/cors';
5
+ import { buildContainer } from './infrastructure/container';
6
+ import { handleError } from './infrastructure/http/errorHandler';
7
+ /**
8
+ * Assembles the Hono application. A per-request middleware builds the DI
9
+ * container from the request's `env` bindings and stashes it on the context, so
10
+ * controllers resolve their services from `c.get('container')`.
11
+ *
12
+ * The bulk of the controllers are runtime-neutral and live in @cat-factory/server
13
+ * (`registerCoreControllers`); the Worker mounts only its own runtime-coupled
14
+ * controllers — the LLM proxy (Workers AI binding), the WebSocket event stream
15
+ * (Durable Object), the GitHub webhook (Queue) and connect (Workflow), and the
16
+ * OAuth login flow.
17
+ */
18
+ export function createApp(options = {}) {
19
+ const app = new Hono();
20
+ // CORS allowlist is per-deployment configuration (CORS_ALLOWED_ORIGINS), not
21
+ // hardcoded, since each org provisions this system with its own frontend
22
+ // origin(s). Unset / `*` allows any origin — safe because every route is
23
+ // bearer-gated and fails closed; pinning origins is defense-in-depth. Auth is a
24
+ // bearer header (not cookies), so credentials mode stays off.
25
+ app.use('*', cors({
26
+ origin: (origin, c) => resolveCorsOrigin(origin, c.env.CORS_ALLOWED_ORIGINS),
27
+ // X-Personal-Password carries the ambient personal-subscription unlock password
28
+ // (individual-usage vendors); it must be allow-listed or the browser drops it.
29
+ allowHeaders: ['Content-Type', 'Authorization', 'X-Personal-Password'],
30
+ }));
31
+ app.use('*', async (c, next) => {
32
+ c.set('container', buildContainer(c.env, options.overrides, {
33
+ cloudflareModelsEnabled: options.cloudflareModelsEnabled,
34
+ }));
35
+ await next();
36
+ });
37
+ app.get('/health', (c) => c.json({ status: 'ok' }));
38
+ // Default-deny session gate + per-workspace authz, shared verbatim with the Node
39
+ // service (one implementation in @cat-factory/server so the runtimes can't drift).
40
+ mountAuthGate(app);
41
+ // The runtime-neutral API layer — every controller is shared across facades. Their
42
+ // runtime seams (WebSocket upgrade, backfill Workflow, sync Queue, the LLM proxy's
43
+ // Workers AI binding + upstreams) are delegated to the Worker's gateways (see
44
+ // buildContainer's `gateways`).
45
+ registerCoreControllers(app);
46
+ app.onError(handleError);
47
+ return app;
48
+ }
49
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAE5E,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAUhE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CAAC,OAAO,GAAqB,EAAE;IACtD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAE9B,6EAA6E;IAC7E,yEAAyE;IACzE,yEAAyE;IACzE,gFAAgF;IAChF,8DAA8D;IAC9D,GAAG,CAAC,GAAG,CACL,GAAG,EACH,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAC5E,gFAAgF;QAChF,+EAA+E;QAC/E,YAAY,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,qBAAqB,CAAC;KACvE,CAAC,CACH,CAAA;IACD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC7B,CAAC,CAAC,GAAG,CACH,WAAW,EACX,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE;YACvC,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;SACzD,CAAC,CACH,CAAA;QACD,MAAM,IAAI,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEnD,iFAAiF;IACjF,mFAAmF;IACnF,aAAa,CAAC,GAAG,CAAC,CAAA;IAElB,mFAAmF;IACnF,mFAAmF;IACnF,8EAA8E;IAC9E,gCAAgC;IAChC,uBAAuB,CAAC,GAAG,CAAC,CAAA;IAE5B,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAExB,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { ExecutionContext, MessageBatch, ScheduledController } from '@cloudflare/workers-types';
2
+ import type { Env, ExecutionStartMessage, GitHubSyncMessage } from './infrastructure/env';
3
+ export { ExecutionWorkflow } from './infrastructure/workflows/ExecutionWorkflow';
4
+ export { GitHubBackfillWorkflow } from './infrastructure/workflows/GitHubBackfillWorkflow';
5
+ export { BootstrapWorkflow } from './infrastructure/workflows/BootstrapWorkflow';
6
+ export { ExecutionContainer } from './infrastructure/containers/ExecutionContainer';
7
+ export { WorkspaceEventsHub } from './infrastructure/durable-objects/WorkspaceEventsHub';
8
+ export { registerModelRegistry, clearModelRegistries, type ModelRegistryFactory, } from './infrastructure/ai/registries';
9
+ export { registerAgentKind, registerAgentKinds, clearRegisteredAgentKinds, type AgentKindDefinition, } from '@cat-factory/agents';
10
+ export { registerPipeline, registerPipelines, clearRegisteredPipelines } from '@cat-factory/kernel';
11
+ declare const _default: {
12
+ fetch: (request: Request, Env?: Env | {} | undefined, executionCtx?: import("hono").ExecutionContext) => Response | Promise<Response>;
13
+ scheduled(controller: ScheduledController, env: Env, ctx: ExecutionContext): Promise<void>;
14
+ queue(batch: MessageBatch<ExecutionStartMessage | GitHubSyncMessage>, env: Env): Promise<void>;
15
+ };
16
+ export default _default;
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAGpG,OAAO,KAAK,EAAE,GAAG,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AA0BzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAA;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAA;AAEnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAA;AAKxF,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,oBAAoB,GAC1B,MAAM,gCAAgC,CAAA;AAMvC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;;IA6BjG,KAAK;IAEC,SAAS,aAAa,mBAAmB,OAAO,GAAG,OAAO,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2M1F,KAAK,QACF,YAAY,CAAC,qBAAqB,GAAG,iBAAiB,CAAC,OACzD,GAAG,GACP,OAAO,CAAC,IAAI,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,234 @@
1
+ import { createApp } from './app';
2
+ import { loadConfig } from './infrastructure/config';
3
+ import { D1AgentRunRepository } from './infrastructure/repositories/D1AgentRunRepository';
4
+ import { D1CommitProjectionRepository } from './infrastructure/repositories/D1CommitProjectionRepository';
5
+ import { D1LiveContainerRepository } from './infrastructure/repositories/D1LiveContainerRepository';
6
+ import { D1SubscriptionActivationRepository } from './infrastructure/repositories/D1PersonalSubscriptionRepository';
7
+ import { ContainerInstanceRegistry } from './infrastructure/containers/ContainerInstanceRegistry';
8
+ import { D1RateLimitRepository } from './infrastructure/repositories/D1RateLimitRepository';
9
+ import { D1TokenUsageRepository } from './infrastructure/repositories/D1TokenUsageRepository';
10
+ import { D1LlmCallMetricRepository } from './infrastructure/repositories/D1LlmCallMetricRepository';
11
+ import { D1PipelineScheduleRepository } from './infrastructure/repositories/D1PipelineScheduleRepository';
12
+ import { buildContainer } from './infrastructure/container';
13
+ import { escalateStaleNotifications } from '@cat-factory/server';
14
+ import { CryptoIdGenerator, SystemClock } from './infrastructure/runtime';
15
+ import { WorkflowsWorkRunner } from './infrastructure/workflows/WorkflowsWorkRunner';
16
+ import { WorkflowsBootstrapRunner } from './infrastructure/workflows/WorkflowsBootstrapRunner';
17
+ import { sweepRetention } from './infrastructure/workflows/retention';
18
+ import { WorkflowsLookup, sweepStuckRuns } from './infrastructure/workflows/sweeper';
19
+ import { handleGitHubSyncBatch, reconcileStaleRepos } from './infrastructure/github/sync-consumer';
20
+ import { sweepExpiredEnvironments } from './infrastructure/environments/sweep';
21
+ import { logger } from './infrastructure/observability/logger';
22
+ // Cloudflare Worker entry. In addition to the Hono `fetch` handler, we expose a
23
+ // `scheduled` handler (the cron sweeper, now also reconciling GitHub
24
+ // projections) and a `queue` consumer that multiplexes two queues: durable run
25
+ // admission and GitHub sync. The Workflows bindings require their entrypoint
26
+ // classes to be exported by name.
27
+ export { ExecutionWorkflow } from './infrastructure/workflows/ExecutionWorkflow';
28
+ export { GitHubBackfillWorkflow } from './infrastructure/workflows/GitHubBackfillWorkflow';
29
+ export { BootstrapWorkflow } from './infrastructure/workflows/BootstrapWorkflow';
30
+ // Container-enabled Durable Object backing per-run implementation containers.
31
+ export { ExecutionContainer } from './infrastructure/containers/ExecutionContainer';
32
+ // Per-workspace WebSocket fan-out hub (real-time execution/board events).
33
+ export { WorkspaceEventsHub } from './infrastructure/durable-objects/WorkspaceEventsHub';
34
+ // Installation-level AI provisioning extension point: a deployment registers extra
35
+ // model-provider registries at startup (e.g. AWS Bedrock from
36
+ // @cat-factory/provider-bedrock) and every container build picks them up.
37
+ export { registerModelRegistry, clearModelRegistries, } from './infrastructure/ai/registries';
38
+ // Installation-level extension points for custom agent kinds and predefined pipelines
39
+ // (alongside registerModelRegistry above): a deployment registers these at startup —
40
+ // typically from a proprietary org package — and every prompt build, executor routing
41
+ // decision and new-workspace seed picks them up.
42
+ export { registerAgentKind, registerAgentKinds, clearRegisteredAgentKinds, } from '@cat-factory/agents';
43
+ export { registerPipeline, registerPipelines, clearRegisteredPipelines } from '@cat-factory/kernel';
44
+ const app = createApp();
45
+ /** Compact, log-friendly shape for an unknown caught value. */
46
+ function errInfo(error) {
47
+ if (error instanceof Error) {
48
+ return { message: error.message, ...(error.stack ? { stack: error.stack } : {}) };
49
+ }
50
+ return { message: String(error) };
51
+ }
52
+ /** A run is treated as orphaned if its lease is older than this. */
53
+ const SWEEP_LEASE_MS = 5 * 60 * 1000;
54
+ /** A GitHub projection is reconciled if it hasn't synced within this window. */
55
+ const GITHUB_RECONCILE_STALE_MS = 30 * 60 * 1000;
56
+ /** Queue name for GitHub webhook deliveries / resync jobs (see wrangler.toml). */
57
+ const GITHUB_SYNC_QUEUE_NAME = 'cat-factory-github-sync';
58
+ /**
59
+ * Cron schedule (see wrangler.toml `triggers.crons`) that drives the retention
60
+ * sweep. Retention windows are days-to-months long, so a daily pass is plenty —
61
+ * running it on the 2-min run-sweeper cron would just re-issue the same boundary
62
+ * DELETEs ~720×/day against the single D1 writer. Routed by `controller.cron`.
63
+ */
64
+ const RETENTION_CRON = '0 3 * * *';
65
+ export default {
66
+ fetch: app.fetch,
67
+ async scheduled(controller, env, ctx) {
68
+ const clock = new SystemClock();
69
+ // Daily pass: prune the unbounded ledgers/projections to their retention
70
+ // windows. The tables exist regardless of whether GitHub/agents are
71
+ // configured, so this runs unconditionally; an unused table reclaims nothing.
72
+ if (controller.cron === RETENTION_CRON) {
73
+ ctx.waitUntil(sweepRetention({
74
+ tokenUsageRepository: new D1TokenUsageRepository({ db: env.DB }),
75
+ rateLimitRepository: new D1RateLimitRepository({
76
+ db: env.DB,
77
+ idGenerator: new CryptoIdGenerator(),
78
+ }),
79
+ commitRepository: new D1CommitProjectionRepository({ db: env.DB }),
80
+ llmCallMetricRepository: new D1LlmCallMetricRepository({ db: env.DB }),
81
+ pipelineScheduleRepository: new D1PipelineScheduleRepository({ db: env.DB }),
82
+ clock,
83
+ policy: loadConfig(env).retention,
84
+ })
85
+ .then((result) => logger.info({ cron: 'retention', ...result }, 'retention sweep complete'))
86
+ .catch((error) => logger.error({ cron: 'retention', err: errInfo(error) }, 'retention sweep failed')));
87
+ return;
88
+ }
89
+ // Frequent pass (every 2 min): time-sensitive backstops.
90
+ // Re-drive any agent run — execution OR bootstrap — whose Workflows instance
91
+ // died. One sweep over the unified agent_runs table dispatches by kind.
92
+ if (env.EXECUTION_WORKFLOW || env.BOOTSTRAP_WORKFLOW) {
93
+ const execLookup = env.EXECUTION_WORKFLOW ? new WorkflowsLookup(env.EXECUTION_WORKFLOW) : null;
94
+ const bootLookup = env.BOOTSTRAP_WORKFLOW ? new WorkflowsLookup(env.BOOTSTRAP_WORKFLOW) : null;
95
+ const execRunner = env.EXECUTION_WORKFLOW
96
+ ? new WorkflowsWorkRunner({ workflow: env.EXECUTION_WORKFLOW, queue: env.EXECUTION_QUEUE })
97
+ : null;
98
+ const bootRunner = env.BOOTSTRAP_WORKFLOW
99
+ ? new WorkflowsBootstrapRunner(env.BOOTSTRAP_WORKFLOW)
100
+ : null;
101
+ ctx.waitUntil(sweepStuckRuns({
102
+ agentRunRepository: new D1AgentRunRepository({ db: env.DB }),
103
+ instanceState: (ref) => {
104
+ const lookup = ref.kind === 'bootstrap' ? bootLookup : execLookup;
105
+ // No binding for this kind → can't classify, so treat as alive (skip).
106
+ return lookup ? lookup.instanceState(ref.id) : Promise.resolve('alive');
107
+ },
108
+ redrive: async (ref) => {
109
+ if (ref.kind === 'bootstrap')
110
+ await bootRunner?.startRun(ref.workspaceId, ref.id);
111
+ else
112
+ await execRunner?.startRun(ref.workspaceId, ref.id);
113
+ },
114
+ // The durable instance is terminal and can't be recreated → finalize the
115
+ // run as stopped so it stops showing `running` forever (also reclaims any
116
+ // leftover container). Reuses the same stop path the user-facing button hits.
117
+ finalizeOrphan: async (ref) => {
118
+ const container = buildContainer(env);
119
+ const reason = 'The run was stopped automatically: its durable driver ended without finalizing it.';
120
+ if (ref.kind === 'bootstrap') {
121
+ if (container.bootstrap) {
122
+ await container.bootstrap.service.stop(ref.workspaceId, ref.id, {
123
+ reason,
124
+ kind: 'unknown',
125
+ });
126
+ }
127
+ }
128
+ else {
129
+ await container.executionService.stopRun(ref.workspaceId, ref.id, {
130
+ reason,
131
+ kind: 'unknown',
132
+ });
133
+ }
134
+ },
135
+ clock,
136
+ leaseMs: SWEEP_LEASE_MS,
137
+ })
138
+ // Surface what the sweep did — the key signal for "are runs getting stuck?"
139
+ // Only log when it actually acted.
140
+ .then(({ redriven, finalized }) => {
141
+ if (redriven > 0 || finalized > 0) {
142
+ logger.warn({ cron: 'run-sweeper', redriven, finalized }, 'swept stuck runs');
143
+ }
144
+ })
145
+ .catch((error) => logger.error({ cron: 'run-sweeper', err: errInfo(error) }, 'run sweep failed')));
146
+ }
147
+ // Reclaim expired personal-credential activations (individual-usage subscriptions).
148
+ // Each is a short-lived, system-encrypted per-run copy of a user's token; the TTL
149
+ // bounds standing exposure and a finished run's rows are deleted at completion, but
150
+ // this backstop also clears any that outlived their TTL. The table always exists.
151
+ {
152
+ const activations = new D1SubscriptionActivationRepository({ db: env.DB });
153
+ ctx.waitUntil(activations
154
+ .deleteExpired(clock.now())
155
+ .then((reclaimed) => {
156
+ if (reclaimed > 0)
157
+ logger.info({ cron: 'activation-sweeper', reclaimed }, 'reclaimed activations');
158
+ })
159
+ .catch((error) => logger.error({ cron: 'activation-sweeper', err: errInfo(error) }, 'activation sweep failed')));
160
+ }
161
+ // Instance-level container reaper: kill any per-run container that outlived its
162
+ // legitimate maximum lifetime. This is the load-bearing backstop the run-record
163
+ // nets miss — a terminal run whose container survived, or a stuck-`running` run
164
+ // a live driver keeps warm (so its idle sleep clock never starts). Keys off the
165
+ // real live-container inventory, not the run record, and kills via the same
166
+ // EXEC_CONTAINER binding (no Cloudflare API token). With normal runs now self-
167
+ // reclaiming, a reaped container is a genuine leak — the registry logs each loudly.
168
+ if (env.EXEC_CONTAINER) {
169
+ const reaper = new ContainerInstanceRegistry(env.EXEC_CONTAINER, new D1LiveContainerRepository({ db: env.DB }), clock);
170
+ const maxAgeMs = loadConfig(env).execution.containerMaxAgeMs;
171
+ ctx.waitUntil(reaper
172
+ .reapStaleBefore(clock.now() - maxAgeMs)
173
+ .then(({ reaped }) => {
174
+ if (reaped > 0)
175
+ logger.warn({ cron: 'container-reaper', reaped }, 'reaped leaked containers');
176
+ })
177
+ .catch((error) => logger.error({ cron: 'container-reaper', err: errInfo(error) }, 'container reap failed')));
178
+ }
179
+ // Escalate long-waiting notifications yellow → red (every 2 min). Runs no longer
180
+ // time out waiting for a human, so the escalating notification — past each
181
+ // workspace's `waitingEscalationMinutes` threshold — is the overdue-human signal.
182
+ ctx.waitUntil(escalateStaleNotifications(buildContainer(env), clock.now())
183
+ .then((escalated) => {
184
+ if (escalated > 0)
185
+ logger.info({ cron: 'notification-escalation', escalated }, 'escalated notifications');
186
+ })
187
+ .catch((error) => logger.error({ cron: 'notification-escalation', err: errInfo(error) }, 'notification escalation failed')));
188
+ // Fire any due recurring pipelines (every 2 min; the actual cadence is hours).
189
+ // Each due schedule starts its pipeline against its reused block, skipping any
190
+ // whose block already has an active run. No-op when the feature isn't wired.
191
+ ctx.waitUntil(Promise.resolve(buildContainer(env).recurring?.service.runDue(clock.now()))
192
+ .then((result) => {
193
+ if (result && (result.fired > 0 || result.skipped > 0)) {
194
+ logger.info({ cron: 'recurring-pipelines', ...result }, 'fired recurring pipelines');
195
+ }
196
+ })
197
+ .catch((error) => logger.error({ cron: 'recurring-pipelines', err: errInfo(error) }, 'recurring-pipeline sweep failed')));
198
+ // Reconcile GitHub projections that may have missed a webhook (no-op unless
199
+ // the integration is configured).
200
+ ctx.waitUntil(reconcileStaleRepos(env, clock, GITHUB_RECONCILE_STALE_MS)
201
+ .then((scheduled) => {
202
+ if (scheduled > 0)
203
+ logger.info({ cron: 'github-reconcile', scheduled }, 'scheduled repo resyncs');
204
+ })
205
+ .catch((error) => logger.error({ cron: 'github-reconcile', err: errInfo(error) }, 'github reconcile failed')));
206
+ // Tear down ephemeral environments whose TTL has elapsed (no-op unless the
207
+ // environment integration is configured).
208
+ ctx.waitUntil(sweepExpiredEnvironments(env, clock).catch((error) => logger.error({ cron: 'env-sweeper', err: errInfo(error) }, 'environment sweep failed')));
209
+ },
210
+ async queue(batch, env) {
211
+ // Route by source queue — the single handler serves both queues.
212
+ if (batch.queue === GITHUB_SYNC_QUEUE_NAME) {
213
+ await handleGitHubSyncBatch(batch, env);
214
+ return;
215
+ }
216
+ // Execution admission queue: create the Workflows instance per message.
217
+ if (!env.EXECUTION_WORKFLOW) {
218
+ for (const message of batch.messages)
219
+ message.ack();
220
+ return;
221
+ }
222
+ const runner = new WorkflowsWorkRunner({ workflow: env.EXECUTION_WORKFLOW });
223
+ for (const message of batch.messages) {
224
+ try {
225
+ await runner.create(message.body.workspaceId, message.body.executionId);
226
+ message.ack();
227
+ }
228
+ catch {
229
+ message.retry();
230
+ }
231
+ }
232
+ },
233
+ };
234
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { type ProviderRegistry } from '@cat-factory/agents';
2
+ import type { ModelProvider, ModelRef } from '@cat-factory/kernel';
3
+ import type { LanguageModel } from 'ai';
4
+ import type { Env } from '../env';
5
+ /**
6
+ * Resolves a provider-agnostic {@link ModelRef} into a concrete Vercel AI SDK model.
7
+ * This is the Worker's binding of the LLM seam: the core asks for
8
+ * `{ provider: 'openai', model: 'gpt-4o-mini' }` and gets back something `generateText`
9
+ * can call, while API keys and the Workers AI binding stay here.
10
+ *
11
+ * It is just the Worker's composition of the shared AI provisioning facade
12
+ * ({@link CompositeModelProvider}): the base registry above plus any `extraRegistries`
13
+ * an installation mixes in — e.g. `bedrockRegistry()` from `@cat-factory/provider-bedrock`.
14
+ */
15
+ export declare class CloudflareModelProvider implements ModelProvider {
16
+ private readonly composite;
17
+ constructor({ env, extraRegistries }: {
18
+ env: Env;
19
+ extraRegistries?: ProviderRegistry[];
20
+ });
21
+ resolve(ref: ModelRef): LanguageModel;
22
+ }
23
+ //# sourceMappingURL=CloudflareModelProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloudflareModelProvider.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ai/CloudflareModelProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gBAAgB,EAItB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAEvC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAgDjC;;;;;;;;;GASG;AACH,qBAAa,uBAAwB,YAAW,aAAa;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAElD,YAAY,EAAE,GAAG,EAAE,eAAoB,EAAE,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,eAAe,CAAC,EAAE,gBAAgB,EAAE,CAAA;KAAE,EAE5F;IAED,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,CAEpC;CACF"}
@@ -0,0 +1,62 @@
1
+ import { CompositeModelProvider, anthropicResolver, openAiCompatibleResolver, openAiResolver, } from '@cat-factory/agents';
2
+ import { createWorkersAI } from 'workers-ai-provider';
3
+ import { baseUrlFor } from './providerEndpoints';
4
+ // DashScope (Alibaba), DeepSeek and Moonshot (Kimi) all expose OpenAI-compatible
5
+ // chat APIs, so they resolve through the openai-compatible provider with just a
6
+ // base URL and a key (see ./providerEndpoints for the shared base URLs).
7
+ // DashScope's international endpoint is used (the mainland host differs).
8
+ /**
9
+ * Build the Worker's base provider registry. `workers-ai` is the Cloudflare flavour
10
+ * (resolved via the in-process `AI` binding); `openai`/`anthropic` and the
11
+ * OpenAI-compatible vendors (`qwen`/`deepseek`/`moonshot`) are keyed from `env`. A
12
+ * provider is registered ONLY when its credential/binding is present, so an unconfigured
13
+ * provider resolves to a clear "Unsupported model provider" error (from
14
+ * {@link CompositeModelProvider}) rather than failing deep in the vendor SDK — matching the
15
+ * Node facade exactly (the conditional `baseProviderRegistry`), so the two runtimes don't
16
+ * diverge on a missing key.
17
+ */
18
+ function workerBaseRegistry(env) {
19
+ const compatible = (provider, apiKey) => apiKey
20
+ ? openAiCompatibleResolver({ name: provider, apiKey, baseURL: baseUrlFor(provider, env) })
21
+ : undefined;
22
+ return {
23
+ openai: env.OPENAI_API_KEY ? openAiResolver({ apiKey: env.OPENAI_API_KEY }) : undefined,
24
+ anthropic: env.ANTHROPIC_API_KEY
25
+ ? anthropicResolver({ apiKey: env.ANTHROPIC_API_KEY })
26
+ : undefined,
27
+ qwen: compatible('qwen', env.QWEN_API_KEY),
28
+ deepseek: compatible('deepseek', env.DEEPSEEK_API_KEY),
29
+ moonshot: compatible('moonshot', env.MOONSHOT_API_KEY),
30
+ 'workers-ai': env.AI
31
+ ? (ref) => {
32
+ const binding = env.AI;
33
+ if (!binding)
34
+ throw new Error('Workers AI binding (AI) is not configured');
35
+ // workers-ai-provider@3 implements the same provider spec as `ai` v6
36
+ // (`@ai-sdk/provider` v3), so the model is a real LanguageModel — no cast.
37
+ const workersai = createWorkersAI({ binding });
38
+ return workersai(ref.model);
39
+ }
40
+ : undefined,
41
+ };
42
+ }
43
+ /**
44
+ * Resolves a provider-agnostic {@link ModelRef} into a concrete Vercel AI SDK model.
45
+ * This is the Worker's binding of the LLM seam: the core asks for
46
+ * `{ provider: 'openai', model: 'gpt-4o-mini' }` and gets back something `generateText`
47
+ * can call, while API keys and the Workers AI binding stay here.
48
+ *
49
+ * It is just the Worker's composition of the shared AI provisioning facade
50
+ * ({@link CompositeModelProvider}): the base registry above plus any `extraRegistries`
51
+ * an installation mixes in — e.g. `bedrockRegistry()` from `@cat-factory/provider-bedrock`.
52
+ */
53
+ export class CloudflareModelProvider {
54
+ composite;
55
+ constructor({ env, extraRegistries = [] }) {
56
+ this.composite = new CompositeModelProvider(workerBaseRegistry(env), ...extraRegistries);
57
+ }
58
+ resolve(ref) {
59
+ return this.composite.resolve(ref);
60
+ }
61
+ }
62
+ //# sourceMappingURL=CloudflareModelProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloudflareModelProvider.js","sourceRoot":"","sources":["../../../src/infrastructure/ai/CloudflareModelProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAGtB,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,GACf,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,iFAAiF;AACjF,gFAAgF;AAChF,yEAAyE;AACzE,0EAA0E;AAE1E;;;;;;;;;GASG;AACH,SAAS,kBAAkB,CAAC,GAAQ;IAClC,MAAM,UAAU,GAAG,CACjB,QAA0C,EAC1C,MAA0B,EACC,EAAE,CAC7B,MAAM;QACJ,CAAC,CAAC,wBAAwB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAE,EAAE,CAAC;QAC3F,CAAC,CAAC,SAAS,CAAA;IAEf,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACvF,SAAS,EAAE,GAAG,CAAC,iBAAiB;YAC9B,CAAC,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC;YACtD,CAAC,CAAC,SAAS;QACb,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC;QAC1C,QAAQ,EAAE,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,gBAAgB,CAAC;QACtD,QAAQ,EAAE,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,gBAAgB,CAAC;QACtD,YAAY,EAAE,GAAG,CAAC,EAAE;YAClB,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAA;gBACtB,IAAI,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;gBAC1E,qEAAqE;gBACrE,2EAA2E;gBAC3E,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;gBAC9C,OAAO,SAAS,CAAC,GAAG,CAAC,KAAwC,CAAC,CAAA;YAChE,CAAC;YACH,CAAC,CAAC,SAAS;KACd,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,uBAAuB;IACjB,SAAS,CAAwB;IAElD,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,EAAE,EAAsD;QAC3F,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAsB,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,GAAG,eAAe,CAAC,CAAA;IAC1F,CAAC;IAED,OAAO,CAAC,GAAa;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export { CompositeAgentExecutor } from '@cat-factory/server';
2
+ //# sourceMappingURL=CompositeAgentExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompositeAgentExecutor.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ai/CompositeAgentExecutor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,5 @@
1
+ // Moved to the runtime-neutral @cat-factory/server package (so the Node service
2
+ // wires the same inline+container composite); re-exported here for existing Worker
3
+ // imports and tests.
4
+ export { CompositeAgentExecutor } from '@cat-factory/server';
5
+ //# sourceMappingURL=CompositeAgentExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompositeAgentExecutor.js","sourceRoot":"","sources":["../../../src/infrastructure/ai/CompositeAgentExecutor.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,mFAAmF;AACnF,qBAAqB;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { ContainerAgentExecutor, type ContainerAgentExecutorDependencies, type RepoTarget, type ResolveRepoTarget, type MintInstallationToken, type ResolveRunnerTransport, } from '@cat-factory/server';
2
+ //# sourceMappingURL=ContainerAgentExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerAgentExecutor.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ai/ContainerAgentExecutor.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EACtB,KAAK,kCAAkC,EACvC,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,5 @@
1
+ // Moved to the runtime-neutral @cat-factory/server package (so the Node service
2
+ // runs the same container agent executor, dispatching to its self-hosted runner
3
+ // pool); re-exported here for existing Worker imports.
4
+ export { ContainerAgentExecutor, } from '@cat-factory/server';
5
+ //# sourceMappingURL=ContainerAgentExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerAgentExecutor.js","sourceRoot":"","sources":["../../../src/infrastructure/ai/ContainerAgentExecutor.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,uDAAuD;AACvD,OAAO,EACL,sBAAsB,GAMvB,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { ContainerRepoBootstrapper, type ContainerRepoBootstrapperDependencies, } from '@cat-factory/server';
2
+ //# sourceMappingURL=ContainerRepoBootstrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerRepoBootstrapper.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ai/ContainerRepoBootstrapper.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,yBAAyB,EACzB,KAAK,qCAAqC,GAC3C,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,5 @@
1
+ // Moved to the runtime-neutral @cat-factory/server package (so the Node service runs
2
+ // the same repo bootstrapper, dispatching through the shared runner-transport seam);
3
+ // re-exported here for existing Worker imports.
4
+ export { ContainerRepoBootstrapper, } from '@cat-factory/server';
5
+ //# sourceMappingURL=ContainerRepoBootstrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerRepoBootstrapper.js","sourceRoot":"","sources":["../../../src/infrastructure/ai/ContainerRepoBootstrapper.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,qFAAqF;AACrF,gDAAgD;AAChD,OAAO,EACL,yBAAyB,GAE1B,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,39 @@
1
+ import { type GitHubInstallationRepository, type ModelRef, type RepoScanner, type ScanRepoRequest, type ScannedBlueprint } from '@cat-factory/kernel';
2
+ import type { DurableObjectNamespace } from '@cloudflare/workers-types';
3
+ import type { ExecutionContainer } from '../containers/ExecutionContainer';
4
+ import type { ContainerSessionService } from '../containers/ContainerSessionService';
5
+ export interface ContainerRepoScannerDependencies {
6
+ /** The Durable Object namespace backing the per-run container instances. */
7
+ container: DurableObjectNamespace<ExecutionContainer>;
8
+ /** Resolve which GitHub installation a workspace's repos live under. */
9
+ installationRepository: GitHubInstallationRepository;
10
+ /** Mints a short-lived GitHub installation token for the read-only clone. */
11
+ mintInstallationToken: (installationId: number) => Promise<string>;
12
+ /** Mints the signed, model-locked LLM-proxy session token the container uses. */
13
+ sessionService: ContainerSessionService;
14
+ /** Model the scanner agent runs with (must be proxyable). */
15
+ model: ModelRef;
16
+ /** Public base URL of the Worker's OpenAI-compatible LLM proxy, including `/v1`. */
17
+ proxyBaseUrl: string;
18
+ /** GitHub REST base for resolving the repo (Enterprise / api.github.com). */
19
+ githubApiBase?: string;
20
+ /** Web base for building the repo clone URL (defaults to github.com). */
21
+ webBaseUrl?: string;
22
+ }
23
+ /**
24
+ * A {@link RepoScanner} that performs the side-effecting half of a "scan
25
+ * repository" run: it spins up a per-run Cloudflare Container that clones the
26
+ * repository read-only, has the scanner agent decompose it into the canonical
27
+ * service → modules blueprint (with codebase references), and returns
28
+ * that structure. The agent's JSON is coerced into a well-formed tree here.
29
+ *
30
+ * Secrets never reach the container image: the per-run GitHub installation token
31
+ * and the model-locked LLM-proxy session token are minted here and handed over in
32
+ * the dispatch body, exactly as the implementation executor and bootstrapper do.
33
+ */
34
+ export declare class ContainerRepoScanner implements RepoScanner {
35
+ private readonly deps;
36
+ constructor(deps: ContainerRepoScannerDependencies);
37
+ scan(request: ScanRepoRequest): Promise<ScannedBlueprint>;
38
+ }
39
+ //# sourceMappingURL=ContainerRepoScanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerRepoScanner.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ai/ContainerRepoScanner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAOpF,MAAM,WAAW,gCAAgC;IAC/C,4EAA4E;IAC5E,SAAS,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAA;IACrD,wEAAwE;IACxE,sBAAsB,EAAE,4BAA4B,CAAA;IACpD,6EAA6E;IAC7E,qBAAqB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAClE,iFAAiF;IACjF,cAAc,EAAE,uBAAuB,CAAA;IACvC,6DAA6D;IAC7D,KAAK,EAAE,QAAQ,CAAA;IACf,oFAAoF;IACpF,YAAY,EAAE,MAAM,CAAA;IACpB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AA6BD;;;;;;;;;;GAUG;AACH,qBAAa,oBAAqB,YAAW,WAAW;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,gCAAgC,EAAI;IAEjE,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8D9D;CACF"}