effect 4.0.3 → 4.0.5

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 (449) 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 +117 -0
  5. package/ai-docs/src/52_graphql/20_testing.ts +45 -0
  6. package/ai-docs/src/52_graphql/30_batching.ts +118 -0
  7. package/ai-docs/src/52_graphql/40_aliased-batching.ts +124 -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/Array.d.ts +90 -6
  11. package/dist/Array.d.ts.map +1 -1
  12. package/dist/Array.js +4 -2
  13. package/dist/Array.js.map +1 -1
  14. package/dist/Channel.d.ts +6 -1
  15. package/dist/Channel.d.ts.map +1 -1
  16. package/dist/Channel.js +17 -3
  17. package/dist/Channel.js.map +1 -1
  18. package/dist/ConfigProvider.d.ts.map +1 -1
  19. package/dist/ConfigProvider.js +33 -32
  20. package/dist/ConfigProvider.js.map +1 -1
  21. package/dist/Context.d.ts.map +1 -1
  22. package/dist/Context.js +9 -0
  23. package/dist/Context.js.map +1 -1
  24. package/dist/Duration.d.ts.map +1 -1
  25. package/dist/Duration.js +2 -5
  26. package/dist/Duration.js.map +1 -1
  27. package/dist/Effect.d.ts +61 -19
  28. package/dist/Effect.d.ts.map +1 -1
  29. package/dist/Effect.js +58 -39
  30. package/dist/Effect.js.map +1 -1
  31. package/dist/FileSystem.d.ts +23 -9
  32. package/dist/FileSystem.d.ts.map +1 -1
  33. package/dist/FileSystem.js.map +1 -1
  34. package/dist/Match.d.ts +20 -6
  35. package/dist/Match.d.ts.map +1 -1
  36. package/dist/Match.js +2 -2
  37. package/dist/Match.js.map +1 -1
  38. package/dist/Path.d.ts +37 -5
  39. package/dist/Path.d.ts.map +1 -1
  40. package/dist/Path.js +36 -5
  41. package/dist/Path.js.map +1 -1
  42. package/dist/RequestResolver.d.ts.map +1 -1
  43. package/dist/RequestResolver.js +4 -10
  44. package/dist/RequestResolver.js.map +1 -1
  45. package/dist/Scheduler.d.ts +9 -0
  46. package/dist/Scheduler.d.ts.map +1 -1
  47. package/dist/Scheduler.js +9 -0
  48. package/dist/Scheduler.js.map +1 -1
  49. package/dist/Schema.d.ts +15 -2
  50. package/dist/Schema.d.ts.map +1 -1
  51. package/dist/Schema.js +16 -2
  52. package/dist/Schema.js.map +1 -1
  53. package/dist/SchemaGetter.d.ts +4 -0
  54. package/dist/SchemaGetter.d.ts.map +1 -1
  55. package/dist/SchemaGetter.js +52 -33
  56. package/dist/SchemaGetter.js.map +1 -1
  57. package/dist/Sink.d.ts.map +1 -1
  58. package/dist/Sink.js +38 -17
  59. package/dist/Sink.js.map +1 -1
  60. package/dist/Stream.d.ts +11 -0
  61. package/dist/Stream.d.ts.map +1 -1
  62. package/dist/Stream.js +16 -1
  63. package/dist/Stream.js.map +1 -1
  64. package/dist/String.d.ts +12 -0
  65. package/dist/String.d.ts.map +1 -1
  66. package/dist/String.js +17 -4
  67. package/dist/String.js.map +1 -1
  68. package/dist/TxRef.d.ts.map +1 -1
  69. package/dist/TxRef.js +3 -2
  70. package/dist/TxRef.js.map +1 -1
  71. package/dist/Utils.js +8 -3
  72. package/dist/Utils.js.map +1 -1
  73. package/dist/ai/AiError.d.ts +10 -10
  74. package/dist/ai/AiError.d.ts.map +1 -1
  75. package/dist/ai/AiError.js +1 -1
  76. package/dist/ai/AiError.js.map +1 -1
  77. package/dist/ai/AnthropicStructuredOutput.js +0 -2
  78. package/dist/ai/AnthropicStructuredOutput.js.map +1 -1
  79. package/dist/ai/Chat.d.ts +2 -2
  80. package/dist/ai/Chat.d.ts.map +1 -1
  81. package/dist/ai/Decision.d.ts +70 -19
  82. package/dist/ai/Decision.d.ts.map +1 -1
  83. package/dist/ai/Decision.js +37 -3
  84. package/dist/ai/Decision.js.map +1 -1
  85. package/dist/ai/DecisionModel.js +1 -1
  86. package/dist/ai/DecisionModel.js.map +1 -1
  87. package/dist/ai/LanguageModel.d.ts +38 -7
  88. package/dist/ai/LanguageModel.d.ts.map +1 -1
  89. package/dist/ai/LanguageModel.js +70 -40
  90. package/dist/ai/LanguageModel.js.map +1 -1
  91. package/dist/ai/McpServer.d.ts +61 -52
  92. package/dist/ai/McpServer.d.ts.map +1 -1
  93. package/dist/ai/McpServer.js +134 -50
  94. package/dist/ai/McpServer.js.map +1 -1
  95. package/dist/ai/Prompt.d.ts.map +1 -1
  96. package/dist/ai/Prompt.js +28 -5
  97. package/dist/ai/Prompt.js.map +1 -1
  98. package/dist/ai/Response.d.ts +5 -4
  99. package/dist/ai/Response.d.ts.map +1 -1
  100. package/dist/ai/Response.js.map +1 -1
  101. package/dist/cli/Completions.d.ts +5 -0
  102. package/dist/cli/Completions.d.ts.map +1 -1
  103. package/dist/cli/Completions.js.map +1 -1
  104. package/dist/cli/Flag.d.ts +100 -0
  105. package/dist/cli/Flag.d.ts.map +1 -1
  106. package/dist/cli/Flag.js +33 -0
  107. package/dist/cli/Flag.js.map +1 -1
  108. package/dist/cli/Param.d.ts +87 -0
  109. package/dist/cli/Param.d.ts.map +1 -1
  110. package/dist/cli/Param.js +30 -0
  111. package/dist/cli/Param.js.map +1 -1
  112. package/dist/cli/internal/command.d.ts.map +1 -1
  113. package/dist/cli/internal/command.js +2 -1
  114. package/dist/cli/internal/command.js.map +1 -1
  115. package/dist/cli/internal/completions/bash.js +4 -3
  116. package/dist/cli/internal/completions/bash.js.map +1 -1
  117. package/dist/cli/internal/completions/descriptor.js +8 -1
  118. package/dist/cli/internal/completions/descriptor.js.map +1 -1
  119. package/dist/cli/internal/completions/fish.js +4 -4
  120. package/dist/cli/internal/completions/fish.js.map +1 -1
  121. package/dist/cli/internal/completions/powershell.js +3 -2
  122. package/dist/cli/internal/completions/powershell.js.map +1 -1
  123. package/dist/cli/internal/completions/zsh.js +7 -3
  124. package/dist/cli/internal/completions/zsh.js.map +1 -1
  125. package/dist/cli/internal/parser.js +11 -3
  126. package/dist/cli/internal/parser.js.map +1 -1
  127. package/dist/cli/internal/wizard.d.ts.map +1 -1
  128. package/dist/cli/internal/wizard.js +2 -1
  129. package/dist/cli/internal/wizard.js.map +1 -1
  130. package/dist/cluster/ClusterWorkflowEngine.d.ts +1 -0
  131. package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  132. package/dist/cluster/ClusterWorkflowEngine.js +113 -21
  133. package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
  134. package/dist/cluster/MessageStorage.d.ts.map +1 -1
  135. package/dist/cluster/MessageStorage.js +20 -12
  136. package/dist/cluster/MessageStorage.js.map +1 -1
  137. package/dist/cluster/Runners.d.ts.map +1 -1
  138. package/dist/cluster/Runners.js +54 -34
  139. package/dist/cluster/Runners.js.map +1 -1
  140. package/dist/cluster/Sharding.d.ts.map +1 -1
  141. package/dist/cluster/Sharding.js +6 -4
  142. package/dist/cluster/Sharding.js.map +1 -1
  143. package/dist/cluster/internal/entityManager.js +1 -1
  144. package/dist/cluster/internal/entityManager.js.map +1 -1
  145. package/dist/encoding/Sse.d.ts +6 -0
  146. package/dist/encoding/Sse.d.ts.map +1 -1
  147. package/dist/encoding/Sse.js +63 -71
  148. package/dist/encoding/Sse.js.map +1 -1
  149. package/dist/graphql/GraphQL.d.ts +349 -0
  150. package/dist/graphql/GraphQL.d.ts.map +1 -0
  151. package/dist/graphql/GraphQL.js +207 -0
  152. package/dist/graphql/GraphQL.js.map +1 -0
  153. package/dist/graphql/GraphQLClient.d.ts +562 -0
  154. package/dist/graphql/GraphQLClient.d.ts.map +1 -0
  155. package/dist/graphql/GraphQLClient.js +505 -0
  156. package/dist/graphql/GraphQLClient.js.map +1 -0
  157. package/dist/graphql/GraphQLClientError.d.ts +445 -0
  158. package/dist/graphql/GraphQLClientError.d.ts.map +1 -0
  159. package/dist/graphql/GraphQLClientError.js +479 -0
  160. package/dist/graphql/GraphQLClientError.js.map +1 -0
  161. package/dist/graphql/GraphQLGroup.d.ts +118 -0
  162. package/dist/graphql/GraphQLGroup.d.ts.map +1 -0
  163. package/dist/graphql/GraphQLGroup.js +109 -0
  164. package/dist/graphql/GraphQLGroup.js.map +1 -0
  165. package/dist/graphql/GraphQLMiddleware.d.ts +249 -0
  166. package/dist/graphql/GraphQLMiddleware.d.ts.map +1 -0
  167. package/dist/graphql/GraphQLMiddleware.js +130 -0
  168. package/dist/graphql/GraphQLMiddleware.js.map +1 -0
  169. package/dist/graphql/GraphQLProtocol.d.ts +969 -0
  170. package/dist/graphql/GraphQLProtocol.d.ts.map +1 -0
  171. package/dist/graphql/GraphQLProtocol.js +809 -0
  172. package/dist/graphql/GraphQLProtocol.js.map +1 -0
  173. package/dist/graphql/GraphQLResolver.d.ts +453 -0
  174. package/dist/graphql/GraphQLResolver.d.ts.map +1 -0
  175. package/dist/graphql/GraphQLResolver.js +582 -0
  176. package/dist/graphql/GraphQLResolver.js.map +1 -0
  177. package/dist/graphql/index.d.ts +40 -0
  178. package/dist/graphql/index.d.ts.map +1 -0
  179. package/dist/graphql/index.js +41 -0
  180. package/dist/graphql/index.js.map +1 -0
  181. package/dist/http/FetchHttpClient.d.ts +6 -3
  182. package/dist/http/FetchHttpClient.d.ts.map +1 -1
  183. package/dist/http/FetchHttpClient.js +6 -3
  184. package/dist/http/FetchHttpClient.js.map +1 -1
  185. package/dist/http/FindMyWay/internal/router.js +2 -1
  186. package/dist/http/FindMyWay/internal/router.js.map +1 -1
  187. package/dist/http/Headers.d.ts +3 -3
  188. package/dist/http/Headers.d.ts.map +1 -1
  189. package/dist/http/Headers.js +6 -5
  190. package/dist/http/Headers.js.map +1 -1
  191. package/dist/http/HttpClient.d.ts +27 -0
  192. package/dist/http/HttpClient.d.ts.map +1 -1
  193. package/dist/http/HttpClient.js +38 -11
  194. package/dist/http/HttpClient.js.map +1 -1
  195. package/dist/http/HttpClientError.d.ts.map +1 -1
  196. package/dist/http/HttpClientError.js +8 -6
  197. package/dist/http/HttpClientError.js.map +1 -1
  198. package/dist/http/HttpClientRequest.d.ts +147 -4
  199. package/dist/http/HttpClientRequest.d.ts.map +1 -1
  200. package/dist/http/HttpClientRequest.js +47 -1
  201. package/dist/http/HttpClientRequest.js.map +1 -1
  202. package/dist/http/HttpEffect.d.ts.map +1 -1
  203. package/dist/http/HttpEffect.js +14 -7
  204. package/dist/http/HttpEffect.js.map +1 -1
  205. package/dist/http/HttpMiddleware.d.ts +60 -0
  206. package/dist/http/HttpMiddleware.d.ts.map +1 -1
  207. package/dist/http/HttpMiddleware.js +93 -32
  208. package/dist/http/HttpMiddleware.js.map +1 -1
  209. package/dist/http/HttpRouter.d.ts +35 -0
  210. package/dist/http/HttpRouter.d.ts.map +1 -1
  211. package/dist/http/HttpRouter.js +87 -13
  212. package/dist/http/HttpRouter.js.map +1 -1
  213. package/dist/http/HttpServerError.d.ts.map +1 -1
  214. package/dist/http/HttpServerError.js +6 -4
  215. package/dist/http/HttpServerError.js.map +1 -1
  216. package/dist/http/HttpServerRequest.js +2 -2
  217. package/dist/http/HttpServerRequest.js.map +1 -1
  218. package/dist/http/HttpServerResponse.d.ts +8 -6
  219. package/dist/http/HttpServerResponse.d.ts.map +1 -1
  220. package/dist/http/HttpServerResponse.js +27 -16
  221. package/dist/http/HttpServerResponse.js.map +1 -1
  222. package/dist/http/HttpStaticServer.d.ts.map +1 -1
  223. package/dist/http/HttpStaticServer.js +4 -10
  224. package/dist/http/HttpStaticServer.js.map +1 -1
  225. package/dist/http/HttpTraceContext.js +1 -1
  226. package/dist/http/HttpTraceContext.js.map +1 -1
  227. package/dist/http/Multipart.d.ts.map +1 -1
  228. package/dist/http/Multipart.js +15 -1
  229. package/dist/http/Multipart.js.map +1 -1
  230. package/dist/http/Url.d.ts.map +1 -1
  231. package/dist/http/Url.js +2 -1
  232. package/dist/http/Url.js.map +1 -1
  233. package/dist/http/UrlParams.d.ts +112 -8
  234. package/dist/http/UrlParams.d.ts.map +1 -1
  235. package/dist/http/UrlParams.js +141 -14
  236. package/dist/http/UrlParams.js.map +1 -1
  237. package/dist/http/internal/compression.d.ts +1 -1
  238. package/dist/http/internal/compression.d.ts.map +1 -1
  239. package/dist/http/internal/compression.js +2 -10
  240. package/dist/http/internal/compression.js.map +1 -1
  241. package/dist/http/internal/compressionBody.d.ts +2 -0
  242. package/dist/http/internal/compressionBody.d.ts.map +1 -0
  243. package/dist/http/internal/compressionBody.js +36 -0
  244. package/dist/http/internal/compressionBody.js.map +1 -0
  245. package/dist/http/internal/decompression.d.ts +2 -0
  246. package/dist/http/internal/decompression.d.ts.map +1 -0
  247. package/dist/http/internal/decompression.js +162 -0
  248. package/dist/http/internal/decompression.js.map +1 -0
  249. package/dist/http/internal/tracing.js +14 -4
  250. package/dist/http/internal/tracing.js.map +1 -1
  251. package/dist/http/internal/urlParams.d.ts +2 -0
  252. package/dist/http/internal/urlParams.d.ts.map +1 -0
  253. package/dist/http/internal/urlParams.js +4 -0
  254. package/dist/http/internal/urlParams.js.map +1 -0
  255. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  256. package/dist/http-api/HttpApiClient.js +2 -1
  257. package/dist/http-api/HttpApiClient.js.map +1 -1
  258. package/dist/http-api/HttpApiScalar.d.ts +5 -0
  259. package/dist/http-api/HttpApiScalar.d.ts.map +1 -1
  260. package/dist/http-api/HttpApiScalar.js.map +1 -1
  261. package/dist/internal/core.js +17 -1
  262. package/dist/internal/core.js.map +1 -1
  263. package/dist/internal/dateTime.js +40 -35
  264. package/dist/internal/dateTime.js.map +1 -1
  265. package/dist/internal/effect.js +13 -6
  266. package/dist/internal/effect.js.map +1 -1
  267. package/dist/internal/graphql.d.ts +2 -0
  268. package/dist/internal/graphql.d.ts.map +1 -0
  269. package/dist/internal/graphql.js +205 -0
  270. package/dist/internal/graphql.js.map +1 -0
  271. package/dist/internal/graphqlHeaders.d.ts +4 -0
  272. package/dist/internal/graphqlHeaders.d.ts.map +1 -0
  273. package/dist/internal/graphqlHeaders.js +11 -0
  274. package/dist/internal/graphqlHeaders.js.map +1 -0
  275. package/dist/internal/request.js +20 -1
  276. package/dist/internal/request.js.map +1 -1
  277. package/dist/internal/schema/toCodeDocument.js +4 -1
  278. package/dist/internal/schema/toCodeDocument.js.map +1 -1
  279. package/dist/internal/schema/toJsonSchemaDocument.js +29 -5
  280. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
  281. package/dist/internal/version.js +1 -1
  282. package/dist/net/Host.d.ts +49 -0
  283. package/dist/net/Host.d.ts.map +1 -1
  284. package/dist/net/Host.js +55 -0
  285. package/dist/net/Host.js.map +1 -1
  286. package/dist/net/NetAddress.d.ts +8 -0
  287. package/dist/net/NetAddress.d.ts.map +1 -1
  288. package/dist/net/NetAddress.js +8 -0
  289. package/dist/net/NetAddress.js.map +1 -1
  290. package/dist/observability/Otlp.d.ts +15 -0
  291. package/dist/observability/Otlp.d.ts.map +1 -1
  292. package/dist/observability/Otlp.js +3 -0
  293. package/dist/observability/Otlp.js.map +1 -1
  294. package/dist/observability/OtlpExporter.d.ts +8 -0
  295. package/dist/observability/OtlpExporter.d.ts.map +1 -1
  296. package/dist/observability/OtlpExporter.js +10 -1
  297. package/dist/observability/OtlpExporter.js.map +1 -1
  298. package/dist/observability/OtlpLogger.d.ts +17 -0
  299. package/dist/observability/OtlpLogger.d.ts.map +1 -1
  300. package/dist/observability/OtlpLogger.js +14 -1
  301. package/dist/observability/OtlpLogger.js.map +1 -1
  302. package/dist/observability/OtlpMetrics.d.ts +17 -0
  303. package/dist/observability/OtlpMetrics.d.ts.map +1 -1
  304. package/dist/observability/OtlpMetrics.js +13 -0
  305. package/dist/observability/OtlpMetrics.js.map +1 -1
  306. package/dist/observability/OtlpTracer.d.ts +17 -0
  307. package/dist/observability/OtlpTracer.d.ts.map +1 -1
  308. package/dist/observability/OtlpTracer.js +15 -2
  309. package/dist/observability/OtlpTracer.js.map +1 -1
  310. package/dist/reactivity/AsyncResult.d.ts +6 -0
  311. package/dist/reactivity/AsyncResult.d.ts.map +1 -1
  312. package/dist/reactivity/AsyncResult.js +27 -0
  313. package/dist/reactivity/AsyncResult.js.map +1 -1
  314. package/dist/reactivity/AtomRegistry.js +3 -1
  315. package/dist/reactivity/AtomRegistry.js.map +1 -1
  316. package/dist/rpc/RpcClient.d.ts.map +1 -1
  317. package/dist/rpc/RpcClient.js +6 -1
  318. package/dist/rpc/RpcClient.js.map +1 -1
  319. package/dist/rpc/RpcServer.d.ts.map +1 -1
  320. package/dist/rpc/RpcServer.js +36 -9
  321. package/dist/rpc/RpcServer.js.map +1 -1
  322. package/dist/socket/Socket.d.ts +6 -0
  323. package/dist/socket/Socket.d.ts.map +1 -1
  324. package/dist/socket/Socket.js.map +1 -1
  325. package/dist/sql/SqlClient.d.ts +8 -7
  326. package/dist/sql/SqlClient.d.ts.map +1 -1
  327. package/dist/sql/SqlClient.js +8 -7
  328. package/dist/sql/SqlClient.js.map +1 -1
  329. package/dist/testing/TestClock.d.ts +16 -3
  330. package/dist/testing/TestClock.d.ts.map +1 -1
  331. package/dist/testing/TestClock.js +112 -22
  332. package/dist/testing/TestClock.js.map +1 -1
  333. package/dist/workflow/Activity.js +1 -0
  334. package/dist/workflow/Activity.js.map +1 -1
  335. package/dist/workflow/DurableDeferred.d.ts.map +1 -1
  336. package/dist/workflow/DurableDeferred.js +32 -3
  337. package/dist/workflow/DurableDeferred.js.map +1 -1
  338. package/dist/workflow/Workflow.d.ts +22 -0
  339. package/dist/workflow/Workflow.d.ts.map +1 -1
  340. package/dist/workflow/Workflow.js +15 -3
  341. package/dist/workflow/Workflow.js.map +1 -1
  342. package/dist/workflow/WorkflowEngine.d.ts +44 -3
  343. package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
  344. package/dist/workflow/WorkflowEngine.js +45 -22
  345. package/dist/workflow/WorkflowEngine.js.map +1 -1
  346. package/package.json +6 -3
  347. package/src/Array.ts +95 -6
  348. package/src/Channel.ts +24 -3
  349. package/src/ConfigProvider.ts +40 -44
  350. package/src/Context.ts +9 -0
  351. package/src/Duration.ts +4 -5
  352. package/src/Effect.ts +140 -53
  353. package/src/FileSystem.ts +23 -9
  354. package/src/Match.ts +65 -12
  355. package/src/Path.ts +52 -7
  356. package/src/RequestResolver.ts +4 -10
  357. package/src/Scheduler.ts +9 -0
  358. package/src/Schema.ts +25 -4
  359. package/src/SchemaGetter.ts +47 -35
  360. package/src/Sink.ts +45 -18
  361. package/src/Stream.ts +33 -4
  362. package/src/String.ts +17 -4
  363. package/src/TxRef.ts +4 -2
  364. package/src/Utils.ts +8 -5
  365. package/src/ai/AiError.ts +3 -1
  366. package/src/ai/AnthropicStructuredOutput.ts +2 -2
  367. package/src/ai/Chat.ts +2 -2
  368. package/src/ai/Decision.ts +70 -21
  369. package/src/ai/DecisionModel.ts +1 -1
  370. package/src/ai/LanguageModel.ts +141 -63
  371. package/src/ai/McpServer.ts +259 -145
  372. package/src/ai/Prompt.ts +24 -10
  373. package/src/ai/Response.ts +6 -3
  374. package/src/cli/Completions.ts +5 -0
  375. package/src/cli/Flag.ts +101 -0
  376. package/src/cli/Param.ts +96 -0
  377. package/src/cli/internal/command.ts +2 -1
  378. package/src/cli/internal/completions/bash.ts +4 -3
  379. package/src/cli/internal/completions/descriptor.ts +10 -1
  380. package/src/cli/internal/completions/fish.ts +4 -4
  381. package/src/cli/internal/completions/powershell.ts +5 -2
  382. package/src/cli/internal/completions/zsh.ts +7 -3
  383. package/src/cli/internal/parser.ts +12 -3
  384. package/src/cli/internal/wizard.ts +2 -1
  385. package/src/cluster/ClusterWorkflowEngine.ts +143 -36
  386. package/src/cluster/MessageStorage.ts +14 -3
  387. package/src/cluster/Runners.ts +88 -66
  388. package/src/cluster/Sharding.ts +12 -9
  389. package/src/cluster/internal/entityManager.ts +1 -1
  390. package/src/encoding/Sse.ts +70 -80
  391. package/src/graphql/GraphQL.ts +494 -0
  392. package/src/graphql/GraphQLClient.ts +924 -0
  393. package/src/graphql/GraphQLClientError.ts +542 -0
  394. package/src/graphql/GraphQLGroup.ts +167 -0
  395. package/src/graphql/GraphQLMiddleware.ts +253 -0
  396. package/src/graphql/GraphQLProtocol.ts +1540 -0
  397. package/src/graphql/GraphQLResolver.ts +1038 -0
  398. package/src/graphql/index.ts +48 -0
  399. package/src/http/FetchHttpClient.ts +6 -3
  400. package/src/http/FindMyWay/internal/router.ts +2 -1
  401. package/src/http/Headers.ts +6 -9
  402. package/src/http/HttpClient.ts +72 -11
  403. package/src/http/HttpClientError.ts +10 -6
  404. package/src/http/HttpClientRequest.ts +173 -7
  405. package/src/http/HttpEffect.ts +11 -5
  406. package/src/http/HttpMiddleware.ts +113 -34
  407. package/src/http/HttpRouter.ts +95 -13
  408. package/src/http/HttpServerError.ts +8 -4
  409. package/src/http/HttpServerRequest.ts +2 -2
  410. package/src/http/HttpServerResponse.ts +28 -16
  411. package/src/http/HttpStaticServer.ts +4 -10
  412. package/src/http/HttpTraceContext.ts +1 -1
  413. package/src/http/Multipart.ts +17 -1
  414. package/src/http/Url.ts +2 -1
  415. package/src/http/UrlParams.ts +225 -26
  416. package/src/http/internal/compression.ts +3 -17
  417. package/src/http/internal/compressionBody.ts +56 -0
  418. package/src/http/internal/decompression.ts +226 -0
  419. package/src/http/internal/tracing.ts +21 -4
  420. package/src/http/internal/urlParams.ts +5 -0
  421. package/src/http-api/HttpApiClient.ts +2 -1
  422. package/src/http-api/HttpApiScalar.ts +5 -0
  423. package/src/internal/core.ts +21 -1
  424. package/src/internal/dateTime.ts +13 -10
  425. package/src/internal/effect.ts +13 -7
  426. package/src/internal/graphql.ts +286 -0
  427. package/src/internal/graphqlHeaders.ts +11 -0
  428. package/src/internal/request.ts +31 -3
  429. package/src/internal/schema/toCodeDocument.ts +7 -1
  430. package/src/internal/schema/toJsonSchemaDocument.ts +34 -2
  431. package/src/internal/version.ts +1 -1
  432. package/src/net/Host.ts +72 -0
  433. package/src/net/NetAddress.ts +9 -0
  434. package/src/observability/Otlp.ts +18 -0
  435. package/src/observability/OtlpExporter.ts +14 -3
  436. package/src/observability/OtlpLogger.ts +31 -2
  437. package/src/observability/OtlpMetrics.ts +30 -1
  438. package/src/observability/OtlpTracer.ts +32 -3
  439. package/src/reactivity/AsyncResult.ts +31 -0
  440. package/src/reactivity/AtomRegistry.ts +3 -1
  441. package/src/rpc/RpcClient.ts +6 -1
  442. package/src/rpc/RpcServer.ts +55 -15
  443. package/src/socket/Socket.ts +6 -0
  444. package/src/sql/SqlClient.ts +9 -7
  445. package/src/testing/TestClock.ts +144 -29
  446. package/src/workflow/Activity.ts +1 -0
  447. package/src/workflow/DurableDeferred.ts +43 -5
  448. package/src/workflow/Workflow.ts +31 -5
  449. package/src/workflow/WorkflowEngine.ts +107 -25
package/dist/Scheduler.js CHANGED
@@ -100,6 +100,15 @@ class PriorityBuckets {
100
100
  * operation counts to decide when fibers should yield, and is the default
101
101
  * scheduler implementation.
102
102
  *
103
+ * **Gotchas**
104
+ *
105
+ * On Cloudflare Workers, request-owned scheduler timers can be discarded,
106
+ * leaving shared fibers suspended. Use `new MixedScheduler("sync")` for the
107
+ * whole application; see `HttpRouter.toWebHandler` for a recipe.
108
+ * Sync mode does not yield to the event loop: CPU-heavy work delays other
109
+ * requests, and I/O-polling loops can exhaust the CPU limit. It does not fix
110
+ * request-owned timers (such as `Effect.sleep`) or request-bound async contexts.
111
+ *
103
112
  * @stability stable
104
113
  * @category models
105
114
  * @since 2.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"Scheduler.js","names":[],"sources":["../src/Scheduler.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Scheduler.js","names":[],"sources":["../src/Scheduler.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/Schema.d.ts CHANGED
@@ -3357,6 +3357,7 @@ export declare namespace StructWithRest {
3357
3357
  */
3358
3358
  type Objects = Constraint & {
3359
3359
  readonly ast: SchemaAST.Objects;
3360
+ readonly Encoded: object;
3360
3361
  };
3361
3362
  /**
3362
3363
  * Readonly list of record schemas that provide the additional index signatures
@@ -3493,6 +3494,13 @@ export interface StructWithRest<S extends StructWithRest.Objects, Records extend
3493
3494
  *
3494
3495
  * **Gotchas**
3495
3496
  *
3497
+ * The base schema must have an object-shaped encoded type. Whole-object
3498
+ * transformations are not supported, even with an empty rest array. Apply
3499
+ * transformations such as `Schema.fromJsonString` to the completed
3500
+ * `StructWithRest` schema instead. Object-shaped encoded types alone do not
3501
+ * guarantee compatibility: unsupported encodings are still rejected at runtime.
3502
+ * Transformations on individual fields remain supported.
3503
+ *
3496
3504
  * TypeScript index signatures also apply to fixed keys. `StructWithRest` does
3497
3505
  * not reject incompatible fixed fields at the call site; use
3498
3506
  * `StructWithRest.ValidateRecords` when you want an explicit type-level
@@ -5137,6 +5145,8 @@ export declare function TaggedStruct<const Tag extends SchemaAST.LiteralValue, c
5137
5145
  * Recursively flatten any nested Schema.Union members into a single tuple of leaf schemas.
5138
5146
  */
5139
5147
  type Flatten<Schemas> = Schemas extends readonly [infer Head, ...infer Tail] ? Head extends Union<infer Inner> ? [...Flatten<Inner>, ...Flatten<Tail>] : [Head, ...Flatten<Tail>] : [];
5148
+ type DiscriminantKey<T extends PropertyKey> = T extends number ? `${T}` : T;
5149
+ type EnsureUniqueDiscriminants<Tags extends ReadonlyArray<PropertyKey>, Seen = never> = Tags extends readonly [infer Head extends PropertyKey, ...infer Tail extends ReadonlyArray<PropertyKey>] ? [DiscriminantKey<Head> & Seen] extends [never] ? EnsureUniqueDiscriminants<Tail, Seen | DiscriminantKey<Head>> : never : unknown;
5140
5150
  type MatchCasesResult<Cases> = {
5141
5151
  [K in keyof Cases]-?: NonNullable<Cases[K]> extends (...args: Array<any>) => infer R ? R : never;
5142
5152
  }[keyof Cases];
@@ -5212,7 +5222,10 @@ export type toTaggedUnion<Tag extends PropertyKey, Members extends ReadonlyArray
5212
5222
  *
5213
5223
  * **Gotchas**
5214
5224
  *
5215
- * Throws if multiple members use the same discriminant property key.
5225
+ * Rejects overlapping discriminant types in known member tuples at compile
5226
+ * time, including nested unions. Numeric and string values such as `1` and
5227
+ * `"1"` count as duplicates. Also throws at runtime if multiple members use the
5228
+ * same discriminant property key.
5216
5229
  *
5217
5230
  * **Example** (Adding tagged-union utilities to an existing union)
5218
5231
  *
@@ -5239,7 +5252,7 @@ export type toTaggedUnion<Tag extends PropertyKey, Members extends ReadonlyArray
5239
5252
  */
5240
5253
  export declare function toTaggedUnion<const Tag extends PropertyKey>(tag: Tag): <const Members extends ReadonlyArray<Constraint & {
5241
5254
  readonly Type: { readonly [K in Tag]: PropertyKey; };
5242
- }>>(self: Union<Members>) => toTaggedUnion<Tag, Members>;
5255
+ }>>(self: Union<Members> & NoInfer<EnsureUniqueDiscriminants<TaggedUnionUtils<Tag, Members>["discriminants"]>>) => toTaggedUnion<Tag, Members>;
5243
5256
  /**
5244
5257
  * Type-level representation returned by {@link TaggedUnion}.
5245
5258
  *