effect 4.0.2 → 4.0.4

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 (389) hide show
  1. package/AGENTS.md +24 -0
  2. package/CLAUDE.md +24 -0
  3. package/ai-docs/package.json +2 -2
  4. package/ai-docs/src/52_graphql/10_basics.ts +111 -0
  5. package/ai-docs/src/52_graphql/20_testing.ts +45 -0
  6. package/ai-docs/src/52_graphql/30_batching.ts +116 -0
  7. package/ai-docs/src/52_graphql/40_aliased-batching.ts +122 -0
  8. package/ai-docs/src/52_graphql/50_errors-and-retries.ts +74 -0
  9. package/ai-docs/src/52_graphql/index.md +6 -0
  10. package/dist/Context.d.ts.map +1 -1
  11. package/dist/Context.js +12 -3
  12. package/dist/Context.js.map +1 -1
  13. package/dist/Crypto.d.ts +33 -5
  14. package/dist/Crypto.d.ts.map +1 -1
  15. package/dist/Crypto.js +8 -2
  16. package/dist/Crypto.js.map +1 -1
  17. package/dist/DateTime.d.ts +9 -6
  18. package/dist/DateTime.d.ts.map +1 -1
  19. package/dist/DateTime.js +9 -6
  20. package/dist/DateTime.js.map +1 -1
  21. package/dist/Duration.d.ts +6 -6
  22. package/dist/Duration.d.ts.map +1 -1
  23. package/dist/Duration.js +27 -8
  24. package/dist/Duration.js.map +1 -1
  25. package/dist/FileSystem.d.ts +44 -2
  26. package/dist/FileSystem.d.ts.map +1 -1
  27. package/dist/FileSystem.js.map +1 -1
  28. package/dist/RequestResolver.d.ts.map +1 -1
  29. package/dist/RequestResolver.js +4 -10
  30. package/dist/RequestResolver.js.map +1 -1
  31. package/dist/Scheduler.d.ts +9 -0
  32. package/dist/Scheduler.d.ts.map +1 -1
  33. package/dist/Scheduler.js +9 -0
  34. package/dist/Scheduler.js.map +1 -1
  35. package/dist/Schema.d.ts +481 -1
  36. package/dist/Schema.d.ts.map +1 -1
  37. package/dist/Schema.js +362 -4
  38. package/dist/Schema.js.map +1 -1
  39. package/dist/SchemaGetter.d.ts +4 -0
  40. package/dist/SchemaGetter.d.ts.map +1 -1
  41. package/dist/SchemaGetter.js +52 -33
  42. package/dist/SchemaGetter.js.map +1 -1
  43. package/dist/Sink.d.ts.map +1 -1
  44. package/dist/Sink.js +38 -17
  45. package/dist/Sink.js.map +1 -1
  46. package/dist/Stdio.d.ts +7 -1
  47. package/dist/Stdio.d.ts.map +1 -1
  48. package/dist/Stdio.js +1 -0
  49. package/dist/Stdio.js.map +1 -1
  50. package/dist/Stream.d.ts +22 -11
  51. package/dist/Stream.d.ts.map +1 -1
  52. package/dist/Stream.js +21 -6
  53. package/dist/Stream.js.map +1 -1
  54. package/dist/Utils.js +8 -3
  55. package/dist/Utils.js.map +1 -1
  56. package/dist/ai/AnthropicStructuredOutput.js +0 -2
  57. package/dist/ai/AnthropicStructuredOutput.js.map +1 -1
  58. package/dist/ai/Chat.d.ts +2 -2
  59. package/dist/ai/Chat.d.ts.map +1 -1
  60. package/dist/ai/LanguageModel.d.ts +38 -7
  61. package/dist/ai/LanguageModel.d.ts.map +1 -1
  62. package/dist/ai/LanguageModel.js +25 -7
  63. package/dist/ai/LanguageModel.js.map +1 -1
  64. package/dist/ai/McpServer.d.ts +61 -0
  65. package/dist/ai/McpServer.d.ts.map +1 -1
  66. package/dist/ai/McpServer.js +196 -44
  67. package/dist/ai/McpServer.js.map +1 -1
  68. package/dist/ai/Prompt.d.ts.map +1 -1
  69. package/dist/ai/Prompt.js +28 -5
  70. package/dist/ai/Prompt.js.map +1 -1
  71. package/dist/ai/Response.d.ts +4 -3
  72. package/dist/ai/Response.d.ts.map +1 -1
  73. package/dist/ai/Response.js.map +1 -1
  74. package/dist/ai/internal/mcpProtocol/v2026_07_28.js +5 -0
  75. package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
  76. package/dist/ai/internal/mcpProtocol.js.map +1 -1
  77. package/dist/ai/internal/mcpRuntime.js +1 -0
  78. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  79. package/dist/cli/CliOutput.d.ts +27 -0
  80. package/dist/cli/CliOutput.d.ts.map +1 -1
  81. package/dist/cli/CliOutput.js +33 -10
  82. package/dist/cli/CliOutput.js.map +1 -1
  83. package/dist/cli/Command.d.ts.map +1 -1
  84. package/dist/cli/Command.js +6 -3
  85. package/dist/cli/Command.js.map +1 -1
  86. package/dist/cli/Completions.d.ts +3 -3
  87. package/dist/cli/Completions.d.ts.map +1 -1
  88. package/dist/cli/Completions.js +8 -5
  89. package/dist/cli/Completions.js.map +1 -1
  90. package/dist/cli/GlobalFlag.d.ts +5 -4
  91. package/dist/cli/GlobalFlag.d.ts.map +1 -1
  92. package/dist/cli/GlobalFlag.js +3 -3
  93. package/dist/cli/GlobalFlag.js.map +1 -1
  94. package/dist/cli/Prompt.d.ts +17 -1
  95. package/dist/cli/Prompt.d.ts.map +1 -1
  96. package/dist/cli/Prompt.js +119 -114
  97. package/dist/cli/Prompt.js.map +1 -1
  98. package/dist/cli/internal/ansi.d.ts +0 -1
  99. package/dist/cli/internal/ansi.d.ts.map +1 -1
  100. package/dist/cli/internal/ansi.js +20 -3
  101. package/dist/cli/internal/ansi.js.map +1 -1
  102. package/dist/cli/internal/completions/powershell.d.ts +2 -0
  103. package/dist/cli/internal/completions/powershell.d.ts.map +1 -0
  104. package/dist/cli/internal/completions/powershell.js +273 -0
  105. package/dist/cli/internal/completions/powershell.js.map +1 -0
  106. package/dist/cli/internal/completions/zsh.js +3 -2
  107. package/dist/cli/internal/completions/zsh.js.map +1 -1
  108. package/dist/cli/internal/wizard.d.ts +3 -3
  109. package/dist/cli/internal/wizard.d.ts.map +1 -1
  110. package/dist/cli/internal/wizard.js +21 -18
  111. package/dist/cli/internal/wizard.js.map +1 -1
  112. package/dist/cluster/ClusterSchema.d.ts +28 -0
  113. package/dist/cluster/ClusterSchema.d.ts.map +1 -1
  114. package/dist/cluster/ClusterSchema.js +30 -0
  115. package/dist/cluster/ClusterSchema.js.map +1 -1
  116. package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  117. package/dist/cluster/ClusterWorkflowEngine.js +56 -26
  118. package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
  119. package/dist/cluster/MessageStorage.d.ts +18 -3
  120. package/dist/cluster/MessageStorage.d.ts.map +1 -1
  121. package/dist/cluster/MessageStorage.js +31 -11
  122. package/dist/cluster/MessageStorage.js.map +1 -1
  123. package/dist/cluster/Runners.d.ts.map +1 -1
  124. package/dist/cluster/Runners.js +8 -2
  125. package/dist/cluster/Runners.js.map +1 -1
  126. package/dist/cluster/Sharding.d.ts.map +1 -1
  127. package/dist/cluster/Sharding.js +187 -66
  128. package/dist/cluster/Sharding.js.map +1 -1
  129. package/dist/cluster/SqlMessageStorage.d.ts +59 -19
  130. package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
  131. package/dist/cluster/SqlMessageStorage.js +84 -55
  132. package/dist/cluster/SqlMessageStorage.js.map +1 -1
  133. package/dist/cluster/SqlRunnerStorage.d.ts +68 -19
  134. package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
  135. package/dist/cluster/SqlRunnerStorage.js +191 -113
  136. package/dist/cluster/SqlRunnerStorage.js.map +1 -1
  137. package/dist/cluster/internal/entityManager.js +104 -37
  138. package/dist/cluster/internal/entityManager.js.map +1 -1
  139. package/dist/encoding/Sse.d.ts +6 -0
  140. package/dist/encoding/Sse.d.ts.map +1 -1
  141. package/dist/encoding/Sse.js +62 -70
  142. package/dist/encoding/Sse.js.map +1 -1
  143. package/dist/graphql/GraphQL.d.ts +349 -0
  144. package/dist/graphql/GraphQL.d.ts.map +1 -0
  145. package/dist/graphql/GraphQL.js +207 -0
  146. package/dist/graphql/GraphQL.js.map +1 -0
  147. package/dist/graphql/GraphQLClient.d.ts +562 -0
  148. package/dist/graphql/GraphQLClient.d.ts.map +1 -0
  149. package/dist/graphql/GraphQLClient.js +498 -0
  150. package/dist/graphql/GraphQLClient.js.map +1 -0
  151. package/dist/graphql/GraphQLClientError.d.ts +445 -0
  152. package/dist/graphql/GraphQLClientError.d.ts.map +1 -0
  153. package/dist/graphql/GraphQLClientError.js +479 -0
  154. package/dist/graphql/GraphQLClientError.js.map +1 -0
  155. package/dist/graphql/GraphQLGroup.d.ts +118 -0
  156. package/dist/graphql/GraphQLGroup.d.ts.map +1 -0
  157. package/dist/graphql/GraphQLGroup.js +109 -0
  158. package/dist/graphql/GraphQLGroup.js.map +1 -0
  159. package/dist/graphql/GraphQLMiddleware.d.ts +249 -0
  160. package/dist/graphql/GraphQLMiddleware.d.ts.map +1 -0
  161. package/dist/graphql/GraphQLMiddleware.js +130 -0
  162. package/dist/graphql/GraphQLMiddleware.js.map +1 -0
  163. package/dist/graphql/GraphQLProtocol.d.ts +731 -0
  164. package/dist/graphql/GraphQLProtocol.d.ts.map +1 -0
  165. package/dist/graphql/GraphQLProtocol.js +719 -0
  166. package/dist/graphql/GraphQLProtocol.js.map +1 -0
  167. package/dist/graphql/GraphQLResolver.d.ts +453 -0
  168. package/dist/graphql/GraphQLResolver.d.ts.map +1 -0
  169. package/dist/graphql/GraphQLResolver.js +552 -0
  170. package/dist/graphql/GraphQLResolver.js.map +1 -0
  171. package/dist/graphql/index.d.ts +40 -0
  172. package/dist/graphql/index.d.ts.map +1 -0
  173. package/dist/graphql/index.js +41 -0
  174. package/dist/graphql/index.js.map +1 -0
  175. package/dist/http/FindMyWay/internal/router.js +3 -6
  176. package/dist/http/FindMyWay/internal/router.js.map +1 -1
  177. package/dist/http/HttpClient.d.ts +21 -0
  178. package/dist/http/HttpClient.d.ts.map +1 -1
  179. package/dist/http/HttpClient.js +63 -12
  180. package/dist/http/HttpClient.js.map +1 -1
  181. package/dist/http/HttpEffect.d.ts.map +1 -1
  182. package/dist/http/HttpEffect.js +14 -7
  183. package/dist/http/HttpEffect.js.map +1 -1
  184. package/dist/http/HttpMiddleware.d.ts.map +1 -1
  185. package/dist/http/HttpMiddleware.js +31 -32
  186. package/dist/http/HttpMiddleware.js.map +1 -1
  187. package/dist/http/HttpRouter.d.ts +35 -0
  188. package/dist/http/HttpRouter.d.ts.map +1 -1
  189. package/dist/http/HttpRouter.js +35 -0
  190. package/dist/http/HttpRouter.js.map +1 -1
  191. package/dist/http/HttpServerResponse.d.ts +8 -6
  192. package/dist/http/HttpServerResponse.d.ts.map +1 -1
  193. package/dist/http/HttpServerResponse.js +27 -16
  194. package/dist/http/HttpServerResponse.js.map +1 -1
  195. package/dist/http/HttpTraceContext.d.ts.map +1 -1
  196. package/dist/http/HttpTraceContext.js +4 -2
  197. package/dist/http/HttpTraceContext.js.map +1 -1
  198. package/dist/http/Multipart.d.ts.map +1 -1
  199. package/dist/http/Multipart.js +15 -1
  200. package/dist/http/Multipart.js.map +1 -1
  201. package/dist/http-api/HttpApiScalar.d.ts +5 -0
  202. package/dist/http-api/HttpApiScalar.d.ts.map +1 -1
  203. package/dist/http-api/HttpApiScalar.js.map +1 -1
  204. package/dist/internal/dateTime.js +40 -35
  205. package/dist/internal/dateTime.js.map +1 -1
  206. package/dist/internal/effect.js +19 -9
  207. package/dist/internal/effect.js.map +1 -1
  208. package/dist/internal/graphql.d.ts +2 -0
  209. package/dist/internal/graphql.d.ts.map +1 -0
  210. package/dist/internal/graphql.js +195 -0
  211. package/dist/internal/graphql.js.map +1 -0
  212. package/dist/internal/graphqlHeaders.d.ts +4 -0
  213. package/dist/internal/graphqlHeaders.d.ts.map +1 -0
  214. package/dist/internal/graphqlHeaders.js +11 -0
  215. package/dist/internal/graphqlHeaders.js.map +1 -0
  216. package/dist/internal/request.js +20 -1
  217. package/dist/internal/request.js.map +1 -1
  218. package/dist/internal/schema/toCodeDocument.js +4 -1
  219. package/dist/internal/schema/toCodeDocument.js.map +1 -1
  220. package/dist/internal/schema/toJsonSchemaDocument.js +29 -5
  221. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
  222. package/dist/internal/version.js +1 -1
  223. package/dist/net/AddressResolver.d.ts +145 -0
  224. package/dist/net/AddressResolver.d.ts.map +1 -0
  225. package/dist/net/AddressResolver.js +114 -0
  226. package/dist/net/AddressResolver.js.map +1 -0
  227. package/dist/net/Dns.d.ts +596 -0
  228. package/dist/net/Dns.d.ts.map +1 -0
  229. package/dist/net/Dns.js +549 -0
  230. package/dist/net/Dns.js.map +1 -0
  231. package/dist/net/Host.d.ts +369 -0
  232. package/dist/net/Host.d.ts.map +1 -0
  233. package/dist/net/Host.js +397 -0
  234. package/dist/net/Host.js.map +1 -0
  235. package/dist/net/IpInterface.d.ts +76 -3
  236. package/dist/net/IpInterface.d.ts.map +1 -1
  237. package/dist/net/IpInterface.js +53 -4
  238. package/dist/net/IpInterface.js.map +1 -1
  239. package/dist/net/IpNetwork.d.ts +82 -8
  240. package/dist/net/IpNetwork.d.ts.map +1 -1
  241. package/dist/net/IpNetwork.js +60 -4
  242. package/dist/net/IpNetwork.js.map +1 -1
  243. package/dist/net/NetAddress.d.ts +396 -35
  244. package/dist/net/NetAddress.d.ts.map +1 -1
  245. package/dist/net/NetAddress.js +358 -34
  246. package/dist/net/NetAddress.js.map +1 -1
  247. package/dist/net/index.d.ts +15 -0
  248. package/dist/net/index.d.ts.map +1 -1
  249. package/dist/net/index.js +15 -0
  250. package/dist/net/index.js.map +1 -1
  251. package/dist/observability/OtlpMetrics.d.ts.map +1 -1
  252. package/dist/observability/OtlpMetrics.js +15 -21
  253. package/dist/observability/OtlpMetrics.js.map +1 -1
  254. package/dist/observability/PrometheusMetrics.js +1 -0
  255. package/dist/observability/PrometheusMetrics.js.map +1 -1
  256. package/dist/persistence/PersistedQueue.d.ts +32 -3
  257. package/dist/persistence/PersistedQueue.d.ts.map +1 -1
  258. package/dist/persistence/PersistedQueue.js +75 -16
  259. package/dist/persistence/PersistedQueue.js.map +1 -1
  260. package/dist/rpc/RpcClient.d.ts +22 -6
  261. package/dist/rpc/RpcClient.d.ts.map +1 -1
  262. package/dist/rpc/RpcClient.js +12 -5
  263. package/dist/rpc/RpcClient.js.map +1 -1
  264. package/dist/rpc/RpcServer.d.ts +6 -0
  265. package/dist/rpc/RpcServer.d.ts.map +1 -1
  266. package/dist/rpc/RpcServer.js +78 -29
  267. package/dist/rpc/RpcServer.js.map +1 -1
  268. package/dist/socket/DatagramSocket.d.ts +456 -0
  269. package/dist/socket/DatagramSocket.d.ts.map +1 -0
  270. package/dist/socket/DatagramSocket.js +535 -0
  271. package/dist/socket/DatagramSocket.js.map +1 -0
  272. package/dist/socket/Socket.d.ts +20 -1
  273. package/dist/socket/Socket.d.ts.map +1 -1
  274. package/dist/socket/Socket.js +9 -1
  275. package/dist/socket/Socket.js.map +1 -1
  276. package/dist/socket/index.d.ts +5 -0
  277. package/dist/socket/index.d.ts.map +1 -1
  278. package/dist/socket/index.js +5 -0
  279. package/dist/socket/index.js.map +1 -1
  280. package/dist/sql/Migrator.d.ts.map +1 -1
  281. package/dist/sql/Migrator.js +7 -2
  282. package/dist/sql/Migrator.js.map +1 -1
  283. package/dist/sql/SqlClient.d.ts +7 -1
  284. package/dist/sql/SqlClient.d.ts.map +1 -1
  285. package/dist/sql/SqlClient.js +31 -6
  286. package/dist/sql/SqlClient.js.map +1 -1
  287. package/dist/testing/TestCrypto.d.ts +73 -0
  288. package/dist/testing/TestCrypto.d.ts.map +1 -0
  289. package/dist/testing/TestCrypto.js +87 -0
  290. package/dist/testing/TestCrypto.js.map +1 -0
  291. package/dist/testing/index.d.ts +5 -0
  292. package/dist/testing/index.d.ts.map +1 -1
  293. package/dist/testing/index.js +5 -0
  294. package/dist/testing/index.js.map +1 -1
  295. package/dist/workflow/DurableDeferred.d.ts +54 -0
  296. package/dist/workflow/DurableDeferred.d.ts.map +1 -1
  297. package/dist/workflow/DurableDeferred.js +108 -50
  298. package/dist/workflow/DurableDeferred.js.map +1 -1
  299. package/dist/workflow/WorkflowEngine.d.ts +24 -2
  300. package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
  301. package/dist/workflow/WorkflowEngine.js +13 -3
  302. package/dist/workflow/WorkflowEngine.js.map +1 -1
  303. package/package.json +6 -3
  304. package/src/Context.ts +12 -3
  305. package/src/Crypto.ts +43 -9
  306. package/src/DateTime.ts +9 -6
  307. package/src/Duration.ts +36 -16
  308. package/src/FileSystem.ts +48 -2
  309. package/src/RequestResolver.ts +4 -10
  310. package/src/Scheduler.ts +9 -0
  311. package/src/Schema.ts +677 -5
  312. package/src/SchemaGetter.ts +47 -35
  313. package/src/Sink.ts +45 -18
  314. package/src/Stdio.ts +9 -2
  315. package/src/Stream.ts +44 -15
  316. package/src/Utils.ts +8 -5
  317. package/src/ai/AnthropicStructuredOutput.ts +2 -2
  318. package/src/ai/Chat.ts +2 -2
  319. package/src/ai/LanguageModel.ts +96 -24
  320. package/src/ai/McpServer.ts +288 -94
  321. package/src/ai/Prompt.ts +24 -10
  322. package/src/ai/Response.ts +6 -3
  323. package/src/ai/internal/mcpProtocol/v2026_07_28.ts +5 -0
  324. package/src/ai/internal/mcpProtocol.ts +3 -0
  325. package/src/ai/internal/mcpRuntime.ts +2 -0
  326. package/src/cli/CliOutput.ts +33 -16
  327. package/src/cli/Command.ts +4 -3
  328. package/src/cli/Completions.ts +9 -6
  329. package/src/cli/GlobalFlag.ts +19 -11
  330. package/src/cli/Prompt.ts +159 -149
  331. package/src/cli/internal/ansi.ts +26 -3
  332. package/src/cli/internal/completions/powershell.ts +322 -0
  333. package/src/cli/internal/completions/zsh.ts +4 -2
  334. package/src/cli/internal/wizard.ts +34 -26
  335. package/src/cluster/ClusterSchema.ts +32 -0
  336. package/src/cluster/ClusterWorkflowEngine.ts +64 -36
  337. package/src/cluster/MessageStorage.ts +45 -14
  338. package/src/cluster/Runners.ts +8 -2
  339. package/src/cluster/Sharding.ts +219 -58
  340. package/src/cluster/SqlMessageStorage.ts +118 -84
  341. package/src/cluster/SqlRunnerStorage.ts +224 -128
  342. package/src/cluster/internal/entityManager.ts +151 -55
  343. package/src/encoding/Sse.ts +69 -79
  344. package/src/graphql/GraphQL.ts +494 -0
  345. package/src/graphql/GraphQLClient.ts +912 -0
  346. package/src/graphql/GraphQLClientError.ts +542 -0
  347. package/src/graphql/GraphQLGroup.ts +167 -0
  348. package/src/graphql/GraphQLMiddleware.ts +253 -0
  349. package/src/graphql/GraphQLProtocol.ts +1286 -0
  350. package/src/graphql/GraphQLResolver.ts +1010 -0
  351. package/src/graphql/index.ts +48 -0
  352. package/src/http/FindMyWay/internal/router.ts +4 -7
  353. package/src/http/HttpClient.ts +110 -12
  354. package/src/http/HttpEffect.ts +11 -5
  355. package/src/http/HttpMiddleware.ts +33 -34
  356. package/src/http/HttpRouter.ts +35 -0
  357. package/src/http/HttpServerResponse.ts +28 -16
  358. package/src/http/HttpTraceContext.ts +8 -2
  359. package/src/http/Multipart.ts +17 -1
  360. package/src/http-api/HttpApiScalar.ts +5 -0
  361. package/src/internal/dateTime.ts +13 -10
  362. package/src/internal/effect.ts +22 -15
  363. package/src/internal/graphql.ts +263 -0
  364. package/src/internal/graphqlHeaders.ts +11 -0
  365. package/src/internal/request.ts +31 -3
  366. package/src/internal/schema/toCodeDocument.ts +7 -1
  367. package/src/internal/schema/toJsonSchemaDocument.ts +34 -2
  368. package/src/internal/version.ts +1 -1
  369. package/src/net/AddressResolver.ts +222 -0
  370. package/src/net/Dns.ts +1035 -0
  371. package/src/net/Host.ts +544 -0
  372. package/src/net/IpInterface.ts +117 -7
  373. package/src/net/IpNetwork.ts +116 -17
  374. package/src/net/NetAddress.ts +620 -76
  375. package/src/net/index.ts +18 -0
  376. package/src/observability/OtlpMetrics.ts +12 -23
  377. package/src/observability/PrometheusMetrics.ts +1 -0
  378. package/src/persistence/PersistedQueue.ts +146 -53
  379. package/src/rpc/RpcClient.ts +41 -19
  380. package/src/rpc/RpcServer.ts +115 -40
  381. package/src/socket/DatagramSocket.ts +919 -0
  382. package/src/socket/Socket.ts +28 -2
  383. package/src/socket/index.ts +6 -0
  384. package/src/sql/Migrator.ts +21 -5
  385. package/src/sql/SqlClient.ts +39 -15
  386. package/src/testing/TestCrypto.ts +94 -0
  387. package/src/testing/index.ts +6 -0
  388. package/src/workflow/DurableDeferred.ts +160 -47
  389. package/src/workflow/WorkflowEngine.ts +50 -5
@@ -1 +1 @@
1
- {"version":3,"file":"SqlMessageStorage.js","names":[],"sources":["../../src/cluster/SqlMessageStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SqlMessageStorage.js","names":[],"sources":["../../src/cluster/SqlMessageStorage.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;AAuBA;AACA,OAAO,KAAK,GAAG,MAAM,aAAa;AAClC,OAAO,KAAK,MAAM,MAAM,cAAc;AACtC,OAAO,KAAK,MAAM,MAAM,cAAc;AACtC,OAAO,KAAK,GAAG,MAAM,oBAAoB;AACzC,OAAO,KAAK,KAAK,MAAM,aAAa;AACpC,OAAO,KAAK,MAAM,MAAM,cAAc;AAEtC,OAAO,KAAK,QAAQ,MAAM,oBAAoB;AAC9C,OAAO,KAAK,SAAS,MAAM,qBAAqB;AAEhD,SAAS,UAAU,QAAuB,oBAAoB;AAE9D,SAAS,gBAAgB,QAAQ,mBAAmB;AAGpD,OAAO,KAAK,cAAc,MAAM,qBAAqB;AACrD,SAAS,iBAAiB,QAAQ,qBAAqB;AAEvD,OAAO,KAAK,OAAO,MAAM,cAAc;AAEvC,OAAO,KAAK,SAAS,MAAM,gBAAgB;AAE3C,MAAM,kBAAkB,gBAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,OAAO,MAAM,WAAW,GAMnB,OAAO,IAAK,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAE3F,MAAM,kBAAkB,gBAAG,MAAM,CAAC,UAAU,CAAC,WAC3C,OAEa;EAEb,MAAM,GAAG,GAAG,CAAC,OAAO,SAAS,CAAC,SAAS,EAAE,iBAAiB,EAAE;EAC5D,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM;EACnC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,SAAS;EAC3C,MAAM,KAAK,GAAI,IAAY,IAAK,GAAG,MAAM,IAAI,IAAI,EAAE;EAEnD,MAAM,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;EACrE,MAAM,oBAAoB,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;EACvE,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;EAEjE,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC;EACvC,MAAM,gBAAgB,GAAG,GAAG,CAAC,aAAa,CAAC;EAE3C,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC;EACrC,MAAM,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC;EAEzC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE;EACjC,MAAM,sBAAsB,GAAI,UAAkB,IAChD,UAAU,CAAC,MAAM,IAAI,GAAG,GACpB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAC1B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;EAElF,MAAM,sBAAsB,GAAG,GAAG,CAAC,eAAe,CAAC;IACjD,KAAK,EAAE,MAAM,IAAI;IACjB,KAAK,EAAE,MAAM,IAAI;IACjB,EAAE,EAAE,MAAM,IAAI;IACd,MAAM,EAAE,MAAM;GACf,CAAC;EACF;EACA;EACA,MAAM,gBAAgB,GAAI,UAAkB,IAAc,CAAC,sBAAsB,IAAI,UAAU,CAAC,MAAM,GAAG,GAAG;EAE5G,MAAM,aAAa,GAAG,CACpB,QAA0B,EAC1B,UAAyB,EACzB,UAAyB,KACX;IACd,QAAQ,QAAQ,CAAC,IAAI;MACnB,KAAK,SAAS;QACZ,OAAO;UACL,EAAE,EAAE,QAAQ,CAAC,SAAS;UACtB,UAAU;UACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;UACpD,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU;UACxC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ;UACpC,IAAI,EAAE,WAAW,CAAC,OAAO;UACzB,GAAG,EAAE,QAAQ,CAAC,GAAG;UACjB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;UACzC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;UACzC,QAAQ,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI;UAClC,OAAO,EAAE,QAAQ,CAAC,MAAM,IAAI,IAAI;UAChC,OAAO,EAAE,QAAQ,CAAC,OAAO,KAAK,SAAS,GACnC,IAAI,GACJ,gBAAgB,GAChB,QAAQ,CAAC,OAAO,GAChB,QAAQ,CAAC,OAAO,GAChB,CAAC,GACD,CAAC;UACL,UAAU,EAAE,QAAQ,CAAC,SAAS;UAC9B,QAAQ,EAAE,IAAI;UACd;SACD;MACH,KAAK,UAAU;QACb,OAAO;UACL,EAAE,EAAE,QAAQ,CAAC,EAAE;UACf,UAAU;UACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;UACpD,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU;UACxC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ;UACpC,IAAI,EAAE,WAAW,CAAC,QAAQ;UAC1B,GAAG,EAAE,IAAI;UACT,OAAO,EAAE,IAAI;UACb,OAAO,EAAE,IAAI;UACb,QAAQ,EAAE,IAAI;UACd,OAAO,EAAE,IAAI;UACb,OAAO,EAAE,IAAI;UACb,UAAU,EAAE,QAAQ,CAAC,SAAS;UAC9B,QAAQ,EAAE,QAAQ,CAAC,OAAO;UAC1B;SACD;MACH,KAAK,WAAW;QACd,OAAO;UACL,EAAE,EAAE,QAAQ,CAAC,EAAE;UACf,UAAU;UACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;UACpD,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU;UACxC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ;UACpC,IAAI,EAAE,WAAW,CAAC,SAAS;UAC3B,OAAO,EAAE,IAAI;UACb,GAAG,EAAE,IAAI;UACT,OAAO,EAAE,IAAI;UACb,QAAQ,EAAE,IAAI;UACd,OAAO,EAAE,IAAI;UACb,OAAO,EAAE,IAAI;UACb,UAAU,EAAE,QAAQ,CAAC,SAAS;UAC9B,QAAQ,EAAE,IAAI;UACd;SACD;IACL;EACF,CAAC;EAED,MAAM,UAAU,GAAI,KAAoB,KAAgB;IACtD,EAAE,EAAE,KAAK,CAAC,EAAE;IACZ,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;IAC3B,UAAU,EAAE,KAAK,CAAC,SAAS;IAC3B,OAAO,EAAE,KAAK,CAAC,IAAI,KAAK,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;IAC9F,QAAQ,EAAE,KAAK,CAAC,IAAI,KAAK,OAAO,GAAG,KAAK,CAAC,QAAQ,GAAG;GACrD,CAAC;EAEF,MAAM,gBAAgB,GAAG,GAAG,CAAC,eAAe,CAAC;IAC3C,KAAK,EAAE,MAAM,KAAK;IAClB,MAAM,EAAE,MAAM,KAAK;IACnB,MAAM,EAAE,MAAM;GACf,CAAC;EAEF,MAAM,cAAc,GAAI,GAA8B,IAGlD;IACF,QAAQ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAc;MACnC,KAAK,CAAC;QACJ,OAAO;UACL,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE;cACP,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;cAChD,UAAU,EAAE,GAAG,CAAC,WAAW;cAC3B,QAAQ,EAAE,GAAG,CAAC;aACf;YACD,GAAG,EAAE,GAAG,CAAC,GAAI;YACb,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAQ,CAAC;YACjC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAQ,CAAC;YACjC,IAAI,GAAG,CAAC,QAAQ,GACb;cACC,OAAO,EAAE,GAAG,CAAC,QAAQ;cACrB,MAAM,EAAE,GAAG,CAAC,OAAQ;cACpB,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC;aAChB,GACD,SAAS;WACZ;UACD,aAAa,EAAE,GAAG,CAAC,cAAc,GAC/B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;YAC9B,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;YACjC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,cAAe,CAAC;YACrC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAc;WACtC,CAAC,GACF,MAAM,CAAC,IAAI;SACd;MACH,KAAK,CAAC;QACJ,OAAO;UACL,QAAQ,EAAE;YACR,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAW,CAAC;YAClC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,QAAS,CAAC;YAC9B,OAAO,EAAE;cACP,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;cAChD,UAAU,EAAE,GAAG,CAAC,WAAW;cAC3B,QAAQ,EAAE,GAAG,CAAC;;WAEjB;UACD,aAAa,EAAE,MAAM,CAAC,IAAI;SAC3B;MACH,KAAK,CAAC;QACJ,OAAO;UACL,QAAQ,EAAE;YACR,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAW,CAAC;YAClC,OAAO,EAAE;cACP,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;cAChD,UAAU,EAAE,GAAG,CAAC,WAAW;cAC3B,QAAQ,EAAE,GAAG,CAAC;;WAEjB;UACD,aAAa,EAAE,MAAM,CAAC,IAAI;SAC3B;IACL;EACF,CAAC;EAED,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,GAAG,OAAO,GAAG,GAAG,CAAC;EAC9D,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,GAAG,MAAM,GAAG,GAAG,CAAC;EAE5D,MAAM,iBAAiB,GAAI,UAAkB,IAC3C,GAAG;;aAEM,gBAAgB;kBACX,eAAe;6BACJ,UAAU;KAClC;EAEH,MAAM,cAAc,GAG+B,GAAG,CAAC,eAAe,CAAC;IACrE,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,KACxB,GAAG;sBACa,gBAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;;;OAGlD,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAE,IAAI,IAAI;MAC7B;MACA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;MAC9C,OAAO,iBAAiB,CAAC,UAAU,CAAC;IACtC,CAAC,CAAC,CAAC;IACL,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,KAC3B,MAAM,CAAC,OAAO,CACZ,GAAG,sBAAsB,gBAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EACjE,GAAQ,IAAI;MACX,IAAI,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE;QACxB,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;MAC3B;MACA,OAAO,iBAAiB,CAAC,UAAU,CAAC;IACtC,CAAC,CACF;IACH,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,KAC3B,GAAG;gBACO,gBAAgB;wBACR,UAAU;;;mBAGf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;;;;;;qBAMb,eAAe;;;;;;;qBAOf,eAAe;;;;;;;qBAOf,eAAe;;;;;;;qBAOf,eAAe;;;;OAI7B;IACH,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,KAC5B,iBAAiB,CAAC,UAAU,CAAC,CAAC,IAAI,CAChC,MAAM,CAAC,GAAG,CAAC,GAAG,yBAAyB,gBAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAC7E,GAAG,CAAC,eAAe,EACnB,MAAM,CAAC,KAAK,CAAC;MAAE,KAAK,EAAE;IAAC,CAAE,CAAC;GAE/B,CAAC;EAEF,MAAM,aAAa,GAAG,GAAG,CAAC,eAAe,CAAC;IACxC,KAAK,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC,iCAAiC,CAAC;IAC3D,KAAK,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC,4BAA4B,CAAC;IACtD,EAAE,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC,+BAA+B,CAAC;IACtD,MAAM,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC,+BAA+B;GAC1D,CAAC;EACF,MAAM,YAAY,GAAG,GAAG,CAAC,eAAe,CAAC;IACvC,EAAE,EAAE,MAAM,OAAO;IACjB,KAAK,EAAE,MAAM,OAAO;IACpB,KAAK,EAAE,MAAM,WAAW;IACxB,MAAM,EAAE,MAAM;GACf,CAAC;EACF,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC;EAExC,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC;IACrC,KAAK,EAAE,MAAO,CAAS,IAAK,KAAK,CAAC,GAAG;IACrC,MAAM,EAAE,MAAO,CAAS,IAAK,IAAI,CAAC;GACnC,CAAC;EACF,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC;IACpC,MAAM,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,MAAM,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY;GACvC,CAAC;EAEF,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;EACrC;EACA;EACA,MAAM,aAAa,GAAG,GAAG,CAAC,eAAe,CAAC;IACxC,KAAK,EAAE,MAAO,KAAa,IAAK,GAAG,CAAC,OAAO,CAAC,4BAA4B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;IACtG,MAAM,EAAE,MAAO,KAAa,IAAK,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;GAC1E,CAAC;EACF,MAAM,cAAc,GAAI,SAAqD,IAAI;IAC/E,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2D;IAClF,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;MAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;MAC1C,IAAI,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;MACvC,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;MAChD;MACA,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;MAClD,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;MACjD,CAAC,MAAM;QACL,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;MACrB;IACF;IACA,OAAO,KAAK,CAAC,IAAI,CACf,OAAO,EACP,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,KACtB,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM;MAAE,OAAO;MAAE,UAAU;MAAE;IAAS,CAAE,CAAC,CAAC,CAC9F,CAAC,IAAI,EAAE;EACV,CAAC;EAKD,MAAM,kBAAkB,GAAI,OAAwC,KAAM;IACxE,aAAa,EAAE,OAAO,EAAE,SAAS,KAAK,SAAS,GAC3C,GAAG,QACH,GAAG,CAAC,EAAE,CACJ,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAE,KAAK,IAC1C,GAAG,CAAC,GAAG,CAAC,CACN,GAAG,gBAAgB,KAAK,CAAC,OAAO,EAAE,EAClC,GAAG,mBAAmB,KAAK,CAAC,UAAU,EAAE,EACxC,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAE,OAAO,IAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAC1E,CAAC,CACH,CAEL,GAAG,GACD,aAAa;IACjB,KAAK,EAAE,OAAO,EAAE,KAAK,KAAK,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;GACtE,CAAC;EAGF,MAAM,gCAAgC,GAAG,GAAG,CAAC,eAAe,CAAC;IAC3D,EAAE,EAAE,MAAM,CAAC,QAA+B,EAAE,GAAW,EAAE,OAA2B,KAClF,GAAmB;;mBAEN,gBAAgB;4BACP,MAAM;;;mBAGf,gBAAgB;mCACA,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;cACpE,OAAO,CAAC,aAAa;;8BAEL,eAAe;;4BAEjB,iBAAiB,eAAe,QAAQ;;gCAEpC,QAAQ;wDACgB,aAAa;2DACV,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;;cAErE,OAAO,CAAC,KAAK;;;sBAGL,eAAe;;;;;OAK9B;IACH,MAAM,EAAE,MAAM,CAAC,QAA+B,EAAE,GAAW,EAAE,OAA2B,KACtF,GAAmB;;eAEV,gBAAgB;oBACX,eAAe;+BACJ,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;UACpE,OAAO,CAAC,aAAa;;0BAEL,eAAe;;wBAEjB,iBAAiB,eAAe,QAAQ;;0BAEtC,QAAQ;oDACkB,aAAa;uDACV,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;;UAErE,OAAO,CAAC,KAAK;UACb,SAAS;OACZ,CAAC,UAAU,CAAC,IAAI,CACf,MAAM,CAAC,GAAG,CAAE,IAAI,IAAI;MAClB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,MAAM,CAAC,IAAI;MACpB;MACA,OAAO,GAAG;qBACC,gBAAgB;8BACP,MAAM;2BACT,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAE,GAAG,IAAK,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;WAChE,CAAC,UAAU;IACd,CAAC,CAAC,EACF,GAAG,CAAC,eAAe;GAExB,CAAC;EACF,MAAM,sBAAsB,GAAG,CAC7B,QAA+B,EAC/B,GAAW,EACX,OAAwC,KAExC,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC,GAC5B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAClB,gCAAgC,CAAC,QAAQ,EAAE,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;EAElF,MAAM,gBAAgB,GAAG,GAAG,CAAC,eAAe,CAAC;IAC3C;IACA,EAAE,EAAE,MAAO,MAAgB,IACzB,GAAG;;yBAEgB,gBAAgB;4BACb,QAAQ,QAAQ,MAAM;;;;eAInC,gBAAgB;;;KAG1B;IACD,MAAM,EAAE,MAAO,MAAgB,IAC7B,GAAG;eACM,gBAAgB;;0BAEL,QAAQ,QAAQ,MAAM;;GAE7C,CAAC;EAEF,MAAM,OAAO,GAA2B;IACtC,YAAY,EAAE,CAAC;MAAE,SAAS;MAAE,QAAQ;MAAE;IAAU,CAAE,KAChD,MAAM,CAAC,OAAO,CAAC,MAAK;MAClB,IAAI,MAAiF;MACrF,IAAI,UAAU,KAAK,IAAI,EAAE;QACvB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAAG,SAAS,IAAI;UACxE,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;UACzD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE;YACjC,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC;UACvC;UACA,OAAO,MAAM,CAAC,OAAO,CACnB,iBAAiB,CAAC,UAAU,CAAC,EAC5B,IAAI,IAAK,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAClF;QACH,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC;QACpD,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,eAAe,gBAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC;QAC1F,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE;UAChC,MAAM,GAAG,GAAG,UAAU,eAAe,gBAAgB,OAAO,eAAe,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAChG,MAAM,CAAC,OAAO,CACZ,GAAG,UAAU,gBAAgB,oBAAoB,OAAO,sBAAsB,QAAQ,qBAAqB,QAAQ,CAAC,SAAS,eAAe,mBAAmB,EAAE,CAClK,EACD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EACtB,GAAG,CAAC,eAAe,CACpB;QACH;MACF;MACA,OAAO,MAAM,CAAC,IAAI,CAChB,MAAM,CAAC,GAAG,CAAE,IAAI,IAAI;QAClB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;UACrB,OAAO,iBAAiB,CAAC,OAAO,EAAE;QACpC;QACA,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QACnB,MAAM,YAAY,GAAG,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,UAAU;QACjG,MAAM,iBAAiB,GAAiC,GAAG,CAAC,QAAQ,GAChE,MAAM,CAAC,IAAI,CACX,YAAY,KAAK,SAAS,CAAC,QAAQ,GAC/B;UACA,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;UACxB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;UACzB,IAAI,EAAE,UAAU;UAChB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAuB;SAC7C,GACC;UACA,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;UACxB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;UACzB,IAAI,EAAE,OAAO;UACb,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;UACpC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAuB;SAC/C,CACJ,GACC,MAAM,CAAC,IAAI,EAAE;QACjB,OAAO,iBAAiB,CAAC,SAAS,CAAC;UACjC,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAS,CAAC;UAC9C;SACD,CAAC;MACJ,CAAC,CAAC,CACH;IACH,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,EACnD,gBAAgB,CAAC,MAAM,EACvB,kBAAkB,CACnB;IAEH,SAAS,EAAG,KAAK,IACf,MAAM,CAAC,OAAO,CAAC,MAAK;MAClB,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC;MAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO,GACnC,GAAG,UAAU,gBAAgB,wBAAwB,KAAK,CAAC,EAAE,eAAe,KAAK,CAAC,SAAS,EAAE,GAC7F,GAAG,UAAU,gBAAgB,oBAAoB,OAAO,qBAAqB,KAAK,CAAC,EAAE,uBAAuB,KAAK,CAAC,SAAS,EAAE;MAC/H,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,eAAe,eAAe,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EACtE,GAAG,CAAC,eAAe,CACpB;IACH,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,MAAM,EACb,gBAAgB,CAAC,MAAM,EACvB,kBAAkB,CACnB;IAEH,YAAY,EAAE,MAAM,CAAC,UAAU,CAC7B,WAAU,SAAS,EAAE,OAAO;MAC1B,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe;MAChD,IAAI,eAAe,KAAK,SAAS,EAAE;QACjC,OAAO,GAAG,eAAe,eAAe,uBAAuB,MAAM,CAAC,SAAS,CAAC,eAAe;QAC/F,OAAO,GAAG,eAAe,gBAAgB,uBACvC,MAAM,CAAC,SAAS,CAClB,eAAe,oBAAoB,EAAE;QACrC,OAAO,GAAG,UAAU,gBAAgB,oBAAoB,QAAQ,+DAC9D,MAAM,CAAC,SAAS,CAClB,EAAE;QACF;MACF;MACA,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;MAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;MACxC;MACA,OAAO,GAAG,eAAe,eAAe,uBAAuB,EAAE;sCACnC,gBAAgB,eAAe,EAAE,wBAAwB,QAAQ,GAAG;MAClG,OAAO,GAAG,UAAU,gBAAgB,oBAAoB,QAAQ;+BACzC,EAAE,wBAAwB,QAAQ,EAAE;IAC7D,CAAC,EACD,GAAG,CAAC,eAAe,EACnB,gBAAgB,CAAC,MAAM,EACvB,kBAAkB,CACnB;IAED,sBAAsB,EAAG,UAAU,IACjC,sBAAsB,CAAC,UAAU,CAAC,CAAC,IAAI,CACrC,MAAM,CAAC,OAAO,CAAE,SAAS,IACvB,GAA4B,kBAAkB,gBAAgB,uBAAuB,SAAS,EAAE,CACjG,EACD,MAAM,CAAC,OAAO,CAAE,IAAI,IAClB,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,GAC7C,GAA4B,kBAAkB,gBAAgB,uBAAuB,UAAU,EAAE,GACjG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CACzB,EACD,MAAM,CAAC,GAAG,CAAE,IAAI,IAAK,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,EACxF,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,EACnD,gBAAgB,CAAC,MAAM,EACvB,kBAAkB,CACnB;IAEH,UAAU,EAAG,UAAU;IACrB;IACA;IACA;IACA;IACA,GAAa;;eAEJ,eAAe;+BACC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;mBAE7C,iBAAiB;;;0BAGV,QAAQ;;;;OAI3B,CAAC,UAAU,CAAC,IAAI,CACf,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,EACnD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EACjC,gBAAgB,CAAC,MAAM,EACvB,kBAAkB,CACnB;IAEH,oBAAoB,EAAG,UAAU,IAC/B,GAAa;;eAEJ,eAAe;+BACC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;OAEzD,CAAC,UAAU,CAAC,IAAI,CACf,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,EACnD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EACjC,gBAAgB,CAAC,MAAM,EACvB,kBAAkB,CACnB;IAEH,mBAAmB,EAAE,MAAM,CAAC,UAAU,CACpC,WAAU,QAAQ,EAAE,GAAG,EAAE,OAAO;MAC9B,MAAM,IAAI,GAAG,OAAO,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC;MAClE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,EAAE;MACX;MACA,MAAM,QAAQ,GAGT,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;MAC3B,MAAM,GAAG,GAAG,IAAI,KAAK,CAAS,IAAI,CAAC,MAAM,CAAC;MAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,QAAQ,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;MAC7B;MACA,OAAO,QAAQ;IACjB,CAAC,EACD,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,EACnD,gBAAgB,CAAC,MAAM,EACvB,kBAAkB,CACnB;IAED,uBAAuB,CAAC,GAAG,EAAE,GAAG;MAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAG,EAAE,IAAK,MAAM,CAAC,EAAE,CAAC,CAAC;MACjD,OAAO,GAA8B;;eAE5B,gBAAgB;oBACX,eAAe;yBACV,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;0BAE3B,eAAe;;wBAEjB,iBAAiB,eAAe,QAAQ;;4BAEpC,QAAQ;uDACmB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;;OAExE,CAAC,UAAU,CAAC,IAAI,CACf,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EACnC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,EACnD,gBAAgB,CAAC,MAAM,EACvB,kBAAkB,CACnB;IACH,CAAC;IAED,aAAa,EAAG,UAAU,IACxB,UAAU,CAAC,MAAM,KAAK,CAAC,GACnB,MAAM,CAAC,IAAI,GACX,GAAG;iBACI,gBAAgB;;4BAEL,QAAQ;cACtB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACzC,CAAC,IAAI,CACJ,MAAM,CAAC,MAAM,EACb,gBAAgB,CAAC,MAAM,EACvB,kBAAkB,CACnB;IAEL,cAAc,EAAG,SAAS,IACxB,SAAS,CAAC,MAAM,KAAK,CAAC,GAClB,MAAM,CAAC,IAAI,GACX,gBAAgB,CAAC,GAAG,IACpB,GAAG,CAAC,EAAE,CACJ,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,CAC1B,KAAK,IACJ,GAAG,CAAC,GAAG,CAAC,CACN,GAAG,cAAc,KAAK,CAAC,OAAO,EAAE,EAChC,GAAG,iBAAiB,KAAK,CAAC,UAAU,EAAE,EACtC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAE,OAAO,IAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CACxE,CAAC,CACL,CAEL,GAAG,CAAC,CAAC,IAAI,CACP,MAAM,CAAC,MAAM,EACb,gBAAgB,CAAC,MAAM,EACvB,kBAAkB,CACnB;IAEL,YAAY,EAAG,OAAO,IACpB,GAAG;sBACa,eAAe;;2BAEV,gBAAgB;gCACX,OAAO,CAAC,UAAU;4BACtB,OAAO,CAAC,QAAQ;;OAErC,CAAC,IAAI,CACJ,MAAM,CAAC,OAAO,CACZ,GAAG;0BACa,gBAAgB;kCACR,OAAO,CAAC,UAAU;8BACtB,OAAO,CAAC,QAAQ;WACnC,CACF,EACD,GAAG,CAAC,eAAe,EACnB,MAAM,CAAC,MAAM,EACb,gBAAgB,CAAC,MAAM,EACvB,kBAAkB,CACnB;IAEH,WAAW,EAAG,QAAQ,IACpB,gBAAgB,CAAC,GAAG,gBAAgB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1F,MAAM,CAAC,MAAM,EACb,gBAAgB,CAAC,MAAM,EACvB,kBAAkB,CACnB;IAEH,eAAe,EAAG,MAAM,IACtB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAC9B,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC;GAE3C;EACD,OAAO,OAAO;AAChB,CAAC,EAAE,kBAAkB,CAAC;AAEtB;;;;;;;;AAQA,OAAO,MAAM,IAAI,GAMZ,OAAO,IAAK,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC;AAEjF;;;;;;;;;;;;AAYA,OAAO,MAAM,UAAU,GAAI,OAE1B,IAAqB;EACpB,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,SAAS;EAC3C,MAAM,KAAK,GAAI,IAAY,IAAK,GAAG,MAAM,IAAI,IAAI,EAAE;EACnD,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC;EACvC,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC;EAErC;EACA;EACA,OAAO,QAAQ,CAAC,UAAU,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC,GAAG,CAAC,aAAS;MACxC,MAAM,GAAG,GAAG,CAAC,OAAO,SAAS,CAAC,SAAS,EAAE,iBAAiB,EAAE;MAC5D,MAAM,gBAAgB,GAAG,GAAG,CAAC,aAAa,CAAC;MAC3C,MAAM,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC;MAEzC,OAAO,GAAG,CAAC,eAAe,CAAC;QACzB,KAAK,EAAE,MACL,GAAG;6BACgB,gBAAgB;2BAClB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;WAsBhC;QACH,KAAK,EAAE,MACL,GAAG;yCAC4B,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;WAuB9C;QACH,EAAE,EAAE,MACF,GAAG;yCAC4B,gBAAgB;;;;;;;;;;;;;;;;;;;;;;WAsB9C;QACH,MAAM,EAAE;QACN;QACA,GAAG;yCAC4B,gBAAgB;;;;;;;;;;;;;;;;;;;;;;OAsBlD,CAAC;MAEF;MACA,MAAM,gBAAgB,GAAG,GAAG,aAAa,YAAY;MACrD,MAAM,oBAAoB,GAAG,GAAG,aAAa,iBAAiB;MAC9D,OAAO,GAAG,CAAC,eAAe,CAAC;QACzB,KAAK,EAAE,MACL,GAAG;oEACuD,gBAAgB;2BACzD,GAAG,CAAC,gBAAgB,CAAC;iBAC/B,gBAAgB;;oEAEmC,oBAAoB;2BAC7D,GAAG,CAAC,oBAAoB,CAAC;iBACnC,gBAAgB;WACtB;QACH,KAAK,EAAE,MACL,GAAG;2BACc,GAAG,CAAC,gBAAgB,CAAC;iBAC/B,gBAAgB;;2BAEN,GAAG,CAAC,oBAAoB,CAAC;iBACnC,gBAAgB;WACtB,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,EAAE,EAAE,MACF,MAAM,CAAC,GAAG,CAAC,aAAS;UAClB,OAAO,GAAG;2CACqB,GAAG,CAAC,gBAAgB,CAAC;mBAC7C,gBAAgB;aACtB;UACD,OAAO,GAAG;2CACqB,GAAG,CAAC,oBAAoB,CAAC;mBACjD,gBAAgB;aACtB;QACH,CAAC,CAAC;QACJ,MAAM,EAAE;QACN;QACA,MAAM,CAAC,GAAG,CAAC,CACT,GAAG;2CAC4B,GAAG,CAAC,gBAAgB,CAAC;mBAC7C,gBAAgB;aACtB,EACD,GAAG;2CAC4B,GAAG,CAAC,oBAAoB,CAAC;mBACjD,gBAAgB;aACtB,CACF,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe;OAC9B,CAAC;MAEF,OAAO,GAAG,CAAC,eAAe,CAAC;QACzB,KAAK,EAAE,MACL,GAAG;6BACgB,eAAe;2BACjB,eAAe;;;;;;;;2BAQf,GAAG,CAAC,YAAY,GAAG,WAAW,CAAC;2BAC/B,GAAG,CAAC,YAAY,GAAG,WAAW,CAAC;;WAE/C;QACH,KAAK,EAAE,MACL,GAAG;yCAC4B,eAAe;;;;;;;;;;;;WAY7C;QACH,EAAE,EAAE,MACF,GAAG;yCAC4B,eAAe;;;;;;;;;;;WAW7C;QACH,MAAM,EAAE;QACN;QACA,GAAG;yCAC4B,eAAe;;;;;;;;;;;OAWjD,CAAC;MAEF;MACA,MAAM,gBAAgB,GAAG,GAAG,YAAY,qBAAqB;MAC7D,OAAO,GAAG,CAAC,eAAe,CAAC;QACzB,KAAK,EAAE,MACL,GAAG;oEACuD,gBAAgB;2BACzD,GAAG,CAAC,gBAAgB,CAAC;iBAC/B,eAAe;WACrB;QACH,KAAK,EAAE,MACL,GAAG;2BACc,GAAG,CAAC,gBAAgB,CAAC;iBAC/B,eAAe;WACrB,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,EAAE,EAAE,MACF,GAAG;yCAC4B,GAAG,CAAC,gBAAgB,CAAC;iBAC7C,eAAe;WACrB;QACH,MAAM,EAAE;QACN;QACA,GAAG;yCAC4B,GAAG,CAAC,gBAAgB,CAAC;iBAC7C,eAAe;;OAEzB,CAAC;IACJ,CAAC,CAAC;IACF,uBAAuB,EAAE,MAAM,CAAC,GAAG,CAAC,aAAS;MAC3C,MAAM,GAAG,GAAG,CAAC,OAAO,SAAS,CAAC,SAAS,EAAE,iBAAiB,EAAE;MAC5D,MAAM,gBAAgB,GAAG,GAAG,CAAC,aAAa,CAAC;MAE3C;MACA,OAAO,GAAG,CAAC,eAAe,CAAC;QACzB,KAAK,EAAE,MACL,GAAG;0BACa,gBAAgB;WAC/B;QACH,KAAK,EAAE,MACL,GAAG;0BACa,gBAAgB;WAC/B,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,EAAE,EAAE,MACF,GAAG;0BACa,gBAAgB;WAC/B;QACH,MAAM,EAAE;QACN;QACA,MAAM,CAAC;OACV,CAAC;IACJ,CAAC,CAAC;IACF,8BAA8B,EAAE,MAAM,CAAC,GAAG,CAAC,aAAS;MAClD,MAAM,GAAG,GAAG,CAAC,OAAO,SAAS,CAAC,SAAS,EAAE,iBAAiB,EAAE;MAC5D,MAAM,gBAAgB,GAAG,GAAG,CAAC,aAAa,CAAC;MAC3C,MAAM,UAAU,GAAG,GAAG,aAAa,YAAY;MAE/C,OAAO,GAAG,CAAC,eAAe,CAAC;QACzB,EAAE,EAAE,MACF,GAAG;yCAC4B,GAAG,CAAC,UAAU,CAAC;iBACvC,gBAAgB;WACtB;QACH,MAAM,EAAE,MAAM,MAAM,CAAC;OACtB,CAAC;IACJ,CAAC;GACF,CAAC;AACJ,CAAC;AAED,MAAM,oBAAoB,GAAI,OAE7B,IACC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;EAChB,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC;EAC3B,KAAK,EAAE,GAAG,OAAO,EAAE,MAAM,IAAI,SAAS;CACvC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;AAEtC;;;;;;;;;;;;;;;;AAgBA,OAAO,MAAM,eAAe,GAAI,OAE/B,IAAqD,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAExG;;;;;;;;;;;;AAYA,OAAO,MAAM,YAAY,GAAI,OAE5B,IACC,KAAK,CAAC,MAAM,CACV,cAAc,CAAC,cAAc,EAC7B,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CACxE,CAAC,IAAI,CACJ,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CACxC;AAEH;;;;;;;;;;;;;AAaA,OAAO,MAAM,SAAS,GAAI,OAEzB,IACC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CACxB,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CACxC;AAEH;;;;;;;;;;;;;;AAcA,OAAO,MAAM,KAAK,gBAId,SAAS,CAAC,EAAE,CAAC;AAEjB;AACA;AACA;AAEA,MAAM,WAAW,GAAG;EAClB,SAAS,EAAE,CAAC;EACZ,UAAU,EAAE,CAAC;EACb,WAAW,EAAE;CACmD;AAElE,MAAM,SAAS,GAAG;EAChB,UAAU,EAAE,CAAC;EACb,OAAO,EAAE;CACyD;AAEpE,MAAM,YAAY,GAAI,GAAa,IACjC,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,QAAQ,GAC1D;EACE,IAAI,EAAE,UAAU;EAChB,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;EAClB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;EACjC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO;CAC7B,GACD;EACE,IAAI,EAAE,OAAO;EACb,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;EAClB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;EACjC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;EAC/B,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAS;CAC/B","ignoreList":[]}
@@ -1,11 +1,10 @@
1
1
  import * as Effect from "../Effect.ts";
2
2
  import * as Layer from "../Layer.ts";
3
3
  import * as Scope from "../Scope.ts";
4
+ import * as Migrator from "../sql/Migrator.ts";
4
5
  import * as SqlClient from "../sql/SqlClient.ts";
5
6
  import type { SqlError } from "../sql/SqlError.ts";
6
- import { PersistenceError } from "./ClusterError.ts";
7
7
  import * as RunnerStorage from "./RunnerStorage.ts";
8
- import * as ShardId from "./ShardId.ts";
9
8
  import * as ShardingConfig from "./ShardingConfig.ts";
10
9
  /**
11
10
  * Creates a SQL-backed `RunnerStorage` implementation for registered runners and
@@ -19,18 +18,21 @@ import * as ShardingConfig from "./ShardingConfig.ts";
19
18
  *
20
19
  * **Details**
21
20
  *
22
- * When `prefix` is omitted, `make` uses the `cluster` prefix, creating
23
- * `cluster_runners` and `cluster_locks`. PostgreSQL and MySQL use advisory
21
+ * `make` first runs the runner storage migrations, so the connection needs
22
+ * permission to create tables. When `prefix` is omitted, `make` uses the
23
+ * `cluster` prefix, creating `cluster_runners`, `cluster_locks`, and the
24
+ * `cluster_runner_migrations` history table. PostgreSQL and MySQL use advisory
24
25
  * locks unless `ShardingConfig.shardLockDisableAdvisory` is enabled; other
25
26
  * dialects use rows in the locks table.
26
27
  *
27
28
  * **Gotchas**
28
29
  *
29
- * Changing `prefix` changes both generated table names, so runners using
30
+ * Changing `prefix` changes all generated table names, so runners using
30
31
  * different prefixes do not share registrations or shard locks.
31
32
  *
32
33
  * @see {@link layer} for the default SQL-backed storage layer
33
34
  * @see {@link layerWith} for a SQL-backed storage layer with a custom table prefix
35
+ * @see {@link layerStorage} for a storage layer that does not run migrations
34
36
  *
35
37
  * @stability unstable
36
38
  * @category constructors
@@ -38,26 +40,62 @@ import * as ShardingConfig from "./ShardingConfig.ts";
38
40
  */
39
41
  export declare const make: (options: {
40
42
  readonly prefix?: string | undefined;
41
- }) => Effect.Effect<{
42
- readonly register: (runner: import("./Runner.ts").Runner, healthy: boolean) => Effect.Effect<import("./MachineId.ts").MachineId, PersistenceError>;
43
- readonly unregister: (address: import("./RunnerAddress.ts").RunnerAddress) => Effect.Effect<void, PersistenceError>;
44
- readonly getRunners: Effect.Effect<Array<readonly [runner: import("./Runner.ts").Runner, healthy: boolean]>, PersistenceError>;
45
- readonly setRunnerHealth: (address: import("./RunnerAddress.ts").RunnerAddress, healthy: boolean) => Effect.Effect<void, PersistenceError>;
46
- readonly acquire: (address: import("./RunnerAddress.ts").RunnerAddress, shardIds: Iterable<ShardId.ShardId>) => Effect.Effect<Array<ShardId.ShardId>, PersistenceError>;
47
- readonly refresh: (address: import("./RunnerAddress.ts").RunnerAddress, shardIds: Iterable<ShardId.ShardId>) => Effect.Effect<Array<ShardId.ShardId>, PersistenceError>;
48
- readonly release: (address: import("./RunnerAddress.ts").RunnerAddress, shardId: ShardId.ShardId) => Effect.Effect<void, PersistenceError>;
49
- readonly releaseAll: (address: import("./RunnerAddress.ts").RunnerAddress) => Effect.Effect<void, PersistenceError>;
50
- }, SqlError, Scope.Scope | ShardingConfig.ShardingConfig | SqlClient.SqlClient>;
43
+ }) => Effect.Effect<RunnerStorage.RunnerStorage["Service"], SqlError, SqlClient.SqlClient | ShardingConfig.ShardingConfig | Scope.Scope>;
51
44
  /**
52
- * Layer that provides SQL-backed `RunnerStorage` using the default table prefix.
45
+ * Migration loader for the SQL runner storage tables.
46
+ *
47
+ * **Details**
48
+ *
49
+ * History is recorded in `<prefix>_runner_migrations`; the default
50
+ * prefix is `cluster`. The locks table is created regardless of advisory lock settings.
51
+ *
52
+ * @stability unstable
53
+ * @category migrations
54
+ * @since 4.1.0
55
+ */
56
+ export declare const migrations: (options: {
57
+ readonly prefix?: string | undefined;
58
+ }) => Migrator.Loader;
59
+ /**
60
+ * Runs the SQL runner storage migrations without providing storage.
61
+ *
62
+ * **Details**
63
+ *
64
+ * Use an owner connection in a deploy step, then use `layerStorage` with a
65
+ * DML-only runtime connection. History is recorded in `<prefix>_runner_migrations`.
66
+ * Migration errors become defects.
67
+ * This layer does not require `ShardingConfig`.
53
68
  *
54
69
  * @stability unstable
55
70
  * @category layers
56
- * @since 4.0.0
71
+ * @since 4.1.0
57
72
  */
58
- export declare const layer: Layer.Layer<RunnerStorage.RunnerStorage, SqlError, SqlClient.SqlClient | ShardingConfig.ShardingConfig>;
73
+ export declare const layerMigrations: (options: {
74
+ readonly prefix?: string | undefined;
75
+ }) => Layer.Layer<never, never, SqlClient.SqlClient>;
76
+ /**
77
+ * Provides SQL-backed `RunnerStorage` without DDL or startup schema checks.
78
+ *
79
+ * **Details**
80
+ *
81
+ * Run `layerMigrations` separately before using this layer.
82
+ *
83
+ * @stability unstable
84
+ * @category layers
85
+ * @since 4.1.0
86
+ */
87
+ export declare const layerStorage: (options: {
88
+ readonly prefix?: string | undefined;
89
+ }) => Layer.Layer<RunnerStorage.RunnerStorage, never, SqlClient.SqlClient | ShardingConfig.ShardingConfig>;
59
90
  /**
60
- * Layer that provides SQL-backed `RunnerStorage` using a custom table prefix.
91
+ * Provides SQL-backed `RunnerStorage` with a custom table prefix,
92
+ * running migrations first.
93
+ *
94
+ * **Details**
95
+ *
96
+ * The connection needs DDL permissions. PostgreSQL takes an exclusive lock
97
+ * on the migration history table. Use `layerMigrations` and `layerStorage`
98
+ * to migrate separately.
61
99
  *
62
100
  * @stability unstable
63
101
  * @category layers
@@ -66,4 +104,15 @@ export declare const layer: Layer.Layer<RunnerStorage.RunnerStorage, SqlError, S
66
104
  export declare const layerWith: (options: {
67
105
  readonly prefix?: string | undefined;
68
106
  }) => Layer.Layer<RunnerStorage.RunnerStorage, SqlError, SqlClient.SqlClient | ShardingConfig.ShardingConfig>;
107
+ /**
108
+ * Layer that provides SQL-backed `RunnerStorage` using the default table prefix,
109
+ * running the runner storage migrations first.
110
+ *
111
+ * @see {@link layerWith} for the same layer with a custom table prefix
112
+ *
113
+ * @stability unstable
114
+ * @category layers
115
+ * @since 4.0.0
116
+ */
117
+ export declare const layer: Layer.Layer<RunnerStorage.RunnerStorage, SqlError, SqlClient.SqlClient | ShardingConfig.ShardingConfig>;
69
118
  //# sourceMappingURL=SqlRunnerStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SqlRunnerStorage.d.ts","sourceRoot":"","sources":["../../src/cluster/SqlRunnerStorage.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAEhD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAerD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,IAAI;sBACG,MAAM,GAAG,SAAS;;;;;;;;;;+EAmrBhB,CAAA;AAEtB;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,aAAa,CAAC,aAAa,EAC3B,QAAQ,EACR,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,CACE,CAAA;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,YAAa;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,CAChD,CAAA"}
1
+ {"version":3,"file":"SqlRunnerStorage.d.ts","sourceRoot":"","sources":["../../src/cluster/SqlRunnerStorage.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAC9C,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAEhD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAKlD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AA2mBrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,IAAI,YAAa;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,MAAM,CAAC,MAAM,CACf,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,EACtC,QAAQ,EACR,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,GAAG,KAAK,CAAC,KAAK,CACI,CAAA;AAEvE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,YAAa;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,QAAQ,CAAC,MAoGZ,CAAA;AAWD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,YAAa;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,CAAsD,CAAA;AAEvG;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,YAAa;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,CACtC,CAAA;AAEjE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,YAAa;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,CAChD,CAAA;AAE1D;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,aAAa,CAAC,aAAa,EAC3B,QAAQ,EACR,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,CACpC,CAAA"}
@@ -3,10 +3,15 @@
3
3
  *
4
4
  * The SQL-backed `RunnerStorage` records runners, health flags, machine ids,
5
5
  * and shard locks so multiple processes can coordinate which runner owns each
6
- * shard. This module creates the required runner and lock tables, supports an
6
+ * shard. This module migrates the required runner and lock tables, supports an
7
7
  * optional table prefix, uses advisory locks for PostgreSQL and MySQL when
8
8
  * enabled, and provides constructors and layers for the storage service.
9
9
  *
10
+ * `layer`, `layerWith`, and `make` run the migrations before building the
11
+ * storage. To run migrations with a different connection, such as a schema
12
+ * owner in a deploy step, use `layerMigrations` there and `layerStorage` in the
13
+ * runtime.
14
+ *
10
15
  * @stability unstable
11
16
  * @since 4.0.0
12
17
  */
@@ -17,6 +22,7 @@ import * as Effect from "../Effect.js";
17
22
  import * as Fiber from "../Fiber.js";
18
23
  import * as Layer from "../Layer.js";
19
24
  import * as Scope from "../Scope.js";
25
+ import * as Migrator from "../sql/Migrator.js";
20
26
  import * as SqlClient from "../sql/SqlClient.js";
21
27
  import { PersistenceError } from "./ClusterError.js";
22
28
  import { ResourceRef } from "./internal/resourceRef.js";
@@ -35,36 +41,7 @@ const postgresLockNamespace = prefix => {
35
41
  }
36
42
  return hash | 0;
37
43
  };
38
- /**
39
- * Creates a SQL-backed `RunnerStorage` implementation for registered runners and
40
- * shard locks, using the configured table prefix and advisory locks where
41
- * supported and enabled.
42
- *
43
- * **When to use**
44
- *
45
- * Use to create a SQL-backed `RunnerStorage` value directly when building
46
- * custom service or layer composition around the storage implementation.
47
- *
48
- * **Details**
49
- *
50
- * When `prefix` is omitted, `make` uses the `cluster` prefix, creating
51
- * `cluster_runners` and `cluster_locks`. PostgreSQL and MySQL use advisory
52
- * locks unless `ShardingConfig.shardLockDisableAdvisory` is enabled; other
53
- * dialects use rows in the locks table.
54
- *
55
- * **Gotchas**
56
- *
57
- * Changing `prefix` changes both generated table names, so runners using
58
- * different prefixes do not share registrations or shard locks.
59
- *
60
- * @see {@link layer} for the default SQL-backed storage layer
61
- * @see {@link layerWith} for a SQL-backed storage layer with a custom table prefix
62
- *
63
- * @stability unstable
64
- * @category constructors
65
- * @since 4.0.0
66
- */
67
- export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
44
+ const makeStorage = /*#__PURE__*/Effect.fnUntraced(function* (options) {
68
45
  const config = yield* ShardingConfig.ShardingConfig;
69
46
  const shardGroups = ShardingConfig.shardGroupConfig(config);
70
47
  const availableShardGroups = Array.from(shardGroups.available);
@@ -135,86 +112,8 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
135
112
  const useLockConn = f => Effect.flatMap(lockConn.await, held => Effect.onError(f(held[0], held[1]), cause => Cause.hasInterruptsOnly(cause) ? Effect.void : rebuildLockConn(held)));
136
113
  const runnersTable = table("runners");
137
114
  const runnersTableSql = sql(runnersTable);
138
- yield* sql.onDialectOrElse({
139
- mssql: () => sql`
140
- IF OBJECT_ID(N'${runnersTableSql}', N'U') IS NULL
141
- CREATE TABLE ${runnersTableSql} (
142
- machine_id INT IDENTITY PRIMARY KEY,
143
- address VARCHAR(255) NOT NULL,
144
- runner TEXT NOT NULL,
145
- healthy BIT NOT NULL DEFAULT 1,
146
- last_heartbeat DATETIME NOT NULL DEFAULT GETDATE(),
147
- UNIQUE(address)
148
- )
149
- `,
150
- mysql: () => sql`
151
- CREATE TABLE IF NOT EXISTS ${runnersTableSql} (
152
- machine_id INT AUTO_INCREMENT PRIMARY KEY,
153
- address VARCHAR(255) NOT NULL,
154
- runner TEXT NOT NULL,
155
- healthy BOOLEAN NOT NULL DEFAULT TRUE,
156
- last_heartbeat DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
157
- UNIQUE(address)
158
- )
159
- `,
160
- pg: () => sql`
161
- CREATE TABLE IF NOT EXISTS ${runnersTableSql} (
162
- machine_id SERIAL PRIMARY KEY,
163
- address VARCHAR(255) NOT NULL,
164
- runner TEXT NOT NULL,
165
- healthy BOOLEAN NOT NULL DEFAULT TRUE,
166
- last_heartbeat TIMESTAMP NOT NULL DEFAULT NOW(),
167
- UNIQUE(address)
168
- )
169
- `,
170
- orElse: () =>
171
- // sqlite
172
- sql`
173
- CREATE TABLE IF NOT EXISTS ${runnersTableSql} (
174
- machine_id INTEGER PRIMARY KEY AUTOINCREMENT,
175
- address TEXT NOT NULL,
176
- runner TEXT NOT NULL,
177
- healthy INTEGER NOT NULL DEFAULT 1,
178
- last_heartbeat DATETIME NOT NULL DEFAULT (CURRENT_TIMESTAMP),
179
- UNIQUE(address)
180
- )
181
- `
182
- });
183
115
  const locksTable = table("locks");
184
116
  const locksTableSql = sql(locksTable);
185
- yield* sql.onDialectOrElse({
186
- mssql: () => sql`
187
- IF OBJECT_ID(N'${locksTableSql}', N'U') IS NULL
188
- CREATE TABLE ${locksTableSql} (
189
- shard_id VARCHAR(50) PRIMARY KEY,
190
- address VARCHAR(255) NOT NULL,
191
- acquired_at DATETIME NOT NULL
192
- )
193
- `,
194
- mysql: () => disableAdvisoryLocks ? sql`
195
- CREATE TABLE IF NOT EXISTS ${locksTableSql} (
196
- shard_id VARCHAR(50) PRIMARY KEY,
197
- address VARCHAR(255) NOT NULL,
198
- acquired_at DATETIME NOT NULL
199
- )
200
- ` : Effect.void,
201
- pg: () => disableAdvisoryLocks ? sql`
202
- CREATE TABLE IF NOT EXISTS ${locksTableSql} (
203
- shard_id VARCHAR(50) PRIMARY KEY,
204
- address VARCHAR(255) NOT NULL,
205
- acquired_at TIMESTAMP NOT NULL
206
- )
207
- ` : Effect.void,
208
- orElse: () =>
209
- // sqlite
210
- sql`
211
- CREATE TABLE IF NOT EXISTS ${locksTableSql} (
212
- shard_id TEXT PRIMARY KEY,
213
- address TEXT NOT NULL,
214
- acquired_at DATETIME NOT NULL
215
- )
216
- `
217
- });
218
117
  const sqlNowString = sql.onDialectOrElse({
219
118
  pg: () => "NOW()",
220
119
  mysql: () => "NOW()",
@@ -554,19 +453,198 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
554
453
  });
555
454
  }, withTracerDisabled);
556
455
  /**
557
- * Layer that provides SQL-backed `RunnerStorage` using the default table prefix.
456
+ * Creates a SQL-backed `RunnerStorage` implementation for registered runners and
457
+ * shard locks, using the configured table prefix and advisory locks where
458
+ * supported and enabled.
459
+ *
460
+ * **When to use**
461
+ *
462
+ * Use to create a SQL-backed `RunnerStorage` value directly when building
463
+ * custom service or layer composition around the storage implementation.
464
+ *
465
+ * **Details**
466
+ *
467
+ * `make` first runs the runner storage migrations, so the connection needs
468
+ * permission to create tables. When `prefix` is omitted, `make` uses the
469
+ * `cluster` prefix, creating `cluster_runners`, `cluster_locks`, and the
470
+ * `cluster_runner_migrations` history table. PostgreSQL and MySQL use advisory
471
+ * locks unless `ShardingConfig.shardLockDisableAdvisory` is enabled; other
472
+ * dialects use rows in the locks table.
473
+ *
474
+ * **Gotchas**
475
+ *
476
+ * Changing `prefix` changes all generated table names, so runners using
477
+ * different prefixes do not share registrations or shard locks.
478
+ *
479
+ * @see {@link layer} for the default SQL-backed storage layer
480
+ * @see {@link layerWith} for a SQL-backed storage layer with a custom table prefix
481
+ * @see {@link layerStorage} for a storage layer that does not run migrations
558
482
  *
559
483
  * @stability unstable
560
- * @category layers
484
+ * @category constructors
561
485
  * @since 4.0.0
562
486
  */
563
- export const layer = /*#__PURE__*/Layer.effect(RunnerStorage.RunnerStorage)(/*#__PURE__*/make({}));
487
+ export const make = options => Effect.andThen(runRunnerMigrations(options), makeStorage(options));
488
+ /**
489
+ * Migration loader for the SQL runner storage tables.
490
+ *
491
+ * **Details**
492
+ *
493
+ * History is recorded in `<prefix>_runner_migrations`; the default
494
+ * prefix is `cluster`. The locks table is created regardless of advisory lock settings.
495
+ *
496
+ * @stability unstable
497
+ * @category migrations
498
+ * @since 4.1.0
499
+ */
500
+ export const migrations = options => {
501
+ const prefix = options.prefix ?? "cluster";
502
+ const table = name => `${prefix}_${name}`;
503
+ const runnersTable = table("runners");
504
+ const locksTable = table("locks");
505
+ return Migrator.fromRecord({
506
+ // Existing deployments may have these tables but no migration history.
507
+ "0001_create_tables": Effect.gen(function* () {
508
+ const sql = (yield* SqlClient.SqlClient).withoutTransforms();
509
+ const runnersTableSql = sql(runnersTable);
510
+ const locksTableSql = sql(locksTable);
511
+ yield* sql.onDialectOrElse({
512
+ mssql: () => sql`
513
+ IF OBJECT_ID(N'${runnersTableSql}', N'U') IS NULL
514
+ CREATE TABLE ${runnersTableSql} (
515
+ machine_id INT IDENTITY PRIMARY KEY,
516
+ address VARCHAR(255) NOT NULL,
517
+ runner TEXT NOT NULL,
518
+ healthy BIT NOT NULL DEFAULT 1,
519
+ last_heartbeat DATETIME NOT NULL DEFAULT GETDATE(),
520
+ UNIQUE(address)
521
+ )
522
+ `,
523
+ mysql: () => sql`
524
+ CREATE TABLE IF NOT EXISTS ${runnersTableSql} (
525
+ machine_id INT AUTO_INCREMENT PRIMARY KEY,
526
+ address VARCHAR(255) NOT NULL,
527
+ runner TEXT NOT NULL,
528
+ healthy BOOLEAN NOT NULL DEFAULT TRUE,
529
+ last_heartbeat DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
530
+ UNIQUE(address)
531
+ )
532
+ `,
533
+ pg: () => sql`
534
+ CREATE TABLE IF NOT EXISTS ${runnersTableSql} (
535
+ machine_id SERIAL PRIMARY KEY,
536
+ address VARCHAR(255) NOT NULL,
537
+ runner TEXT NOT NULL,
538
+ healthy BOOLEAN NOT NULL DEFAULT TRUE,
539
+ last_heartbeat TIMESTAMP NOT NULL DEFAULT NOW(),
540
+ UNIQUE(address)
541
+ )
542
+ `,
543
+ orElse: () =>
544
+ // sqlite
545
+ sql`
546
+ CREATE TABLE IF NOT EXISTS ${runnersTableSql} (
547
+ machine_id INTEGER PRIMARY KEY AUTOINCREMENT,
548
+ address TEXT NOT NULL,
549
+ runner TEXT NOT NULL,
550
+ healthy INTEGER NOT NULL DEFAULT 1,
551
+ last_heartbeat DATETIME NOT NULL DEFAULT (CURRENT_TIMESTAMP),
552
+ UNIQUE(address)
553
+ )
554
+ `
555
+ });
556
+ yield* sql.onDialectOrElse({
557
+ mssql: () => sql`
558
+ IF OBJECT_ID(N'${locksTableSql}', N'U') IS NULL
559
+ CREATE TABLE ${locksTableSql} (
560
+ shard_id VARCHAR(50) PRIMARY KEY,
561
+ address VARCHAR(255) NOT NULL,
562
+ acquired_at DATETIME NOT NULL
563
+ )
564
+ `,
565
+ mysql: () => sql`
566
+ CREATE TABLE IF NOT EXISTS ${locksTableSql} (
567
+ shard_id VARCHAR(50) PRIMARY KEY,
568
+ address VARCHAR(255) NOT NULL,
569
+ acquired_at DATETIME NOT NULL
570
+ )
571
+ `,
572
+ pg: () => sql`
573
+ CREATE TABLE IF NOT EXISTS ${locksTableSql} (
574
+ shard_id VARCHAR(50) PRIMARY KEY,
575
+ address VARCHAR(255) NOT NULL,
576
+ acquired_at TIMESTAMP NOT NULL
577
+ )
578
+ `,
579
+ orElse: () =>
580
+ // sqlite
581
+ sql`
582
+ CREATE TABLE IF NOT EXISTS ${locksTableSql} (
583
+ shard_id TEXT PRIMARY KEY,
584
+ address TEXT NOT NULL,
585
+ acquired_at DATETIME NOT NULL
586
+ )
587
+ `
588
+ });
589
+ })
590
+ });
591
+ };
592
+ const runRunnerMigrations = options => Migrator.make({})({
593
+ loader: migrations(options),
594
+ // Message and runner migration ids overlap, so keep separate histories.
595
+ table: `${options.prefix ?? "cluster"}_runner_migrations`
596
+ }).pipe(Effect.asVoid, Effect.orDie);
597
+ /**
598
+ * Runs the SQL runner storage migrations without providing storage.
599
+ *
600
+ * **Details**
601
+ *
602
+ * Use an owner connection in a deploy step, then use `layerStorage` with a
603
+ * DML-only runtime connection. History is recorded in `<prefix>_runner_migrations`.
604
+ * Migration errors become defects.
605
+ * This layer does not require `ShardingConfig`.
606
+ *
607
+ * @stability unstable
608
+ * @category layers
609
+ * @since 4.1.0
610
+ */
611
+ export const layerMigrations = options => Layer.effectDiscard(runRunnerMigrations(options));
564
612
  /**
565
- * Layer that provides SQL-backed `RunnerStorage` using a custom table prefix.
613
+ * Provides SQL-backed `RunnerStorage` without DDL or startup schema checks.
614
+ *
615
+ * **Details**
616
+ *
617
+ * Run `layerMigrations` separately before using this layer.
618
+ *
619
+ * @stability unstable
620
+ * @category layers
621
+ * @since 4.1.0
622
+ */
623
+ export const layerStorage = options => Layer.effect(RunnerStorage.RunnerStorage)(makeStorage(options));
624
+ /**
625
+ * Provides SQL-backed `RunnerStorage` with a custom table prefix,
626
+ * running migrations first.
627
+ *
628
+ * **Details**
629
+ *
630
+ * The connection needs DDL permissions. PostgreSQL takes an exclusive lock
631
+ * on the migration history table. Use `layerMigrations` and `layerStorage`
632
+ * to migrate separately.
566
633
  *
567
634
  * @stability unstable
568
635
  * @category layers
569
636
  * @since 4.0.0
570
637
  */
571
638
  export const layerWith = options => Layer.effect(RunnerStorage.RunnerStorage)(make(options));
639
+ /**
640
+ * Layer that provides SQL-backed `RunnerStorage` using the default table prefix,
641
+ * running the runner storage migrations first.
642
+ *
643
+ * @see {@link layerWith} for the same layer with a custom table prefix
644
+ *
645
+ * @stability unstable
646
+ * @category layers
647
+ * @since 4.0.0
648
+ */
649
+ export const layer = /*#__PURE__*/layerWith({});
572
650
  //# sourceMappingURL=SqlRunnerStorage.js.map