@igoruehara/canvas-flow 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 (283) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +152 -0
  3. package/bin/canvas-flow.js +1132 -0
  4. package/package.json +68 -0
  5. package/public/assets/index-PCQkqMUe.css +1 -0
  6. package/public/assets/index-qV8twxcq.js +767 -0
  7. package/public/index.html +13 -0
  8. package/server/api-key/api-key-connect-provider.d.ts +104 -0
  9. package/server/api-key/api-key-connect-provider.js +14 -0
  10. package/server/api-key/api-key-connect-provider.js.map +1 -0
  11. package/server/api-key/api-key-constants-model.d.ts +2 -0
  12. package/server/api-key/api-key-constants-model.js +6 -0
  13. package/server/api-key/api-key-constants-model.js.map +1 -0
  14. package/server/api-key/api-key-controller.d.ts +12 -0
  15. package/server/api-key/api-key-controller.js +86 -0
  16. package/server/api-key/api-key-controller.js.map +1 -0
  17. package/server/api-key/api-key-module.d.ts +2 -0
  18. package/server/api-key/api-key-module.js +27 -0
  19. package/server/api-key/api-key-module.js.map +1 -0
  20. package/server/api-key/api-key-schema.d.ts +72 -0
  21. package/server/api-key/api-key-schema.js +98 -0
  22. package/server/api-key/api-key-schema.js.map +1 -0
  23. package/server/api-key/api-key-service.d.ts +45 -0
  24. package/server/api-key/api-key-service.js +151 -0
  25. package/server/api-key/api-key-service.js.map +1 -0
  26. package/server/api-key/dto/create-api-key.dto.d.ts +8 -0
  27. package/server/api-key/dto/create-api-key.dto.js +7 -0
  28. package/server/api-key/dto/create-api-key.dto.js.map +1 -0
  29. package/server/app.module.d.ts +2 -0
  30. package/server/app.module.js +53 -0
  31. package/server/app.module.js.map +1 -0
  32. package/server/auth/auth-connect-provider.d.ts +140 -0
  33. package/server/auth/auth-connect-provider.js +20 -0
  34. package/server/auth/auth-connect-provider.js.map +1 -0
  35. package/server/auth/auth-constants-model.d.ts +4 -0
  36. package/server/auth/auth-constants-model.js +8 -0
  37. package/server/auth/auth-constants-model.js.map +1 -0
  38. package/server/auth/auth-controller.d.ts +25 -0
  39. package/server/auth/auth-controller.js +96 -0
  40. package/server/auth/auth-controller.js.map +1 -0
  41. package/server/auth/auth-module.d.ts +2 -0
  42. package/server/auth/auth-module.js +26 -0
  43. package/server/auth/auth-module.js.map +1 -0
  44. package/server/auth/auth-organization-schema.d.ts +44 -0
  45. package/server/auth/auth-organization-schema.js +62 -0
  46. package/server/auth/auth-organization-schema.js.map +1 -0
  47. package/server/auth/auth-schema.d.ts +56 -0
  48. package/server/auth/auth-schema.js +77 -0
  49. package/server/auth/auth-schema.js.map +1 -0
  50. package/server/auth/auth-service.d.ts +64 -0
  51. package/server/auth/auth-service.js +343 -0
  52. package/server/auth/auth-service.js.map +1 -0
  53. package/server/canvas-flow/canvas-flow-connect-provider.d.ts +278 -0
  54. package/server/canvas-flow/canvas-flow-connect-provider.js +24 -0
  55. package/server/canvas-flow/canvas-flow-connect-provider.js.map +1 -0
  56. package/server/canvas-flow/canvas-flow-constants-model.d.ts +6 -0
  57. package/server/canvas-flow/canvas-flow-constants-model.js +10 -0
  58. package/server/canvas-flow/canvas-flow-constants-model.js.map +1 -0
  59. package/server/canvas-flow/canvas-flow-controller.d.ts +98 -0
  60. package/server/canvas-flow/canvas-flow-controller.js +423 -0
  61. package/server/canvas-flow/canvas-flow-controller.js.map +1 -0
  62. package/server/canvas-flow/canvas-flow-module.d.ts +2 -0
  63. package/server/canvas-flow/canvas-flow-module.js +27 -0
  64. package/server/canvas-flow/canvas-flow-module.js.map +1 -0
  65. package/server/canvas-flow/canvas-flow-schema.d.ts +192 -0
  66. package/server/canvas-flow/canvas-flow-schema.js +239 -0
  67. package/server/canvas-flow/canvas-flow-schema.js.map +1 -0
  68. package/server/canvas-flow/canvas-flow-service.d.ts +250 -0
  69. package/server/canvas-flow/canvas-flow-service.js +1681 -0
  70. package/server/canvas-flow/canvas-flow-service.js.map +1 -0
  71. package/server/canvas-flow/dto/create-canvas-flow.dto.d.ts +11 -0
  72. package/server/canvas-flow/dto/create-canvas-flow.dto.js +61 -0
  73. package/server/canvas-flow/dto/create-canvas-flow.dto.js.map +1 -0
  74. package/server/canvas-flow/dto/update-canvas-flow.dto.d.ts +10 -0
  75. package/server/canvas-flow/dto/update-canvas-flow.dto.js +56 -0
  76. package/server/canvas-flow/dto/update-canvas-flow.dto.js.map +1 -0
  77. package/server/constants-global.d.ts +1 -0
  78. package/server/constants-global.js +5 -0
  79. package/server/constants-global.js.map +1 -0
  80. package/server/database/database.module.d.ts +2 -0
  81. package/server/database/database.module.js +23 -0
  82. package/server/database/database.module.js.map +1 -0
  83. package/server/database/database.providers.d.ts +7 -0
  84. package/server/database/database.providers.js +26 -0
  85. package/server/database/database.providers.js.map +1 -0
  86. package/server/documents/documents-connect-provider.d.ts +140 -0
  87. package/server/documents/documents-connect-provider.js +14 -0
  88. package/server/documents/documents-connect-provider.js.map +1 -0
  89. package/server/documents/documents-constants-model.d.ts +2 -0
  90. package/server/documents/documents-constants-model.js +6 -0
  91. package/server/documents/documents-constants-model.js.map +1 -0
  92. package/server/documents/documents-controller.d.ts +16 -0
  93. package/server/documents/documents-controller.js +117 -0
  94. package/server/documents/documents-controller.js.map +1 -0
  95. package/server/documents/documents-module.d.ts +2 -0
  96. package/server/documents/documents-module.js +27 -0
  97. package/server/documents/documents-module.js.map +1 -0
  98. package/server/documents/documents-schema.d.ts +96 -0
  99. package/server/documents/documents-schema.js +38 -0
  100. package/server/documents/documents-schema.js.map +1 -0
  101. package/server/documents/documents-service.d.ts +164 -0
  102. package/server/documents/documents-service.js +1417 -0
  103. package/server/documents/documents-service.js.map +1 -0
  104. package/server/flow-tag/flow-tag-connect-provider.d.ts +146 -0
  105. package/server/flow-tag/flow-tag-connect-provider.js +14 -0
  106. package/server/flow-tag/flow-tag-connect-provider.js.map +1 -0
  107. package/server/flow-tag/flow-tag-constants-model.d.ts +2 -0
  108. package/server/flow-tag/flow-tag-constants-model.js +6 -0
  109. package/server/flow-tag/flow-tag-constants-model.js.map +1 -0
  110. package/server/flow-tag/flow-tag-module.d.ts +2 -0
  111. package/server/flow-tag/flow-tag-module.js +24 -0
  112. package/server/flow-tag/flow-tag-module.js.map +1 -0
  113. package/server/flow-tag/flow-tag-schema.d.ts +100 -0
  114. package/server/flow-tag/flow-tag-schema.js +131 -0
  115. package/server/flow-tag/flow-tag-schema.js.map +1 -0
  116. package/server/flow-tag/flow-tag-service.d.ts +77 -0
  117. package/server/flow-tag/flow-tag-service.js +156 -0
  118. package/server/flow-tag/flow-tag-service.js.map +1 -0
  119. package/server/health.controller.d.ts +7 -0
  120. package/server/health.controller.js +33 -0
  121. package/server/health.controller.js.map +1 -0
  122. package/server/http-batch/http-batch-controller.d.ts +345 -0
  123. package/server/http-batch/http-batch-controller.js +40 -0
  124. package/server/http-batch/http-batch-controller.js.map +1 -0
  125. package/server/http-batch/http-batch-module.d.ts +2 -0
  126. package/server/http-batch/http-batch-module.js +25 -0
  127. package/server/http-batch/http-batch-module.js.map +1 -0
  128. package/server/http-batch/http-batch-service.d.ts +381 -0
  129. package/server/http-batch/http-batch-service.js +268 -0
  130. package/server/http-batch/http-batch-service.js.map +1 -0
  131. package/server/lambda.d.ts +2 -0
  132. package/server/lambda.js +115 -0
  133. package/server/lambda.js.map +1 -0
  134. package/server/llm/openai-provider.d.ts +8 -0
  135. package/server/llm/openai-provider.js +256 -0
  136. package/server/llm/openai-provider.js.map +1 -0
  137. package/server/main.d.ts +1 -0
  138. package/server/main.js +80 -0
  139. package/server/main.js.map +1 -0
  140. package/server/mcp-oauth/mcp-oauth-connect-provider.d.ts +164 -0
  141. package/server/mcp-oauth/mcp-oauth-connect-provider.js +14 -0
  142. package/server/mcp-oauth/mcp-oauth-connect-provider.js.map +1 -0
  143. package/server/mcp-oauth/mcp-oauth-constants-model.d.ts +2 -0
  144. package/server/mcp-oauth/mcp-oauth-constants-model.js +6 -0
  145. package/server/mcp-oauth/mcp-oauth-constants-model.js.map +1 -0
  146. package/server/mcp-oauth/mcp-oauth-controller.d.ts +66 -0
  147. package/server/mcp-oauth/mcp-oauth-controller.js +166 -0
  148. package/server/mcp-oauth/mcp-oauth-controller.js.map +1 -0
  149. package/server/mcp-oauth/mcp-oauth-module.d.ts +2 -0
  150. package/server/mcp-oauth/mcp-oauth-module.js +27 -0
  151. package/server/mcp-oauth/mcp-oauth-module.js.map +1 -0
  152. package/server/mcp-oauth/mcp-oauth-schema.d.ts +112 -0
  153. package/server/mcp-oauth/mcp-oauth-schema.js +148 -0
  154. package/server/mcp-oauth/mcp-oauth-schema.js.map +1 -0
  155. package/server/mcp-oauth/mcp-oauth-service.d.ts +189 -0
  156. package/server/mcp-oauth/mcp-oauth-service.js +545 -0
  157. package/server/mcp-oauth/mcp-oauth-service.js.map +1 -0
  158. package/server/memory/memory-connect-provider.d.ts +200 -0
  159. package/server/memory/memory-connect-provider.js +26 -0
  160. package/server/memory/memory-connect-provider.js.map +1 -0
  161. package/server/memory/memory-constants-model.d.ts +6 -0
  162. package/server/memory/memory-constants-model.js +10 -0
  163. package/server/memory/memory-constants-model.js.map +1 -0
  164. package/server/memory/memory-controller.d.ts +15 -0
  165. package/server/memory/memory-controller.js +53 -0
  166. package/server/memory/memory-controller.js.map +1 -0
  167. package/server/memory/memory-history-schema.d.ts +48 -0
  168. package/server/memory/memory-history-schema.js +62 -0
  169. package/server/memory/memory-history-schema.js.map +1 -0
  170. package/server/memory/memory-module.d.ts +2 -0
  171. package/server/memory/memory-module.js +26 -0
  172. package/server/memory/memory-module.js.map +1 -0
  173. package/server/memory/memory-schema.d.ts +48 -0
  174. package/server/memory/memory-schema.js +62 -0
  175. package/server/memory/memory-schema.js.map +1 -0
  176. package/server/memory/memory-service.d.ts +134 -0
  177. package/server/memory/memory-service.js +317 -0
  178. package/server/memory/memory-service.js.map +1 -0
  179. package/server/memory/memory-trace-history-schema.d.ts +48 -0
  180. package/server/memory/memory-trace-history-schema.js +62 -0
  181. package/server/memory/memory-trace-history-schema.js.map +1 -0
  182. package/server/observability/observability.d.ts +3 -0
  183. package/server/observability/observability.js +62 -0
  184. package/server/observability/observability.js.map +1 -0
  185. package/server/production-guard.d.ts +9 -0
  186. package/server/production-guard.js +105 -0
  187. package/server/production-guard.js.map +1 -0
  188. package/server/provider-config/provider-config-connect-provider.d.ts +44 -0
  189. package/server/provider-config/provider-config-connect-provider.js +14 -0
  190. package/server/provider-config/provider-config-connect-provider.js.map +1 -0
  191. package/server/provider-config/provider-config-constants-model.d.ts +3 -0
  192. package/server/provider-config/provider-config-constants-model.js +7 -0
  193. package/server/provider-config/provider-config-constants-model.js.map +1 -0
  194. package/server/provider-config/provider-config-controller.d.ts +23 -0
  195. package/server/provider-config/provider-config-controller.js +80 -0
  196. package/server/provider-config/provider-config-controller.js.map +1 -0
  197. package/server/provider-config/provider-config-module.d.ts +2 -0
  198. package/server/provider-config/provider-config-module.js +27 -0
  199. package/server/provider-config/provider-config-module.js.map +1 -0
  200. package/server/provider-config/provider-config-schema.d.ts +32 -0
  201. package/server/provider-config/provider-config-schema.js +46 -0
  202. package/server/provider-config/provider-config-schema.js.map +1 -0
  203. package/server/provider-config/provider-config-service.d.ts +178 -0
  204. package/server/provider-config/provider-config-service.js +689 -0
  205. package/server/provider-config/provider-config-service.js.map +1 -0
  206. package/server/queue/queue-job-connect-provider.d.ts +128 -0
  207. package/server/queue/queue-job-connect-provider.js +14 -0
  208. package/server/queue/queue-job-connect-provider.js.map +1 -0
  209. package/server/queue/queue-job-constants-model.d.ts +2 -0
  210. package/server/queue/queue-job-constants-model.js +6 -0
  211. package/server/queue/queue-job-constants-model.js.map +1 -0
  212. package/server/queue/queue-job-schema.d.ts +88 -0
  213. package/server/queue/queue-job-schema.js +119 -0
  214. package/server/queue/queue-job-schema.js.map +1 -0
  215. package/server/queue/queue-lock-connect-provider.d.ts +44 -0
  216. package/server/queue/queue-lock-connect-provider.js +14 -0
  217. package/server/queue/queue-lock-connect-provider.js.map +1 -0
  218. package/server/queue/queue-lock-constants-model.d.ts +2 -0
  219. package/server/queue/queue-lock-constants-model.js +6 -0
  220. package/server/queue/queue-lock-constants-model.js.map +1 -0
  221. package/server/queue/queue-lock-schema.d.ts +32 -0
  222. package/server/queue/queue-lock-schema.js +47 -0
  223. package/server/queue/queue-lock-schema.js.map +1 -0
  224. package/server/queue/queue-message-dedupe-connect-provider.d.ts +116 -0
  225. package/server/queue/queue-message-dedupe-connect-provider.js +14 -0
  226. package/server/queue/queue-message-dedupe-connect-provider.js.map +1 -0
  227. package/server/queue/queue-message-dedupe-constants-model.d.ts +2 -0
  228. package/server/queue/queue-message-dedupe-constants-model.js +6 -0
  229. package/server/queue/queue-message-dedupe-constants-model.js.map +1 -0
  230. package/server/queue/queue-message-dedupe-schema.d.ts +80 -0
  231. package/server/queue/queue-message-dedupe-schema.js +108 -0
  232. package/server/queue/queue-message-dedupe-schema.js.map +1 -0
  233. package/server/queue/queue-module.d.ts +2 -0
  234. package/server/queue/queue-module.js +33 -0
  235. package/server/queue/queue-module.js.map +1 -0
  236. package/server/queue/queue-rate-limit-connect-provider.d.ts +56 -0
  237. package/server/queue/queue-rate-limit-connect-provider.js +14 -0
  238. package/server/queue/queue-rate-limit-connect-provider.js.map +1 -0
  239. package/server/queue/queue-rate-limit-constants-model.d.ts +2 -0
  240. package/server/queue/queue-rate-limit-constants-model.js +6 -0
  241. package/server/queue/queue-rate-limit-constants-model.js.map +1 -0
  242. package/server/queue/queue-rate-limit-schema.d.ts +40 -0
  243. package/server/queue/queue-rate-limit-schema.js +57 -0
  244. package/server/queue/queue-rate-limit-schema.js.map +1 -0
  245. package/server/queue/sqs-transition-service.d.ts +123 -0
  246. package/server/queue/sqs-transition-service.js +442 -0
  247. package/server/queue/sqs-transition-service.js.map +1 -0
  248. package/server/rag/rag-controller.d.ts +167 -0
  249. package/server/rag/rag-controller.js +232 -0
  250. package/server/rag/rag-controller.js.map +1 -0
  251. package/server/rag/rag-module.d.ts +2 -0
  252. package/server/rag/rag-module.js +30 -0
  253. package/server/rag/rag-module.js.map +1 -0
  254. package/server/rag/rag-service.d.ts +361 -0
  255. package/server/rag/rag-service.js +2864 -0
  256. package/server/rag/rag-service.js.map +1 -0
  257. package/server/runner/flow-templates.d.ts +55 -0
  258. package/server/runner/flow-templates.js +388 -0
  259. package/server/runner/flow-templates.js.map +1 -0
  260. package/server/runner/langgraph-runtime.service.d.ts +77 -0
  261. package/server/runner/langgraph-runtime.service.js +221 -0
  262. package/server/runner/langgraph-runtime.service.js.map +1 -0
  263. package/server/runner/runner-controller.d.ts +1044 -0
  264. package/server/runner/runner-controller.js +751 -0
  265. package/server/runner/runner-controller.js.map +1 -0
  266. package/server/runner/runner-module.d.ts +2 -0
  267. package/server/runner/runner-module.js +37 -0
  268. package/server/runner/runner-module.js.map +1 -0
  269. package/server/runner/runner-queue-processor.d.ts +29 -0
  270. package/server/runner/runner-queue-processor.js +259 -0
  271. package/server/runner/runner-queue-processor.js.map +1 -0
  272. package/server/runner/runner-service.d.ts +1761 -0
  273. package/server/runner/runner-service.js +14256 -0
  274. package/server/runner/runner-service.js.map +1 -0
  275. package/server/scripts/migrate-canvas-flow-versions.d.ts +1 -0
  276. package/server/scripts/migrate-canvas-flow-versions.js +72 -0
  277. package/server/scripts/migrate-canvas-flow-versions.js.map +1 -0
  278. package/server/scripts/migrate-mcp-oauth-user-scope.d.ts +1 -0
  279. package/server/scripts/migrate-mcp-oauth-user-scope.js +95 -0
  280. package/server/scripts/migrate-mcp-oauth-user-scope.js.map +1 -0
  281. package/templates/config.example.json +204 -0
  282. package/templates/config.production.example.json +206 -0
  283. package/templates/docker-compose.yml +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-controller.js","sourceRoot":"","sources":["../../src/runner/runner-controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare class RunnerModule {
2
+ }
@@ -0,0 +1,37 @@
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.RunnerModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const canvas_flow_module_1 = require("../canvas-flow/canvas-flow-module");
12
+ const api_key_module_1 = require("../api-key/api-key-module");
13
+ const http_batch_module_1 = require("../http-batch/http-batch-module");
14
+ const memory_module_1 = require("../memory/memory-module");
15
+ const rag_module_1 = require("../rag/rag-module");
16
+ const auth_module_1 = require("../auth/auth-module");
17
+ const queue_module_1 = require("../queue/queue-module");
18
+ const provider_config_module_1 = require("../provider-config/provider-config-module");
19
+ const flow_tag_module_1 = require("../flow-tag/flow-tag-module");
20
+ const mcp_oauth_module_1 = require("../mcp-oauth/mcp-oauth-module");
21
+ const langgraph_runtime_service_1 = require("./langgraph-runtime.service");
22
+ const documents_module_1 = require("../documents/documents-module");
23
+ const runner_controller_1 = require("./runner-controller");
24
+ const runner_queue_processor_1 = require("./runner-queue-processor");
25
+ const runner_service_1 = require("./runner-service");
26
+ let RunnerModule = class RunnerModule {
27
+ };
28
+ exports.RunnerModule = RunnerModule;
29
+ exports.RunnerModule = RunnerModule = __decorate([
30
+ (0, common_1.Module)({
31
+ imports: [canvas_flow_module_1.CanvasFlowModule, api_key_module_1.ApiKeyModule, http_batch_module_1.HttpBatchModule, memory_module_1.MemoryModule, rag_module_1.RagModule, auth_module_1.AuthModule, queue_module_1.QueueModule, provider_config_module_1.ProviderConfigModule, flow_tag_module_1.FlowTagModule, mcp_oauth_module_1.McpOAuthModule, documents_module_1.DocumentsModule],
32
+ controllers: [runner_controller_1.RunnerController],
33
+ providers: [langgraph_runtime_service_1.LangGraphRuntimeService, runner_service_1.RunnerService, runner_queue_processor_1.RunnerQueueProcessor],
34
+ exports: [langgraph_runtime_service_1.LangGraphRuntimeService, runner_service_1.RunnerService, runner_queue_processor_1.RunnerQueueProcessor],
35
+ })
36
+ ], RunnerModule);
37
+ //# sourceMappingURL=runner-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-module.js","sourceRoot":"","sources":["../../src/runner/runner-module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,0EAAqE;AACrE,8DAAyD;AACzD,uEAAkE;AAClE,2DAAuD;AACvD,kDAA8C;AAC9C,qDAAiD;AACjD,wDAAoD;AACpD,sFAAiF;AACjF,iEAA4D;AAC5D,oEAA+D;AAC/D,2EAAsE;AACtE,oEAAgE;AAChE,2DAAuD;AACvD,qEAAgE;AAChE,qDAAiD;AAQ1C,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,oCAAY;uBAAZ,YAAY;IANxB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,qCAAgB,EAAE,6BAAY,EAAE,mCAAe,EAAE,4BAAY,EAAE,sBAAS,EAAE,wBAAU,EAAE,0BAAW,EAAE,6CAAoB,EAAE,+BAAa,EAAE,iCAAc,EAAE,kCAAe,CAAC;QAClL,WAAW,EAAE,CAAC,oCAAgB,CAAC;QAC/B,SAAS,EAAE,CAAC,mDAAuB,EAAE,8BAAa,EAAE,6CAAoB,CAAC;QACzE,OAAO,EAAE,CAAC,mDAAuB,EAAE,8BAAa,EAAE,6CAAoB,CAAC;KACxE,CAAC;GACW,YAAY,CAAG"}
@@ -0,0 +1,29 @@
1
+ import { ConfigService } from '@nestjs/config';
2
+ import { SqsTransitionService } from '../queue/sqs-transition-service';
3
+ import { RunnerService } from './runner-service';
4
+ export declare class RunnerQueueProcessor {
5
+ private readonly runnerService;
6
+ private readonly sqsTransitionService;
7
+ private readonly configService;
8
+ constructor(runnerService: RunnerService, sqsTransitionService: SqsTransitionService, configService: ConfigService);
9
+ private getErrorMessage;
10
+ private parseRecord;
11
+ private getItemIdentifier;
12
+ private getRecordGroupId;
13
+ private consumerConcurrency;
14
+ private lockTtlMs;
15
+ private getJobId;
16
+ private resolvePayload;
17
+ private getPayloadConversationId;
18
+ private buildConversationLockKey;
19
+ private dispatch;
20
+ processEnvelope(raw: any): Promise<any>;
21
+ processRecord(record: any): Promise<any>;
22
+ processRecords(records: any[]): Promise<{
23
+ consumed: number;
24
+ failed: number;
25
+ failures: any[];
26
+ batchItemFailures: any[];
27
+ results: any[];
28
+ }>;
29
+ }
@@ -0,0 +1,259 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RunnerQueueProcessor = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const config_1 = require("@nestjs/config");
15
+ const observability_1 = require("../observability/observability");
16
+ const sqs_transition_service_1 = require("../queue/sqs-transition-service");
17
+ const runner_service_1 = require("./runner-service");
18
+ class ConversationLockedError extends Error {
19
+ constructor(lockKey) {
20
+ super(`Conversa em processamento: ${lockKey}`);
21
+ this.retryable = true;
22
+ }
23
+ }
24
+ let RunnerQueueProcessor = class RunnerQueueProcessor {
25
+ constructor(runnerService, sqsTransitionService, configService) {
26
+ this.runnerService = runnerService;
27
+ this.sqsTransitionService = sqsTransitionService;
28
+ this.configService = configService;
29
+ }
30
+ getErrorMessage(error) {
31
+ return error?.message || String(error || 'Falha ao processar mensagem SQS.');
32
+ }
33
+ parseRecord(record) {
34
+ if (!record?.body)
35
+ return record;
36
+ return typeof record.body === 'string' ? JSON.parse(record.body) : record.body;
37
+ }
38
+ getItemIdentifier(record, index) {
39
+ return String(record?.messageId || record?.messageID || record?.id || `record-${index}`);
40
+ }
41
+ getRecordGroupId(record, index) {
42
+ const raw = (() => {
43
+ try {
44
+ return this.parseRecord(record);
45
+ }
46
+ catch {
47
+ return undefined;
48
+ }
49
+ })();
50
+ return String(raw?.conversationKey ||
51
+ record?.attributes?.MessageGroupId ||
52
+ record?.attributes?.messageGroupId ||
53
+ record?.messageAttributes?.MessageGroupId?.stringValue ||
54
+ record?.messageAttributes?.messageGroupId?.stringValue ||
55
+ this.getItemIdentifier(record, index));
56
+ }
57
+ consumerConcurrency() {
58
+ return Math.max(1, Math.min(50, Math.floor(Number(this.configService.get('CANVAS_FLOW_SQS_CONSUMER_CONCURRENCY') || 10))));
59
+ }
60
+ lockTtlMs() {
61
+ return Math.max(10000, Math.floor(Number(this.configService.get('CANVAS_FLOW_SQS_CONVERSATION_LOCK_TTL_MS') || 900000)));
62
+ }
63
+ getJobId(raw) {
64
+ return String(raw?.id || raw?.payload?.jobId || '').trim();
65
+ }
66
+ async resolvePayload(raw, jobId) {
67
+ if (raw?.payloadRef !== 'job')
68
+ return raw?.payload || {};
69
+ const job = await this.sqsTransitionService.findJob(jobId);
70
+ if (!job) {
71
+ throw new Error(`Payload do job SQS ${jobId || '<sem id>'} nao encontrado.`);
72
+ }
73
+ const payload = job.payload;
74
+ if (!payload || typeof payload !== 'object') {
75
+ throw new Error(`Payload do job SQS ${jobId} nao esta mais disponivel.`);
76
+ }
77
+ return payload;
78
+ }
79
+ getPayloadConversationId(payload) {
80
+ const body = payload?.body || {};
81
+ return String(payload?.conversationId ||
82
+ body?.conversationId ||
83
+ body?.conversation?.id ||
84
+ body?.contact?.id ||
85
+ body?.message?.from ||
86
+ body?.resource?.from ||
87
+ body?.from ||
88
+ body?.entry?.[0]?.changes?.[0]?.value?.messages?.[0]?.from ||
89
+ body?.message_inbound?.channel_identity?.identity ||
90
+ body?.messageInbound?.channel_identity?.identity ||
91
+ body?.event?.message_inbound?.channel_identity?.identity ||
92
+ body?.message_inbound?.contact_id ||
93
+ body?.messageInbound?.contact_id ||
94
+ '');
95
+ }
96
+ buildConversationLockKey(type, payload) {
97
+ const organizationId = String(payload?._organizationId || payload?.organizationId || '').trim();
98
+ const agentId = String(payload?.agentId || '').trim();
99
+ const flowId = String(payload?.flowId || '').trim();
100
+ const conversationId = this.getPayloadConversationId(payload);
101
+ return [
102
+ organizationId || 'global',
103
+ agentId || 'default-agent',
104
+ conversationId || flowId || type || 'canvas-flow',
105
+ ].join(':');
106
+ }
107
+ async dispatch(type, payload) {
108
+ if (type === 'canvas-flow.whatsapp') {
109
+ return await this.runnerService.runWhatsappWebhook(payload.flowId, { ...(payload.body || {}), skipQueue: true });
110
+ }
111
+ if (type === 'canvas-flow.whatsapp-main') {
112
+ return await this.runnerService.runWhatsappMainWebhook(payload.agentId, { ...(payload.body || {}), skipQueue: true });
113
+ }
114
+ return await this.runnerService.run({ ...payload, skipQueue: true });
115
+ }
116
+ async processEnvelope(raw) {
117
+ const type = String(raw?.type || 'canvas-flow.run');
118
+ const jobId = this.getJobId(raw);
119
+ const trackResult = raw?.trackResult === true;
120
+ const ownerId = `${jobId || raw?.id || 'sqs'}:${Date.now()}:${Math.random().toString(36).slice(2)}`;
121
+ let lockKey = String(raw?.conversationKey || '').trim();
122
+ let lockAcquired = false;
123
+ let payload;
124
+ if (trackResult && jobId) {
125
+ const existingJob = await this.sqsTransitionService.findJob(jobId);
126
+ if (existingJob?.status === 'completed') {
127
+ return existingJob.result || { ok: true, skipped: true, jobId, status: 'completed' };
128
+ }
129
+ }
130
+ try {
131
+ payload = await this.resolvePayload(raw, jobId);
132
+ if (!lockKey) {
133
+ lockKey = this.buildConversationLockKey(type, payload);
134
+ }
135
+ lockAcquired = await this.sqsTransitionService.acquireConversationLock(lockKey, ownerId, this.lockTtlMs());
136
+ if (!lockAcquired) {
137
+ throw new ConversationLockedError(lockKey);
138
+ }
139
+ if (trackResult && jobId) {
140
+ await this.sqsTransitionService.markRunning(jobId);
141
+ }
142
+ const startedAt = Date.now();
143
+ (0, observability_1.logEvent)('info', 'queue.message.started', {
144
+ type,
145
+ jobId,
146
+ lockKey,
147
+ conversationId: this.getPayloadConversationId(payload),
148
+ agentId: payload?.agentId,
149
+ flowId: payload?.flowId,
150
+ });
151
+ const result = await this.dispatch(type, payload);
152
+ if (trackResult) {
153
+ await this.sqsTransitionService.markCompleted(jobId, result);
154
+ }
155
+ if (payload?._webhookAsync) {
156
+ await this.runnerService.persistWebhookRunState(payload, result).catch((error) => {
157
+ (0, observability_1.logEvent)('warn', 'queue.webhook_state.failed', {
158
+ jobId,
159
+ error: (0, observability_1.getErrorDetails)(error),
160
+ });
161
+ });
162
+ }
163
+ if (payload?._webhookAsync) {
164
+ await this.runnerService.deliverWebhookCallback(payload._webhookAsync, result).catch((error) => {
165
+ (0, observability_1.logEvent)('warn', 'queue.webhook_callback.failed', {
166
+ jobId,
167
+ error: (0, observability_1.getErrorDetails)(error),
168
+ });
169
+ });
170
+ }
171
+ (0, observability_1.logEvent)('info', 'queue.message.completed', {
172
+ type,
173
+ jobId,
174
+ lockKey,
175
+ durationMs: Date.now() - startedAt,
176
+ status: result?.ended ? 'ended' : 'ok',
177
+ });
178
+ return result;
179
+ }
180
+ catch (error) {
181
+ if (trackResult && !error?.retryable) {
182
+ await this.sqsTransitionService.markFailed(jobId, error);
183
+ }
184
+ if (payload?._webhookAsync && !error?.retryable) {
185
+ await this.runnerService.deliverWebhookCallback(payload._webhookAsync, undefined, error).catch(() => undefined);
186
+ }
187
+ (0, observability_1.logEvent)(error?.retryable ? 'warn' : 'error', 'queue.message.failed', {
188
+ type,
189
+ jobId,
190
+ lockKey,
191
+ retryable: Boolean(error?.retryable),
192
+ error: (0, observability_1.getErrorDetails)(error),
193
+ });
194
+ throw error;
195
+ }
196
+ finally {
197
+ if (lockAcquired) {
198
+ await this.sqsTransitionService.releaseConversationLock(lockKey, ownerId).catch(() => undefined);
199
+ }
200
+ }
201
+ }
202
+ async processRecord(record) {
203
+ return await this.processEnvelope(this.parseRecord(record));
204
+ }
205
+ async processRecords(records) {
206
+ const results = [];
207
+ const failures = [];
208
+ const batchItemFailures = [];
209
+ const groups = new Map();
210
+ for (let index = 0; index < records.length; index += 1) {
211
+ const groupId = this.getRecordGroupId(records[index], index);
212
+ const group = groups.get(groupId) || [];
213
+ group.push({ record: records[index], index });
214
+ groups.set(groupId, group);
215
+ }
216
+ const groupedRecords = Array.from(groups.values());
217
+ let nextGroupIndex = 0;
218
+ const workerCount = Math.min(this.consumerConcurrency(), groupedRecords.length || 1);
219
+ const processOne = async (record, index) => {
220
+ try {
221
+ results.push(await this.processRecord(record));
222
+ }
223
+ catch (error) {
224
+ const itemIdentifier = this.getItemIdentifier(record, index);
225
+ const failure = {
226
+ itemIdentifier,
227
+ error: this.getErrorMessage(error),
228
+ };
229
+ failures.push(failure);
230
+ batchItemFailures.push({ itemIdentifier });
231
+ results.push({ ok: false, error: failure.error });
232
+ }
233
+ };
234
+ await Promise.all(Array.from({ length: workerCount }, async () => {
235
+ while (nextGroupIndex < groupedRecords.length) {
236
+ const group = groupedRecords[nextGroupIndex];
237
+ nextGroupIndex += 1;
238
+ for (const item of group) {
239
+ await processOne(item.record, item.index);
240
+ }
241
+ }
242
+ }));
243
+ return {
244
+ consumed: results.length - failures.length,
245
+ failed: failures.length,
246
+ failures,
247
+ batchItemFailures,
248
+ results,
249
+ };
250
+ }
251
+ };
252
+ exports.RunnerQueueProcessor = RunnerQueueProcessor;
253
+ exports.RunnerQueueProcessor = RunnerQueueProcessor = __decorate([
254
+ (0, common_1.Injectable)(),
255
+ __metadata("design:paramtypes", [runner_service_1.RunnerService,
256
+ sqs_transition_service_1.SqsTransitionService,
257
+ config_1.ConfigService])
258
+ ], RunnerQueueProcessor);
259
+ //# sourceMappingURL=runner-queue-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-queue-processor.js","sourceRoot":"","sources":["../../src/runner/runner-queue-processor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,2CAA+C;AAC/C,kEAA2E;AAC3E,4EAAuE;AACvE,qDAAiD;AAEjD,MAAM,uBAAwB,SAAQ,KAAK;IAGzC,YAAY,OAAe;QACzB,KAAK,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;QAHxC,cAAS,GAAG,IAAI,CAAC;IAI1B,CAAC;CACF;AAGM,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,YACmB,aAA4B,EAC5B,oBAA0C,EAC1C,aAA4B;QAF5B,kBAAa,GAAb,aAAa,CAAe;QAC5B,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAEI,eAAe,CAAC,KAAU;QAChC,OAAO,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,kCAAkC,CAAC,CAAC;IAC/E,CAAC;IAEO,WAAW,CAAC,MAAW;QAC7B,IAAI,CAAC,MAAM,EAAE,IAAI;YAAE,OAAO,MAAM,CAAC;QACjC,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;IACjF,CAAC;IAEO,iBAAiB,CAAC,MAAW,EAAE,KAAa;QAClD,OAAO,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,MAAM,EAAE,SAAS,IAAI,MAAM,EAAE,EAAE,IAAI,UAAU,KAAK,EAAE,CAAC,CAAC;IAC3F,CAAC;IAEO,gBAAgB,CAAC,MAAW,EAAE,KAAa;QACjD,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,MAAM,CACX,GAAG,EAAE,eAAe;YACpB,MAAM,EAAE,UAAU,EAAE,cAAc;YAClC,MAAM,EAAE,UAAU,EAAE,cAAc;YAClC,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW;YACtD,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW;YACtD,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CACtC,CAAC;IACJ,CAAC;IAEO,mBAAmB;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,sCAAsC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrI,CAAC;IAEO,SAAS;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,0CAA0C,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IACnI,CAAC;IAEO,QAAQ,CAAC,GAAQ;QACvB,OAAO,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,GAAQ,EAAE,KAAa;QAClD,IAAI,GAAG,EAAE,UAAU,KAAK,KAAK;YAAE,OAAO,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC;QAEzD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,IAAI,UAAU,kBAAkB,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,OAAO,GAAI,GAAW,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,4BAA4B,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,wBAAwB,CAAC,OAAY;QAC3C,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,MAAM,CACX,OAAO,EAAE,cAAc;YACvB,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,YAAY,EAAE,EAAE;YACtB,IAAI,EAAE,OAAO,EAAE,EAAE;YACjB,IAAI,EAAE,OAAO,EAAE,IAAI;YACnB,IAAI,EAAE,QAAQ,EAAE,IAAI;YACpB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI;YAC1D,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ;YACjD,IAAI,EAAE,cAAc,EAAE,gBAAgB,EAAE,QAAQ;YAChD,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ;YACxD,IAAI,EAAE,eAAe,EAAE,UAAU;YACjC,IAAI,EAAE,cAAc,EAAE,UAAU;YAChC,EAAE,CACH,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAAC,IAAY,EAAE,OAAY;QACzD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAChG,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAC9D,OAAO;YACL,cAAc,IAAI,QAAQ;YAC1B,OAAO,IAAI,eAAe;YAC1B,cAAc,IAAI,MAAM,IAAI,IAAI,IAAI,aAAa;SAClD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,OAAY;QAC/C,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;YACpC,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnH,CAAC;QACD,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;YACzC,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxH,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAQ;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,IAAI,IAAI,iBAAiB,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;QAC9C,MAAM,OAAO,GAAG,GAAG,KAAK,IAAI,GAAG,EAAE,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACpG,IAAI,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,OAAY,CAAC;QAEjB,IAAI,WAAW,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnE,IAAI,WAAW,EAAE,MAAM,KAAK,WAAW,EAAE,CAAC;gBACxC,OAAQ,WAAmB,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YAChG,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;YACD,YAAY,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAC3G,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,WAAW,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACrD,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAA,wBAAQ,EAAC,MAAM,EAAE,uBAAuB,EAAE;gBACxC,IAAI;gBACJ,KAAK;gBACL,OAAO;gBACP,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;gBACtD,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAClD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;oBACpF,IAAA,wBAAQ,EAAC,MAAM,EAAE,4BAA4B,EAAE;wBAC7C,KAAK;wBACL,KAAK,EAAE,IAAA,+BAAe,EAAC,KAAK,CAAC;qBAC9B,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;oBAClG,IAAA,wBAAQ,EAAC,MAAM,EAAE,+BAA+B,EAAE;wBAChD,KAAK;wBACL,KAAK,EAAE,IAAA,+BAAe,EAAC,KAAK,CAAC;qBAC9B,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAA,wBAAQ,EAAC,MAAM,EAAE,yBAAyB,EAAE;gBAC1C,IAAI;gBACJ,KAAK;gBACL,OAAO;gBACP,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,MAAM,EAAG,MAAc,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;aAChD,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,WAAW,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;gBACrC,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,OAAO,EAAE,aAAa,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;gBAChD,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAClH,CAAC;YACD,IAAA,wBAAQ,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,sBAAsB,EAAE;gBACpE,IAAI;gBACJ,KAAK;gBACL,OAAO;gBACP,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;gBACpC,KAAK,EAAE,IAAA,+BAAe,EAAC,KAAK,CAAC;aAC9B,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAW;QAC7B,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAc;QACjC,MAAM,OAAO,GAAU,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAU,EAAE,CAAC;QAC3B,MAAM,iBAAiB,GAAU,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiD,CAAC;QAExE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACnD,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,cAAc,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAErF,MAAM,UAAU,GAAG,KAAK,EAAE,MAAW,EAAE,KAAa,EAAE,EAAE;YACtD,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC7D,MAAM,OAAO,GAAG;oBACd,cAAc;oBACd,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;iBACnC,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,iBAAiB,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC3C,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,IAAI,EAAE;YAC7C,OAAO,cAAc,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;gBAC7C,cAAc,IAAI,CAAC,CAAC;gBACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;YAC1C,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ;YACR,iBAAiB;YACjB,OAAO;SACR,CAAC;IACJ,CAAC;CACF,CAAA;AAzPY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAGuB,8BAAa;QACN,6CAAoB;QAC3B,sBAAa;GAJpC,oBAAoB,CAyPhC"}