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
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerAddress.js","names":["Equal","Hash","NodeInspectSymbol","PrimaryKey","Schema","TypeId","RunnerAddress","Class","host","String","port","Number","symbol","that","string","toString","make","disableChecks"],"sources":["../../../src/unstable/cluster/RunnerAddress.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;AAQA,OAAO,KAAKA,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAKC,IAAI,MAAM,eAAe;AACrC,SAASC,iBAAiB,QAAQ,sBAAsB;AACxD,OAAO,KAAKC,UAAU,MAAM,qBAAqB;AACjD,OAAO,KAAKC,MAAM,MAAM,iBAAiB;AAEzC,MAAMC,MAAM,GAAG,+BAA+B;AAE9C;;;;;;;;;;;;AAYA,OAAM,MAAOC,aAAc,sBAAQF,MAAM,CAACG,KAAK,CAAgBF,MAAM,CAAC,CAAC;EACrEG,IAAI,EAAEJ,MAAM,CAACK,MAAM;EACnBC,IAAI,EAAEN,MAAM,CAACO;CACd,CAAC;EACA;;;;;EAKS,CAACN,MAAM,IAAIA,MAAM;EAE1B;;;;;EAKA,CAACL,KAAK,CAACY,MAAM,EAAEC,IAAmB;IAChC,OAAO,IAAI,CAACL,IAAI,KAAKK,IAAI,CAACL,IAAI,IAAI,IAAI,CAACE,IAAI,KAAKG,IAAI,CAACH,IAAI;EAC3D;EAEA;;;;;EAKA,CAACT,IAAI,CAACW,MAAM,IAAC;IACX,OAAOX,IAAI,CAACa,MAAM,CAAC,GAAG,IAAI,CAACN,IAAI,IAAI,IAAI,CAACE,IAAI,EAAE,CAAC;EACjD;EAEA;;;;;EAKA,CAACP,UAAU,CAACS,MAAM,IAAC;IACjB,OAAO,GAAG,IAAI,CAACJ,IAAI,IAAI,IAAI,CAACE,IAAI,EAAE;EACpC;EAEA;;;;;EAKSK,QAAQA,CAAA;IACf,OAAO,iBAAiB,IAAI,CAACP,IAAI,IAAI,IAAI,CAACE,IAAI,GAAG;EACnD;EAEA;;;;;EAKA,CAACR,iBAAiB,IAAC;IACjB,OAAO,IAAI,CAACa,QAAQ,EAAE;EACxB;;AAGF;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,OAAO,MAAMC,IAAI,GAAGA,CAACR,IAAY,EAAEE,IAAY,KAC7C,IAAIJ,aAAa,CAAC;EAAEE,IAAI;EAAEE;AAAI,CAAE,EAAE;EAAEO,aAAa,EAAE;AAAI,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"RunnerAddress.js","names":["Equal","Hash","NodeInspectSymbol","PrimaryKey","Schema","TypeId","RunnerAddress","Class","host","String","port","Int","symbol","that","string","toString","make","disableChecks"],"sources":["../../../src/unstable/cluster/RunnerAddress.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;AAQA,OAAO,KAAKA,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAKC,IAAI,MAAM,eAAe;AACrC,SAASC,iBAAiB,QAAQ,sBAAsB;AACxD,OAAO,KAAKC,UAAU,MAAM,qBAAqB;AACjD,OAAO,KAAKC,MAAM,MAAM,iBAAiB;AAEzC,MAAMC,MAAM,GAAG,+BAA+B;AAE9C;;;;;;;;;;;;AAYA,OAAM,MAAOC,aAAc,sBAAQF,MAAM,CAACG,KAAK,CAAgBF,MAAM,CAAC,CAAC;EACrEG,IAAI,EAAEJ,MAAM,CAACK,MAAM;EACnBC,IAAI,EAAEN,MAAM,CAACO;CACd,CAAC;EACA;;;;;EAKS,CAACN,MAAM,IAAIA,MAAM;EAE1B;;;;;EAKA,CAACL,KAAK,CAACY,MAAM,EAAEC,IAAmB;IAChC,OAAO,IAAI,CAACL,IAAI,KAAKK,IAAI,CAACL,IAAI,IAAI,IAAI,CAACE,IAAI,KAAKG,IAAI,CAACH,IAAI;EAC3D;EAEA;;;;;EAKA,CAACT,IAAI,CAACW,MAAM,IAAC;IACX,OAAOX,IAAI,CAACa,MAAM,CAAC,GAAG,IAAI,CAACN,IAAI,IAAI,IAAI,CAACE,IAAI,EAAE,CAAC;EACjD;EAEA;;;;;EAKA,CAACP,UAAU,CAACS,MAAM,IAAC;IACjB,OAAO,GAAG,IAAI,CAACJ,IAAI,IAAI,IAAI,CAACE,IAAI,EAAE;EACpC;EAEA;;;;;EAKSK,QAAQA,CAAA;IACf,OAAO,iBAAiB,IAAI,CAACP,IAAI,IAAI,IAAI,CAACE,IAAI,GAAG;EACnD;EAEA;;;;;EAKA,CAACR,iBAAiB,IAAC;IACjB,OAAO,IAAI,CAACa,QAAQ,EAAE;EACxB;;AAGF;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,OAAO,MAAMC,IAAI,GAAGA,CAACR,IAAY,EAAEE,IAAY,KAC7C,IAAIJ,aAAa,CAAC;EAAEE,IAAI;EAAEE;AAAI,CAAE,EAAE;EAAEO,aAAa,EAAE;AAAI,CAAE,CAAC","ignoreList":[]}
@@ -31,7 +31,7 @@ export const isShardId = u => hasProperty(u, TypeId);
31
31
  export const ShardId = /*#__PURE__*/S.declare(isShardId, {
32
32
  toCodecJson: () => S.link()(S.Struct({
33
33
  group: S.String,
34
- id: S.Number
34
+ id: S.Int
35
35
  }), {
36
36
  decode: SchemaGetter.transform(({
37
37
  group,
@@ -1 +1 @@
1
- {"version":3,"file":"ShardId.js","names":["Equal","Hash","hasProperty","PrimaryKey","S","SchemaGetter","TypeId","isShardId","u","ShardId","declare","toCodecJson","link","Struct","group","String","id","Number","decode","transform","make","encode","passthrough","key","shardId","shardIdCache","get","makeProto","set","Map","self","Object","create","ShardIdProto","symbol","that","string","toString","fromStringEncoded","s","index","lastIndexOf","Error","substring","isNaN","fromString","encoded"],"sources":["../../../src/unstable/cluster/ShardId.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ShardId.js","names":["Equal","Hash","hasProperty","PrimaryKey","S","SchemaGetter","TypeId","isShardId","u","ShardId","declare","toCodecJson","link","Struct","group","String","id","Int","decode","transform","make","encode","passthrough","key","shardId","shardIdCache","get","makeProto","set","Map","self","Object","create","ShardIdProto","symbol","that","string","toString","fromStringEncoded","s","index","lastIndexOf","Error","substring","Number","isNaN","fromString","encoded"],"sources":["../../../src/unstable/cluster/ShardId.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;AASA,OAAO,KAAKA,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAKC,IAAI,MAAM,eAAe;AACrC,SAASC,WAAW,QAAQ,oBAAoB;AAChD,OAAO,KAAKC,UAAU,MAAM,qBAAqB;AACjD,OAAO,KAAKC,CAAC,MAAM,iBAAiB;AACpC,OAAO,KAAKC,YAAY,MAAM,uBAAuB;AAErD,MAAMC,MAAM,GAAG,yBAAyB;AAexC;;;;;;AAMA,OAAO,MAAMC,SAAS,GAAIC,CAAU,IAAmBN,WAAW,CAACM,CAAC,EAAEF,MAAM,CAAC;AAE7E;;;;;;;AAOA,OAAO,MAAMG,OAAO,gBAAGL,CAAC,CAACM,OAAO,CAACH,SAAS,EAAE;EAC1CI,WAAW,EAAEA,CAAA,KACXP,CAAC,CAACQ,IAAI,EAAW,CACfR,CAAC,CAACS,MAAM,CAAC;IACPC,KAAK,EAAEV,CAAC,CAACW,MAAM;IACfC,EAAE,EAAEZ,CAAC,CAACa;GACP,CAAC,EACF;IACEC,MAAM,EAAEb,YAAY,CAACc,SAAS,CAAC,CAAC;MAAEL,KAAK;MAAEE;IAAE,CAAE,KAAKI,IAAI,CAACN,KAAK,EAAEE,EAAE,CAAC,CAAC;IAClEK,MAAM,EAAEhB,YAAY,CAACiB,WAAW;GACjC;CAEN,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,OAAO,MAAMF,IAAI,GAAGA,CAACN,KAAa,EAAEE,EAAU,KAAa;EACzD,MAAMO,GAAG,GAAG,GAAGT,KAAK,IAAIE,EAAE,EAAE;EAC5B,IAAIQ,OAAO,GAAGC,YAAY,CAACC,GAAG,CAACH,GAAG,CAAC;EACnC,IAAI,CAACC,OAAO,EAAE;IACZA,OAAO,GAAGG,SAAS,CAACb,KAAK,EAAEE,EAAE,CAAC;IAC9BS,YAAY,CAACG,GAAG,CAACL,GAAG,EAAEC,OAAO,CAAC;EAChC;EACA,OAAOA,OAAO;AAChB,CAAC;AAED,MAAMC,YAAY,gBAAG,IAAII,GAAG,EAAmB;AAE/C,MAAMF,SAAS,GAAGA,CAACb,KAAa,EAAEE,EAAU,KAAa;EACvD,MAAMc,IAAI,GAAGC,MAAM,CAACC,MAAM,CAACC,YAAY,CAAC;EACxCH,IAAI,CAAChB,KAAK,GAAGA,KAAK;EAClBgB,IAAI,CAACd,EAAE,GAAGA,EAAE;EACZ,OAAOc,IAAI;AACb,CAAC;AAED,MAAMG,YAAY,GAAG;EACnB,CAAC3B,MAAM,GAAGA,MAAM;EAChB,CAACN,KAAK,CAACkC,MAAM,EAAiBC,IAAa;IACzC,OAAO,IAAI,CAACrB,KAAK,KAAKqB,IAAI,CAACrB,KAAK,IAAI,IAAI,CAACE,EAAE,KAAKmB,IAAI,CAACnB,EAAE;EACzD,CAAC;EACD,CAACf,IAAI,CAACiC,MAAM,IAAC;IACX,OAAOjC,IAAI,CAACmC,MAAM,CAAC,IAAI,CAACC,QAAQ,EAAE,CAAC;EACrC,CAAC;EACD,CAAClC,UAAU,CAAC+B,MAAM,IAAC;IACjB,OAAO,IAAI,CAACG,QAAQ,EAAE;EACxB,CAAC;EACDA,QAAQA,CAAA;IACN,OAAO,GAAG,IAAI,CAACvB,KAAK,IAAI,IAAI,CAACE,EAAE,EAAE;EACnC;CACD;AAED;;;;;;AAMA,OAAO,MAAMqB,QAAQ,GAAIb,OAGxB,IAAY;EACX,OAAO,GAAGA,OAAO,CAACV,KAAK,IAAIU,OAAO,CAACR,EAAE,EAAE;AACzC,CAAC;AACD;;;;;;;;;;;AAWA,OAAM,SAAUsB,iBAAiBA,CAACC,CAAS;EAIzC,MAAMC,KAAK,GAAGD,CAAC,CAACE,WAAW,CAAC,GAAG,CAAC;EAChC,IAAID,KAAK,KAAK,CAAC,CAAC,EAAE;IAChB,MAAM,IAAIE,KAAK,CAAC,wBAAwB,CAAC;EAC3C;EACA,MAAM5B,KAAK,GAAGyB,CAAC,CAACI,SAAS,CAAC,CAAC,EAAEH,KAAK,CAAC;EACnC,MAAMxB,EAAE,GAAG4B,MAAM,CAACL,CAAC,CAACI,SAAS,CAACH,KAAK,GAAG,CAAC,CAAC,CAAC;EACzC,IAAIK,KAAK,CAAC7B,EAAE,CAAC,EAAE;IACb,MAAM,IAAI0B,KAAK,CAAC,6BAA6B,CAAC;EAChD;EACA,OAAO;IAAE5B,KAAK;IAAEE;EAAE,CAAE;AACtB;AAEA;;;;;;;;;;;AAWA,OAAM,SAAU8B,UAAUA,CAACP,CAAS;EAClC,MAAMQ,OAAO,GAAGT,iBAAiB,CAACC,CAAC,CAAC;EACpC,OAAOnB,IAAI,CAAC2B,OAAO,CAACjC,KAAK,EAAEiC,OAAO,CAAC/B,EAAE,CAAC;AACxC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Sharding.d.ts","sourceRoot":"","sources":["../../../src/unstable/cluster/Sharding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sharding.d.ts","sourceRoot":"","sources":["../../../src/unstable/cluster/Sharding.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ import * as Fiber from "../../Fiber.js";
21
21
  import * as FiberMap from "../../FiberMap.js";
22
22
  import { constant, flow } from "../../Function.js";
23
23
  import * as HashRing from "../../HashRing.js";
24
+ import * as InternalRecord from "../../internal/record.js";
24
25
  import * as Latch from "../../Latch.js";
25
26
  import * as Layer from "../../Layer.js";
26
27
  import * as MutableHashMap from "../../MutableHashMap.js";
@@ -47,6 +48,7 @@ import { EntityReaper } from "./internal/entityReaper.js";
47
48
  import { hashString } from "./internal/hash.js";
48
49
  import { internalInterruptors } from "./internal/interruptors.js";
49
50
  import { ResourceMap } from "./internal/resourceMap.js";
51
+ import { effectiveInterval } from "./internal/shardLock.js";
50
52
  import * as Message from "./Message.js";
51
53
  import * as MessageStorage from "./MessageStorage.js";
52
54
  import * as Reply from "./Reply.js";
@@ -75,6 +77,7 @@ import * as Snowflake from "./Snowflake.js";
75
77
  export class Sharding extends /*#__PURE__*/Context.Service()("effect/cluster/Sharding") {}
76
78
  const make = /*#__PURE__*/Effect.gen(function* () {
77
79
  const config = yield* ShardingConfig;
80
+ const shardLockInterval = effectiveInterval(config);
78
81
  const shardGroups = shardGroupConfig(config);
79
82
  const getRunnerAddress = () => Option.getOrUndefined(config.runnerAddress);
80
83
  const clock = yield* Clock;
@@ -91,6 +94,8 @@ const make = /*#__PURE__*/Effect.gen(function* () {
91
94
  const entityManagers = new Map();
92
95
  const shardAssignments = MutableHashMap.empty();
93
96
  const selfShards = MutableHashSet.empty();
97
+ // open while shard lock storage is healthy
98
+ const shardLocksHealthyLatch = Latch.makeUnsafe(true);
94
99
  // the active shards are the ones that we have acquired the lock for
95
100
  const acquiredShards = MutableHashSet.empty();
96
101
  const activeShardsLatch = yield* Latch.make(false);
@@ -117,6 +122,9 @@ const make = /*#__PURE__*/Effect.gen(function* () {
117
122
  // This should be shutdown last, when all entities have been shutdown, to
118
123
  // allow them to move to another runner.
119
124
  const releasingShards = MutableHashSet.empty();
125
+ // Shards whose entities must be force interrupted and locks fully released
126
+ // before normal reacquisition.
127
+ const forceReleasingShards = MutableHashSet.empty();
120
128
  const initialRunnerAddress = getRunnerAddress();
121
129
  if (initialRunnerAddress) {
122
130
  const selfAddress = initialRunnerAddress;
@@ -125,26 +133,66 @@ const make = /*#__PURE__*/Effect.gen(function* () {
125
133
  return Effect.ignore(runnerStorage.releaseAll(selfAddress));
126
134
  });
127
135
  const releaseShardsMap = yield* FiberMap.make();
128
- const releaseShard = Effect.fnUntraced(function* (shardId) {
136
+ let forcedShardReleaseRunning = false;
137
+ // Interrupt the shards' entities, wait for lock health, run the storage
138
+ // release, then clear the shards' bookkeeping.
139
+ const runShardRelease = Effect.fnUntraced(function* (shardIds, force, release) {
129
140
  const fibers = Arr.empty();
130
- for (const state of entityManagers.values()) {
131
- if (state.status === "closed") continue;
132
- fibers.push(yield* Effect.forkScoped(state.manager.interruptShard(shardId)));
141
+ for (const shardId of shardIds) {
142
+ for (const state of entityManagers.values()) {
143
+ if (state.status === "closed") continue;
144
+ fibers.push(yield* Effect.forkScoped(state.manager.interruptShard(shardId, {
145
+ force
146
+ })));
147
+ }
133
148
  }
134
149
  yield* Fiber.joinAll(fibers);
135
- yield* runnerStorage.release(selfAddress, shardId);
136
- MutableHashSet.remove(releasingShards, shardId);
137
- yield* storage.unregisterShardReplyHandlers(shardId);
138
- }, Effect.sandbox, (effect, shardId) => effect.pipe(Effect.tapError(cause => Effect.logDebug(`Could not release shard, retrying`, cause).pipe(Effect.annotateLogs({
150
+ yield* shardLocksHealthyLatch.await;
151
+ yield* release;
152
+ for (const shardId of shardIds) {
153
+ MutableHashSet.remove(releasingShards, shardId);
154
+ MutableHashSet.remove(forceReleasingShards, shardId);
155
+ yield* storage.unregisterShardReplyHandlers(shardId);
156
+ }
157
+ });
158
+ const retryShardRelease = annotations => effect => effect.pipe(Effect.sandbox, Effect.tapError(cause => Effect.logDebug(`Could not release shards, retrying`, cause).pipe(Effect.annotateLogs({
139
159
  module: "effect/cluster/Sharding",
140
- fiber: "releaseShard",
141
160
  runner: selfAddress,
161
+ ...annotations
162
+ }),
163
+ // Effect.eventually retries immediately, so space failures to
164
+ // avoid hot-looping while storage is unavailable.
165
+ Effect.andThen(Effect.sleep(50)))), Effect.eventually);
166
+ const releaseShard = Effect.fnUntraced(function* (shardId) {
167
+ yield* runShardRelease([shardId], MutableHashSet.has(forceReleasingShards, shardId), runnerStorage.release(selfAddress, shardId));
168
+ }, (effect, shardId) => effect.pipe(retryShardRelease({
169
+ fiber: "releaseShard",
142
170
  shardId
143
- }))), Effect.eventually, FiberMap.run(releaseShardsMap, shardId, {
171
+ }), FiberMap.run(releaseShardsMap, shardId, {
144
172
  onlyIfMissing: true
145
173
  })));
174
+ // The forced release ends with `runnerStorage.releaseAll`, which drops
175
+ // every lock held by this runner. Shards must not be reacquired through the
176
+ // normal path while it is pending, otherwise the bulk release wipes a lock
177
+ // the runner already considers acquired.
178
+ const forcedShardReleasePending = () => forcedShardReleaseRunning || MutableHashSet.size(forceReleasingShards) > 0;
179
+ const releaseForcedShards = Effect.suspend(() => {
180
+ if (forcedShardReleaseRunning || MutableHashSet.size(forceReleasingShards) === 0) {
181
+ return Effect.void;
182
+ }
183
+ forcedShardReleaseRunning = true;
184
+ const shardIds = [...forceReleasingShards];
185
+ return runShardRelease(shardIds, true, runnerStorage.releaseAll(selfAddress)).pipe(retryShardRelease({
186
+ fiber: "releaseForcedShards"
187
+ }), Effect.ensuring(Effect.sync(() => {
188
+ forcedShardReleaseRunning = false;
189
+ activeShardsLatch.openUnsafe();
190
+ })), Effect.forkIn(shardingScope), Effect.asVoid);
191
+ });
146
192
  const releaseShards = Effect.gen(function* () {
193
+ yield* releaseForcedShards;
147
194
  for (const shardId of releasingShards) {
195
+ if (MutableHashSet.has(forceReleasingShards, shardId)) continue;
148
196
  if (FiberMap.hasUnsafe(releaseShardsMap, shardId)) continue;
149
197
  yield* releaseShard(shardId);
150
198
  }
@@ -160,10 +208,18 @@ const make = /*#__PURE__*/Effect.gen(function* () {
160
208
  MutableHashSet.remove(acquiredShards, shardId);
161
209
  MutableHashSet.add(releasingShards, shardId);
162
210
  }
163
- if (MutableHashSet.size(releasingShards) > 0) {
211
+ if (MutableHashSet.size(releasingShards) > 0 || MutableHashSet.size(forceReleasingShards) > 0) {
164
212
  yield* Effect.forkIn(syncSingletons, shardingScope);
165
213
  yield* releaseShards;
166
214
  }
215
+ if (!shardLocksHealthyLatch.isOpen()) {
216
+ continue;
217
+ }
218
+ // Wait for the pending bulk release before reacquiring, so it cannot
219
+ // drop a lock acquired here. `releaseForcedShards` reopens the latch.
220
+ if (forcedShardReleasePending()) {
221
+ continue;
222
+ }
167
223
  // if a shard has been assigned to this runner, we acquire it
168
224
  const unacquiredShards = MutableHashSet.empty();
169
225
  for (const shardId of selfShards) {
@@ -173,15 +229,19 @@ const make = /*#__PURE__*/Effect.gen(function* () {
173
229
  if (MutableHashSet.size(unacquiredShards) === 0) {
174
230
  continue;
175
231
  }
176
- const oacquired = yield* runnerStorage.acquire(selfAddress, unacquiredShards).pipe(Effect.timeoutOption(config.shardLockRefreshInterval));
232
+ const oacquired = yield* runnerStorage.acquire(selfAddress, unacquiredShards).pipe(Effect.timeoutOption(shardLockInterval));
177
233
  if (Option.isNone(oacquired)) {
178
234
  activeShardsLatch.openUnsafe();
179
235
  continue;
180
236
  }
181
237
  const acquired = oacquired.value;
182
- yield* storage.resetShards(acquired).pipe(Effect.ignore, Effect.timeoutOption(config.shardLockRefreshInterval));
238
+ yield* storage.resetShards(acquired).pipe(Effect.ignore, Effect.timeoutOption(shardLockInterval));
239
+ // A forced release can start while `acquire` is in flight, so re-check
240
+ // it here as well as before acquiring.
241
+ const forcedReleasePending = forcedShardReleasePending();
183
242
  for (const shardId of acquired) {
184
- if (MutableHashSet.has(releasingShards, shardId) || !MutableHashSet.has(selfShards, shardId)) {
243
+ if (!shardLocksHealthyLatch.isOpen() || forcedReleasePending || MutableHashSet.has(releasingShards, shardId) || !MutableHashSet.has(selfShards, shardId)) {
244
+ MutableHashSet.add(releasingShards, shardId);
185
245
  continue;
186
246
  }
187
247
  MutableHashSet.add(acquiredShards, shardId);
@@ -200,8 +260,47 @@ const make = /*#__PURE__*/Effect.gen(function* () {
200
260
  fiber: "Shard acquisition loop",
201
261
  runner: selfAddress
202
262
  }), Effect.forkIn(shardingScope));
203
- // refresh the shard locks every `shardLockRefreshInterval`
204
- yield* Effect.suspend(() => runnerStorage.refresh(selfAddress, [...acquiredShards, ...releasingShards])).pipe(Effect.flatMap(acquired => {
263
+ const markShardLocksUnhealthy = cause => Effect.suspend(() => {
264
+ if (!shardLocksHealthyLatch.closeUnsafe()) return Effect.void;
265
+ const affectedShards = MutableHashSet.fromIterable([...acquiredShards, ...releasingShards]);
266
+ MutableHashSet.clear(selfShards);
267
+ MutableHashSet.clear(acquiredShards);
268
+ for (const shardId of affectedShards) {
269
+ MutableHashSet.add(releasingShards, shardId);
270
+ MutableHashSet.add(forceReleasingShards, shardId);
271
+ }
272
+ ClusterMetrics.shards.updateUnsafe(BigInt(0), Context.empty());
273
+ activeShardsLatch.openUnsafe();
274
+ return Effect.gen(function* () {
275
+ yield* Effect.logError("Shard lock storage is unhealthy", cause);
276
+ yield* Effect.forkIn(syncSingletons, shardingScope, {
277
+ startImmediately: true
278
+ });
279
+ for (const shardId of affectedShards) {
280
+ for (const state of entityManagers.values()) {
281
+ if (state.status === "closed") continue;
282
+ yield* Effect.forkIn(state.manager.interruptShard(shardId, {
283
+ force: true
284
+ }), shardingScope, {
285
+ startImmediately: true
286
+ });
287
+ }
288
+ }
289
+ activeShardsLatch.openUnsafe();
290
+ });
291
+ });
292
+ const markShardLocksHealthy = Effect.suspend(() => {
293
+ if (!shardLocksHealthyLatch.openUnsafe()) return Effect.void;
294
+ MutableHashSet.clear(selfShards);
295
+ MutableHashMap.forEach(shardAssignments, (runner, shardId) => {
296
+ if (isLocalRunner(runner)) {
297
+ MutableHashSet.add(selfShards, shardId);
298
+ }
299
+ });
300
+ activeShardsLatch.openUnsafe();
301
+ return Effect.logInfo("Shard lock storage has recovered");
302
+ });
303
+ const refreshShardLocks = Effect.suspend(() => runnerStorage.refresh(selfAddress, [...acquiredShards, ...releasingShards])).pipe(Effect.flatMap(acquired => {
205
304
  for (const shardId of acquiredShards) {
206
305
  if (!acquired.includes(shardId)) {
207
306
  MutableHashSet.remove(acquiredShards, shardId);
@@ -219,14 +318,14 @@ const make = /*#__PURE__*/Effect.gen(function* () {
219
318
  }), Effect.retry({
220
319
  times: 5,
221
320
  schedule: Schedule.spaced(50)
222
- }), Effect.catchCause(cause => Effect.logError("Could not refresh shard locks", cause).pipe(Effect.andThen(clearSelfShards))), Effect.repeat(Schedule.fixed(config.shardLockRefreshInterval)), Effect.forever, Effect.forkIn(shardingScope));
321
+ }), Effect.timeout(shardLockInterval), Effect.catchCause(markShardLocksUnhealthy));
322
+ const probeShardLocks = runnerStorage.refresh(selfAddress, []).pipe(Effect.timeout(shardLockInterval), Effect.andThen(markShardLocksHealthy), Effect.catchCause(() => Effect.void));
323
+ // Refresh shard locks at the lease-safe interval, or probe storage while
324
+ // lock ownership is uncertain.
325
+ yield* Effect.suspend(() => shardLocksHealthyLatch.isOpen() ? refreshShardLocks : probeShardLocks).pipe(Effect.repeat(Schedule.fixed(shardLockInterval)), Effect.forever, Effect.forkIn(shardingScope));
223
326
  // open the shard latch every poll interval
224
327
  yield* activeShardsLatch.open.pipe(Effect.delay(config.entityMessagePollInterval), Effect.forever, Effect.forkIn(shardingScope));
225
328
  }
226
- const clearSelfShards = Effect.sync(() => {
227
- MutableHashSet.clear(selfShards);
228
- activeShardsLatch.openUnsafe();
229
- });
230
329
  // --- Storage inbox ---
231
330
  //
232
331
  // Responsible for reading unprocessed messages from storage and sending them
@@ -656,7 +755,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
656
755
  if (newAssignments) {
657
756
  const runner = newAssignments[i];
658
757
  MutableHashMap.set(shardAssignments, shard, runner);
659
- if (isLocalRunner(runner)) {
758
+ if (shardLocksHealthyLatch.isOpen() && isLocalRunner(runner)) {
660
759
  MutableHashSet.add(selfShards, shard);
661
760
  }
662
761
  } else {
@@ -799,12 +898,14 @@ const make = /*#__PURE__*/Effect.gen(function* () {
799
898
  return entity.protocol.requests.has(p);
800
899
  },
801
900
  get(target, p) {
802
- if (p in target) {
901
+ if (Object.hasOwn(target, p)) {
803
902
  return target[p];
804
903
  } else if (!entity.protocol.requests.has(p)) {
805
904
  return undefined;
806
905
  }
807
- return target[p] = (payload, options) => clientFn(p, payload, options);
906
+ const method = (payload, options) => clientFn(p, payload, options);
907
+ InternalRecord.assignProperty(target, p, method);
908
+ return method;
808
909
  }
809
910
  });
810
911
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Sharding.js","names":["Arr","Cause","Clock","Context","Duration","Effect","Equal","Fiber","FiberMap","constant","flow","HashRing","Latch","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","PubSub","CurrentLogAnnotations","Result","Schedule","Scope","Semaphore","Stream","RpcClient","AlreadyProcessingMessage","EntityNotAssignedToRunner","ClusterMetrics","Persisted","ClusterSchema","make","makeEntityAddress","makeEntityId","Envelope","EntityManager","EntityReaper","hashString","internalInterruptors","ResourceMap","Message","MessageStorage","Reply","Runner","RunnerHealth","Runners","RunnerStorage","makeShardId","shardGroupConfig","ShardingConfig","EntityRegistered","SingletonRegistered","SingletonAddress","Snowflake","Sharding","Service","gen","config","shardGroups","getRunnerAddress","getOrUndefined","runnerAddress","clock","runnersService","runnerHealth","snowflakeGen","Generator","shardingScope","scope","isShutdown","services","omit","context","runFork","runForkWith","runIn","storage","storageEnabled","noop","runnerStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","undefined","equals","getShardId","entityId","group","id","Math","abs","shardsPerGroup","isEntityOnLocalShards","has","shardId","addFinalizer","logDebug","pipe","annotateLogs","module","releasingShards","initialRunnerAddress","selfAddress","addFinalizerExit","ignore","releaseAll","releaseShardsMap","releaseShard","fnUntraced","fibers","state","values","status","push","forkScoped","manager","interruptShard","joinAll","release","remove","unregisterShardReplyHandlers","sandbox","effect","tapError","cause","fiber","runner","eventually","run","onlyIfMissing","releaseShards","hasUnsafe","openUnsafe","await","closeUnsafe","add","size","forkIn","syncSingletons","unacquiredShards","oacquired","acquire","timeoutOption","shardLockRefreshInterval","isNone","acquired","value","resetShards","length","storageReadLatch","open","shards","updateUnsafe","BigInt","sleep","catchCause","logWarning","repeat","spaced","entityMessagePollInterval","suspend","refresh","flatMap","includes","i","void","retry","times","schedule","logError","andThen","clearSelfShards","fixed","forever","delay","sync","clear","openStorageReadLatch","asVoid","storageReadLock","makeUnsafe","withStorageReadLock","withPermits","entityRegistrationTimeoutMillis","toMillis","fromInputUnsafe","entityRegistrationTimeout","storageStartMillis","currentTimeMillisUnsafe","index","messages","removableNotifications","Set","resetAddresses","processMessages","whileLoop","while","step","body","send","message","envelope","get","entityType","sinceStart","die","Error","isProcessing","isProcessingFor","_tag","pendingNotifications","requestId","entry","delete","resume","resumptionState","entityResumptionState","isSome","unprocessed","interrupts","set","error","findError","isFailure","hasInterrupts","saveReply","ReplyWithContext","fromDefect","nextUnsafe","defect","squash","success","resumeEntityFromStorage","take","forEach","clearProcessed","unprocessedMessages","fail","resetAddress","scoped","ensuring","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","unprocessedMessagesById","sendWithRetry","catchTags","interrupt","MailboxFull","sendRetryInterval","e","entity","sendLocal","loop","waitForEntityManager","simulateRemoteSerialization","notifyLocal","discard","options","isLocal","notify","excludeReplies","envelopeId","waitUntilRead","callback","prevResume","storageOnly","sendOutgoing","retries","catchFilter","isPersisted","annotations","rpc","maybeRunner","runnerIsLocal","succeed","reset","matchCause","clearReplies","onSuccess","onFailure","selfRunner","groups","Array","from","assigned","weight","runnerShardWeight","allRunners","healthyRunnerCount","runners","runnersHealthy","hashRings","nextRunners","healthyRunners","withTimeout","timeout","seconds","current","machineId","register","setMachineId","getRunners","changed","healthy","wasHealthy","j","ring","_","onRunnerUnavailable","prevRunners","newAssignments","getShards","shard","setRunnerHealth","refreshAssignmentsInterval","clientRequests","clients","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","flatten","onFromClient","getUnsafe","ClientAddressTag","getCurrent","requests","tag","respond","makeRequest","payload","headers","traceId","spanId","sampled","OutgoingRequest","lastReceivedReply","none","reply","Dynamic","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingEnvelope","AckChunk","replyId","lastChunkId","isUninterruptibleForClient","isTransientInterrupt","interruptors","some","Interrupt","withFiber","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","referential","makeClient","_reply","clientId","exit","singletons","singletonFibers","withSingletonLock","registerSingleton","name","shardGroup","map","wrappedRun","never","provideService","provideContext","orDie","interruptible","publish","running","shouldBeRunning","fiberId","reaper","entityManagerLatches","registerEntity","build","sharding","mutate","preemptiveShutdown","shutdown","latch","checkRunner","isAlive","concurrency","runnerHealthCheckInterval","unregister","activeEntityCount","count","of","hasShardId","getSnowflake","pollStorage","layer","provide","layerGenerator"],"sources":["../../../src/unstable/cluster/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Sharding.js","names":["Arr","Cause","Clock","Context","Duration","Effect","Equal","Fiber","FiberMap","constant","flow","HashRing","InternalRecord","Latch","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","PubSub","CurrentLogAnnotations","Result","Schedule","Scope","Semaphore","Stream","RpcClient","AlreadyProcessingMessage","EntityNotAssignedToRunner","ClusterMetrics","Persisted","ClusterSchema","make","makeEntityAddress","makeEntityId","Envelope","EntityManager","EntityReaper","hashString","internalInterruptors","ResourceMap","effectiveInterval","Message","MessageStorage","Reply","Runner","RunnerHealth","Runners","RunnerStorage","makeShardId","shardGroupConfig","ShardingConfig","EntityRegistered","SingletonRegistered","SingletonAddress","Snowflake","Sharding","Service","gen","config","shardLockInterval","shardGroups","getRunnerAddress","getOrUndefined","runnerAddress","clock","runnersService","runnerHealth","snowflakeGen","Generator","shardingScope","scope","isShutdown","services","omit","context","runFork","runForkWith","runIn","storage","storageEnabled","noop","runnerStorage","entityManagers","Map","shardAssignments","empty","selfShards","shardLocksHealthyLatch","makeUnsafe","acquiredShards","activeShardsLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","undefined","equals","getShardId","entityId","group","id","Math","abs","shardsPerGroup","isEntityOnLocalShards","has","shardId","addFinalizer","logDebug","pipe","annotateLogs","module","releasingShards","forceReleasingShards","initialRunnerAddress","selfAddress","addFinalizerExit","ignore","releaseAll","releaseShardsMap","forcedShardReleaseRunning","runShardRelease","fnUntraced","shardIds","force","release","fibers","state","values","status","push","forkScoped","manager","interruptShard","joinAll","await","remove","unregisterShardReplyHandlers","retryShardRelease","annotations","effect","sandbox","tapError","cause","runner","andThen","sleep","eventually","releaseShard","fiber","run","onlyIfMissing","forcedShardReleasePending","size","releaseForcedShards","suspend","void","ensuring","sync","openUnsafe","forkIn","asVoid","releaseShards","hasUnsafe","closeUnsafe","add","syncSingletons","isOpen","unacquiredShards","oacquired","acquire","timeoutOption","isNone","acquired","value","resetShards","forcedReleasePending","length","storageReadLatch","open","shards","updateUnsafe","BigInt","catchCause","logWarning","repeat","spaced","entityMessagePollInterval","markShardLocksUnhealthy","affectedShards","fromIterable","clear","logError","startImmediately","markShardLocksHealthy","forEach","logInfo","refreshShardLocks","refresh","flatMap","includes","i","retry","times","schedule","timeout","probeShardLocks","fixed","forever","delay","openStorageReadLatch","storageReadLock","withStorageReadLock","withPermits","entityRegistrationTimeoutMillis","toMillis","fromInputUnsafe","entityRegistrationTimeout","storageStartMillis","currentTimeMillisUnsafe","index","messages","removableNotifications","Set","resetAddresses","processMessages","whileLoop","while","step","body","send","message","envelope","get","entityType","sinceStart","die","Error","isProcessing","isProcessingFor","_tag","pendingNotifications","requestId","entry","delete","resume","resumptionState","entityResumptionState","isSome","unprocessed","interrupts","set","error","findError","isFailure","hasInterrupts","saveReply","ReplyWithContext","fromDefect","nextUnsafe","defect","squash","success","resumeEntityFromStorage","take","clearProcessed","unprocessedMessages","fail","resetAddress","scoped","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","unprocessedMessagesById","sendWithRetry","catchTags","interrupt","MailboxFull","sendRetryInterval","e","entity","sendLocal","loop","waitForEntityManager","simulateRemoteSerialization","notifyLocal","discard","options","isLocal","notify","excludeReplies","envelopeId","waitUntilRead","callback","prevResume","storageOnly","sendOutgoing","retries","catchFilter","isPersisted","rpc","maybeRunner","runnerIsLocal","succeed","reset","matchCause","clearReplies","onSuccess","onFailure","selfRunner","groups","Array","from","assigned","weight","runnerShardWeight","allRunners","healthyRunnerCount","runners","runnersHealthy","hashRings","nextRunners","healthyRunners","withTimeout","seconds","current","machineId","register","setMachineId","getRunners","changed","healthy","wasHealthy","j","ring","_","onRunnerUnavailable","prevRunners","newAssignments","getShards","shard","setRunnerHealth","refreshAssignmentsInterval","clientRequests","clients","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","flatten","onFromClient","getUnsafe","ClientAddressTag","getCurrent","requests","tag","respond","makeRequest","payload","headers","traceId","spanId","sampled","OutgoingRequest","lastReceivedReply","none","reply","Dynamic","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingEnvelope","AckChunk","replyId","lastChunkId","isUninterruptibleForClient","isTransientInterrupt","interruptors","some","Interrupt","withFiber","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","Object","hasOwn","method","assignProperty","referential","makeClient","_reply","clientId","exit","singletons","singletonFibers","withSingletonLock","registerSingleton","name","shardGroup","map","wrappedRun","never","provideService","provideContext","orDie","interruptible","publish","running","shouldBeRunning","fiberId","reaper","entityManagerLatches","registerEntity","build","sharding","mutate","preemptiveShutdown","shutdown","latch","checkRunner","isAlive","concurrency","runnerHealthCheckInterval","unregister","activeEntityCount","count","of","hasShardId","getSnowflake","pollStorage","layer","provide","layerGenerator"],"sources":["../../../src/unstable/cluster/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -61,7 +61,11 @@ declare const ShardingConfig_base: Context.ServiceClass<ShardingConfig, "effect/
61
61
  */
62
62
  readonly shardsPerGroup: number;
63
63
  /**
64
- * Shard lock refresh interval.
64
+ * The maximum interval between shard lock refreshes.
65
+ *
66
+ * The runner may shorten this interval to one third of
67
+ * `shardLockExpiration` to preserve enough time to stop entities safely if
68
+ * lock storage becomes unavailable.
65
69
  */
66
70
  readonly shardLockRefreshInterval: Duration.Input;
67
71
  /**
@@ -241,7 +245,11 @@ export declare const configFromEnv: Effect.Effect<{
241
245
  */
242
246
  readonly shardsPerGroup: number;
243
247
  /**
244
- * Shard lock refresh interval.
248
+ * The maximum interval between shard lock refreshes.
249
+ *
250
+ * The runner may shorten this interval to one third of
251
+ * `shardLockExpiration` to preserve enough time to stop entities safely if
252
+ * lock storage becomes unavailable.
245
253
  */
246
254
  readonly shardLockRefreshInterval: Duration.Input;
247
255
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ShardingConfig.d.ts","sourceRoot":"","sources":["../../../src/unstable/cluster/ShardingConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAEzC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;;IAShD;;;;;;OAMG;4BACqB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IACpD;;;;OAIG;kCAC2B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IAC1D;;;;;;;;OAQG;gCACyB,MAAM;IAClC;;;;OAIG;mCAC4B,aAAa,CAAC,MAAM,CAAC;IACpD;;;;OAIG;kCAC2B,aAAa,CAAC,MAAM,CAAC;IACnD;;;;OAIG;6BACsB,MAAM;IAC/B;;OAEG;uCACgC,QAAQ,CAAC,KAAK;IACjD;;OAEG;kCAC2B,QAAQ,CAAC,KAAK;IAC5C;;OAEG;uCACgC,OAAO;IAC1C;;;;OAIG;iCAC0B,OAAO;IACpC;;OAEG;oCAC6B,MAAM,GAAG,WAAW;IACpD;;;OAGG;gCACyB,QAAQ,CAAC,KAAK;IAC1C;;;;;OAKG;wCACiC,QAAQ,CAAC,KAAK;IAClD;;;;OAIG;uCACgC,QAAQ,CAAC,KAAK;IACjD;;OAEG;wCACiC,QAAQ,CAAC,KAAK;IAClD;;OAEG;sCAC+B,QAAQ,CAAC,KAAK;IAChD;;;OAGG;yCACkC,QAAQ,CAAC,KAAK;IACnD;;OAEG;gCACyB,QAAQ,CAAC,KAAK;IAC1C;;OAEG;wCACiC,QAAQ,CAAC,KAAK;IAClD;;;OAGG;0CACmC,OAAO;;AAlH/C;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,mBA6GC;CAAG;AAIxC;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,EAAE,cAAc,CAAC,SAAS,CAqB9C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,KAAK,aAAc,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,KAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CACnC,CAAA;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,CAAW,CAAA;AAEjE;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CA8F1D,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa;IAtSxB;;;;;;OAMG;4BACqB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IACpD;;;;OAIG;kCAC2B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IAC1D;;;;;;;;OAQG;gCACyB,MAAM;IAClC;;;;OAIG;mCAC4B,aAAa,CAAC,MAAM,CAAC;IACpD;;;;OAIG;kCAC2B,aAAa,CAAC,MAAM,CAAC;IACnD;;;;OAIG;6BACsB,MAAM;IAC/B;;OAEG;uCACgC,QAAQ,CAAC,KAAK;IACjD;;OAEG;kCAC2B,QAAQ,CAAC,KAAK;IAC5C;;OAEG;uCACgC,OAAO;IAC1C;;;;OAIG;iCAC0B,OAAO;IACpC;;OAEG;oCAC6B,MAAM,GAAG,WAAW;IACpD;;;OAGG;gCACyB,QAAQ,CAAC,KAAK;IAC1C;;;;;OAKG;wCACiC,QAAQ,CAAC,KAAK;IAClD;;;;OAIG;uCACgC,QAAQ,CAAC,KAAK;IACjD;;OAEG;wCACiC,QAAQ,CAAC,KAAK;IAClD;;OAEG;sCAC+B,QAAQ,CAAC,KAAK;IAChD;;;OAGG;yCACkC,QAAQ,CAAC,KAAK;IACnD;;OAEG;gCACyB,QAAQ,CAAC,KAAK;IAC1C;;OAEG;wCACiC,QAAQ,CAAC,KAAK;IAClD;;;OAGG;0CACmC,OAAO;6BAkM9C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,aAAc,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,KAAG,KAAK,CAAC,KAAK,CACjG,cAAc,EACd,MAAM,CAAC,WAAW,CAIjB,CAAA;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,WAAY,cAAc,CAAC,SAAS,CAAC,KAAG;IACnE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACvC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAUvC,CAAA"}
1
+ {"version":3,"file":"ShardingConfig.d.ts","sourceRoot":"","sources":["../../../src/unstable/cluster/ShardingConfig.ts"],"names":[],"mappings":"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"}