effect 4.0.0-beta.100 → 4.0.0-beta.102

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 (502) hide show
  1. package/dist/Array.d.ts.map +1 -1
  2. package/dist/Array.js +81 -5
  3. package/dist/Array.js.map +1 -1
  4. package/dist/Channel.d.ts.map +1 -1
  5. package/dist/Channel.js +27 -9
  6. package/dist/Channel.js.map +1 -1
  7. package/dist/Config.d.ts +1 -1
  8. package/dist/Config.d.ts.map +1 -1
  9. package/dist/Config.js +6 -5
  10. package/dist/Config.js.map +1 -1
  11. package/dist/ConfigProvider.js +7 -7
  12. package/dist/ConfigProvider.js.map +1 -1
  13. package/dist/Data.d.ts.map +1 -1
  14. package/dist/Data.js +2 -1
  15. package/dist/Data.js.map +1 -1
  16. package/dist/Effect.d.ts +61 -100
  17. package/dist/Effect.d.ts.map +1 -1
  18. package/dist/Effect.js +66 -39
  19. package/dist/Effect.js.map +1 -1
  20. package/dist/FiberHandle.d.ts.map +1 -1
  21. package/dist/FiberHandle.js +3 -2
  22. package/dist/FiberHandle.js.map +1 -1
  23. package/dist/Iterable.d.ts.map +1 -1
  24. package/dist/Iterable.js +2 -1
  25. package/dist/Iterable.js.map +1 -1
  26. package/dist/JsonPatch.d.ts.map +1 -1
  27. package/dist/JsonPatch.js +4 -3
  28. package/dist/JsonPatch.js.map +1 -1
  29. package/dist/JsonSchema.d.ts.map +1 -1
  30. package/dist/JsonSchema.js +9 -11
  31. package/dist/JsonSchema.js.map +1 -1
  32. package/dist/Logger.d.ts.map +1 -1
  33. package/dist/Logger.js +3 -2
  34. package/dist/Logger.js.map +1 -1
  35. package/dist/ManagedRuntime.d.ts +9 -0
  36. package/dist/ManagedRuntime.d.ts.map +1 -1
  37. package/dist/ManagedRuntime.js +3 -0
  38. package/dist/ManagedRuntime.js.map +1 -1
  39. package/dist/Metric.d.ts.map +1 -1
  40. package/dist/Metric.js +4 -3
  41. package/dist/Metric.js.map +1 -1
  42. package/dist/MutableList.d.ts.map +1 -1
  43. package/dist/MutableList.js +4 -0
  44. package/dist/MutableList.js.map +1 -1
  45. package/dist/Optic.d.ts.map +1 -1
  46. package/dist/Optic.js +5 -4
  47. package/dist/Optic.js.map +1 -1
  48. package/dist/Option.d.ts.map +1 -1
  49. package/dist/Option.js +2 -1
  50. package/dist/Option.js.map +1 -1
  51. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  52. package/dist/PartitionedSemaphore.js +1 -4
  53. package/dist/PartitionedSemaphore.js.map +1 -1
  54. package/dist/Record.d.ts +93 -1
  55. package/dist/Record.d.ts.map +1 -1
  56. package/dist/Record.js +57 -19
  57. package/dist/Record.js.map +1 -1
  58. package/dist/References.d.ts +0 -45
  59. package/dist/References.d.ts.map +1 -1
  60. package/dist/References.js +0 -45
  61. package/dist/References.js.map +1 -1
  62. package/dist/Request.d.ts.map +1 -1
  63. package/dist/Request.js +9 -6
  64. package/dist/Request.js.map +1 -1
  65. package/dist/Result.d.ts.map +1 -1
  66. package/dist/Result.js +2 -1
  67. package/dist/Result.js.map +1 -1
  68. package/dist/Schema.d.ts +1269 -496
  69. package/dist/Schema.d.ts.map +1 -1
  70. package/dist/Schema.js +2308 -614
  71. package/dist/Schema.js.map +1 -1
  72. package/dist/SchemaAST.d.ts +2 -2
  73. package/dist/SchemaAST.d.ts.map +1 -1
  74. package/dist/SchemaAST.js +189 -130
  75. package/dist/SchemaAST.js.map +1 -1
  76. package/dist/SchemaError.js +1 -1
  77. package/dist/SchemaError.js.map +1 -1
  78. package/dist/SchemaGetter.d.ts +13 -11
  79. package/dist/SchemaGetter.d.ts.map +1 -1
  80. package/dist/SchemaGetter.js +34 -24
  81. package/dist/SchemaGetter.js.map +1 -1
  82. package/dist/SchemaIssue.js +1 -1
  83. package/dist/SchemaIssue.js.map +1 -1
  84. package/dist/SchemaParser.d.ts.map +1 -1
  85. package/dist/SchemaParser.js +1 -12
  86. package/dist/SchemaParser.js.map +1 -1
  87. package/dist/SchemaRepresentation.d.ts +403 -1504
  88. package/dist/SchemaRepresentation.d.ts.map +1 -1
  89. package/dist/SchemaRepresentation.js +294 -2852
  90. package/dist/SchemaRepresentation.js.map +1 -1
  91. package/dist/SchemaTransformation.d.ts +2 -2
  92. package/dist/SchemaTransformation.js +3 -3
  93. package/dist/SchemaTransformation.js.map +1 -1
  94. package/dist/Semaphore.d.ts +5 -3
  95. package/dist/Semaphore.d.ts.map +1 -1
  96. package/dist/Semaphore.js.map +1 -1
  97. package/dist/Stream.d.ts +15 -9
  98. package/dist/Stream.d.ts.map +1 -1
  99. package/dist/Stream.js +46 -16
  100. package/dist/Stream.js.map +1 -1
  101. package/dist/Struct.d.ts.map +1 -1
  102. package/dist/Struct.js +5 -4
  103. package/dist/Struct.js.map +1 -1
  104. package/dist/Types.d.ts +1 -3
  105. package/dist/Types.d.ts.map +1 -1
  106. package/dist/index.d.ts +0 -4
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +0 -4
  109. package/dist/index.js.map +1 -1
  110. package/dist/internal/core.js +3 -2
  111. package/dist/internal/core.js.map +1 -1
  112. package/dist/internal/effect.js +119 -53
  113. package/dist/internal/effect.js.map +1 -1
  114. package/dist/internal/matcher.js +1 -1
  115. package/dist/internal/matcher.js.map +1 -1
  116. package/dist/internal/record.d.ts +0 -3
  117. package/dist/internal/record.d.ts.map +1 -1
  118. package/dist/internal/record.js +10 -5
  119. package/dist/internal/record.js.map +1 -1
  120. package/dist/internal/references.js +0 -4
  121. package/dist/internal/references.js.map +1 -1
  122. package/dist/internal/schema/annotations.js +12 -0
  123. package/dist/internal/schema/annotations.js.map +1 -1
  124. package/dist/internal/schema/fromJsonSchemaDocument.d.ts +2 -0
  125. package/dist/internal/schema/fromJsonSchemaDocument.d.ts.map +1 -0
  126. package/dist/internal/schema/fromJsonSchemaDocument.js +743 -0
  127. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -0
  128. package/dist/internal/schema/fromRepresentation.d.ts +2 -0
  129. package/dist/internal/schema/fromRepresentation.d.ts.map +1 -0
  130. package/dist/internal/schema/fromRepresentation.js +252 -0
  131. package/dist/internal/schema/fromRepresentation.js.map +1 -0
  132. package/dist/internal/schema/schema.js +28 -40
  133. package/dist/internal/schema/schema.js.map +1 -1
  134. package/dist/internal/schema/{arbitrary.d.ts → toArbitrary.d.ts} +1 -1
  135. package/dist/internal/schema/toArbitrary.d.ts.map +1 -0
  136. package/dist/internal/schema/{arbitrary.js → toArbitrary.js} +8 -9
  137. package/dist/internal/schema/toArbitrary.js.map +1 -0
  138. package/dist/internal/schema/toCodeDocument.d.ts +2 -0
  139. package/dist/internal/schema/toCodeDocument.d.ts.map +1 -0
  140. package/dist/internal/schema/toCodeDocument.js +438 -0
  141. package/dist/internal/schema/toCodeDocument.js.map +1 -0
  142. package/dist/internal/schema/toEquivalence.d.ts +2 -0
  143. package/dist/internal/schema/toEquivalence.d.ts.map +1 -0
  144. package/dist/internal/schema/{equivalence.js → toEquivalence.js} +15 -13
  145. package/dist/internal/schema/toEquivalence.js.map +1 -0
  146. package/dist/internal/schema/toJsonSchemaDocument.d.ts +2 -0
  147. package/dist/internal/schema/toJsonSchemaDocument.d.ts.map +1 -0
  148. package/dist/internal/schema/toJsonSchemaDocument.js +466 -0
  149. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -0
  150. package/dist/internal/schema/toRepresentation.d.ts +2 -0
  151. package/dist/internal/schema/toRepresentation.d.ts.map +1 -0
  152. package/dist/internal/schema/toRepresentation.js +369 -0
  153. package/dist/internal/schema/toRepresentation.js.map +1 -0
  154. package/dist/internal/stackTraceLimit.js +3 -6
  155. package/dist/internal/stackTraceLimit.js.map +1 -1
  156. package/dist/testing/TestClock.js +4 -1
  157. package/dist/testing/TestClock.js.map +1 -1
  158. package/dist/unstable/ai/AiError.d.ts +26 -26
  159. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  160. package/dist/unstable/ai/AiError.js +5 -4
  161. package/dist/unstable/ai/AiError.js.map +1 -1
  162. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +21 -6
  163. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  164. package/dist/unstable/ai/AnthropicStructuredOutput.js +86 -316
  165. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  166. package/dist/unstable/ai/EmbeddingModel.d.ts +1 -1
  167. package/dist/unstable/ai/EmbeddingModel.js +1 -1
  168. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  169. package/dist/unstable/ai/LanguageModel.d.ts +4 -1
  170. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  171. package/dist/unstable/ai/LanguageModel.js +19 -17
  172. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  173. package/dist/unstable/ai/McpSchema.d.ts +197 -197
  174. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  175. package/dist/unstable/ai/McpSchema.js +13 -13
  176. package/dist/unstable/ai/McpSchema.js.map +1 -1
  177. package/dist/unstable/ai/McpServer.d.ts +4 -4
  178. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  179. package/dist/unstable/ai/McpServer.js +116 -49
  180. package/dist/unstable/ai/McpServer.js.map +1 -1
  181. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +32 -10
  182. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  183. package/dist/unstable/ai/OpenAiStructuredOutput.js +193 -377
  184. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  185. package/dist/unstable/ai/Response.d.ts +19 -19
  186. package/dist/unstable/ai/Response.d.ts.map +1 -1
  187. package/dist/unstable/ai/Response.js +14 -14
  188. package/dist/unstable/ai/Response.js.map +1 -1
  189. package/dist/unstable/ai/Tool.d.ts +4 -0
  190. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  191. package/dist/unstable/ai/Tool.js +11 -3
  192. package/dist/unstable/ai/Tool.js.map +1 -1
  193. package/dist/unstable/ai/Toolkit.d.ts +9 -1
  194. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  195. package/dist/unstable/ai/Toolkit.js +14 -10
  196. package/dist/unstable/ai/Toolkit.js.map +1 -1
  197. package/dist/unstable/ai/internal/codec-transformer.js +15 -12
  198. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  199. package/dist/unstable/ai/internal/structured-output.d.ts +2 -0
  200. package/dist/unstable/ai/internal/structured-output.d.ts.map +1 -0
  201. package/dist/unstable/ai/internal/structured-output.js +316 -0
  202. package/dist/unstable/ai/internal/structured-output.js.map +1 -0
  203. package/dist/unstable/cli/CliError.d.ts +40 -2
  204. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  205. package/dist/unstable/cli/CliError.js +45 -6
  206. package/dist/unstable/cli/CliError.js.map +1 -1
  207. package/dist/unstable/cli/Command.js +14 -5
  208. package/dist/unstable/cli/Command.js.map +1 -1
  209. package/dist/unstable/cli/Param.js +3 -3
  210. package/dist/unstable/cli/Param.js.map +1 -1
  211. package/dist/unstable/cli/Primitive.js +1 -1
  212. package/dist/unstable/cli/Primitive.js.map +1 -1
  213. package/dist/unstable/cli/internal/command.d.ts +3 -1
  214. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  215. package/dist/unstable/cli/internal/command.js +11 -4
  216. package/dist/unstable/cli/internal/command.js.map +1 -1
  217. package/dist/unstable/cli/internal/config.d.ts +0 -48
  218. package/dist/unstable/cli/internal/config.d.ts.map +1 -1
  219. package/dist/unstable/cli/internal/config.js +8 -10
  220. package/dist/unstable/cli/internal/config.js.map +1 -1
  221. package/dist/unstable/cluster/ClusterWorkflowEngine.js +1 -1
  222. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  223. package/dist/unstable/cluster/Entity.js +1 -1
  224. package/dist/unstable/cluster/Entity.js.map +1 -1
  225. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  226. package/dist/unstable/cluster/Envelope.js +2 -1
  227. package/dist/unstable/cluster/Envelope.js.map +1 -1
  228. package/dist/unstable/cluster/Reply.js +1 -1
  229. package/dist/unstable/cluster/Reply.js.map +1 -1
  230. package/dist/unstable/cluster/Runner.d.ts +1 -1
  231. package/dist/unstable/cluster/Runner.js +1 -1
  232. package/dist/unstable/cluster/Runner.js.map +1 -1
  233. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  234. package/dist/unstable/cluster/RunnerAddress.js +1 -1
  235. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  236. package/dist/unstable/cluster/ShardId.js +1 -1
  237. package/dist/unstable/cluster/ShardId.js.map +1 -1
  238. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  239. package/dist/unstable/cluster/Sharding.js +125 -24
  240. package/dist/unstable/cluster/Sharding.js.map +1 -1
  241. package/dist/unstable/cluster/ShardingConfig.d.ts +10 -2
  242. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  243. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  244. package/dist/unstable/cluster/SingleRunner.d.ts +4 -2
  245. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  246. package/dist/unstable/cluster/SingleRunner.js +2 -1
  247. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  248. package/dist/unstable/cluster/SqlMessageStorage.d.ts +7 -4
  249. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  250. package/dist/unstable/cluster/SqlMessageStorage.js +55 -24
  251. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  252. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  253. package/dist/unstable/cluster/SqlRunnerStorage.js +109 -62
  254. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  255. package/dist/unstable/cluster/internal/entityManager.js +19 -7
  256. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  257. package/dist/unstable/cluster/internal/shardLock.d.ts +2 -0
  258. package/dist/unstable/cluster/internal/shardLock.d.ts.map +1 -0
  259. package/dist/unstable/cluster/internal/shardLock.js +4 -0
  260. package/dist/unstable/cluster/internal/shardLock.js.map +1 -0
  261. package/dist/unstable/devtools/DevToolsSchema.d.ts +20 -20
  262. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  263. package/dist/unstable/devtools/DevToolsSchema.js +8 -5
  264. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  265. package/dist/unstable/eventlog/EventJournal.d.ts +1 -1
  266. package/dist/unstable/eventlog/EventJournal.js +1 -1
  267. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  268. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  269. package/dist/unstable/eventlog/EventLog.js +15 -11
  270. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  271. package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
  272. package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
  273. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  274. package/dist/unstable/eventlog/EventLogMessage.d.ts +26 -26
  275. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  276. package/dist/unstable/eventlog/EventLogMessage.js +8 -3
  277. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  278. package/dist/unstable/eventlog/EventLogRemote.d.ts +1 -1
  279. package/dist/unstable/eventlog/SqlEventJournal.js +2 -2
  280. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  281. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +1 -1
  282. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  283. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +3 -3
  284. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  285. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  286. package/dist/unstable/http/Cookies.js +24 -22
  287. package/dist/unstable/http/Cookies.js.map +1 -1
  288. package/dist/unstable/http/Headers.js +8 -8
  289. package/dist/unstable/http/Headers.js.map +1 -1
  290. package/dist/unstable/http/HttpClientRequest.d.ts +44 -0
  291. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  292. package/dist/unstable/http/HttpClientRequest.js +14 -0
  293. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  294. package/dist/unstable/http/HttpRouter.d.ts +2 -2
  295. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  296. package/dist/unstable/http/HttpRouter.js.map +1 -1
  297. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  298. package/dist/unstable/http/HttpServerRequest.js +5 -4
  299. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  300. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  301. package/dist/unstable/http/Multipart.js +17 -15
  302. package/dist/unstable/http/Multipart.js.map +1 -1
  303. package/dist/unstable/http/Template.js +1 -1
  304. package/dist/unstable/http/Template.js.map +1 -1
  305. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  306. package/dist/unstable/http/UrlParams.js +17 -14
  307. package/dist/unstable/http/UrlParams.js.map +1 -1
  308. package/dist/unstable/httpapi/HttpApi.js +3 -3
  309. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  310. package/dist/unstable/httpapi/HttpApiClient.js +5 -5
  311. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  312. package/dist/unstable/httpapi/HttpApiGroup.js +1 -1
  313. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  314. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  315. package/dist/unstable/httpapi/OpenApi.js +37 -24
  316. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  317. package/dist/unstable/observability/OtlpExporter.d.ts +72 -1
  318. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  319. package/dist/unstable/observability/OtlpExporter.js +69 -4
  320. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  321. package/dist/unstable/observability/OtlpLogger.d.ts +4 -3
  322. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  323. package/dist/unstable/observability/OtlpLogger.js +2 -2
  324. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  325. package/dist/unstable/observability/OtlpMetrics.d.ts +7 -3
  326. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  327. package/dist/unstable/observability/OtlpMetrics.js +5 -2
  328. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  329. package/dist/unstable/observability/OtlpTracer.d.ts +4 -3
  330. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  331. package/dist/unstable/observability/OtlpTracer.js +2 -2
  332. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  333. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  334. package/dist/unstable/persistence/Persistable.js +2 -1
  335. package/dist/unstable/persistence/Persistable.js.map +1 -1
  336. package/dist/unstable/persistence/RateLimiter.d.ts +2 -2
  337. package/dist/unstable/persistence/RateLimiter.js +2 -2
  338. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  339. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  340. package/dist/unstable/persistence/Redis.js +2 -2
  341. package/dist/unstable/persistence/Redis.js.map +1 -1
  342. package/dist/unstable/process/ChildProcessSpawner.js +3 -1
  343. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  344. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  345. package/dist/unstable/reactivity/AsyncResult.js +4 -3
  346. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  347. package/dist/unstable/reactivity/Atom.d.ts +83 -0
  348. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  349. package/dist/unstable/reactivity/Atom.js +31 -0
  350. package/dist/unstable/reactivity/Atom.js.map +1 -1
  351. package/dist/unstable/reactivity/AtomRegistry.js +1 -1
  352. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  353. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  354. package/dist/unstable/rpc/RpcClient.js +2 -1
  355. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  356. package/dist/unstable/schema/VariantSchema.d.ts +1 -2
  357. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  358. package/dist/unstable/schema/VariantSchema.js +13 -10
  359. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  360. package/dist/unstable/socket/Socket.d.ts +1 -1
  361. package/dist/unstable/socket/Socket.js +1 -1
  362. package/dist/unstable/socket/Socket.js.map +1 -1
  363. package/dist/unstable/sql/SqlError.d.ts +2 -2
  364. package/dist/unstable/sql/SqlError.js +2 -2
  365. package/dist/unstable/sql/SqlError.js.map +1 -1
  366. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  367. package/dist/unstable/sql/Statement.js +7 -6
  368. package/dist/unstable/sql/Statement.js.map +1 -1
  369. package/package.json +1 -1
  370. package/src/Array.ts +86 -25
  371. package/src/Channel.ts +32 -14
  372. package/src/Config.ts +6 -5
  373. package/src/ConfigProvider.ts +7 -7
  374. package/src/Data.ts +3 -2
  375. package/src/Effect.ts +70 -116
  376. package/src/FiberHandle.ts +3 -2
  377. package/src/Iterable.ts +2 -1
  378. package/src/JsonPatch.ts +4 -3
  379. package/src/JsonSchema.ts +9 -11
  380. package/src/Logger.ts +3 -2
  381. package/src/ManagedRuntime.ts +13 -0
  382. package/src/Metric.ts +4 -3
  383. package/src/MutableList.ts +4 -0
  384. package/src/Optic.ts +5 -4
  385. package/src/Option.ts +2 -1
  386. package/src/PartitionedSemaphore.ts +1 -4
  387. package/src/Record.ts +119 -22
  388. package/src/References.ts +0 -46
  389. package/src/Request.ts +5 -7
  390. package/src/Result.ts +2 -1
  391. package/src/Schema.ts +2538 -987
  392. package/src/SchemaAST.ts +228 -149
  393. package/src/SchemaError.ts +1 -1
  394. package/src/SchemaGetter.ts +36 -29
  395. package/src/SchemaIssue.ts +1 -1
  396. package/src/SchemaParser.ts +1 -25
  397. package/src/SchemaRepresentation.ts +697 -3398
  398. package/src/SchemaTransformation.ts +3 -3
  399. package/src/Semaphore.ts +5 -3
  400. package/src/Stream.ts +63 -19
  401. package/src/Struct.ts +5 -4
  402. package/src/Types.ts +1 -3
  403. package/src/index.ts +0 -5
  404. package/src/internal/core.ts +4 -3
  405. package/src/internal/effect.ts +132 -70
  406. package/src/internal/matcher.ts +1 -1
  407. package/src/internal/record.ts +11 -7
  408. package/src/internal/references.ts +0 -5
  409. package/src/internal/schema/annotations.ts +44 -0
  410. package/src/internal/schema/fromJsonSchemaDocument.ts +957 -0
  411. package/src/internal/schema/fromRepresentation.ts +345 -0
  412. package/src/internal/schema/schema.ts +45 -46
  413. package/src/internal/schema/{arbitrary.ts → toArbitrary.ts} +8 -10
  414. package/src/internal/schema/toCodeDocument.ts +572 -0
  415. package/src/internal/schema/{equivalence.ts → toEquivalence.ts} +12 -7
  416. package/src/internal/schema/toJsonSchemaDocument.ts +475 -0
  417. package/src/internal/schema/toRepresentation.ts +401 -0
  418. package/src/internal/stackTraceLimit.ts +3 -7
  419. package/src/testing/TestClock.ts +1 -1
  420. package/src/unstable/ai/AiError.ts +5 -4
  421. package/src/unstable/ai/AnthropicStructuredOutput.ts +102 -333
  422. package/src/unstable/ai/EmbeddingModel.ts +1 -1
  423. package/src/unstable/ai/LanguageModel.ts +30 -28
  424. package/src/unstable/ai/McpSchema.ts +15 -15
  425. package/src/unstable/ai/McpServer.ts +172 -56
  426. package/src/unstable/ai/OpenAiStructuredOutput.ts +230 -395
  427. package/src/unstable/ai/Response.ts +24 -24
  428. package/src/unstable/ai/Tool.ts +22 -4
  429. package/src/unstable/ai/Toolkit.ts +19 -7
  430. package/src/unstable/ai/internal/codec-transformer.ts +13 -7
  431. package/src/unstable/ai/internal/structured-output.ts +458 -0
  432. package/src/unstable/cli/CliError.ts +51 -5
  433. package/src/unstable/cli/Command.ts +4 -4
  434. package/src/unstable/cli/Param.ts +3 -3
  435. package/src/unstable/cli/Primitive.ts +1 -1
  436. package/src/unstable/cli/internal/command.ts +13 -5
  437. package/src/unstable/cli/internal/config.ts +8 -10
  438. package/src/unstable/cluster/ClusterWorkflowEngine.ts +3 -3
  439. package/src/unstable/cluster/Entity.ts +1 -1
  440. package/src/unstable/cluster/Envelope.ts +2 -1
  441. package/src/unstable/cluster/Reply.ts +1 -1
  442. package/src/unstable/cluster/Runner.ts +1 -1
  443. package/src/unstable/cluster/RunnerAddress.ts +1 -1
  444. package/src/unstable/cluster/ShardId.ts +1 -1
  445. package/src/unstable/cluster/Sharding.ts +161 -34
  446. package/src/unstable/cluster/ShardingConfig.ts +5 -1
  447. package/src/unstable/cluster/SingleRunner.ts +4 -2
  448. package/src/unstable/cluster/SqlMessageStorage.ts +83 -35
  449. package/src/unstable/cluster/SqlRunnerStorage.ts +186 -116
  450. package/src/unstable/cluster/internal/entityManager.ts +31 -10
  451. package/src/unstable/cluster/internal/shardLock.ts +9 -0
  452. package/src/unstable/devtools/DevToolsSchema.ts +10 -5
  453. package/src/unstable/eventlog/EventJournal.ts +1 -1
  454. package/src/unstable/eventlog/EventLog.ts +21 -11
  455. package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
  456. package/src/unstable/eventlog/EventLogMessage.ts +10 -3
  457. package/src/unstable/eventlog/SqlEventJournal.ts +2 -2
  458. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +1 -1
  459. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +6 -3
  460. package/src/unstable/http/Cookies.ts +29 -24
  461. package/src/unstable/http/Headers.ts +8 -8
  462. package/src/unstable/http/HttpClientRequest.ts +57 -0
  463. package/src/unstable/http/HttpRouter.ts +6 -3
  464. package/src/unstable/http/HttpServerRequest.ts +5 -4
  465. package/src/unstable/http/Multipart.ts +16 -13
  466. package/src/unstable/http/Template.ts +1 -1
  467. package/src/unstable/http/UrlParams.ts +17 -14
  468. package/src/unstable/httpapi/HttpApi.ts +3 -3
  469. package/src/unstable/httpapi/HttpApiClient.ts +5 -5
  470. package/src/unstable/httpapi/HttpApiGroup.ts +1 -1
  471. package/src/unstable/httpapi/OpenApi.ts +52 -28
  472. package/src/unstable/observability/OtlpExporter.ts +109 -5
  473. package/src/unstable/observability/OtlpLogger.ts +5 -5
  474. package/src/unstable/observability/OtlpMetrics.ts +8 -4
  475. package/src/unstable/observability/OtlpTracer.ts +8 -4
  476. package/src/unstable/persistence/Persistable.ts +3 -2
  477. package/src/unstable/persistence/RateLimiter.ts +2 -2
  478. package/src/unstable/persistence/Redis.ts +2 -2
  479. package/src/unstable/process/ChildProcessSpawner.ts +1 -1
  480. package/src/unstable/reactivity/AsyncResult.ts +4 -3
  481. package/src/unstable/reactivity/Atom.ts +92 -0
  482. package/src/unstable/reactivity/AtomRegistry.ts +1 -1
  483. package/src/unstable/rpc/RpcClient.ts +2 -1
  484. package/src/unstable/schema/VariantSchema.ts +14 -24
  485. package/src/unstable/socket/Socket.ts +1 -1
  486. package/src/unstable/sql/SqlError.ts +2 -2
  487. package/src/unstable/sql/Statement.ts +7 -6
  488. package/dist/SchemaUtils.d.ts +0 -28
  489. package/dist/SchemaUtils.d.ts.map +0 -1
  490. package/dist/SchemaUtils.js +0 -45
  491. package/dist/SchemaUtils.js.map +0 -1
  492. package/dist/internal/schema/arbitrary.d.ts.map +0 -1
  493. package/dist/internal/schema/arbitrary.js.map +0 -1
  494. package/dist/internal/schema/equivalence.d.ts +0 -2
  495. package/dist/internal/schema/equivalence.d.ts.map +0 -1
  496. package/dist/internal/schema/equivalence.js.map +0 -1
  497. package/dist/internal/schema/representation.d.ts +0 -2
  498. package/dist/internal/schema/representation.d.ts.map +0 -1
  499. package/dist/internal/schema/representation.js +0 -865
  500. package/dist/internal/schema/representation.js.map +0 -1
  501. package/src/SchemaUtils.ts +0 -51
  502. package/src/internal/schema/representation.ts +0 -795
@@ -36,6 +36,7 @@ import * as RpcClient from "../rpc/RpcClient.js";
36
36
  import * as RpcMessage from "../rpc/RpcMessage.js";
37
37
  import * as RpcSerialization from "../rpc/RpcSerialization.js";
38
38
  import * as RpcServer from "../rpc/RpcServer.js";
39
+ import * as AiError from "./AiError.js";
39
40
  import { CallToolResult, ClientNotificationRpcs, ClientRpcs, CompleteResult, Elicit, ElicitationDeclined, EnabledWhen, GetPromptResult, InternalError, InvalidParams, isParam, ListPromptsResult, ListResourcesResult, ListResourceTemplatesResult, ListToolsResult, McpServerClient, McpServerClientMiddleware, Prompt, Resource, ResourceTemplate, ServerNotificationRpcs, ServerRequestRpcs, TextContent, Tool as McpTool } from "./McpSchema.js";
40
41
  import * as Tool from "./Tool.js";
41
42
  /**
@@ -202,8 +203,15 @@ export class McpServer extends /*#__PURE__*/Context.Service()("effect/ai/McpServ
202
203
  }
203
204
  const LATEST_PROTOCOL_VERSION = "2025-06-18";
204
205
  const SUPPORTED_PROTOCOL_VERSIONS = [LATEST_PROTOCOL_VERSION, "2025-03-26", "2024-11-05", "2024-10-07"];
205
- const mcpSessionIdHeader = "mcp-session-id";
206
- const mcpProtocolVersionHeader = "mcp-protocol-version";
206
+ const MCP_SESSION_ID_HEADER = "mcp-session-id";
207
+ const MCP_PROTOCOL_VERSION_HEADER = "mcp-protocol-version";
208
+ class McpProtocolState extends /*#__PURE__*/Context.Service()("effect/ai/McpServer/McpProtocolState") {}
209
+ const makeMcpProtocolState = () => ({
210
+ clientSessions: new Map(),
211
+ latestProtocolVersion: LATEST_PROTOCOL_VERSION,
212
+ supportedProtocolVersions: new Set(SUPPORTED_PROTOCOL_VERSIONS)
213
+ });
214
+ const layerMcpProtocolState = /*#__PURE__*/Layer.sync(McpProtocolState, makeMcpProtocolState);
207
215
  /**
208
216
  * Runs an MCP server over the current `RpcServer.Protocol`.
209
217
  *
@@ -217,13 +225,12 @@ const mcpProtocolVersionHeader = "mcp-protocol-version";
217
225
  * @since 4.0.0
218
226
  */
219
227
  export const run = /*#__PURE__*/Effect.fnUntraced(function* (options) {
228
+ const protocolState = Option.getOrElse(yield* Effect.serviceOption(McpProtocolState), makeMcpProtocolState);
220
229
  const protocol = yield* RpcServer.Protocol;
221
230
  const server = yield* McpServer;
222
231
  const isHttp = Option.isSome(yield* Effect.serviceOption(HttpRouter.HttpRouter));
223
- const clientSessions = new Map();
224
- const handlers = yield* Layer.build(layerHandlers(options, {
225
- clientSessions
226
- }));
232
+ const clientSessions = protocolState.clientSessions;
233
+ const handlers = yield* Layer.build(layerHandlers(options)).pipe(Effect.provideService(McpProtocolState, protocolState));
227
234
  const clients = yield* RcMap.make({
228
235
  lookup: Effect.fnUntraced(function* (clientId) {
229
236
  let write;
@@ -283,20 +290,35 @@ export const run = /*#__PURE__*/Effect.fnUntraced(function* (options) {
283
290
  const patchedProtocol = RpcServer.Protocol.of({
284
291
  ...protocol,
285
292
  run: f => protocol.run((clientId, request_) => {
293
+ const fiber = Fiber.getCurrent();
286
294
  const request = request_;
295
+ const httpRequest = isHttp ? Context.getOrUndefined(fiber.context, HttpServerRequest.HttpServerRequest) : undefined;
296
+ if (httpRequest !== undefined && request._tag !== "Eof") {
297
+ appendPreResponseHandlerUnsafe(httpRequest, (_, response) => Effect.succeed(response.status === 200 && response.body._tag === "Uint8Array" && response.body.contentLength === 0 ? HttpServerResponse.empty({
298
+ headers: Headers.remove(response.headers, "content-type"),
299
+ status: 202
300
+ }) : response));
301
+ }
287
302
  switch (request._tag) {
288
303
  case "Request":
289
304
  {
290
- if (isHttp) {
291
- const fiber = Fiber.getCurrent();
292
- const httpRequest = Context.getUnsafe(fiber.context, HttpServerRequest.HttpServerRequest);
305
+ if (httpRequest !== undefined) {
293
306
  const client = getInitializedClient(clientSessions, clientId, httpRequest.headers);
294
307
  if (client) {
295
- appendPreResponseHandlerUnsafe(httpRequest, (_, res) => Effect.succeed(HttpServerResponse.setHeader(res, mcpProtocolVersionHeader, client.protocolVersion)));
308
+ appendPreResponseHandlerUnsafe(httpRequest, (_, res) => Effect.succeed(HttpServerResponse.setHeader(res, MCP_PROTOCOL_VERSION_HEADER, client.protocolVersion)));
296
309
  }
297
310
  }
298
311
  const rpc = ClientNotificationRpcs.requests.get(request.tag);
299
312
  if (rpc) {
313
+ const headers = Headers.fromInput(request.headers);
314
+ if (!getInitializedClient(clientSessions, clientId, headers)) {
315
+ if (httpRequest !== undefined) {
316
+ appendPreResponseHandlerUnsafe(httpRequest, () => Effect.succeed(HttpServerResponse.empty({
317
+ status: 404
318
+ })));
319
+ }
320
+ return Effect.void;
321
+ }
300
322
  if (request.tag === "notifications/cancelled") {
301
323
  return f(clientId, {
302
324
  _tag: "Interrupt",
@@ -308,7 +330,7 @@ export const run = /*#__PURE__*/Effect.fnUntraced(function* (options) {
308
330
  rpc,
309
331
  requestId: RpcMessage.RequestId(request.id),
310
332
  client: new Rpc.ServerClient(clientId),
311
- headers: Headers.fromInput(request.headers)
333
+ headers
312
334
  }) : Effect.void;
313
335
  }
314
336
  return f(clientId, request);
@@ -380,7 +402,8 @@ export const run = /*#__PURE__*/Effect.fnUntraced(function* (options) {
380
402
  * @category layers
381
403
  * @since 4.0.0
382
404
  */
383
- export const layer = options => Layer.effectDiscard(Effect.forkScoped(run(options))).pipe(Layer.provideMerge(McpServer.layer));
405
+ export const layer = options => layerWithProtocolState(options).pipe(Layer.provide(layerMcpProtocolState));
406
+ const layerWithProtocolState = options => Layer.effectDiscard(Effect.forkScoped(run(options))).pipe(Layer.provideMerge(McpServer.layer));
384
407
  /**
385
408
  * Runs the McpServer, using stdio for input and output.
386
409
  *
@@ -441,8 +464,7 @@ export const layer = options => Layer.effectDiscard(Effect.forkScoped(run(option
441
464
  */
442
465
  export const layerStdio = options => layer(options).pipe(Layer.provide(RpcServer.layerProtocolStdio), Layer.provide(RpcSerialization.layerNdJsonRpc()));
443
466
  /**
444
- * Registers an HTTP POST JSON-RPC route at `options.path` on the current
445
- * `HttpRouter`.
467
+ * Registers a Streamable HTTP MCP endpoint at `options.path`.
446
468
  *
447
469
  * **When to use**
448
470
  *
@@ -450,8 +472,9 @@ export const layerStdio = options => layer(options).pipe(Layer.provide(RpcServer
450
472
  *
451
473
  * **Details**
452
474
  *
453
- * This layer composes `layer(options)`, `RpcServer.layerProtocolHttp(options)`,
454
- * and `RpcSerialization.layerJsonRpc()`.
475
+ * POST serves JSON-RPC and accepted notification-only requests return `202`.
476
+ * Unsupported protocol versions return `400`; methods without MCP handlers
477
+ * return `405`.
455
478
  *
456
479
  * @see {@link layerStdio} for exposing the server over stdio
457
480
  * @see {@link layer} for the base MCP server layer without a transport protocol
@@ -459,7 +482,43 @@ export const layerStdio = options => layer(options).pipe(Layer.provide(RpcServer
459
482
  * @category layers
460
483
  * @since 4.0.0
461
484
  */
462
- export const layerHttp = options => layer(options).pipe(Layer.provide(RpcServer.layerProtocolHttp(options)), Layer.provide(RpcSerialization.layerJsonRpc()));
485
+ export const layerHttp = options => {
486
+ const protocolState = layerMcpProtocolState;
487
+ const methodNotAllowedResponse = HttpServerResponse.empty({
488
+ status: 405,
489
+ headers: {
490
+ allow: "POST"
491
+ }
492
+ });
493
+ const routes = Layer.mergeAll(HttpRouter.add("GET", options.path, methodNotAllowedResponse), HttpRouter.add("PUT", options.path, methodNotAllowedResponse), HttpRouter.add("PATCH", options.path, methodNotAllowedResponse), HttpRouter.add("DELETE", options.path, methodNotAllowedResponse));
494
+ return Layer.merge(layerWithProtocolState(options), routes).pipe(Layer.provide(layerMcpProtocolHttp(options)), Layer.provide(protocolState), Layer.provide(RpcSerialization.layerJsonRpc()));
495
+ };
496
+ const layerMcpProtocolHttp = options => Layer.effect(RpcServer.Protocol)(Effect.gen(function* () {
497
+ const state = yield* McpProtocolState;
498
+ const {
499
+ httpEffect,
500
+ protocol
501
+ } = yield* RpcServer.makeProtocolWithHttpEffect;
502
+ const router = yield* HttpRouter.HttpRouter;
503
+ yield* router.add("POST", options.path, request => {
504
+ const protocolVersion = request.headers[MCP_PROTOCOL_VERSION_HEADER];
505
+ if (protocolVersion !== undefined && !state.supportedProtocolVersions.has(protocolVersion)) {
506
+ return Effect.succeed(HttpServerResponse.empty({
507
+ status: 400
508
+ }));
509
+ }
510
+ return httpEffect;
511
+ });
512
+ return protocol;
513
+ }));
514
+ const INTERNAL_TOOL_ERROR_MESSAGE = "Tool execution failed due to an internal server error.";
515
+ const toolErrorResult = message => new CallToolResult({
516
+ isError: true,
517
+ content: [{
518
+ type: "text",
519
+ text: message
520
+ }]
521
+ });
463
522
  /**
464
523
  * Registers a `Toolkit` with the `McpServer`.
465
524
  *
@@ -473,6 +532,7 @@ export const registerToolkit = /*#__PURE__*/Effect.fnUntraced(function* (toolkit
473
532
  for (const tool of Object.values(built.tools)) {
474
533
  const annotations = tool.annotations;
475
534
  const toolMeta = Context.getOrUndefined(annotations, Tool.Meta);
535
+ const isDeclaredFailure = Schema.is(tool.failureSchema);
476
536
  const mcpTool = new McpTool({
477
537
  name: tool.name,
478
538
  description: Tool.getDescription(tool),
@@ -492,23 +552,24 @@ export const registerToolkit = /*#__PURE__*/Effect.fnUntraced(function* (toolkit
492
552
  tool: mcpTool,
493
553
  annotations,
494
554
  handle(payload) {
495
- return built.handle(tool.name, payload).pipe(Stream.unwrap, Stream.run(Sink.last()), Effect.flatMap(Effect.fromOption), Effect.provideContext(services), Effect.matchCause({
496
- onFailure: cause => new CallToolResult({
497
- isError: true,
498
- content: [{
499
- type: "text",
500
- text: Cause.pretty(cause)
501
- }]
502
- }),
503
- onSuccess: result => new CallToolResult({
504
- isError: false,
505
- structuredContent: typeof result.encodedResult === "object" ? result.encodedResult : undefined,
506
- content: [{
507
- type: "text",
508
- text: JSON.stringify(result.encodedResult)
509
- }]
510
- })
511
- }), Effect.tapCause(Effect.log));
555
+ return built.handle(tool.name, payload).pipe(Stream.unwrap, Stream.run(Sink.last()), Effect.flatMap(Effect.fromOption), Effect.provideContext(services), Effect.map(result => new CallToolResult({
556
+ isError: false,
557
+ structuredContent: typeof result.encodedResult === "object" ? result.encodedResult : undefined,
558
+ content: [{
559
+ type: "text",
560
+ text: JSON.stringify(result.encodedResult)
561
+ }]
562
+ })), Effect.tapCause(Effect.logError), Effect.catch(error => {
563
+ if (AiError.isAiError(error)) {
564
+ const reason = error.reason;
565
+ return reason._tag === "ToolParameterValidationError" ? Effect.succeed(toolErrorResult(reason.message)) : Effect.succeed(toolErrorResult(INTERNAL_TOOL_ERROR_MESSAGE));
566
+ }
567
+ if (isDeclaredFailure(error)) {
568
+ const message = error instanceof Error ? error.message : INTERNAL_TOOL_ERROR_MESSAGE;
569
+ return Effect.succeed(toolErrorResult(message));
570
+ }
571
+ return Effect.succeed(toolErrorResult(INTERNAL_TOOL_ERROR_MESSAGE));
572
+ }), Effect.catchDefect(() => Effect.succeed(toolErrorResult(INTERNAL_TOOL_ERROR_MESSAGE))));
512
573
  }
513
574
  });
514
575
  }
@@ -570,7 +631,7 @@ export const registerResource = function () {
570
631
  uriTemplate: uriPath,
571
632
  annotations: options
572
633
  });
573
- const completions = {};
634
+ const completions = Object.create(null);
574
635
  for (const [param, handle] of Object.entries(options.completion ?? {})) {
575
636
  const encodeArray = Schema.encodeUnknownEffect(Schema.Array(params[param]));
576
637
  const handler = input => handle(input).pipe(Effect.flatMap(encodeArray), Effect.map(values => ({
@@ -661,7 +722,7 @@ export const registerPrompt = options => {
661
722
  return Effect.gen(function* () {
662
723
  const registry = yield* McpServer;
663
724
  const services = yield* Effect.context();
664
- const completions = {};
725
+ const completions = Object.create(null);
665
726
  for (const [param, handle] of Object.entries(completion)) {
666
727
  const encodeArray = Schema.encodeEffect(Schema.Array(props[param]));
667
728
  const handler = input => handle(input).pipe(Effect.flatMap(encodeArray), Effect.map(values => ({
@@ -788,7 +849,7 @@ const makeUriMatcher = () => {
788
849
  const compileUriTemplate = (segments, ...schemas) => {
789
850
  let routerPath = segments[0].replace(":", "::");
790
851
  let uriPath = segments[0];
791
- const params = {};
852
+ const params = Object.create(null);
792
853
  let pathSchema = Schema.Tuple([]);
793
854
  if (schemas.length > 0) {
794
855
  const arr = [];
@@ -812,8 +873,10 @@ const compileUriTemplate = (segments, ...schemas) => {
812
873
  params
813
874
  };
814
875
  };
815
- const layerHandlers = (serverInfo, options) => ClientRpcs.toLayer(Effect.gen(function* () {
876
+ const layerHandlers = serverInfo => ClientRpcs.toLayer(Effect.gen(function* () {
816
877
  const server = yield* McpServer;
878
+ const protocolState = yield* McpProtocolState;
879
+ const clientSessions = protocolState.clientSessions;
817
880
  let currentLogLevel = yield* CurrentLogLevel;
818
881
  return ClientRpcs.of({
819
882
  // Requests
@@ -821,7 +884,7 @@ const layerHandlers = (serverInfo, options) => ClientRpcs.toLayer(Effect.gen(fun
821
884
  initialize(params, {
822
885
  client
823
886
  }) {
824
- const requestedVersion = SUPPORTED_PROTOCOL_VERSIONS.includes(params.protocolVersion) ? params.protocolVersion : LATEST_PROTOCOL_VERSION;
887
+ const requestedVersion = protocolState.supportedProtocolVersions.has(params.protocolVersion) ? params.protocolVersion : protocolState.latestProtocolVersion;
825
888
  if (requestedVersion !== params.protocolVersion) {
826
889
  params = {
827
890
  ...params,
@@ -854,13 +917,13 @@ const layerHandlers = (serverInfo, options) => ClientRpcs.toLayer(Effect.gen(fun
854
917
  const httpRequest = Context.getOrUndefined(fiber.context, HttpServerRequest.HttpServerRequest);
855
918
  if (httpRequest) {
856
919
  const sessionId = crypto.randomUUID();
857
- options.clientSessions.set(sessionId, params);
920
+ clientSessions.set(sessionId, params);
858
921
  appendPreResponseHandlerUnsafe(httpRequest, (_req, res) => Effect.succeed(HttpServerResponse.setHeaders(res, {
859
- [mcpSessionIdHeader]: sessionId,
860
- [mcpProtocolVersionHeader]: requestedVersion
922
+ [MCP_SESSION_ID_HEADER]: sessionId,
923
+ [MCP_PROTOCOL_VERSION_HEADER]: requestedVersion
861
924
  })));
862
925
  } else {
863
- options.clientSessions.set(String(client.id), params);
926
+ clientSessions.set(String(client.id), params);
864
927
  }
865
928
  return Effect.succeed({
866
929
  capabilities,
@@ -899,7 +962,7 @@ const layerHandlers = (serverInfo, options) => ClientRpcs.toLayer(Effect.gen(fun
899
962
  client,
900
963
  headers
901
964
  }) => Effect.sync(() => {
902
- const initialized = getInitializedClient(options.clientSessions, client.id, headers);
965
+ const initialized = getInitializedClient(clientSessions, client.id, headers);
903
966
  return new ListPromptsResult({
904
967
  prompts: filterByClient(initialized, server.prompts, "prompt")
905
968
  });
@@ -908,7 +971,7 @@ const layerHandlers = (serverInfo, options) => ClientRpcs.toLayer(Effect.gen(fun
908
971
  client,
909
972
  headers
910
973
  }) => Effect.sync(() => {
911
- const initialized = getInitializedClient(options.clientSessions, client.id, headers);
974
+ const initialized = getInitializedClient(clientSessions, client.id, headers);
912
975
  return new ListResourcesResult({
913
976
  resources: filterByClient(initialized, server.resources, "resource")
914
977
  });
@@ -922,7 +985,7 @@ const layerHandlers = (serverInfo, options) => ClientRpcs.toLayer(Effect.gen(fun
922
985
  client,
923
986
  headers
924
987
  }) => Effect.sync(() => {
925
- const initialized = getInitializedClient(options.clientSessions, client.id, headers);
988
+ const initialized = getInitializedClient(clientSessions, client.id, headers);
926
989
  return new ListResourceTemplatesResult({
927
990
  resourceTemplates: filterByClient(initialized, server.resourceTemplates, "template")
928
991
  });
@@ -932,14 +995,18 @@ const layerHandlers = (serverInfo, options) => ClientRpcs.toLayer(Effect.gen(fun
932
995
  client,
933
996
  headers
934
997
  }) => Effect.sync(() => {
935
- const initialized = getInitializedClient(options.clientSessions, client.id, headers);
998
+ const initialized = getInitializedClient(clientSessions, client.id, headers);
936
999
  return new ListToolsResult({
937
1000
  tools: filterByClient(initialized, server.tools, "tool")
938
1001
  });
939
1002
  }),
940
1003
  // Notifications
941
1004
  "notifications/cancelled": _ => Effect.void,
942
- "notifications/initialized": _ => Effect.void,
1005
+ "notifications/initialized": (_, {
1006
+ client
1007
+ }) => Effect.sync(() => {
1008
+ server.initializedClients.add(client.id);
1009
+ }),
943
1010
  "notifications/progress": _ => Effect.void,
944
1011
  "notifications/roots/list_changed": _ => Effect.void
945
1012
  });
@@ -977,7 +1044,7 @@ const filterByClient = (client, items, prop) => {
977
1044
  return out;
978
1045
  };
979
1046
  const getInitializedClient = (sessions, clientId, headers) => {
980
- const sessionId = headers[mcpSessionIdHeader];
1047
+ const sessionId = headers[MCP_SESSION_ID_HEADER];
981
1048
  if (sessionId === undefined) {
982
1049
  return sessions.get(String(clientId));
983
1050
  }
@@ -1 +1 @@
1
- {"version":3,"file":"McpServer.js","names":["Arr","Cause","Context","Effect","Exit","Fiber","Layer","Option","Queue","RcMap","CurrentLogLevel","Schema","SchemaAST","Sink","Stream","FindMyWay","Headers","appendPreResponseHandlerUnsafe","HttpRouter","HttpServerRequest","HttpServerResponse","Rpc","RpcClient","RpcMessage","RpcSerialization","RpcServer","CallToolResult","ClientNotificationRpcs","ClientRpcs","CompleteResult","Elicit","ElicitationDeclined","EnabledWhen","GetPromptResult","InternalError","InvalidParams","isParam","ListPromptsResult","ListResourcesResult","ListResourceTemplatesResult","ListToolsResult","McpServerClient","McpServerClientMiddleware","Prompt","Resource","ResourceTemplate","ServerNotificationRpcs","ServerRequestRpcs","TextContent","Tool","McpTool","McpServer","Service","make","gen","matcher","makeUriMatcher","tools","empty","toolMap","Map","resources","resourceTemplates","prompts","promptMap","completionsMap","notificationsQueue","listChangedHandles","notifications","makeNoSerialization","spanPrefix","onFromClient","options","suspend","message","_tag","void","tag","includes","has","set","setTimeout","offerUnsafe","delete","write","clientId","requestId","id","exit","of","client","initializedClients","Set","addTool","push","tool","name","handle","callTool","request","get","fail","arguments","addResource","add","resource","uri","effect","addResourceTemplate","annotations","completions","routerPath","template","param","Object","entries","uriTemplate","findResource","match","find","succeed","contents","handler","params","key","keys","Number","addPrompt","prompt","getPromptResult","fnUntraced","completion","complete","ref","type","argument","value","layer","LATEST_PROTOCOL_VERSION","SUPPORTED_PROTOCOL_VERSIONS","mcpSessionIdHeader","mcpProtocolVersionHeader","run","protocol","Protocol","server","isHttp","isSome","serviceOption","clientSessions","handlers","build","layerHandlers","clients","lookup","pipe","provideServiceEffect","writeResponse","cid","send","_transferables","headers","undefined","traceId","spanId","sampled","supportsAck","supportsTransferables","supportsStructuredClone","idleTimeToLive","clientMiddleware","rpc","initializePayload","getInitializedClient","isInitialize","fiber","getCurrent","httpRequest","getOrUndefined","context","status","die","Error","provideService","getClient","map","patchedProtocol","f","request_","getUnsafe","_","res","setHeader","protocolVersion","requests","String","payload","mapUnsafe","RequestId","ServerClient","fromInput","flatMap","scoped","encodeNotification","encodeUnknownEffect","Union","Array","from","values","payloadSchema","take","encoded","clientIds","catchCause","forever","forkScoped","disableFatalDefects","provide","effectDiscard","provideMerge","layerStdio","layerProtocolStdio","layerNdJsonRpc","layerHttp","layerProtocolHttp","layerJsonRpc","registerToolkit","toolkit","registry","built","services","toolMeta","Meta","mcpTool","description","getDescription","inputSchema","getJsonSchema","getOption","Title","title","readOnlyHint","Readonly","destructiveHint","Destructive","idempotentHint","Idempotent","openWorldHint","OpenWorld","_meta","unwrap","last","fromOption","provideContext","matchCause","onFailure","cause","isError","content","text","pretty","onSuccess","result","structuredContent","encodedResult","JSON","stringify","tapCause","log","registerResource","length","resolveResourceContent","prettyError","prettyErrors","schema","uriPath","compileUriTemplate","decode","decodeUnknownEffect","encodeArray","input","total","hasMore","mapError","error","register","registerPrompt","args","props","parameters","prop","resolveDescription","ast","required","isOptional","decodeEffect","Struct","encodeEffect","messages","role","elicit","requestedSchema","getJsonSchemaFromSchema","squash","action","orDie","interrupt","clientCapabilities","useSync","capabilities","router","ignoreTrailingSlash","ignoreDuplicateSlashes","caseSensitive","on","segments","schemas","replace","pathSchema","Tuple","arr","i","toCodecStringTree","segment","paramName","serverInfo","toLayer","currentLogLevel","ping","initialize","requestedVersion","listChanged","subscribe","extensions","withFiber","sessionId","crypto","randomUUID","_req","setHeaders","r","logging/setLevel","level","sync","prompts/list","initialized","filterByClient","resources/list","resources/read","resources/subscribe","notImplemented","resources/unsubscribe","resources/templates/list","tools/list","Uint8Array","blob","items","item","out","enabledWhen","sessions"],"sources":["../../../src/unstable/ai/McpServer.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;AAYA,OAAO,KAAKA,GAAG,MAAM,gBAAgB;AACrC,OAAO,KAAKC,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAKC,OAAO,MAAM,kBAAkB;AAC3C,OAAO,KAAKC,MAAM,MAAM,iBAAiB;AACzC,OAAO,KAAKC,IAAI,MAAM,eAAe;AACrC,OAAO,KAAKC,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAKC,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAKC,MAAM,MAAM,iBAAiB;AACzC,OAAO,KAAKC,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAKC,KAAK,MAAM,gBAAgB;AACvC,SAASC,eAAe,QAAQ,qBAAqB;AACrD,OAAO,KAAKC,MAAM,MAAM,iBAAiB;AACzC,OAAO,KAAKC,SAAS,MAAM,oBAAoB;AAC/C,OAAO,KAAKC,IAAI,MAAM,eAAe;AAErC,OAAO,KAAKC,MAAM,MAAM,iBAAiB;AAEzC,OAAO,KAAKC,SAAS,MAAM,sBAAsB;AACjD,OAAO,KAAKC,OAAO,MAAM,oBAAoB;AAC7C,SAASC,8BAA8B,QAAQ,uBAAuB;AACtE,OAAO,KAAKC,UAAU,MAAM,uBAAuB;AACnD,OAAO,KAAKC,iBAAiB,MAAM,8BAA8B;AACjE,OAAO,KAAKC,kBAAkB,MAAM,+BAA+B;AACnE,OAAO,KAAKC,GAAG,MAAM,eAAe;AACpC,OAAO,KAAKC,SAAS,MAAM,qBAAqB;AAEhD,OAAO,KAAKC,UAAU,MAAM,sBAAsB;AAClD,OAAO,KAAKC,gBAAgB,MAAM,4BAA4B;AAC9D,OAAO,KAAKC,SAAS,MAAM,qBAAqB;AAChD,SACEC,cAAc,EACdC,sBAAsB,EACtBC,UAAU,EACVC,cAAc,EACdC,MAAM,EACNC,mBAAmB,EACnBC,WAAW,EACXC,eAAe,EACfC,aAAa,EACbC,aAAa,EACbC,OAAO,EACPC,iBAAiB,EACjBC,mBAAmB,EACnBC,2BAA2B,EAC3BC,eAAe,EACfC,eAAe,EACfC,yBAAyB,EACzBC,MAAM,EACNC,QAAQ,EACRC,gBAAgB,EAChBC,sBAAsB,EACtBC,iBAAiB,EACjBC,WAAW,EACXC,IAAI,IAAIC,OAAO,QACV,gBAAgB;AAavB,OAAO,KAAKD,IAAI,MAAM,WAAW;AAGjC;;;;;;;;;;;;AAYA,OAAM,MAAOE,SAAU,sBAAQjD,OAAO,CAACkD,OAAO,EAuE1C,CAAC,qBAAqB,CAAC;EACzB;;;;;EAKA,OAAgBC,IAAI,gBAAGlD,MAAM,CAACmD,GAAG,CAAC,aAAS;IACzC,MAAMC,OAAO,GAAGC,cAAc,EAW3B;IACH,MAAMC,KAAK,GAAGzD,GAAG,CAAC0D,KAAK,EAGnB;IACJ,MAAMC,OAAO,GAAG,IAAIC,GAAG,EAA2F;IAClH,MAAMC,SAAS,GAGV,EAAE;IACP,MAAMC,iBAAiB,GAGlB,EAAE;IACP,MAAMC,OAAO,GAGR,EAAE;IACP,MAAMC,SAAS,GAAG,IAAIJ,GAAG,EAGtB;IACH,MAAMK,cAAc,GAAG,IAAIL,GAAG,EAG3B;IACH,MAAMM,kBAAkB,GAAG,OAAO1D,KAAK,CAAC6C,IAAI,EAA2B;IACvE,MAAMc,kBAAkB,GAAG,IAAIP,GAAG,EAAe;IACjD,MAAMQ,aAAa,GAAG,OAAO9C,SAAS,CAAC+C,mBAAmB,CAACvB,sBAAsB,EAAE;MACjFwB,UAAU,EAAE,yBAAyB;MACrCC,YAAY,EAAGC,OAAO,IACpBrE,MAAM,CAACsE,OAAO,CAAC,MAA0B;QACvC,MAAMC,OAAO,GAAGF,OAAO,CAACE,OAAO;QAC/B,IAAIA,OAAO,CAACC,IAAI,KAAK,SAAS,EAAE;UAC9B,OAAOxE,MAAM,CAACyE,IAAI;QACpB;QACA,IAAIF,OAAO,CAACG,GAAG,CAACC,QAAQ,CAAC,cAAc,CAAC,EAAE;UACxC,IAAI,CAACX,kBAAkB,CAACY,GAAG,CAACL,OAAO,CAACG,GAAG,CAAC,EAAE;YACxCV,kBAAkB,CAACa,GAAG,CACpBN,OAAO,CAACG,GAAG,EACXI,UAAU,CAAC,MAAK;cACdzE,KAAK,CAAC0E,WAAW,CAAChB,kBAAkB,EAAEQ,OAAO,CAAC;cAC9CP,kBAAkB,CAACgB,MAAM,CAACT,OAAO,CAACG,GAAG,CAAC;YACxC,CAAC,EAAE,CAAC,CAAC,CACN;UACH;QACF,CAAC,MAAM;UACLrE,KAAK,CAAC0E,WAAW,CAAChB,kBAAkB,EAAEQ,OAAO,CAAC;QAChD;QACA,OAAON,aAAa,CAACgB,KAAK,CAAC;UACzBC,QAAQ,EAAE,CAAC;UACXC,SAAS,EAAEZ,OAAO,CAACa,EAAE;UACrBZ,IAAI,EAAE,MAAM;UACZa,IAAI,EAAEpF,IAAI,CAACwE;SACZ,CAAC;MACJ,CAAC;KACJ,CAAC;IAEF,OAAOzB,SAAS,CAACsC,EAAE,CAAC;MAClBrB,aAAa,EAAEA,aAAa,CAACsB,MAAM;MACnCxB,kBAAkB;MAClByB,kBAAkB,EAAE,IAAIC,GAAG,EAAE;MAC7B,IAAInC,KAAKA,CAAA;QACP,OAAOA,KAAK;MACd,CAAC;MACDoC,OAAO,EAAGrB,OAAO,IACfrE,MAAM,CAACsE,OAAO,CAAC,MAAK;QAClBhB,KAAK,CAACqC,IAAI,CAACtB,OAAO,CAAC;QACnBb,OAAO,CAACqB,GAAG,CAACR,OAAO,CAACuB,IAAI,CAACC,IAAI,EAAExB,OAAO,CAACyB,MAAM,CAAC;QAC9C,OAAO7B,aAAa,CAACsB,MAAM,CAAC,kCAAkC,CAAC,CAAC,EAAE,CAAC;MACrE,CAAC,CAAC;MACJQ,QAAQ,EAAGC,OAAO,IAChBhG,MAAM,CAACsE,OAAO,CAAC,MAAoF;QACjG,MAAMwB,MAAM,GAAGtC,OAAO,CAACyC,GAAG,CAACD,OAAO,CAACH,IAAI,CAAC;QACxC,IAAI,CAACC,MAAM,EAAE;UACX,OAAO9F,MAAM,CAACkG,IAAI,CAAC,IAAIlE,aAAa,CAAC;YAAEuC,OAAO,EAAE,SAASyB,OAAO,CAACH,IAAI;UAAa,CAAE,CAAC,CAAC;QACxF;QACA,OAAOC,MAAM,CAACE,OAAO,CAACG,SAAS,CAAC;MAClC,CAAC,CAAC;MACJ,IAAIzC,SAASA,CAAA;QACX,OAAOA,SAAS;MAClB,CAAC;MACD,IAAIC,iBAAiBA,CAAA;QACnB,OAAOA,iBAAiB;MAC1B,CAAC;MACDyC,WAAW,EAAG/B,OAAO,IACnBrE,MAAM,CAACsE,OAAO,CAAC,MAAK;QAClBZ,SAAS,CAACiC,IAAI,CAACtB,OAAO,CAAC;QACvBjB,OAAO,CAACiD,GAAG,CAAChC,OAAO,CAACiC,QAAQ,CAACC,GAAG,EAAE;UAAE/B,IAAI,EAAE,UAAU;UAAEgC,MAAM,EAAEnC,OAAO,CAACyB;QAAM,CAAE,CAAC;QAC/E,OAAO7B,aAAa,CAACsB,MAAM,CAAC,sCAAsC,CAAC,CAAC,EAAE,CAAC;MACzE,CAAC,CAAC;MACJkB,mBAAmB,EAAEA,CAAC;QAAEC,WAAW;QAAEC,WAAW;QAAEb,MAAM;QAAEc,UAAU;QAAEC;MAAQ,CAAE,KAC9E7G,MAAM,CAACsE,OAAO,CAAC,MAAK;QAClBX,iBAAiB,CAACgC,IAAI,CAAC;UAAEkB,QAAQ;UAAEH;QAAW,CAAE,CAAC;QACjDtD,OAAO,CAACiD,GAAG,CAACO,UAAU,EAAE;UAAEpC,IAAI,EAAE,kBAAkB;UAAEsB;QAAM,CAAE,CAAC;QAC7D,KAAK,MAAM,CAACgB,KAAK,EAAEhB,MAAM,CAAC,IAAIiB,MAAM,CAACC,OAAO,CAACL,WAAW,CAAC,EAAE;UACzD7C,cAAc,CAACe,GAAG,CAAC,gBAAgBgC,QAAQ,CAACI,WAAW,IAAIH,KAAK,EAAE,EAAEhB,MAAM,CAAC;QAC7E;QACA,OAAO7B,aAAa,CAACsB,MAAM,CAAC,sCAAsC,CAAC,CAAC,EAAE,CAAC;MACzE,CAAC,CAAC;MACJ2B,YAAY,EAAGX,GAAG,IAChBvG,MAAM,CAACsE,OAAO,CAAC,MAAK;QAClB,MAAM6C,KAAK,GAAG/D,OAAO,CAACgE,IAAI,CAACb,GAAG,CAAC;QAC/B,IAAI,CAACY,KAAK,EAAE;UACV,OAAOnH,MAAM,CAACqH,OAAO,CAAC;YAAEC,QAAQ,EAAE;UAAE,CAAE,CAAC;QACzC,CAAC,MAAM,IAAIH,KAAK,CAACI,OAAO,CAAC/C,IAAI,KAAK,UAAU,EAAE;UAC5C,OAAO2C,KAAK,CAACI,OAAO,CAACf,MAAM;QAC7B;QACA,MAAMgB,MAAM,GAAkB,EAAE;QAChC,KAAK,MAAMC,GAAG,IAAIV,MAAM,CAACW,IAAI,CAACP,KAAK,CAACK,MAAM,CAAC,EAAE;UAC3CA,MAAM,CAACG,MAAM,CAACF,GAAG,CAAC,CAAC,GAAGN,KAAK,CAACK,MAAM,CAACC,GAAG,CAAE;QAC1C;QACA,OAAON,KAAK,CAACI,OAAO,CAACzB,MAAM,CAACS,GAAG,EAAEiB,MAAM,CAAC;MAC1C,CAAC,CAAC;MACJ,IAAI5D,OAAOA,CAAA;QACT,OAAOA,OAAO;MAChB,CAAC;MACDgE,SAAS,EAAGvD,OAAO,IACjBrE,MAAM,CAACsE,OAAO,CAAC,MAAK;QAClBV,OAAO,CAAC+B,IAAI,CAACtB,OAAO,CAAC;QACrBR,SAAS,CAACgB,GAAG,CAACR,OAAO,CAACwD,MAAM,CAAChC,IAAI,EAAExB,OAAO,CAACyB,MAAM,CAAC;QAClD,KAAK,MAAM,CAACgB,KAAK,EAAEhB,MAAM,CAAC,IAAIiB,MAAM,CAACC,OAAO,CAAC3C,OAAO,CAACsC,WAAW,CAAC,EAAE;UACjE7C,cAAc,CAACe,GAAG,CAAC,cAAcR,OAAO,CAACwD,MAAM,CAAChC,IAAI,IAAIiB,KAAK,EAAE,EAAEhB,MAAM,CAAC;QAC1E;QACA,OAAO7B,aAAa,CAACsB,MAAM,CAAC,oCAAoC,CAAC,CAAC,EAAE,CAAC;MACvE,CAAC,CAAC;MACJuC,eAAe,EAAE9H,MAAM,CAAC+H,UAAU,CAAC,WAAU;QAAE5B,SAAS,EAAEqB,MAAM;QAAE3B;MAAI,CAAE;QACtE,MAAM0B,OAAO,GAAG1D,SAAS,CAACoC,GAAG,CAACJ,IAAI,CAAC;QACnC,IAAI,CAAC0B,OAAO,EAAE;UACZ,OAAO,OAAO,IAAIvF,aAAa,CAAC;YAAEuC,OAAO,EAAE,WAAWsB,IAAI;UAAa,CAAE,CAAC;QAC5E;QACA,OAAO,OAAO0B,OAAO,CAACC,MAAM,IAAI,EAAE,CAAC;MACrC,CAAC,CAAC;MACFQ,UAAU,EAAEhI,MAAM,CAAC+H,UAAU,CAAC,WAAUE,QAAQ;QAC9C,MAAMC,GAAG,GAAGD,QAAQ,CAACC,GAAG;QACxB,MAAMT,GAAG,GAAGS,GAAG,CAACC,IAAI,KAAK,cAAc,GACnC,gBAAgBD,GAAG,CAAC3B,GAAG,IAAI0B,QAAQ,CAACG,QAAQ,CAACvC,IAAI,EAAE,GACnD,cAAcqC,GAAG,CAACrC,IAAI,IAAIoC,QAAQ,CAACG,QAAQ,CAACvC,IAAI,EAAE;QACtD,MAAM0B,OAAO,GAAGzD,cAAc,CAACmC,GAAG,CAACwB,GAAG,CAAC;QACvC,OAAOF,OAAO,GAAG,OAAOA,OAAO,CAACU,QAAQ,CAACG,QAAQ,CAACC,KAAK,CAAC,GAAG3G,cAAc,CAAC6B,KAAK;MACjF,CAAC;KACF,CAAC;EACJ,CAAC,CAAC;EAEF;;;;;EAKA,OAAgB+E,KAAK,gBAA6CnI,KAAK,CAACqG,MAAM,CAACxD,SAAS,CAAC,CAACA,SAAS,CAACE,IAAI,CAAQ;;AAGlH,MAAMqF,uBAAuB,GAAG,YAAY;AAC5C,MAAMC,2BAA2B,GAAG,CAClCD,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;AACD,MAAME,kBAAkB,GAAG,gBAAgB;AAC3C,MAAMC,wBAAwB,GAAG,sBAAsB;AAEvD;;;;;;;;;;;;AAYA,OAAO,MAAMC,GAAG,gBAQZ3I,MAAM,CAAC+H,UAAU,CAAC,WAAU1D,OAG/B;EACC,MAAMuE,QAAQ,GAAG,OAAOtH,SAAS,CAACuH,QAAQ;EAC1C,MAAMC,MAAM,GAAG,OAAO9F,SAAS;EAC/B,MAAM+F,MAAM,GAAG3I,MAAM,CAAC4I,MAAM,CAAC,OAAOhJ,MAAM,CAACiJ,aAAa,CAAClI,UAAU,CAACA,UAAU,CAAC,CAAC;EAChF,MAAMmI,cAAc,GAAG,IAAIzF,GAAG,EAAgD;EAC9E,MAAM0F,QAAQ,GAAG,OAAOhJ,KAAK,CAACiJ,KAAK,CAACC,aAAa,CAAChF,OAAO,EAAE;IAAE6E;EAAc,CAAE,CAAC,CAAC;EAE/E,MAAMI,OAAO,GAAG,OAAOhJ,KAAK,CAAC4C,IAAI,CAAC;IAChCqG,MAAM,EAAEvJ,MAAM,CAAC+H,UAAU,CAAC,WAAU7C,QAAgB;MAClD,IAAID,KAAsE;MAC1E,MAAMM,MAAM,GAAG,OAAOpE,SAAS,CAAC+B,IAAI,CAACN,iBAAiB,EAAE;QACtDuB,UAAU,EAAE;OACb,CAAC,CAACqF,IAAI,CACLxJ,MAAM,CAACyJ,oBAAoB,CACzBtI,SAAS,CAAC0H,QAAQ,EAClB1H,SAAS,CAAC0H,QAAQ,CAAC3F,IAAI,CAAClD,MAAM,CAAC+H,UAAU,CAAC,WAAU2B,aAAa;QAC/D,IAAIC,GAAG,GAAG,CAAC;QACX1E,KAAK,GAAIV,OAAO,IAAKmF,aAAa,CAACC,GAAG,EAAEpF,OAAO,CAAC;QAChD,OAAO;UACLqF,IAAIA,CAACxE,EAAE,EAAEY,OAAO,EAAE6D,cAAc;YAC9BF,GAAG,GAAGvE,EAAE;YACR,OAAOwD,QAAQ,CAACgB,IAAI,CAAC1E,QAAQ,EAAE;cAC7B,GAAGc,OAAO;cACV8D,OAAO,EAAEC,SAAS;cAClBC,OAAO,EAAED,SAAS;cAClBE,MAAM,EAAEF,SAAS;cACjBG,OAAO,EAAEH;aACH,CAAC;UACX,CAAC;UACDI,WAAW,EAAE,IAAI;UACjBC,qBAAqB,EAAE,KAAK;UAC5BC,uBAAuB,EAAE;SAC1B;MACH,CAAC,CAAC,CAAC,CACJ,CACF;MAED,OAAO;QAAE9E,MAAM;QAAEN;MAAK,CAAW;IACnC,CAAC,CAAC;IACFqF,cAAc,EAAE;GACjB,CAAC;EAEF,MAAMC,gBAAgB,GAAGhI,yBAAyB,CAAC+C,EAAE,CAAC,CAACkB,MAAM,EAAE;IAAEjB,MAAM;IAAEuE,OAAO;IAAEU;EAAG,CAAE,KAAI;IACzF,MAAMC,iBAAiB,GAAGC,oBAAoB,CAACxB,cAAc,EAAE3D,MAAM,CAACH,EAAE,EAAE0E,OAAO,CAAC;IAClF,MAAMa,YAAY,GAAGH,GAAG,CAAChG,IAAI,KAAK,YAAY;IAC9C,IAAI,CAACmG,YAAY,IAAI,CAACF,iBAAiB,EAAE;MACvC,MAAMG,KAAK,GAAG1K,KAAK,CAAC2K,UAAU,EAAG;MACjC,MAAMC,WAAW,GAAG/K,OAAO,CAACgL,cAAc,CAACH,KAAK,CAACI,OAAO,EAAEhK,iBAAiB,CAACA,iBAAiB,CAAC;MAC9F,IAAI8J,WAAW,EAAE;QACfhK,8BAA8B,CAC5BgK,WAAW,EACX,MAAM9K,MAAM,CAACqH,OAAO,CAACpG,kBAAkB,CAACsC,KAAK,CAAC;UAAE0H,MAAM,EAAE;QAAG,CAAE,CAAC,CAAC,CAChE;MACH;MACA,OAAOjL,MAAM,CAACkL,GAAG,CAAC,IAAIC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC/D;IACA,OAAOnL,MAAM,CAACoL,cAAc,CAC1B5E,MAAM,EACNlE,eAAe,EACfA,eAAe,CAACgD,EAAE,CAAC;MACjBJ,QAAQ,EAAEK,MAAM,CAACH,EAAE;MACnBqF,iBAAiB,EAAEA,iBAAkB;MACrCY,SAAS,EAAE/K,KAAK,CAAC2F,GAAG,CAACqD,OAAO,EAAE/D,MAAM,CAACH,EAAE,CAAC,CAACoE,IAAI,CAC3CxJ,MAAM,CAACsL,GAAG,CAAC,CAAC;QAAE/F;MAAM,CAAE,KAAKA,MAAM,CAAC;KAErC,CAAC,CACH;EACH,CAAC,CAAC;EAEF,MAAMgG,eAAe,GAAGjK,SAAS,CAACuH,QAAQ,CAACvD,EAAE,CAAC;IAC5C,GAAGsD,QAAQ;IACXD,GAAG,EAAG6C,CAAC,IACL5C,QAAQ,CAACD,GAAG,CAAC,CAACzD,QAAQ,EAAEuG,QAAQ,KAAI;MAClC,MAAMzF,OAAO,GAAGyF,QAEgB;MAChC,QAAQzF,OAAO,CAACxB,IAAI;QAClB,KAAK,SAAS;UAAE;YACd,IAAIuE,MAAM,EAAE;cACV,MAAM6B,KAAK,GAAG1K,KAAK,CAAC2K,UAAU,EAAG;cACjC,MAAMC,WAAW,GAAG/K,OAAO,CAAC2L,SAAS,CAACd,KAAK,CAACI,OAAO,EAAEhK,iBAAiB,CAACA,iBAAiB,CAAC;cACzF,MAAMuE,MAAM,GAAGmF,oBAAoB,CAACxB,cAAc,EAAEhE,QAAQ,EAAE4F,WAAW,CAAChB,OAAO,CAAC;cAClF,IAAIvE,MAAM,EAAE;gBACVzE,8BAA8B,CAACgK,WAAW,EAAE,CAACa,CAAC,EAAEC,GAAG,KACjD5L,MAAM,CAACqH,OAAO,CACZpG,kBAAkB,CAAC4K,SAAS,CAACD,GAAG,EAAElD,wBAAwB,EAAEnD,MAAM,CAACuG,eAAe,CAAC,CACpF,CAAC;cACN;YACF;YACA,MAAMtB,GAAG,GAAGhJ,sBAAsB,CAACuK,QAAQ,CAAC9F,GAAG,CAACD,OAAO,CAACtB,GAAG,CAAC;YAC5D,IAAI8F,GAAG,EAAE;cACP,IAAIxE,OAAO,CAACtB,GAAG,KAAK,yBAAyB,EAAE;gBAC7C,OAAO8G,CAAC,CAACtG,QAAQ,EAAE;kBACjBV,IAAI,EAAE,WAAW;kBACjBW,SAAS,EAAE6G,MAAM,CAAEhG,OAAO,CAACiG,OAAe,CAAC9G,SAAS;iBACrD,CAAC;cACJ;cACA,MAAMoC,OAAO,GAAG4B,QAAQ,CAAC+C,SAAS,CAACjG,GAAG,CAACD,OAAO,CAACtB,GAAG,CAAwB;cAC1E,OAAO6C,OAAO,GACVA,OAAO,CAACA,OAAO,CAACvB,OAAO,CAACiG,OAAO,EAAE;gBACjCzB,GAAG;gBACHrF,SAAS,EAAE/D,UAAU,CAAC+K,SAAS,CAACnG,OAAO,CAACZ,EAAE,CAAC;gBAC3CG,MAAM,EAAE,IAAIrE,GAAG,CAACkL,YAAY,CAAClH,QAAQ,CAAC;gBACtC4E,OAAO,EAAEjJ,OAAO,CAACwL,SAAS,CAACrG,OAAO,CAAC8D,OAAO;eAC3C,CAA+B,GAC9B9J,MAAM,CAACyE,IAAI;YACjB;YACA,OAAO+G,CAAC,CAACtG,QAAQ,EAAEc,OAAO,CAAC;UAC7B;QACA,KAAK,MAAM;QACX,KAAK,KAAK;QACV,KAAK,WAAW;QAChB,KAAK,KAAK;UACR,OAAOwF,CAAC,CAACtG,QAAQ,EAAEc,OAAO,CAAC;QAC7B,KAAK,MAAM;QACX,KAAK,MAAM;QACX,KAAK,OAAO;QACZ,KAAK,qBAAqB;QAC1B,KAAK,QAAQ;UACX,OAAO1F,KAAK,CAAC2F,GAAG,CAACqD,OAAO,EAAEpE,QAAQ,CAAC,CAACsE,IAAI,CACtCxJ,MAAM,CAACsM,OAAO,CAAC,CAAC;YAAErH;UAAK,CAAE,KAAKA,KAAK,CAACe,OAAO,CAAC,CAAC,EAC7ChG,MAAM,CAACuM,MAAM,CACd;MACL;IACF,CAAC;GACJ,CAAC;EAEF,MAAMC,kBAAkB,GAAGhM,MAAM,CAACiM,mBAAmB,CACnDjM,MAAM,CAACkM,KAAK,CAACC,KAAK,CAACC,IAAI,CAACjK,sBAAsB,CAACoJ,QAAQ,CAACc,MAAM,EAAE,EAAGrC,GAAG,IAAKA,GAAG,CAACsC,aAAa,CAAC,CAAC,CAC/F;EACD,OAAOzM,KAAK,CAAC0M,IAAI,CAACjE,MAAM,CAAC/E,kBAAkB,CAAC,CAACyF,IAAI,CAC/CxJ,MAAM,CAACsM,OAAO,CAACtM,MAAM,CAAC+H,UAAU,CAAC,WAAU/B,OAAO;IAChD,MAAMgH,OAAO,GAAG,OAAOR,kBAAkB,CAACxG,OAAO,CAACiG,OAAO,CAAC;IAC1D,MAAM1H,OAAO,GAA8B;MACzCC,IAAI,EAAE,SAAS;MACfE,GAAG,EAAEsB,OAAO,CAACtB,GAAG;MAChBuH,OAAO,EAAEe;KACH;IACR,MAAMC,SAAS,GAAG,OAAO1B,eAAe,CAAC0B,SAAS;IAClD,KAAK,MAAM/H,QAAQ,IAAI4D,MAAM,CAACtD,kBAAkB,CAACkC,IAAI,EAAE,EAAE;MACvD,IAAI,CAACuF,SAAS,CAACrI,GAAG,CAACM,QAAQ,CAAC,EAAE;QAC5B4D,MAAM,CAACtD,kBAAkB,CAACR,MAAM,CAACE,QAAQ,CAAC;QAC1C;MACF;MACA,OAAOqG,eAAe,CAAC3B,IAAI,CAAC1E,QAAQ,EAAEX,OAAc,CAAC;IACvD;EACF,CAAC,CAAC,CAAC,EACHvE,MAAM,CAACkN,UAAU,CAAC,MAAMlN,MAAM,CAACyE,IAAI,CAAC,EACpCzE,MAAM,CAACmN,OAAO,EACdnN,MAAM,CAACoN,UAAU,CAClB;EAED,OAAO,OAAO9L,SAAS,CAAC4B,IAAI,CAACzB,UAAU,EAAE;IACvC0C,UAAU,EAAE,WAAW;IACvBkJ,mBAAmB,EAAE;GACtB,CAAC,CAAC7D,IAAI,CACLxJ,MAAM,CAACoL,cAAc,CAAC9J,SAAS,CAACuH,QAAQ,EAAE0C,eAAe,CAAC,EAC1DvL,MAAM,CAACoL,cAAc,CAAC7I,yBAAyB,EAAEgI,gBAAgB,CAAC,EAClEvK,MAAM,CAACsN,OAAO,CAACnE,QAAQ,CAAC,CACzB;AACH,CAAC,EAAEnJ,MAAM,CAACuM,MAAM,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,OAAO,MAAMjE,KAAK,GAAIjE,OAIrB,IACClE,KAAK,CAACoN,aAAa,CAACvN,MAAM,CAACoN,UAAU,CAACzE,GAAG,CAACtE,OAAO,CAAC,CAAC,CAAC,CAACmF,IAAI,CACvDrJ,KAAK,CAACqN,YAAY,CAACxK,SAAS,CAACsF,KAAK,CAAC,CACpC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,OAAO,MAAMmF,UAAU,GAAIpJ,OAI1B,IACCiE,KAAK,CAACjE,OAAO,CAAC,CAACmF,IAAI,CACjBrJ,KAAK,CAACmN,OAAO,CAAChM,SAAS,CAACoM,kBAAkB,CAAC,EAC3CvN,KAAK,CAACmN,OAAO,CAACjM,gBAAgB,CAACsM,cAAc,EAAE,CAAC,CACjD;AAEH;;;;;;;;;;;;;;;;;;;AAmBA,OAAO,MAAMC,SAAS,GAAIvJ,OAKzB,IACCiE,KAAK,CAACjE,OAAO,CAAC,CAACmF,IAAI,CACjBrJ,KAAK,CAACmN,OAAO,CAAChM,SAAS,CAACuM,iBAAiB,CAACxJ,OAAO,CAAC,CAAC,EACnDlE,KAAK,CAACmN,OAAO,CAACjM,gBAAgB,CAACyM,YAAY,EAAE,CAAC,CAC/C;AAEH;;;;;;AAMA,OAAO,MAAMC,eAAe,gBAMxB/N,MAAM,CAAC+H,UAAU,CAAC,WACpBiG,OAA+B;EAE/B,MAAMC,QAAQ,GAAG,OAAOjL,SAAS;EACjC,MAAMkL,KAAK,GAAG,OAAQF,OAIpB;EACF,MAAMG,QAAQ,GAAG,OAAOnO,MAAM,CAACgL,OAAO,EAAS;EAC/C,KAAK,MAAMpF,IAAI,IAAImB,MAAM,CAAC8F,MAAM,CAACqB,KAAK,CAAC5K,KAAK,CAAC,EAAE;IAC7C,MAAMoD,WAAW,GAAGd,IAAI,CAACc,WAAW;IACpC,MAAM0H,QAAQ,GAAGrO,OAAO,CAACgL,cAAc,CAACrE,WAAW,EAAE5D,IAAI,CAACuL,IAAI,CAAC;IAC/D,MAAMC,OAAO,GAAG,IAAIvL,OAAO,CAAC;MAC1B8C,IAAI,EAAED,IAAI,CAACC,IAAI;MACf0I,WAAW,EAAEzL,IAAI,CAAC0L,cAAc,CAAC5I,IAAI,CAAC;MACtC6I,WAAW,EAAE3L,IAAI,CAAC4L,aAAa,CAAC9I,IAAI,CAAC;MACrCc,WAAW,EAAE;QACX,GAAI3G,OAAO,CAAC4O,SAAS,CAAC/I,IAAI,CAACc,WAAW,EAAE5D,IAAI,CAAC8L,KAAK,CAAC,CAACpF,IAAI,CACtDpJ,MAAM,CAACkL,GAAG,CAAEuD,KAAK,KAAM;UAAEA;QAAK,CAAE,CAAC,CAAC,EAClCzO,MAAM,CAAC2K,cAAc,CACrB;QACF+D,YAAY,EAAE/O,OAAO,CAACkG,GAAG,CAACL,IAAI,CAACc,WAAW,EAAE5D,IAAI,CAACiM,QAAQ,CAAC;QAC1DC,eAAe,EAAEjP,OAAO,CAACkG,GAAG,CAACL,IAAI,CAACc,WAAW,EAAE5D,IAAI,CAACmM,WAAW,CAAC;QAChEC,cAAc,EAAEnP,OAAO,CAACkG,GAAG,CAACL,IAAI,CAACc,WAAW,EAAE5D,IAAI,CAACqM,UAAU,CAAC;QAC9DC,aAAa,EAAErP,OAAO,CAACkG,GAAG,CAACL,IAAI,CAACc,WAAW,EAAE5D,IAAI,CAACuM,SAAS;OAC5D;MACDC,KAAK,EAAElB;KACR,CAAC;IACF,OAAOH,QAAQ,CAACvI,OAAO,CAAC;MACtBE,IAAI,EAAE0I,OAAO;MACb5H,WAAW;MACXZ,MAAMA,CAACmG,OAAO;QACZ,OAAOiC,KAAK,CAACpI,MAAM,CAACF,IAAI,CAACC,IAAW,EAAEoG,OAAO,CAAC,CAACzC,IAAI,CACjD7I,MAAM,CAAC4O,MAAM,EACb5O,MAAM,CAACgI,GAAG,CAACjI,IAAI,CAAC8O,IAAI,EAAE,CAAC,EACvBxP,MAAM,CAACsM,OAAO,CAACtM,MAAM,CAACyP,UAAU,CAAC,EACjCzP,MAAM,CAAC0P,cAAc,CAACvB,QAAgC,CAAC,EACvDnO,MAAM,CAAC2P,UAAU,CAAC;UAChBC,SAAS,EAAGC,KAAK,IACf,IAAItO,cAAc,CAAC;YACjBuO,OAAO,EAAE,IAAI;YACbC,OAAO,EAAE,CAAC;cACR5H,IAAI,EAAE,MAAM;cACZ6H,IAAI,EAAElQ,KAAK,CAACmQ,MAAM,CAACJ,KAAK;aACzB;WACF,CAAC;UACJK,SAAS,EAAGC,MAAW,IACrB,IAAI5O,cAAc,CAAC;YACjBuO,OAAO,EAAE,KAAK;YACdM,iBAAiB,EAAE,OAAOD,MAAM,CAACE,aAAa,KAAK,QAAQ,GAAGF,MAAM,CAACE,aAAa,GAAGtG,SAAS;YAC9FgG,OAAO,EAAE,CAAC;cACR5H,IAAI,EAAE,MAAM;cACZ6H,IAAI,EAAEM,IAAI,CAACC,SAAS,CAACJ,MAAM,CAACE,aAAa;aAC1C;WACF;SACJ,CAAC,EACFrQ,MAAM,CAACwQ,QAAQ,CAACxQ,MAAM,CAACyQ,GAAG,CAAC,CACrB;MACV;KACD,CAAC;EACJ;AACF,CAAC,CAAC;AAEF;;;;;;AAMA,OAAO,MAAMzC,OAAO,GAClBA,OAA+B,IAM/B7N,KAAK,CAACoN,aAAa,CAACQ,eAAe,CAACC,OAAO,CAAC,CAAC,CAACxE,IAAI,CAChDrJ,KAAK,CAACmN,OAAO,CAACtK,SAAS,CAACsF,KAAK,CAAC,CAC/B;AAkCH;;;;;;;;;;;;;;AAcA,OAAO,MAAMoI,gBAAgB,GA4EzB,SAAAA,CAAA;EACF,IAAIvK,SAAS,CAACwK,MAAM,KAAK,CAAC,EAAE;IAC1B,MAAMtM,OAAO,GAAG8B,SAAS,CAAC,CAAC,CAS1B;IACD,OAAOnG,MAAM,CAACmD,GAAG,CAAC,aAAS;MACzB,MAAMgL,QAAQ,GAAG,OAAOnO,MAAM,CAACgL,OAAO,EAAO;MAC7C,MAAMiD,QAAQ,GAAG,OAAOjL,SAAS;MACjC,OAAOiL,QAAQ,CAAC7H,WAAW,CAAC;QAC1BE,QAAQ,EAAE,IAAI7D,QAAQ,CAAC;UACrB,GAAG4B,OAAO;UACVqC,WAAW,EAAErC;SACd,CAAC;QACFyB,MAAM,EAAEzB,OAAO,CAAC0L,OAAO,CAACvG,IAAI,CAC1BxJ,MAAM,CAAC0P,cAAc,CAACvB,QAAQ,CAAC,EAC/BnO,MAAM,CAACsL,GAAG,CAAEyE,OAAO,IAAKa,sBAAsB,CAACvM,OAAO,CAACkC,GAAG,EAAEwJ,OAAO,CAAC,CAAC,EACrE/P,MAAM,CAACkN,UAAU,CAAE2C,KAAK,IAAI;UAC1B,MAAMgB,WAAW,GAAG/Q,KAAK,CAACgR,YAAY,CAACjB,KAAK,CAAC,CAAC,CAAC,CAAC;UAChD,OAAO7P,MAAM,CAACkG,IAAI,CAAC,IAAInE,aAAa,CAAC;YAAEwC,OAAO,EAAEsM,WAAW,CAACtM;UAAO,CAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CACH;QACDmC,WAAW,EAAErC,OAAO,CAACqC,WAAW,IAAI3G,OAAO,CAACwD,KAAK;OAClD,CAAC;IACJ,CAAC,CAAC;EACJ;EACA,MAAM;IACJiE,MAAM;IACNZ,UAAU;IACVmK,MAAM;IACNC;EAAO,CACR,GAAGC,kBAAkB,CAAC,GAAI9K,SAA+B,CAAC;EAC3D,OAAOnG,MAAM,CAAC+H,UAAU,CAAC,WAAgB1D,OAaxC;IACC,MAAM8J,QAAQ,GAAG,OAAOnO,MAAM,CAACgL,OAAO,EAAO;IAC7C,MAAMiD,QAAQ,GAAG,OAAOjL,SAAS;IACjC,MAAMkO,MAAM,GAAG1Q,MAAM,CAAC2Q,mBAAmB,CAACJ,MAAM,CAAC;IACjD,MAAMlK,QAAQ,GAAG,IAAInE,gBAAgB,CAAC;MACpC,GAAG2B,OAAO;MACV4C,WAAW,EAAE+J,OAAO;MACpBtK,WAAW,EAAErC;KACd,CAAC;IACF,MAAMsC,WAAW,GAAoF,EAAE;IACvG,KAAK,MAAM,CAACG,KAAK,EAAEhB,MAAM,CAAC,IAAIiB,MAAM,CAACC,OAAO,CAAC3C,OAAO,CAAC2D,UAAU,IAAI,EAAE,CAAC,EAAE;MACtE,MAAMoJ,WAAW,GAAG5Q,MAAM,CAACiM,mBAAmB,CAACjM,MAAM,CAACmM,KAAK,CAACnF,MAAM,CAACV,KAAK,CAAC,CAAC,CAAC;MAC3E,MAAMS,OAAO,GAAI8J,KAAa,IAC5BvL,MAAM,CAACuL,KAAK,CAAC,CAAC7H,IAAI,CAChBxJ,MAAM,CAACsM,OAAO,CAAC8E,WAAW,CAAC,EAC3BpR,MAAM,CAACsL,GAAG,CAAEuB,MAAM,KAAM;QACtB7E,UAAU,EAAE;UACV6E,MAAM,EAAEA,MAAuB;UAC/ByE,KAAK,EAAEzE,MAAM,CAAC8D,MAAM;UACpBY,OAAO,EAAE;;OAEZ,CAAC,CAAC,EACHvR,MAAM,CAACkN,UAAU,CAAE2C,KAAK,IAAI;QAC1B,MAAMgB,WAAW,GAAG/Q,KAAK,CAACgR,YAAY,CAACjB,KAAK,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO7P,MAAM,CAACkG,IAAI,CAAC,IAAInE,aAAa,CAAC;UAAEwC,OAAO,EAAEsM,WAAW,CAACtM;QAAO,CAAE,CAAC,CAAC;MACzE,CAAC,CAAC,EACFvE,MAAM,CAAC0P,cAAc,CAACvB,QAAQ,CAAC,CAChC;MACHxH,WAAW,CAACG,KAAK,CAAC,GAAGS,OAAO;IAC9B;IACA,OAAO0G,QAAQ,CAACxH,mBAAmB,CAAC;MAClCI,QAAQ;MACRD,UAAU;MACVD,WAAW;MACXD,WAAW,EAAErC,OAAO,CAACqC,WAAW,IAAI3G,OAAO,CAACwD,KAAK,EAAE;MACnDuC,MAAM,EAAEA,CAACS,GAAG,EAAEiB,MAAM,KAClB0J,MAAM,CAAC1J,MAAM,CAAC,CAACgC,IAAI,CACjBxJ,MAAM,CAACwR,QAAQ,CAAEC,KAAK,IAAK,IAAIzP,aAAa,CAAC;QAAEuC,OAAO,EAAEkN,KAAK,CAAClN;MAAO,CAAE,CAAC,CAAC,EACzEvE,MAAM,CAACsM,OAAO,CAAE9E,MAAW,IACzBnD,OAAO,CAAC0L,OAAO,CAACxJ,GAAG,EAAE,GAAGiB,MAAM,CAAC,CAACgC,IAAI,CAClCxJ,MAAM,CAACsL,GAAG,CAAEyE,OAAO,IAAKa,sBAAsB,CAACrK,GAAG,EAAEwJ,OAAO,CAAC,CAAC,EAC7D/P,MAAM,CAACkN,UAAU,CAAE2C,KAAK,IAAI;QAC1B,MAAMgB,WAAW,GAAG/Q,KAAK,CAACgR,YAAY,CAACjB,KAAK,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO7P,MAAM,CAACkG,IAAI,CAAC,IAAInE,aAAa,CAAC;UAAEwC,OAAO,EAAEsM,WAAW,CAACtM;QAAO,CAAE,CAAC,CAAC;MACzE,CAAC,CAAC,CACH,CACF,EACDvE,MAAM,CAAC0P,cAAc,CAACvB,QAAQ,CAAC;KAEpC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAQ;AAER;;;;;;;;;;;;AAYA,OAAO,MAAM7H,QAAQ,GAmEjB,SAAAA,CAAA;EACF,IAAIH,SAAS,CAACwK,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAOxQ,KAAK,CAACoN,aAAa,CAACmD,gBAAgB,CAACvK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAACqD,IAAI,CAC7DrJ,KAAK,CAACmN,OAAO,CAACtK,SAAS,CAACsF,KAAK,CAAC,CAC/B;EACH;EACA,MAAMoJ,QAAQ,GAAGhB,gBAAgB,CAAC,GAAIvK,SAA+B,CAAC;EACtE,OAAQ9B,OAAY,IAClBlE,KAAK,CAACoN,aAAa,CAACmE,QAAQ,CAACrN,OAAO,CAAC,CAAC,CAACmF,IAAI,CACzCrJ,KAAK,CAACmN,OAAO,CAACtK,SAAS,CAACsF,KAAK,CAAC,CAC/B;AACL,CAAQ;AAER;;;;;;;;;;;;;;;;;;;AAmBA,OAAO,MAAMqJ,cAAc,GAQzBtN,OAOC,IAC+G;EAChH,MAAMuN,IAAI,GAAG/R,GAAG,CAAC0D,KAAK,EAA8B;EACpD,MAAMsO,KAAK,GAAsCxN,OAAO,CAACyN,UAAU,IAAI,EAAE;EACzE,KAAK,MAAM,CAACjM,IAAI,EAAEkM,IAAI,CAAC,IAAIhL,MAAM,CAACC,OAAO,CAAC6K,KAAK,CAAC,EAAE;IAChDD,IAAI,CAACjM,IAAI,CAAC;MACRE,IAAI;MACJ0I,WAAW,EAAE9N,SAAS,CAACuR,kBAAkB,CAACD,IAAI,CAACE,GAAG,CAAC;MACnDC,QAAQ,EAAE,CAACzR,SAAS,CAAC0R,UAAU,CAACJ,IAAI,CAACE,GAAG;KACzC,CAAC;EACJ;EACA,MAAMpK,MAAM,GAAG,IAAIrF,MAAM,CAAC;IACxBqD,IAAI,EAAExB,OAAO,CAACwB,IAAI;IAClB0I,WAAW,EAAElK,OAAO,CAACkK,WAAW;IAChCpI,SAAS,EAAEyL;GACZ,CAAC;EACF,MAAMV,MAAM,GAAG7M,OAAO,CAACyN,UAAU,GAC7BtR,MAAM,CAAC4R,YAAY,CAAC5R,MAAM,CAAC6R,MAAM,CAACR,KAAK,CAAC,CAAC,GACzC,MAAM7R,MAAM,CAACqH,OAAO,CAAC,EAAY,CAAC;EACtC,MAAMW,UAAU,GAA0D3D,OAAO,CAAC2D,UAAU,IAAI,EAAE;EAClG,OAAOhI,MAAM,CAACmD,GAAG,CAAC,aAAS;IACzB,MAAM8K,QAAQ,GAAG,OAAOjL,SAAS;IACjC,MAAMmL,QAAQ,GAAG,OAAOnO,MAAM,CAACgL,OAAO,EAAwE;IAC9G,MAAMrE,WAAW,GAGb,EAAE;IACN,KAAK,MAAM,CAACG,KAAK,EAAEhB,MAAM,CAAC,IAAIiB,MAAM,CAACC,OAAO,CAACgB,UAAU,CAAC,EAAE;MACxD,MAAMoJ,WAAW,GAAG5Q,MAAM,CAAC8R,YAAY,CAAC9R,MAAM,CAACmM,KAAK,CAACkF,KAAK,CAAC/K,KAAK,CAAC,CAAC,CAAC;MACnE,MAAMS,OAAO,GAAI8J,KAAa,IAC5BvL,MAAM,CAACuL,KAAK,CAAC,CAAC7H,IAAI,CAChBxJ,MAAM,CAACsM,OAAO,CAAC8E,WAAW,CAAC,EAC3BpR,MAAM,CAACsL,GAAG,CAAEuB,MAAM,KAAM;QACtB7E,UAAU,EAAE;UACV6E,MAAM,EAAEA,MAAuB;UAC/ByE,KAAK,EAAEzE,MAAM,CAAC8D,MAAM;UACpBY,OAAO,EAAE;;OAEZ,CAAC,CAAC,EACHvR,MAAM,CAACkN,UAAU,CAAE2C,KAAK,IAAI;QAC1B,MAAMgB,WAAW,GAAG/Q,KAAK,CAACgR,YAAY,CAACjB,KAAK,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO7P,MAAM,CAACkG,IAAI,CAAC,IAAInE,aAAa,CAAC;UAAEwC,OAAO,EAAEsM,WAAW,CAACtM;QAAO,CAAE,CAAC,CAAC;MACzE,CAAC,CAAC,EACFvE,MAAM,CAACsN,OAAO,CAACa,QAAQ,CAAC,CACzB;MACHxH,WAAW,CAACG,KAAK,CAAC,GAAGS,OAAc;IACrC;IACA,OAAO0G,QAAQ,CAACrG,SAAS,CAAC;MACxBC,MAAM;MACNlB,WAAW;MACXD,WAAW,EAAErC,OAAO,CAACqC,WAAW,IAAI3G,OAAO,CAACwD,KAAK,EAAE;MACnDuC,MAAM,EAAG0B,MAAM,IACb0J,MAAM,CAAC1J,MAAM,CAAC,CAACgC,IAAI,CACjBxJ,MAAM,CAACwR,QAAQ,CAAEC,KAAK,IAAK,IAAIzP,aAAa,CAAC;QAAEuC,OAAO,EAAEkN,KAAK,CAAClN;MAAO,CAAE,CAAC,CAAC,EACzEvE,MAAM,CAACsM,OAAO,CAAE9E,MAAM,IAAKnD,OAAO,CAAC0L,OAAO,CAACvI,MAAa,CAAC,CAAC,EAC1DxH,MAAM,CAACsL,GAAG,CAAEiH,QAAQ,IAAI;QACtBA,QAAQ,GAAG,OAAOA,QAAQ,KAAK,QAAQ,GACrC,CAAC;UACCC,IAAI,EAAE,MAAM;UACZzC,OAAO,EAAElN,WAAW,CAACK,IAAI,CAAC;YAAE8M,IAAI,EAAEuC;UAAQ,CAAE;SAC7C,CAAC,GACFA,QAAQ;QACV,OAAO,IAAIzQ,eAAe,CAAC;UAAEyQ,QAAQ;UAAEhE,WAAW,EAAE1G,MAAM,CAAC0G;QAAW,CAAE,CAAC;MAC3E,CAAC,CAAC,EACFvO,MAAM,CAACkN,UAAU,CAAE2C,KAAK,IAAI;QAC1B,MAAMgB,WAAW,GAAG/Q,KAAK,CAACgR,YAAY,CAACjB,KAAK,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO7P,MAAM,CAACkG,IAAI,CAAC,IAAInE,aAAa,CAAC;UAAEwC,OAAO,EAAEsM,WAAW,CAACtM;QAAO,CAAE,CAAC,CAAC;MACzE,CAAC,CAAC,EACFvE,MAAM,CAAC0P,cAAc,CAACvB,QAAoC,CAAC;KAEhE,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;AAkBA,OAAO,MAAMtG,MAAM,GAQjBxD,OASC,IAEDlE,KAAK,CAACoN,aAAa,CAACoE,cAAc,CAACtN,OAAO,CAAC,CAAC,CAACmF,IAAI,CAC/CrJ,KAAK,CAACmN,OAAO,CAACtK,SAAS,CAACsF,KAAK,CAAC,CAC/B;AAEH;;;;;;;;;;;;AAYA,OAAO,MAAMmK,MAAM,gBAOfzS,MAAM,CAAC+H,UAAU,CAAC,WAAgF1D,OAGrG;EACC,MAAM;IAAEgH;EAAS,CAAE,GAAG,OAAO/I,eAAe;EAC5C,MAAMiD,MAAM,GAAG,OAAO8F,SAAS;EAC/B,MAAM0F,MAAM,GAAG1M,OAAO,CAAC0M,MAAM;EAC7B,MAAM/K,OAAO,GAAGrE,MAAM,CAACmL,aAAa,CAAC5J,IAAI,CAAC;IACxCqB,OAAO,EAAEF,OAAO,CAACE,OAAO;IACxBmO,eAAe,EAAE5P,IAAI,CAAC6P,uBAAuB,CAAC5B,MAAM;GACrD,CAAC;EACF,MAAMnF,GAAG,GAAG,OAAOrG,MAAM,CAAC,oBAAoB,CAAC,CAACS,OAAO,CAAC,CAACwD,IAAI,CAC3DxJ,MAAM,CAACkN,UAAU,CAAE2C,KAAK,IAAK7P,MAAM,CAACkG,IAAI,CAAC,IAAItE,mBAAmB,CAAC;IAAEiO,KAAK,EAAE/P,KAAK,CAAC8S,MAAM,CAAC/C,KAAK,CAAC;IAAE7J;EAAO,CAAE,CAAC,CAAC,CAAC,CAC5G;EACD,QAAQ4F,GAAG,CAACiH,MAAM;IAChB,KAAK,QAAQ;MACX,OAAO,OAAO7S,MAAM,CAAC8S,KAAK,CAACtS,MAAM,CAAC2Q,mBAAmB,CAACJ,MAAM,CAAC,CAACnF,GAAG,CAACmE,OAAO,CAAC,CAAC;IAC7E,KAAK,QAAQ;MACX,OAAO,OAAO/P,MAAM,CAAC+S,SAAS;IAChC,KAAK,SAAS;MACZ,OAAO,OAAO,IAAInR,mBAAmB,CAAC;QAAEoE;MAAO,CAAE,CAAC;EACtD;AACF,CAAC,EAAEhG,MAAM,CAACuM,MAAM,CAAC;AAEjB;;;;;;AAMA,OAAO,MAAMyG,kBAAkB,gBAI3B1Q,eAAe,CAAC2Q,OAAO,CAAEtH,CAAC,IAAKA,CAAC,CAAClB,iBAAiB,CAACyI,YAAY,CAAC;AAEpE;AACA;AACA;AAEA,MAAM7P,cAAc,GAAGA,CAAA,KAAQ;EAC7B,MAAM8P,MAAM,GAAGvS,SAAS,CAACsC,IAAI,CAAI;IAC/BkQ,mBAAmB,EAAE,IAAI;IACzBC,sBAAsB,EAAE,IAAI;IAC5BC,aAAa,EAAE;GAChB,CAAC;EACF,MAAMjN,GAAG,GAAGA,CAACE,GAAW,EAAE8B,KAAQ,KAAI;IACpC8K,MAAM,CAACI,EAAE,CAAC,KAAK,EAAEhN,GAAU,EAAE8B,KAAK,CAAC;EACrC,CAAC;EACD,MAAMjB,IAAI,GAAIb,GAAW,IAAK4M,MAAM,CAAC/L,IAAI,CAAC,KAAK,EAAEb,GAAG,CAAC;EAErD,OAAO;IAAEF,GAAG;IAAEe;EAAI,CAAW;AAC/B,CAAC;AAED,MAAM6J,kBAAkB,GAAGA,CAACuC,QAA8B,EAAE,GAAGC,OAAyC,KAAI;EAC1G,IAAI7M,UAAU,GAAG4M,QAAQ,CAAC,CAAC,CAAC,CAACE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC;EAC/C,IAAI1C,OAAO,GAAGwC,QAAQ,CAAC,CAAC,CAAC;EACzB,MAAMhM,MAAM,GAA+B,EAAE;EAC7C,IAAImM,UAAU,GAAGnT,MAAM,CAACoT,KAAK,CAAC,EAAE,CAAe;EAC/C,IAAIH,OAAO,CAAC9C,MAAM,GAAG,CAAC,EAAE;IACtB,MAAMkD,GAAG,GAAsB,EAAE;IACjC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,OAAO,CAAC9C,MAAM,EAAEmD,CAAC,EAAE,EAAE;MACvC,MAAMC,iBAAiB,GAAGvT,MAAM,CAACuT,iBAAiB,CAACN,OAAO,CAACK,CAAC,CAAC,CAAC;MAC9D,MAAME,OAAO,GAAGR,QAAQ,CAACM,CAAC,GAAG,CAAC,CAAC;MAC/B,MAAMrM,GAAG,GAAGuE,MAAM,CAAC8H,CAAC,CAAC;MACrBD,GAAG,CAAClO,IAAI,CAACoO,iBAAiB,CAAC;MAC3BnN,UAAU,IAAI,IAAIa,GAAG,GAAGuM,OAAO,CAACN,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;MACpD,MAAM3C,MAAM,GAAG0C,OAAO,CAACK,CAAC,CAAC;MACzB,MAAMG,SAAS,GAAGhS,OAAO,CAAC8O,MAAM,CAAC,GAAIA,MAAoC,CAAClL,IAAI,GAAG,QAAQ4B,GAAG,EAAE;MAC9FD,MAAM,CAACyM,SAAS,CAAC,GAAGF,iBAAiB;MACrC/C,OAAO,IAAI,IAAIiD,SAAS,IAAID,OAAO,EAAE;IACvC;IACAL,UAAU,GAAGnT,MAAM,CAACoT,KAAK,CAACC,GAAG,CAAC;EAChC;EACA,OAAO;IACLjN,UAAU;IACVoK,OAAO;IACPD,MAAM,EAAE4C,UAAU;IAClBnM;GACQ;AACZ,CAAC;AAED,MAAM6B,aAAa,GAAGA,CAAC6K,UAItB,EAAE7P,OAEF,KACC5C,UAAU,CAAC0S,OAAO,CAChBnU,MAAM,CAACmD,GAAG,CAAC,aAAS;EAClB,MAAM2F,MAAM,GAAG,OAAO9F,SAAS;EAC/B,IAAIoR,eAAe,GAAG,OAAO7T,eAAe;EAE5C,OAAOkB,UAAU,CAAC6D,EAAE,CAAC;IACnB;IACA+O,IAAI,EAAEA,CAAA,KAAMrU,MAAM,CAACqH,OAAO,CAAC,EAAE,CAAC;IAC9BiN,UAAUA,CAAC9M,MAAM,EAAE;MAAEjC;IAAM,CAAE;MAC3B,MAAMgP,gBAAgB,GAAG/L,2BAA2B,CAAC7D,QAAQ,CAAC6C,MAAM,CAACsE,eAAe,CAAC,GACjFtE,MAAM,CAACsE,eAAe,GACtBvD,uBAAuB;MAC3B,IAAIgM,gBAAgB,KAAK/M,MAAM,CAACsE,eAAe,EAAE;QAC/CtE,MAAM,GAAG;UACP,GAAGA,MAAM;UACTsE,eAAe,EAAEyI;SAClB;MACH;MACA,MAAMrB,YAAY,GAAsD;QACtEvM,WAAW,EAAE;OACd;MACD,IAAImC,MAAM,CAACxF,KAAK,CAACqN,MAAM,GAAG,CAAC,EAAE;QAC3BuC,YAAY,CAAC5P,KAAK,GAAG;UAAEkR,WAAW,EAAE;QAAI,CAAE;MAC5C;MACA,IAAI1L,MAAM,CAACpF,SAAS,CAACiN,MAAM,GAAG,CAAC,IAAI7H,MAAM,CAACnF,iBAAiB,CAACgN,MAAM,GAAG,CAAC,EAAE;QACtEuC,YAAY,CAACxP,SAAS,GAAG;UACvB8Q,WAAW,EAAE,IAAI;UACjBC,SAAS,EAAE;SACZ;MACH;MACA,IAAI3L,MAAM,CAAClF,OAAO,CAAC+M,MAAM,GAAG,CAAC,EAAE;QAC7BuC,YAAY,CAACtP,OAAO,GAAG;UAAE4Q,WAAW,EAAE;QAAI,CAAE;MAC9C;MACA,IAAIN,UAAU,CAACQ,UAAU,EAAE;QACzBxB,YAAY,CAACwB,UAAU,GAAGR,UAAU,CAACQ,UAAiB;MACxD;MACA,OAAO1U,MAAM,CAAC2U,SAAS,CAAE/J,KAAK,IAAI;QAChC,MAAME,WAAW,GAAG/K,OAAO,CAACgL,cAAc,CAACH,KAAK,CAACI,OAAO,EAAEhK,iBAAiB,CAACA,iBAAiB,CAAC;QAC9F,IAAI8J,WAAW,EAAE;UACf,MAAM8J,SAAS,GAAGC,MAAM,CAACC,UAAU,EAAE;UACrCzQ,OAAO,CAAC6E,cAAc,CAACrE,GAAG,CAAC+P,SAAS,EAAEpN,MAAM,CAAC;UAC7C1G,8BAA8B,CAACgK,WAAW,EAAE,CAACiK,IAAI,EAAEnJ,GAAG,KACpD5L,MAAM,CAACqH,OAAO,CAACpG,kBAAkB,CAAC+T,UAAU,CAACpJ,GAAG,EAAE;YAChD,CAACnD,kBAAkB,GAAGmM,SAAS;YAC/B,CAAClM,wBAAwB,GAAG6L;WAC7B,CAAC,CAAC,CAAC;QACR,CAAC,MAAM;UACLlQ,OAAO,CAAC6E,cAAc,CAACrE,GAAG,CAACmH,MAAM,CAACzG,MAAM,CAACH,EAAE,CAAC,EAAEoC,MAAM,CAAC;QACvD;QACA,OAAOxH,MAAM,CAACqH,OAAO,CAAC;UACpB6L,YAAY;UACZgB,UAAU;UACVpI,eAAe,EAAEyI;SAClB,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC;IACD,qBAAqB,EAAGU,CAAC,IACvBnM,MAAM,CAACd,UAAU,CAACiN,CAAC,CAAC,CAACzL,IAAI,CACvBxJ,MAAM,CAACoL,cAAc,CAAC7K,eAAe,EAAE6T,eAAe,CAAC,CACxD;IACH,kBAAkB,EAAEc,CAAC;MAAEC;IAAK,CAAE,KAC5BnV,MAAM,CAACoV,IAAI,CAAC,MAAK;MACf,QAAQD,KAAK;QACX,KAAK,QAAQ;QACb,KAAK,MAAM;UACTf,eAAe,GAAG,MAAM;UACxB;QACF,KAAK,OAAO;UACVA,eAAe,GAAG,OAAO;UACzB;QACF,KAAK,OAAO;UACVA,eAAe,GAAG,OAAO;UACzB;QACF,KAAK,SAAS;UACZA,eAAe,GAAG,MAAM;UACxB;QACF,KAAK,UAAU;QACf,KAAK,OAAO;QACZ,KAAK,WAAW;UACdA,eAAe,GAAG,OAAO;UACzB;MACJ;IACF,CAAC,CAAC;IACJ,aAAa,EAAGa,CAAC,IACfnM,MAAM,CAAChB,eAAe,CAACmN,CAAC,CAAC,CAACzL,IAAI,CAC5BxJ,MAAM,CAACoL,cAAc,CAAC7K,eAAe,EAAE6T,eAAe,CAAC,CACxD;IACH,cAAc,EAAEiB,CAAC1J,CAAC,EAAE;MAAEpG,MAAM;MAAEuE;IAAO,CAAE,KACrC9J,MAAM,CAACoV,IAAI,CAAC,MAAK;MACf,MAAME,WAAW,GAAG5K,oBAAoB,CAACrG,OAAO,CAAC6E,cAAc,EAAE3D,MAAM,CAACH,EAAE,EAAE0E,OAAO,CAAC;MACpF,OAAO,IAAI5H,iBAAiB,CAAC;QAAE0B,OAAO,EAAE2R,cAAc,CAACD,WAAW,EAAExM,MAAM,CAAClF,OAAO,EAAE,QAAQ;MAAC,CAAE,CAAC;IAClG,CAAC,CAAC;IACJ,gBAAgB,EAAE4R,CAAC7J,CAAC,EAAE;MAAEpG,MAAM;MAAEuE;IAAO,CAAE,KACvC9J,MAAM,CAACoV,IAAI,CAAC,MAAK;MACf,MAAME,WAAW,GAAG5K,oBAAoB,CAACrG,OAAO,CAAC6E,cAAc,EAAE3D,MAAM,CAACH,EAAE,EAAE0E,OAAO,CAAC;MACpF,OAAO,IAAI3H,mBAAmB,CAAC;QAAEuB,SAAS,EAAE6R,cAAc,CAACD,WAAW,EAAExM,MAAM,CAACpF,SAAS,EAAE,UAAU;MAAC,CAAE,CAAC;IAC1G,CAAC,CAAC;IACJ,gBAAgB,EAAE+R,CAAC;MAAElP;IAAG,CAAE,KACxBuC,MAAM,CAAC5B,YAAY,CAACX,GAAG,CAAC,CAACiD,IAAI,CAC3BxJ,MAAM,CAACoL,cAAc,CAAC7K,eAAe,EAAE6T,eAAe,CAAC,CACxD;IACH,qBAAqB,EAAEsB,CAAA,KACrB3T,aAAa,CAAC4T,cAAc;IAC9B,uBAAuB,EAAEC,CAAA,KACvB7T,aAAa,CAAC4T,cAAc;IAC9B,0BAA0B,EAAEE,CAAClK,CAAC,EAAE;MAAEpG,MAAM;MAAEuE;IAAO,CAAE,KACjD9J,MAAM,CAACoV,IAAI,CAAC,MAAK;MACf,MAAME,WAAW,GAAG5K,oBAAoB,CAACrG,OAAO,CAAC6E,cAAc,EAAE3D,MAAM,CAACH,EAAE,EAAE0E,OAAO,CAAC;MACpF,OAAO,IAAI1H,2BAA2B,CAAC;QACrCuB,iBAAiB,EAAE4R,cAAc,CAACD,WAAW,EAAExM,MAAM,CAACnF,iBAAiB,EAAE,UAAU;OACpF,CAAC;IACJ,CAAC,CAAC;IACJ,YAAY,EAAGsR,CAAC,IACdnM,MAAM,CAAC/C,QAAQ,CAACkP,CAAC,CAAC,CAACzL,IAAI,CACrBxJ,MAAM,CAACoL,cAAc,CAAC7K,eAAe,EAAE6T,eAAe,CAAC,CACxD;IACH,YAAY,EAAE0B,CAACnK,CAAC,EAAE;MAAEpG,MAAM;MAAEuE;IAAO,CAAE,KACnC9J,MAAM,CAACoV,IAAI,CAAC,MAAK;MACf,MAAME,WAAW,GAAG5K,oBAAoB,CAACrG,OAAO,CAAC6E,cAAc,EAAE3D,MAAM,CAACH,EAAE,EAAE0E,OAAO,CAAC;MACpF,OAAO,IAAIzH,eAAe,CAAC;QACzBiB,KAAK,EAAEiS,cAAc,CAACD,WAAW,EAAExM,MAAM,CAACxF,KAAK,EAAE,MAAM;OACxD,CAAC;IACJ,CAAC,CAAC;IAEJ;IACA,yBAAyB,EAAGqI,CAAC,IAAK3L,MAAM,CAACyE,IAAI;IAC7C,2BAA2B,EAAGkH,CAAC,IAAK3L,MAAM,CAACyE,IAAI;IAC/C,wBAAwB,EAAGkH,CAAC,IAAK3L,MAAM,CAACyE,IAAI;IAC5C,kCAAkC,EAAGkH,CAAC,IAAK3L,MAAM,CAACyE;GACnD,CAAC;AACJ,CAAC,CAAC,CACH;AAEH,MAAMmM,sBAAsB,GAAGA,CAC7BrK,GAAW,EACXwJ,OAA6D,KAC3B;EAClC,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;IAC/B,OAAO;MACLzI,QAAQ,EAAE,CAAC;QACTf,GAAG;QACHyJ,IAAI,EAAED;OACP;KACF;EACH,CAAC,MAAM,IAAIA,OAAO,YAAYgG,UAAU,EAAE;IACxC,OAAO;MACLzO,QAAQ,EAAE,CAAC;QACTf,GAAG;QACHyP,IAAI,EAAEjG;OACP;KACF;EACH;EACA,OAAOA,OAAO;AAChB,CAAC;AAED,MAAMwF,cAAc,GAAGA,CAMrBhQ,MAAwD,EACxD0Q,KAAuB,EACvBlE,IAAO,KACQ;EACf,IAAI,CAACxM,MAAM,EAAE;IACX,OAAO0Q,KAAK,CAAC3K,GAAG,CAAE4K,IAAI,IAAKA,IAAI,CAACnE,IAAI,CAAC,CAAC;EACxC;EACA,MAAMoE,GAAG,GAAGtW,GAAG,CAAC0D,KAAK,EAAQ;EAC7B,KAAK,IAAIuQ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmC,KAAK,CAACtF,MAAM,EAAEmD,CAAC,EAAE,EAAE;IACrC,MAAMoC,IAAI,GAAGD,KAAK,CAACnC,CAAC,CAAC;IACrB,MAAMsC,WAAW,GAAGrW,OAAO,CAACgL,cAAc,CAACmL,IAAI,CAACxP,WAAW,EAAE7E,WAAW,CAAC;IACzE,IAAI,CAACuU,WAAW,IAAIA,WAAW,CAAC7Q,MAAM,CAAC,EAAE;MACvC4Q,GAAG,CAACxQ,IAAI,CAACuQ,IAAI,CAACnE,IAAI,CAAC,CAAC;IACtB;EACF;EACA,OAAOoE,GAAG;AACZ,CAAC;AAED,MAAMzL,oBAAoB,GAAGA,CAC3B2L,QAA2D,EAC3DnR,QAAgB,EAChB4E,OAAwB,KACtB;EACF,MAAM8K,SAAS,GAAG9K,OAAO,CAACrB,kBAAkB,CAAC;EAC7C,IAAImM,SAAS,KAAK7K,SAAS,EAAE;IAC3B,OAAOsM,QAAQ,CAACpQ,GAAG,CAAC+F,MAAM,CAAC9G,QAAQ,CAAC,CAAC;EACvC;EACA,OAAOmR,QAAQ,CAACpQ,GAAG,CAAC2O,SAAS,CAAC;AAChC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"McpServer.js","names":["Arr","Cause","Context","Effect","Exit","Fiber","Layer","Option","Queue","RcMap","CurrentLogLevel","Schema","SchemaAST","Sink","Stream","FindMyWay","Headers","appendPreResponseHandlerUnsafe","HttpRouter","HttpServerRequest","HttpServerResponse","Rpc","RpcClient","RpcMessage","RpcSerialization","RpcServer","AiError","CallToolResult","ClientNotificationRpcs","ClientRpcs","CompleteResult","Elicit","ElicitationDeclined","EnabledWhen","GetPromptResult","InternalError","InvalidParams","isParam","ListPromptsResult","ListResourcesResult","ListResourceTemplatesResult","ListToolsResult","McpServerClient","McpServerClientMiddleware","Prompt","Resource","ResourceTemplate","ServerNotificationRpcs","ServerRequestRpcs","TextContent","Tool","McpTool","McpServer","Service","make","gen","matcher","makeUriMatcher","tools","empty","toolMap","Map","resources","resourceTemplates","prompts","promptMap","completionsMap","notificationsQueue","listChangedHandles","notifications","makeNoSerialization","spanPrefix","onFromClient","options","suspend","message","_tag","void","tag","includes","has","set","setTimeout","offerUnsafe","delete","write","clientId","requestId","id","exit","of","client","initializedClients","Set","addTool","push","tool","name","handle","callTool","request","get","fail","arguments","addResource","add","resource","uri","effect","addResourceTemplate","annotations","completions","routerPath","template","param","Object","entries","uriTemplate","findResource","match","find","succeed","contents","handler","params","key","keys","Number","addPrompt","prompt","getPromptResult","fnUntraced","completion","complete","ref","type","argument","value","layer","LATEST_PROTOCOL_VERSION","SUPPORTED_PROTOCOL_VERSIONS","MCP_SESSION_ID_HEADER","MCP_PROTOCOL_VERSION_HEADER","McpProtocolState","makeMcpProtocolState","clientSessions","latestProtocolVersion","supportedProtocolVersions","layerMcpProtocolState","sync","run","protocolState","getOrElse","serviceOption","protocol","Protocol","server","isHttp","isSome","handlers","build","layerHandlers","pipe","provideService","clients","lookup","provideServiceEffect","writeResponse","cid","send","_transferables","headers","undefined","traceId","spanId","sampled","supportsAck","supportsTransferables","supportsStructuredClone","idleTimeToLive","clientMiddleware","rpc","initializePayload","getInitializedClient","isInitialize","fiber","getCurrent","httpRequest","getOrUndefined","context","status","die","Error","getClient","map","patchedProtocol","f","request_","_","response","body","contentLength","remove","res","setHeader","protocolVersion","requests","fromInput","String","payload","mapUnsafe","RequestId","ServerClient","flatMap","scoped","encodeNotification","encodeUnknownEffect","Union","Array","from","values","payloadSchema","take","encoded","clientIds","catchCause","forever","forkScoped","disableFatalDefects","provide","layerWithProtocolState","effectDiscard","provideMerge","layerStdio","layerProtocolStdio","layerNdJsonRpc","layerHttp","methodNotAllowedResponse","allow","routes","mergeAll","path","merge","layerMcpProtocolHttp","layerJsonRpc","state","httpEffect","makeProtocolWithHttpEffect","router","INTERNAL_TOOL_ERROR_MESSAGE","toolErrorResult","isError","content","text","registerToolkit","toolkit","registry","built","services","toolMeta","Meta","isDeclaredFailure","is","failureSchema","mcpTool","description","getDescription","inputSchema","getJsonSchema","getOption","Title","title","readOnlyHint","Readonly","destructiveHint","Destructive","idempotentHint","Idempotent","openWorldHint","OpenWorld","_meta","unwrap","last","fromOption","provideContext","result","structuredContent","encodedResult","JSON","stringify","tapCause","logError","catch","error","isAiError","reason","catchDefect","registerResource","length","resolveResourceContent","cause","prettyError","prettyErrors","schema","uriPath","compileUriTemplate","decode","decodeUnknownEffect","create","encodeArray","input","total","hasMore","mapError","register","registerPrompt","args","props","parameters","prop","resolveDescription","ast","required","isOptional","decodeEffect","Struct","encodeEffect","messages","role","elicit","requestedSchema","getJsonSchemaFromSchema","squash","action","orDie","interrupt","clientCapabilities","useSync","capabilities","ignoreTrailingSlash","ignoreDuplicateSlashes","caseSensitive","on","segments","schemas","replace","pathSchema","Tuple","arr","i","toCodecStringTree","segment","paramName","serverInfo","toLayer","currentLogLevel","ping","initialize","requestedVersion","listChanged","subscribe","extensions","withFiber","sessionId","crypto","randomUUID","_req","setHeaders","r","logging/setLevel","level","prompts/list","initialized","filterByClient","resources/list","resources/read","resources/subscribe","notImplemented","resources/unsubscribe","resources/templates/list","tools/list","notifications/initialized","Uint8Array","blob","items","item","out","enabledWhen","sessions"],"sources":["../../../src/unstable/ai/McpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,14 @@
1
+ /**
2
+ * Adapts Effect schemas for OpenAI structured output.
3
+ *
4
+ * OpenAI structured output accepts only a subset of JSON Schema. This module
5
+ * converts an Effect `Schema.Codec` into a provider-compatible JSON Schema and
6
+ * a matching codec for decoding the model response back into the original
7
+ * application type. Unsupported constraints can be omitted from the provider
8
+ * schema and remain enforced by the returned codec.
9
+ *
10
+ * @since 4.0.0
11
+ */
1
12
  import * as JsonSchema from "../../JsonSchema.ts";
2
13
  import * as Schema from "../../Schema.ts";
3
14
  /**
@@ -7,25 +18,36 @@ import * as Schema from "../../Schema.ts";
7
18
  * **When to use**
8
19
  *
9
20
  * Use when you send Effect Schema-backed structured output requests to OpenAI
10
- * and need provider-compatible JSON Schema without losing the decoded
11
- * application type.
21
+ * standard models and need provider-compatible JSON Schema without losing the
22
+ * decoded application type.
12
23
  *
13
24
  * **Details**
14
25
  *
15
26
  * Returns the JSON Schema to include in the request and the codec to use when
16
- * decoding the model response. If the input schema already fits OpenAI's
17
- * supported JSON Schema subset, the original codec is returned unchanged.
27
+ * decoding the model response. The codec remains authoritative: the provider
28
+ * JSON Schema can be a lossy, less restrictive representation when OpenAI
29
+ * cannot express an Effect Schema constraint. Conversion throws when the
30
+ * resulting root is not an object or contains `anyOf`.
18
31
  *
19
32
  * **Gotchas**
20
33
  *
21
34
  * - Some schemas use a provider-safe encoded shape: tuples become objects with
22
- * numeric string keys, records become arrays of `[key, value]` pairs, and
23
- * optional properties become required nullable properties.
35
+ * numeric string keys, objects with index signatures become arrays of
36
+ * `[key, value]` pairs, and optional properties become required nullable
37
+ * properties.
24
38
  * - `oneOf` unions are emitted as `anyOf` unions.
25
- * - Regex patterns from multiple filters are merged into one `pattern` because
26
- * OpenAI structured output does not support `allOf`.
27
- * - Unsupported schema kinds throw during conversion instead of producing a
28
- * lossy schema.
39
+ * - Compatible regex patterns are merged because OpenAI structured output does
40
+ * not support `allOf`.
41
+ * - The root JSON Schema must be an object and cannot use `anyOf`.
42
+ * - Constraints inside `allOf` are retained only when they have an explicit,
43
+ * semantics-preserving normalization rule.
44
+ * - Structural constraints inside `allOf`, such as `properties`, `required`,
45
+ * `additionalProperties`, and `items`, are omitted instead of being merged
46
+ * with a different meaning.
47
+ * - Unsupported constraints are removed from the provider schema and are still
48
+ * checked while decoding with the returned codec.
49
+ * - Compatibility targets standard OpenAI models. Fine-tuned models support a
50
+ * smaller JSON Schema subset.
29
51
  *
30
52
  * @category Codec Transformation
31
53
  * @since 4.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAiStructuredOutput.d.ts","sourceRoot":"","sources":["../../../src/unstable/ai/OpenAiStructuredOutput.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AAIjD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAKzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EACxC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAC3C;IACD,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACjD,UAAU,EAAE,UAAU,CAAC,UAAU,CAAA;CAClC,CAYA"}
1
+ {"version":3,"file":"OpenAiStructuredOutput.d.ts","sourceRoot":"","sources":["../../../src/unstable/ai/OpenAiStructuredOutput.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AAEjD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAGzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EACxC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAC3C;IACD,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACjD,UAAU,EAAE,UAAU,CAAC,UAAU,CAAA;CAClC,CAeA"}