effect 4.0.0-beta.67 → 4.0.0-beta.68

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 (1172) hide show
  1. package/dist/Array.d.ts +41 -42
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +23 -23
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +265 -265
  6. package/dist/BigDecimal.js +128 -128
  7. package/dist/BigInt.d.ts +175 -177
  8. package/dist/BigInt.d.ts.map +1 -1
  9. package/dist/BigInt.js +81 -79
  10. package/dist/BigInt.js.map +1 -1
  11. package/dist/Boolean.d.ts +127 -125
  12. package/dist/Boolean.d.ts.map +1 -1
  13. package/dist/Boolean.js +55 -53
  14. package/dist/Boolean.js.map +1 -1
  15. package/dist/Brand.d.ts +10 -4
  16. package/dist/Brand.d.ts.map +1 -1
  17. package/dist/Brand.js +3 -2
  18. package/dist/Brand.js.map +1 -1
  19. package/dist/Cache.d.ts +36 -36
  20. package/dist/Cache.js +17 -17
  21. package/dist/Cause.d.ts +17 -18
  22. package/dist/Cause.d.ts.map +1 -1
  23. package/dist/Cause.js +12 -12
  24. package/dist/Cause.js.map +1 -1
  25. package/dist/Channel.d.ts +234 -241
  26. package/dist/Channel.d.ts.map +1 -1
  27. package/dist/Channel.js +97 -101
  28. package/dist/Channel.js.map +1 -1
  29. package/dist/Chunk.d.ts +33 -56
  30. package/dist/Chunk.d.ts.map +1 -1
  31. package/dist/Chunk.js +17 -26
  32. package/dist/Chunk.js.map +1 -1
  33. package/dist/Clock.d.ts +1 -1
  34. package/dist/Clock.js +1 -1
  35. package/dist/Combiner.d.ts +9 -1
  36. package/dist/Combiner.d.ts.map +1 -1
  37. package/dist/Combiner.js +8 -0
  38. package/dist/Combiner.js.map +1 -1
  39. package/dist/Config.d.ts +78 -68
  40. package/dist/Config.d.ts.map +1 -1
  41. package/dist/Config.js +53 -49
  42. package/dist/Config.js.map +1 -1
  43. package/dist/ConfigProvider.d.ts +33 -32
  44. package/dist/ConfigProvider.d.ts.map +1 -1
  45. package/dist/ConfigProvider.js +19 -18
  46. package/dist/ConfigProvider.js.map +1 -1
  47. package/dist/Console.d.ts +19 -19
  48. package/dist/Console.js +19 -19
  49. package/dist/Context.d.ts +70 -108
  50. package/dist/Context.d.ts.map +1 -1
  51. package/dist/Context.js +30 -44
  52. package/dist/Context.js.map +1 -1
  53. package/dist/Cron.d.ts +3 -5
  54. package/dist/Cron.d.ts.map +1 -1
  55. package/dist/Cron.js +3 -5
  56. package/dist/Cron.js.map +1 -1
  57. package/dist/Crypto.d.ts +208 -0
  58. package/dist/Crypto.d.ts.map +1 -0
  59. package/dist/Crypto.js +157 -0
  60. package/dist/Crypto.js.map +1 -0
  61. package/dist/Data.d.ts +6 -1
  62. package/dist/Data.d.ts.map +1 -1
  63. package/dist/Data.js.map +1 -1
  64. package/dist/DateTime.d.ts +29 -31
  65. package/dist/DateTime.d.ts.map +1 -1
  66. package/dist/DateTime.js +19 -19
  67. package/dist/DateTime.js.map +1 -1
  68. package/dist/Deferred.d.ts +8 -9
  69. package/dist/Deferred.d.ts.map +1 -1
  70. package/dist/Deferred.js +6 -6
  71. package/dist/Deferred.js.map +1 -1
  72. package/dist/Differ.d.ts +2 -2
  73. package/dist/Duration.d.ts +30 -27
  74. package/dist/Duration.d.ts.map +1 -1
  75. package/dist/Duration.js +15 -12
  76. package/dist/Duration.js.map +1 -1
  77. package/dist/Effect.d.ts +394 -652
  78. package/dist/Effect.d.ts.map +1 -1
  79. package/dist/Effect.js +157 -247
  80. package/dist/Effect.js.map +1 -1
  81. package/dist/Effectable.d.ts +2 -2
  82. package/dist/Effectable.js +2 -2
  83. package/dist/Encoding.d.ts +9 -9
  84. package/dist/Encoding.js +9 -9
  85. package/dist/Equal.d.ts +4 -3
  86. package/dist/Equal.d.ts.map +1 -1
  87. package/dist/Equal.js +4 -3
  88. package/dist/Equal.js.map +1 -1
  89. package/dist/Equivalence.d.ts +4 -5
  90. package/dist/Equivalence.d.ts.map +1 -1
  91. package/dist/Equivalence.js +2 -2
  92. package/dist/Equivalence.js.map +1 -1
  93. package/dist/ErrorReporter.d.ts +14 -14
  94. package/dist/ErrorReporter.js +9 -9
  95. package/dist/ExecutionPlan.d.ts +18 -9
  96. package/dist/ExecutionPlan.d.ts.map +1 -1
  97. package/dist/ExecutionPlan.js +6 -4
  98. package/dist/ExecutionPlan.js.map +1 -1
  99. package/dist/Exit.d.ts +0 -1
  100. package/dist/Exit.d.ts.map +1 -1
  101. package/dist/Exit.js.map +1 -1
  102. package/dist/Fiber.d.ts +1 -2
  103. package/dist/Fiber.d.ts.map +1 -1
  104. package/dist/Fiber.js +1 -1
  105. package/dist/Fiber.js.map +1 -1
  106. package/dist/FiberHandle.d.ts +5 -5
  107. package/dist/FiberHandle.js +3 -3
  108. package/dist/FiberMap.d.ts +10 -10
  109. package/dist/FiberMap.js +4 -4
  110. package/dist/FiberSet.d.ts +4 -4
  111. package/dist/FiberSet.js +2 -2
  112. package/dist/FileSystem.d.ts +10 -12
  113. package/dist/FileSystem.d.ts.map +1 -1
  114. package/dist/FileSystem.js +3 -3
  115. package/dist/FileSystem.js.map +1 -1
  116. package/dist/Filter.d.ts +54 -54
  117. package/dist/Filter.js +28 -28
  118. package/dist/Formatter.d.ts +4 -2
  119. package/dist/Formatter.d.ts.map +1 -1
  120. package/dist/Formatter.js +3 -69
  121. package/dist/Formatter.js.map +1 -1
  122. package/dist/Function.d.ts +64 -65
  123. package/dist/Function.d.ts.map +1 -1
  124. package/dist/Function.js +41 -41
  125. package/dist/Function.js.map +1 -1
  126. package/dist/Graph.d.ts +157 -175
  127. package/dist/Graph.d.ts.map +1 -1
  128. package/dist/Graph.js +72 -80
  129. package/dist/Graph.js.map +1 -1
  130. package/dist/Hash.d.ts +4 -6
  131. package/dist/Hash.d.ts.map +1 -1
  132. package/dist/Hash.js +2 -2
  133. package/dist/Hash.js.map +1 -1
  134. package/dist/HashMap.d.ts +121 -157
  135. package/dist/HashMap.d.ts.map +1 -1
  136. package/dist/HashMap.js +47 -59
  137. package/dist/HashMap.js.map +1 -1
  138. package/dist/HashRing.d.ts +34 -34
  139. package/dist/HashRing.js +16 -16
  140. package/dist/HashSet.d.ts +51 -55
  141. package/dist/HashSet.d.ts.map +1 -1
  142. package/dist/HashSet.js +19 -20
  143. package/dist/HashSet.js.map +1 -1
  144. package/dist/Inspectable.d.ts +6 -4
  145. package/dist/Inspectable.d.ts.map +1 -1
  146. package/dist/Inspectable.js +6 -4
  147. package/dist/Inspectable.js.map +1 -1
  148. package/dist/Iterable.d.ts +37 -83
  149. package/dist/Iterable.d.ts.map +1 -1
  150. package/dist/Iterable.js +21 -39
  151. package/dist/Iterable.js.map +1 -1
  152. package/dist/JsonPatch.d.ts +8 -6
  153. package/dist/JsonPatch.d.ts.map +1 -1
  154. package/dist/JsonPatch.js +5 -3
  155. package/dist/JsonPatch.js.map +1 -1
  156. package/dist/JsonPointer.d.ts +13 -11
  157. package/dist/JsonPointer.d.ts.map +1 -1
  158. package/dist/JsonPointer.js +13 -11
  159. package/dist/JsonPointer.js.map +1 -1
  160. package/dist/JsonSchema.d.ts +16 -0
  161. package/dist/JsonSchema.d.ts.map +1 -1
  162. package/dist/JsonSchema.js +10 -0
  163. package/dist/JsonSchema.js.map +1 -1
  164. package/dist/Latch.d.ts +4 -16
  165. package/dist/Latch.d.ts.map +1 -1
  166. package/dist/Latch.js +2 -14
  167. package/dist/Latch.js.map +1 -1
  168. package/dist/Layer.d.ts +94 -135
  169. package/dist/Layer.d.ts.map +1 -1
  170. package/dist/Layer.js +44 -61
  171. package/dist/Layer.js.map +1 -1
  172. package/dist/LayerMap.d.ts +15 -16
  173. package/dist/LayerMap.d.ts.map +1 -1
  174. package/dist/LayerMap.js +6 -6
  175. package/dist/LogLevel.d.ts +13 -13
  176. package/dist/LogLevel.js +4 -4
  177. package/dist/Logger.d.ts +10 -11
  178. package/dist/Logger.d.ts.map +1 -1
  179. package/dist/Logger.js +10 -11
  180. package/dist/Logger.js.map +1 -1
  181. package/dist/ManagedRuntime.d.ts +5 -4
  182. package/dist/ManagedRuntime.d.ts.map +1 -1
  183. package/dist/ManagedRuntime.js +4 -3
  184. package/dist/ManagedRuntime.js.map +1 -1
  185. package/dist/Match.d.ts +2 -4
  186. package/dist/Match.d.ts.map +1 -1
  187. package/dist/Match.js +1 -2
  188. package/dist/Match.js.map +1 -1
  189. package/dist/Metric.d.ts +48 -50
  190. package/dist/Metric.d.ts.map +1 -1
  191. package/dist/Metric.js +22 -22
  192. package/dist/Metric.js.map +1 -1
  193. package/dist/MutableHashMap.d.ts +30 -30
  194. package/dist/MutableHashMap.d.ts.map +1 -1
  195. package/dist/MutableHashMap.js +15 -14
  196. package/dist/MutableHashMap.js.map +1 -1
  197. package/dist/MutableHashSet.d.ts.map +1 -1
  198. package/dist/MutableHashSet.js +0 -2
  199. package/dist/MutableHashSet.js.map +1 -1
  200. package/dist/MutableList.d.ts +23 -24
  201. package/dist/MutableList.d.ts.map +1 -1
  202. package/dist/MutableList.js +17 -19
  203. package/dist/MutableList.js.map +1 -1
  204. package/dist/MutableRef.d.ts.map +1 -1
  205. package/dist/MutableRef.js +0 -1
  206. package/dist/MutableRef.js.map +1 -1
  207. package/dist/Newtype.d.ts +12 -2
  208. package/dist/Newtype.d.ts.map +1 -1
  209. package/dist/Newtype.js +8 -2
  210. package/dist/Newtype.js.map +1 -1
  211. package/dist/NonEmptyIterable.d.ts +5 -12
  212. package/dist/NonEmptyIterable.d.ts.map +1 -1
  213. package/dist/NonEmptyIterable.js +3 -8
  214. package/dist/NonEmptyIterable.js.map +1 -1
  215. package/dist/Number.d.ts +145 -141
  216. package/dist/Number.d.ts.map +1 -1
  217. package/dist/Number.js +65 -61
  218. package/dist/Number.js.map +1 -1
  219. package/dist/Optic.d.ts +5 -5
  220. package/dist/Optic.js +5 -5
  221. package/dist/Option.d.ts +105 -109
  222. package/dist/Option.d.ts.map +1 -1
  223. package/dist/Option.js +50 -52
  224. package/dist/Option.js.map +1 -1
  225. package/dist/Order.d.ts +6 -6
  226. package/dist/Order.js +6 -6
  227. package/dist/Ordering.d.ts +15 -19
  228. package/dist/Ordering.d.ts.map +1 -1
  229. package/dist/Ordering.js +6 -6
  230. package/dist/Ordering.js.map +1 -1
  231. package/dist/PartitionedSemaphore.d.ts +3 -3
  232. package/dist/PartitionedSemaphore.js +2 -2
  233. package/dist/Path.d.ts +4 -4
  234. package/dist/Path.d.ts.map +1 -1
  235. package/dist/Path.js +2 -1
  236. package/dist/Path.js.map +1 -1
  237. package/dist/Pipeable.d.ts +10 -7
  238. package/dist/Pipeable.d.ts.map +1 -1
  239. package/dist/Pipeable.js +6 -4
  240. package/dist/Pipeable.js.map +1 -1
  241. package/dist/PlatformError.d.ts +3 -3
  242. package/dist/PlatformError.js +2 -2
  243. package/dist/Predicate.d.ts +2 -4
  244. package/dist/Predicate.d.ts.map +1 -1
  245. package/dist/Predicate.js +3 -3
  246. package/dist/Predicate.js.map +1 -1
  247. package/dist/PrimaryKey.d.ts +2 -1
  248. package/dist/PrimaryKey.d.ts.map +1 -1
  249. package/dist/PrimaryKey.js +2 -1
  250. package/dist/PrimaryKey.js.map +1 -1
  251. package/dist/PubSub.d.ts +25 -51
  252. package/dist/PubSub.d.ts.map +1 -1
  253. package/dist/PubSub.js +17 -35
  254. package/dist/PubSub.js.map +1 -1
  255. package/dist/Queue.d.ts +45 -60
  256. package/dist/Queue.d.ts.map +1 -1
  257. package/dist/Queue.js +27 -33
  258. package/dist/Queue.js.map +1 -1
  259. package/dist/Random.d.ts +27 -38
  260. package/dist/Random.d.ts.map +1 -1
  261. package/dist/Random.js +17 -54
  262. package/dist/Random.js.map +1 -1
  263. package/dist/RcMap.d.ts +11 -11
  264. package/dist/RcMap.js +3 -3
  265. package/dist/RcRef.d.ts +0 -1
  266. package/dist/RcRef.d.ts.map +1 -1
  267. package/dist/RcRef.js.map +1 -1
  268. package/dist/Record.d.ts +9 -8
  269. package/dist/Record.d.ts.map +1 -1
  270. package/dist/Record.js +7 -5
  271. package/dist/Record.js.map +1 -1
  272. package/dist/Redactable.d.ts +7 -5
  273. package/dist/Redactable.d.ts.map +1 -1
  274. package/dist/Redactable.js +5 -3
  275. package/dist/Redactable.js.map +1 -1
  276. package/dist/Redacted.d.ts +2 -3
  277. package/dist/Redacted.d.ts.map +1 -1
  278. package/dist/Redacted.js +2 -2
  279. package/dist/Redacted.js.map +1 -1
  280. package/dist/Reducer.d.ts +3 -1
  281. package/dist/Reducer.d.ts.map +1 -1
  282. package/dist/Reducer.js +2 -0
  283. package/dist/Reducer.js.map +1 -1
  284. package/dist/Ref.d.ts +7 -17
  285. package/dist/Ref.d.ts.map +1 -1
  286. package/dist/Ref.js +5 -12
  287. package/dist/Ref.js.map +1 -1
  288. package/dist/RegExp.d.ts +1 -1
  289. package/dist/RegExp.js +1 -1
  290. package/dist/Request.d.ts +2 -1
  291. package/dist/Request.d.ts.map +1 -1
  292. package/dist/Request.js +1 -0
  293. package/dist/Request.js.map +1 -1
  294. package/dist/RequestResolver.d.ts +2 -3
  295. package/dist/RequestResolver.d.ts.map +1 -1
  296. package/dist/RequestResolver.js +1 -1
  297. package/dist/RequestResolver.js.map +1 -1
  298. package/dist/Resource.d.ts +1 -1
  299. package/dist/Resource.js +1 -1
  300. package/dist/Result.d.ts +124 -142
  301. package/dist/Result.d.ts.map +1 -1
  302. package/dist/Result.js +51 -63
  303. package/dist/Result.js.map +1 -1
  304. package/dist/Runtime.d.ts +2 -7
  305. package/dist/Runtime.d.ts.map +1 -1
  306. package/dist/Runtime.js +1 -3
  307. package/dist/Runtime.js.map +1 -1
  308. package/dist/Schedule.d.ts +69 -72
  309. package/dist/Schedule.d.ts.map +1 -1
  310. package/dist/Schedule.js +31 -33
  311. package/dist/Schedule.js.map +1 -1
  312. package/dist/Scheduler.d.ts +2 -2
  313. package/dist/Scheduler.js +2 -2
  314. package/dist/Schema.d.ts +491 -321
  315. package/dist/Schema.d.ts.map +1 -1
  316. package/dist/Schema.js +220 -172
  317. package/dist/Schema.js.map +1 -1
  318. package/dist/SchemaAST.d.ts +98 -77
  319. package/dist/SchemaAST.d.ts.map +1 -1
  320. package/dist/SchemaAST.js +89 -68
  321. package/dist/SchemaAST.js.map +1 -1
  322. package/dist/SchemaGetter.d.ts +23 -23
  323. package/dist/SchemaGetter.js +20 -20
  324. package/dist/SchemaIssue.d.ts +18 -16
  325. package/dist/SchemaIssue.d.ts.map +1 -1
  326. package/dist/SchemaIssue.js +16 -14
  327. package/dist/SchemaIssue.js.map +1 -1
  328. package/dist/SchemaParser.d.ts +39 -40
  329. package/dist/SchemaParser.d.ts.map +1 -1
  330. package/dist/SchemaParser.js +48 -51
  331. package/dist/SchemaParser.js.map +1 -1
  332. package/dist/SchemaRepresentation.d.ts +89 -77
  333. package/dist/SchemaRepresentation.d.ts.map +1 -1
  334. package/dist/SchemaRepresentation.js +47 -37
  335. package/dist/SchemaRepresentation.js.map +1 -1
  336. package/dist/SchemaTransformation.d.ts +36 -5
  337. package/dist/SchemaTransformation.d.ts.map +1 -1
  338. package/dist/SchemaTransformation.js +33 -5
  339. package/dist/SchemaTransformation.js.map +1 -1
  340. package/dist/SchemaUtils.d.ts +1 -1
  341. package/dist/SchemaUtils.js +1 -1
  342. package/dist/Scope.d.ts +12 -29
  343. package/dist/Scope.d.ts.map +1 -1
  344. package/dist/Scope.js +6 -11
  345. package/dist/Scope.js.map +1 -1
  346. package/dist/ScopedCache.d.ts +37 -37
  347. package/dist/ScopedCache.js +17 -17
  348. package/dist/Semaphore.d.ts +4 -16
  349. package/dist/Semaphore.d.ts.map +1 -1
  350. package/dist/Semaphore.js +2 -14
  351. package/dist/Semaphore.js.map +1 -1
  352. package/dist/Sink.d.ts +36 -39
  353. package/dist/Sink.d.ts.map +1 -1
  354. package/dist/Sink.js +18 -18
  355. package/dist/Sink.js.map +1 -1
  356. package/dist/Stdio.d.ts +6 -6
  357. package/dist/Stdio.js +4 -4
  358. package/dist/Stream.d.ts +671 -808
  359. package/dist/Stream.d.ts.map +1 -1
  360. package/dist/Stream.js +289 -363
  361. package/dist/Stream.js.map +1 -1
  362. package/dist/String.d.ts +3 -2
  363. package/dist/String.d.ts.map +1 -1
  364. package/dist/String.js +3 -2
  365. package/dist/String.js.map +1 -1
  366. package/dist/Struct.d.ts +20 -18
  367. package/dist/Struct.d.ts.map +1 -1
  368. package/dist/Struct.js +10 -8
  369. package/dist/Struct.js.map +1 -1
  370. package/dist/SubscriptionRef.d.ts +2 -2
  371. package/dist/SubscriptionRef.js +2 -2
  372. package/dist/Symbol.d.ts +3 -3
  373. package/dist/Symbol.js +3 -3
  374. package/dist/SynchronizedRef.d.ts +1 -1
  375. package/dist/SynchronizedRef.js +1 -1
  376. package/dist/Take.d.ts +2 -2
  377. package/dist/Take.js +1 -1
  378. package/dist/Terminal.d.ts +5 -5
  379. package/dist/Terminal.js +2 -2
  380. package/dist/Tracer.d.ts +9 -9
  381. package/dist/Tracer.js +2 -2
  382. package/dist/Trie.d.ts +70 -106
  383. package/dist/Trie.d.ts.map +1 -1
  384. package/dist/Trie.js +29 -43
  385. package/dist/Trie.js.map +1 -1
  386. package/dist/Tuple.d.ts +34 -32
  387. package/dist/Tuple.d.ts.map +1 -1
  388. package/dist/Tuple.js +16 -14
  389. package/dist/Tuple.js.map +1 -1
  390. package/dist/TxChunk.d.ts +27 -18
  391. package/dist/TxChunk.d.ts.map +1 -1
  392. package/dist/TxChunk.js +15 -10
  393. package/dist/TxChunk.js.map +1 -1
  394. package/dist/TxDeferred.d.ts +11 -11
  395. package/dist/TxDeferred.js +5 -5
  396. package/dist/TxHashMap.d.ts +60 -61
  397. package/dist/TxHashMap.d.ts.map +1 -1
  398. package/dist/TxHashMap.js +23 -23
  399. package/dist/TxHashMap.js.map +1 -1
  400. package/dist/TxHashSet.d.ts +28 -32
  401. package/dist/TxHashSet.d.ts.map +1 -1
  402. package/dist/TxHashSet.js +13 -16
  403. package/dist/TxHashSet.js.map +1 -1
  404. package/dist/TxPriorityQueue.d.ts +30 -30
  405. package/dist/TxPriorityQueue.js +18 -18
  406. package/dist/TxPubSub.d.ts +18 -18
  407. package/dist/TxPubSub.js +14 -14
  408. package/dist/TxQueue.d.ts +26 -29
  409. package/dist/TxQueue.d.ts.map +1 -1
  410. package/dist/TxQueue.js +17 -17
  411. package/dist/TxQueue.js.map +1 -1
  412. package/dist/TxReentrantLock.d.ts +21 -21
  413. package/dist/TxReentrantLock.js +15 -15
  414. package/dist/TxRef.d.ts +24 -24
  415. package/dist/TxRef.js +11 -11
  416. package/dist/TxSemaphore.d.ts +13 -74
  417. package/dist/TxSemaphore.d.ts.map +1 -1
  418. package/dist/TxSemaphore.js +9 -52
  419. package/dist/TxSemaphore.js.map +1 -1
  420. package/dist/TxSubscriptionRef.d.ts +24 -24
  421. package/dist/TxSubscriptionRef.js +11 -11
  422. package/dist/Types.d.ts +1 -4
  423. package/dist/Types.d.ts.map +1 -1
  424. package/dist/UndefinedOr.d.ts +14 -0
  425. package/dist/UndefinedOr.d.ts.map +1 -1
  426. package/dist/UndefinedOr.js +8 -0
  427. package/dist/UndefinedOr.js.map +1 -1
  428. package/dist/Unify.d.ts +8 -8
  429. package/dist/Unify.js +1 -1
  430. package/dist/Utils.d.ts +1 -2
  431. package/dist/Utils.d.ts.map +1 -1
  432. package/dist/Utils.js.map +1 -1
  433. package/dist/index.d.ts +1917 -411
  434. package/dist/index.d.ts.map +1 -1
  435. package/dist/index.js +1917 -411
  436. package/dist/index.js.map +1 -1
  437. package/dist/testing/FastCheck.d.ts +3 -3
  438. package/dist/testing/FastCheck.js +3 -3
  439. package/dist/testing/TestClock.d.ts +2 -3
  440. package/dist/testing/TestClock.d.ts.map +1 -1
  441. package/dist/testing/TestClock.js +1 -1
  442. package/dist/testing/TestClock.js.map +1 -1
  443. package/dist/testing/TestConsole.d.ts +8 -9
  444. package/dist/testing/TestConsole.d.ts.map +1 -1
  445. package/dist/testing/TestConsole.js +5 -5
  446. package/dist/testing/TestConsole.js.map +1 -1
  447. package/dist/testing/TestSchema.d.ts +2 -0
  448. package/dist/testing/TestSchema.d.ts.map +1 -1
  449. package/dist/testing/TestSchema.js +2 -0
  450. package/dist/testing/TestSchema.js.map +1 -1
  451. package/dist/testing/index.d.ts +34 -0
  452. package/dist/testing/index.d.ts.map +1 -1
  453. package/dist/testing/index.js +34 -0
  454. package/dist/testing/index.js.map +1 -1
  455. package/dist/unstable/ai/AiError.d.ts +10 -19
  456. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  457. package/dist/unstable/ai/AiError.js +0 -9
  458. package/dist/unstable/ai/AiError.js.map +1 -1
  459. package/dist/unstable/ai/Chat.d.ts +0 -1
  460. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  461. package/dist/unstable/ai/Chat.js.map +1 -1
  462. package/dist/unstable/ai/McpSchema.d.ts +3 -0
  463. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  464. package/dist/unstable/ai/McpSchema.js +2 -0
  465. package/dist/unstable/ai/McpSchema.js.map +1 -1
  466. package/dist/unstable/ai/McpServer.d.ts +3 -1
  467. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  468. package/dist/unstable/ai/McpServer.js +1 -1
  469. package/dist/unstable/ai/McpServer.js.map +1 -1
  470. package/dist/unstable/ai/Model.d.ts +2 -6
  471. package/dist/unstable/ai/Model.d.ts.map +1 -1
  472. package/dist/unstable/ai/Model.js +2 -2
  473. package/dist/unstable/ai/Model.js.map +1 -1
  474. package/dist/unstable/ai/Prompt.d.ts +8 -10
  475. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  476. package/dist/unstable/ai/Prompt.js +4 -4
  477. package/dist/unstable/ai/Prompt.js.map +1 -1
  478. package/dist/unstable/ai/Response.d.ts +20 -20
  479. package/dist/unstable/ai/ResponseIdTracker.d.ts +1 -1
  480. package/dist/unstable/ai/ResponseIdTracker.js +1 -1
  481. package/dist/unstable/ai/Telemetry.d.ts +5 -5
  482. package/dist/unstable/ai/Telemetry.js +3 -3
  483. package/dist/unstable/ai/Tokenizer.d.ts +1 -1
  484. package/dist/unstable/ai/Tool.d.ts +14 -12
  485. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  486. package/dist/unstable/ai/Tool.js +10 -9
  487. package/dist/unstable/ai/Tool.js.map +1 -1
  488. package/dist/unstable/ai/index.d.ts +79 -5
  489. package/dist/unstable/ai/index.d.ts.map +1 -1
  490. package/dist/unstable/ai/index.js +79 -5
  491. package/dist/unstable/ai/index.js.map +1 -1
  492. package/dist/unstable/cli/CliOutput.d.ts +5 -6
  493. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  494. package/dist/unstable/cli/CliOutput.js +2 -3
  495. package/dist/unstable/cli/CliOutput.js.map +1 -1
  496. package/dist/unstable/cli/Command.d.ts +3 -3
  497. package/dist/unstable/cli/Command.js +1 -1
  498. package/dist/unstable/cli/HelpDoc.d.ts +4 -4
  499. package/dist/unstable/cli/Param.d.ts +31 -1
  500. package/dist/unstable/cli/Param.d.ts.map +1 -1
  501. package/dist/unstable/cli/Param.js +37 -38
  502. package/dist/unstable/cli/Param.js.map +1 -1
  503. package/dist/unstable/cli/Primitive.d.ts +1 -1
  504. package/dist/unstable/cli/Primitive.js +1 -1
  505. package/dist/unstable/cli/Prompt.d.ts +6 -14
  506. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  507. package/dist/unstable/cli/Prompt.js +2 -2
  508. package/dist/unstable/cli/Prompt.js.map +1 -1
  509. package/dist/unstable/cli/index.d.ts +182 -0
  510. package/dist/unstable/cli/index.d.ts.map +1 -1
  511. package/dist/unstable/cli/index.js +205 -6
  512. package/dist/unstable/cli/index.js.map +1 -1
  513. package/dist/unstable/cli/internal/parser.js +0 -1
  514. package/dist/unstable/cli/internal/parser.js.map +1 -1
  515. package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
  516. package/dist/unstable/cluster/ClusterCron.js +1 -1
  517. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
  518. package/dist/unstable/cluster/ClusterSchema.js +8 -8
  519. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +2 -2
  520. package/dist/unstable/cluster/ClusterWorkflowEngine.js +2 -2
  521. package/dist/unstable/cluster/Entity.d.ts +0 -1
  522. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  523. package/dist/unstable/cluster/Entity.js.map +1 -1
  524. package/dist/unstable/cluster/EntityProxy.d.ts +10 -14
  525. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  526. package/dist/unstable/cluster/EntityProxy.js +8 -14
  527. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  528. package/dist/unstable/cluster/EntityProxyServer.d.ts +3 -2
  529. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  530. package/dist/unstable/cluster/EntityProxyServer.js +2 -2
  531. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  532. package/dist/unstable/cluster/EntityResource.js +1 -1
  533. package/dist/unstable/cluster/Envelope.d.ts +1 -1
  534. package/dist/unstable/cluster/Envelope.js +1 -1
  535. package/dist/unstable/cluster/HttpRunner.d.ts +11 -11
  536. package/dist/unstable/cluster/HttpRunner.js +11 -11
  537. package/dist/unstable/cluster/K8sHttpClient.d.ts +5 -5
  538. package/dist/unstable/cluster/K8sHttpClient.js +5 -5
  539. package/dist/unstable/cluster/MachineId.d.ts +1 -1
  540. package/dist/unstable/cluster/MachineId.js +1 -1
  541. package/dist/unstable/cluster/MessageStorage.d.ts +1 -2
  542. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  543. package/dist/unstable/cluster/MessageStorage.js +1 -1
  544. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  545. package/dist/unstable/cluster/Runner.d.ts +1 -1
  546. package/dist/unstable/cluster/Runner.js +1 -1
  547. package/dist/unstable/cluster/RunnerHealth.d.ts +2 -2
  548. package/dist/unstable/cluster/RunnerHealth.js +2 -2
  549. package/dist/unstable/cluster/RunnerServer.d.ts +4 -4
  550. package/dist/unstable/cluster/RunnerServer.js +4 -4
  551. package/dist/unstable/cluster/Runners.d.ts +3 -3
  552. package/dist/unstable/cluster/Runners.js +3 -3
  553. package/dist/unstable/cluster/ShardId.d.ts +7 -5
  554. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  555. package/dist/unstable/cluster/ShardId.js +6 -4
  556. package/dist/unstable/cluster/ShardId.js.map +1 -1
  557. package/dist/unstable/cluster/Sharding.js +1 -1
  558. package/dist/unstable/cluster/ShardingConfig.d.ts +2 -2
  559. package/dist/unstable/cluster/ShardingConfig.js +2 -2
  560. package/dist/unstable/cluster/SingleRunner.d.ts +1 -1
  561. package/dist/unstable/cluster/SingleRunner.js +1 -1
  562. package/dist/unstable/cluster/Snowflake.d.ts +10 -9
  563. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  564. package/dist/unstable/cluster/Snowflake.js +4 -3
  565. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  566. package/dist/unstable/cluster/SocketRunner.d.ts +2 -2
  567. package/dist/unstable/cluster/SocketRunner.js +2 -2
  568. package/dist/unstable/cluster/SqlMessageStorage.d.ts +3 -3
  569. package/dist/unstable/cluster/SqlMessageStorage.js +3 -3
  570. package/dist/unstable/cluster/SqlRunnerStorage.d.ts +3 -3
  571. package/dist/unstable/cluster/SqlRunnerStorage.js +3 -3
  572. package/dist/unstable/cluster/TestRunner.d.ts +1 -1
  573. package/dist/unstable/cluster/TestRunner.js +1 -1
  574. package/dist/unstable/cluster/index.d.ts +790 -0
  575. package/dist/unstable/cluster/index.d.ts.map +1 -1
  576. package/dist/unstable/cluster/index.js +790 -0
  577. package/dist/unstable/cluster/index.js.map +1 -1
  578. package/dist/unstable/devtools/index.d.ts +58 -0
  579. package/dist/unstable/devtools/index.d.ts.map +1 -1
  580. package/dist/unstable/devtools/index.js +58 -0
  581. package/dist/unstable/devtools/index.js.map +1 -1
  582. package/dist/unstable/encoding/Sse.d.ts +16 -16
  583. package/dist/unstable/encoding/Sse.js +11 -11
  584. package/dist/unstable/encoding/index.d.ts +49 -0
  585. package/dist/unstable/encoding/index.d.ts.map +1 -1
  586. package/dist/unstable/encoding/index.js +49 -0
  587. package/dist/unstable/encoding/index.js.map +1 -1
  588. package/dist/unstable/eventlog/Event.d.ts +2 -2
  589. package/dist/unstable/eventlog/Event.js +1 -1
  590. package/dist/unstable/eventlog/EventGroup.d.ts +2 -2
  591. package/dist/unstable/eventlog/EventGroup.js +1 -1
  592. package/dist/unstable/eventlog/EventLog.d.ts +6 -7
  593. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  594. package/dist/unstable/eventlog/EventLog.js +4 -4
  595. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  596. package/dist/unstable/eventlog/EventLogRemote.d.ts +2 -2
  597. package/dist/unstable/eventlog/EventLogRemote.js +2 -2
  598. package/dist/unstable/eventlog/EventLogServer.d.ts +2 -2
  599. package/dist/unstable/eventlog/EventLogServer.js +2 -2
  600. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +2 -2
  601. package/dist/unstable/eventlog/EventLogServerEncrypted.js +2 -2
  602. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +1 -1
  603. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +1 -1
  604. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
  605. package/dist/unstable/eventlog/index.d.ts +240 -0
  606. package/dist/unstable/eventlog/index.d.ts.map +1 -1
  607. package/dist/unstable/eventlog/index.js +240 -0
  608. package/dist/unstable/eventlog/index.js.map +1 -1
  609. package/dist/unstable/http/Cookies.d.ts +6 -6
  610. package/dist/unstable/http/Cookies.js +4 -4
  611. package/dist/unstable/http/Etag.d.ts +2 -2
  612. package/dist/unstable/http/Etag.js +2 -2
  613. package/dist/unstable/http/Headers.d.ts +2 -2
  614. package/dist/unstable/http/Headers.js +1 -1
  615. package/dist/unstable/http/HttpClient.d.ts +5 -6
  616. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  617. package/dist/unstable/http/HttpClient.js +5 -4
  618. package/dist/unstable/http/HttpClient.js.map +1 -1
  619. package/dist/unstable/http/HttpClientError.d.ts +1 -1
  620. package/dist/unstable/http/HttpClientError.js +1 -1
  621. package/dist/unstable/http/HttpClientRequest.d.ts +4 -4
  622. package/dist/unstable/http/HttpClientRequest.js +4 -4
  623. package/dist/unstable/http/HttpClientResponse.d.ts +6 -6
  624. package/dist/unstable/http/HttpClientResponse.js +6 -6
  625. package/dist/unstable/http/HttpEffect.d.ts +5 -5
  626. package/dist/unstable/http/HttpEffect.js +5 -5
  627. package/dist/unstable/http/HttpIncomingMessage.d.ts +7 -6
  628. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  629. package/dist/unstable/http/HttpIncomingMessage.js +7 -6
  630. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  631. package/dist/unstable/http/HttpMethod.d.ts +4 -2
  632. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  633. package/dist/unstable/http/HttpMethod.js +4 -1
  634. package/dist/unstable/http/HttpMethod.js.map +1 -1
  635. package/dist/unstable/http/HttpMiddleware.d.ts +1 -0
  636. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  637. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  638. package/dist/unstable/http/HttpRouter.d.ts +23 -25
  639. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  640. package/dist/unstable/http/HttpRouter.js +23 -22
  641. package/dist/unstable/http/HttpRouter.js.map +1 -1
  642. package/dist/unstable/http/HttpServerError.d.ts +4 -1
  643. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  644. package/dist/unstable/http/HttpServerError.js +4 -1
  645. package/dist/unstable/http/HttpServerError.js.map +1 -1
  646. package/dist/unstable/http/HttpServerRequest.d.ts +15 -15
  647. package/dist/unstable/http/HttpServerRequest.js +15 -15
  648. package/dist/unstable/http/HttpServerRespondable.d.ts +1 -1
  649. package/dist/unstable/http/HttpServerRespondable.js +1 -1
  650. package/dist/unstable/http/HttpServerResponse.d.ts +5 -4
  651. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  652. package/dist/unstable/http/HttpServerResponse.js +5 -4
  653. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  654. package/dist/unstable/http/HttpStaticServer.d.ts +2 -4
  655. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  656. package/dist/unstable/http/HttpStaticServer.js +2 -4
  657. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  658. package/dist/unstable/http/Multipart.d.ts +20 -19
  659. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  660. package/dist/unstable/http/Multipart.js +19 -17
  661. package/dist/unstable/http/Multipart.js.map +1 -1
  662. package/dist/unstable/http/Template.d.ts +0 -1
  663. package/dist/unstable/http/Template.d.ts.map +1 -1
  664. package/dist/unstable/http/Template.js.map +1 -1
  665. package/dist/unstable/http/Url.d.ts +17 -17
  666. package/dist/unstable/http/Url.js +8 -8
  667. package/dist/unstable/http/UrlParams.d.ts +14 -12
  668. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  669. package/dist/unstable/http/UrlParams.js +12 -10
  670. package/dist/unstable/http/UrlParams.js.map +1 -1
  671. package/dist/unstable/http/index.d.ts +452 -0
  672. package/dist/unstable/http/index.d.ts.map +1 -1
  673. package/dist/unstable/http/index.js +452 -0
  674. package/dist/unstable/http/index.js.map +1 -1
  675. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +0 -1
  676. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  677. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  678. package/dist/unstable/httpapi/HttpApiClient.d.ts +0 -1
  679. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  680. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  681. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +4 -2
  682. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  683. package/dist/unstable/httpapi/HttpApiMiddleware.js +3 -1
  684. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  685. package/dist/unstable/httpapi/HttpApiScalar.d.ts +2 -2
  686. package/dist/unstable/httpapi/HttpApiSchema.d.ts +19 -8
  687. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  688. package/dist/unstable/httpapi/HttpApiSchema.js +11 -8
  689. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  690. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +0 -1
  691. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  692. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  693. package/dist/unstable/httpapi/HttpApiSwagger.d.ts +0 -2
  694. package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
  695. package/dist/unstable/httpapi/HttpApiSwagger.js +0 -2
  696. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  697. package/dist/unstable/httpapi/index.d.ts +310 -25
  698. package/dist/unstable/httpapi/index.d.ts.map +1 -1
  699. package/dist/unstable/httpapi/index.js +310 -25
  700. package/dist/unstable/httpapi/index.js.map +1 -1
  701. package/dist/unstable/observability/Otlp.d.ts +3 -3
  702. package/dist/unstable/observability/Otlp.js +3 -3
  703. package/dist/unstable/observability/OtlpExporter.d.ts +1 -1
  704. package/dist/unstable/observability/OtlpExporter.js +1 -1
  705. package/dist/unstable/observability/OtlpLogger.d.ts +3 -2
  706. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  707. package/dist/unstable/observability/OtlpLogger.js +2 -2
  708. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  709. package/dist/unstable/observability/OtlpMetrics.d.ts +5 -4
  710. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  711. package/dist/unstable/observability/OtlpMetrics.js +2 -2
  712. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  713. package/dist/unstable/observability/OtlpResource.d.ts +9 -9
  714. package/dist/unstable/observability/OtlpResource.js +2 -2
  715. package/dist/unstable/observability/OtlpSerialization.d.ts +3 -3
  716. package/dist/unstable/observability/OtlpSerialization.js +3 -3
  717. package/dist/unstable/observability/OtlpTracer.d.ts +5 -2
  718. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  719. package/dist/unstable/observability/OtlpTracer.js +2 -2
  720. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  721. package/dist/unstable/observability/PrometheusMetrics.d.ts +7 -7
  722. package/dist/unstable/observability/PrometheusMetrics.js +2 -2
  723. package/dist/unstable/observability/index.d.ts +158 -2
  724. package/dist/unstable/observability/index.d.ts.map +1 -1
  725. package/dist/unstable/observability/index.js +158 -2
  726. package/dist/unstable/observability/index.js.map +1 -1
  727. package/dist/unstable/persistence/KeyValueStore.d.ts +4 -4
  728. package/dist/unstable/persistence/KeyValueStore.js +1 -1
  729. package/dist/unstable/persistence/Persistable.d.ts +11 -11
  730. package/dist/unstable/persistence/Persistable.js +1 -1
  731. package/dist/unstable/persistence/PersistedCache.d.ts +2 -2
  732. package/dist/unstable/persistence/PersistedCache.js +1 -1
  733. package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
  734. package/dist/unstable/persistence/PersistedQueue.js +3 -3
  735. package/dist/unstable/persistence/Persistence.d.ts +2 -1
  736. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  737. package/dist/unstable/persistence/Persistence.js +2 -1
  738. package/dist/unstable/persistence/Persistence.js.map +1 -1
  739. package/dist/unstable/persistence/RateLimiter.d.ts +19 -15
  740. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  741. package/dist/unstable/persistence/RateLimiter.js +14 -10
  742. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  743. package/dist/unstable/persistence/Redis.d.ts +3 -3
  744. package/dist/unstable/persistence/Redis.js +3 -3
  745. package/dist/unstable/persistence/index.d.ts +147 -0
  746. package/dist/unstable/persistence/index.d.ts.map +1 -1
  747. package/dist/unstable/persistence/index.js +147 -0
  748. package/dist/unstable/persistence/index.js.map +1 -1
  749. package/dist/unstable/process/ChildProcess.d.ts +41 -41
  750. package/dist/unstable/process/ChildProcess.js +11 -11
  751. package/dist/unstable/process/ChildProcessSpawner.d.ts +10 -10
  752. package/dist/unstable/process/ChildProcessSpawner.js +5 -5
  753. package/dist/unstable/reactivity/AsyncResult.d.ts +8 -6
  754. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  755. package/dist/unstable/reactivity/AsyncResult.js +3 -3
  756. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  757. package/dist/unstable/reactivity/Atom.d.ts +25 -20
  758. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  759. package/dist/unstable/reactivity/Atom.js +12 -12
  760. package/dist/unstable/reactivity/Atom.js.map +1 -1
  761. package/dist/unstable/reactivity/AtomHttpApi.d.ts +2 -2
  762. package/dist/unstable/reactivity/AtomHttpApi.js +1 -1
  763. package/dist/unstable/reactivity/AtomRef.d.ts +2 -2
  764. package/dist/unstable/reactivity/AtomRef.js +1 -1
  765. package/dist/unstable/reactivity/AtomRegistry.d.ts +16 -16
  766. package/dist/unstable/reactivity/AtomRegistry.js +7 -7
  767. package/dist/unstable/reactivity/AtomRpc.d.ts +2 -2
  768. package/dist/unstable/reactivity/AtomRpc.js +1 -1
  769. package/dist/unstable/reactivity/Reactivity.d.ts +2 -3
  770. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  771. package/dist/unstable/reactivity/Reactivity.js +2 -3
  772. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  773. package/dist/unstable/reactivity/index.d.ts +167 -0
  774. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  775. package/dist/unstable/reactivity/index.js +167 -0
  776. package/dist/unstable/reactivity/index.js.map +1 -1
  777. package/dist/unstable/rpc/Rpc.d.ts +0 -1
  778. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  779. package/dist/unstable/rpc/Rpc.js.map +1 -1
  780. package/dist/unstable/rpc/RpcClient.d.ts +0 -1
  781. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  782. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  783. package/dist/unstable/rpc/RpcClientError.d.ts +2 -2
  784. package/dist/unstable/rpc/RpcClientError.js +2 -2
  785. package/dist/unstable/rpc/RpcMiddleware.d.ts +2 -2
  786. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  787. package/dist/unstable/rpc/RpcWorker.d.ts +0 -1
  788. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  789. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  790. package/dist/unstable/rpc/Utils.d.ts +2 -0
  791. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  792. package/dist/unstable/rpc/Utils.js +2 -0
  793. package/dist/unstable/rpc/Utils.js.map +1 -1
  794. package/dist/unstable/rpc/index.d.ts +272 -0
  795. package/dist/unstable/rpc/index.d.ts.map +1 -1
  796. package/dist/unstable/rpc/index.js +272 -0
  797. package/dist/unstable/rpc/index.js.map +1 -1
  798. package/dist/unstable/schema/Model.d.ts +63 -8
  799. package/dist/unstable/schema/Model.d.ts.map +1 -1
  800. package/dist/unstable/schema/Model.js +44 -5
  801. package/dist/unstable/schema/Model.js.map +1 -1
  802. package/dist/unstable/schema/VariantSchema.d.ts +1 -4
  803. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  804. package/dist/unstable/schema/VariantSchema.js +1 -1
  805. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  806. package/dist/unstable/schema/index.d.ts +37 -0
  807. package/dist/unstable/schema/index.d.ts.map +1 -1
  808. package/dist/unstable/schema/index.js +37 -0
  809. package/dist/unstable/schema/index.js.map +1 -1
  810. package/dist/unstable/socket/Socket.d.ts +5 -4
  811. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  812. package/dist/unstable/socket/Socket.js +4 -3
  813. package/dist/unstable/socket/Socket.js.map +1 -1
  814. package/dist/unstable/socket/index.d.ts +44 -0
  815. package/dist/unstable/socket/index.d.ts.map +1 -1
  816. package/dist/unstable/socket/index.js +44 -0
  817. package/dist/unstable/socket/index.js.map +1 -1
  818. package/dist/unstable/sql/Migrator.d.ts +5 -5
  819. package/dist/unstable/sql/Migrator.js +1 -1
  820. package/dist/unstable/sql/SqlClient.d.ts +4 -0
  821. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  822. package/dist/unstable/sql/SqlClient.js +2 -0
  823. package/dist/unstable/sql/SqlClient.js.map +1 -1
  824. package/dist/unstable/sql/SqlConnection.d.ts +3 -3
  825. package/dist/unstable/sql/SqlError.d.ts +18 -0
  826. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  827. package/dist/unstable/sql/SqlError.js +17 -0
  828. package/dist/unstable/sql/SqlError.js.map +1 -1
  829. package/dist/unstable/sql/SqlModel.d.ts +0 -1
  830. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  831. package/dist/unstable/sql/SqlModel.js.map +1 -1
  832. package/dist/unstable/sql/SqlSchema.d.ts +5 -5
  833. package/dist/unstable/sql/SqlSchema.js +5 -5
  834. package/dist/unstable/sql/SqlStream.d.ts +1 -0
  835. package/dist/unstable/sql/SqlStream.d.ts.map +1 -1
  836. package/dist/unstable/sql/SqlStream.js +1 -0
  837. package/dist/unstable/sql/SqlStream.js.map +1 -1
  838. package/dist/unstable/sql/Statement.d.ts +27 -24
  839. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  840. package/dist/unstable/sql/Statement.js +9 -6
  841. package/dist/unstable/sql/Statement.js.map +1 -1
  842. package/dist/unstable/sql/index.d.ts +178 -0
  843. package/dist/unstable/sql/index.d.ts.map +1 -1
  844. package/dist/unstable/sql/index.js +178 -0
  845. package/dist/unstable/sql/index.js.map +1 -1
  846. package/dist/unstable/workers/Transferable.d.ts +7 -7
  847. package/dist/unstable/workers/Transferable.js +4 -4
  848. package/dist/unstable/workers/Worker.d.ts +1 -0
  849. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  850. package/dist/unstable/workers/Worker.js +1 -0
  851. package/dist/unstable/workers/Worker.js.map +1 -1
  852. package/dist/unstable/workers/WorkerError.d.ts +8 -8
  853. package/dist/unstable/workers/WorkerError.js +7 -7
  854. package/dist/unstable/workers/index.d.ts +80 -0
  855. package/dist/unstable/workers/index.d.ts.map +1 -1
  856. package/dist/unstable/workers/index.js +80 -0
  857. package/dist/unstable/workers/index.js.map +1 -1
  858. package/dist/unstable/workflow/Activity.d.ts +7 -7
  859. package/dist/unstable/workflow/Activity.js +2 -2
  860. package/dist/unstable/workflow/DurableClock.d.ts +2 -2
  861. package/dist/unstable/workflow/DurableClock.js +1 -1
  862. package/dist/unstable/workflow/DurableDeferred.d.ts +22 -20
  863. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  864. package/dist/unstable/workflow/DurableDeferred.js +8 -7
  865. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  866. package/dist/unstable/workflow/DurableQueue.d.ts +7 -5
  867. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  868. package/dist/unstable/workflow/DurableQueue.js +5 -3
  869. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  870. package/dist/unstable/workflow/Workflow.d.ts +12 -10
  871. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  872. package/dist/unstable/workflow/Workflow.js +3 -3
  873. package/dist/unstable/workflow/Workflow.js.map +1 -1
  874. package/dist/unstable/workflow/WorkflowEngine.d.ts +4 -4
  875. package/dist/unstable/workflow/WorkflowEngine.js +4 -4
  876. package/dist/unstable/workflow/WorkflowProxy.d.ts +10 -12
  877. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  878. package/dist/unstable/workflow/WorkflowProxy.js +8 -12
  879. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  880. package/dist/unstable/workflow/WorkflowProxyServer.d.ts +3 -2
  881. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  882. package/dist/unstable/workflow/WorkflowProxyServer.js +2 -2
  883. package/dist/unstable/workflow/index.d.ts +160 -0
  884. package/dist/unstable/workflow/index.d.ts.map +1 -1
  885. package/dist/unstable/workflow/index.js +160 -0
  886. package/dist/unstable/workflow/index.js.map +1 -1
  887. package/package.json +1 -1
  888. package/src/Array.ts +41 -42
  889. package/src/BigDecimal.ts +265 -265
  890. package/src/BigInt.ts +175 -177
  891. package/src/Boolean.ts +127 -125
  892. package/src/Brand.ts +10 -4
  893. package/src/Cache.ts +42 -42
  894. package/src/Cause.ts +17 -18
  895. package/src/Channel.ts +250 -256
  896. package/src/Chunk.ts +33 -56
  897. package/src/Clock.ts +1 -1
  898. package/src/Combiner.ts +9 -1
  899. package/src/Config.ts +78 -68
  900. package/src/ConfigProvider.ts +33 -32
  901. package/src/Console.ts +23 -23
  902. package/src/Context.ts +70 -108
  903. package/src/Cron.ts +3 -5
  904. package/src/Crypto.ts +327 -0
  905. package/src/Data.ts +6 -1
  906. package/src/DateTime.ts +29 -31
  907. package/src/Deferred.ts +8 -9
  908. package/src/Differ.ts +2 -2
  909. package/src/Duration.ts +30 -27
  910. package/src/Effect.ts +402 -660
  911. package/src/Effectable.ts +2 -2
  912. package/src/Encoding.ts +9 -9
  913. package/src/Equal.ts +4 -3
  914. package/src/Equivalence.ts +4 -5
  915. package/src/ErrorReporter.ts +14 -14
  916. package/src/ExecutionPlan.ts +18 -9
  917. package/src/Exit.ts +0 -1
  918. package/src/Fiber.ts +1 -2
  919. package/src/FiberHandle.ts +5 -5
  920. package/src/FiberMap.ts +10 -10
  921. package/src/FiberSet.ts +4 -4
  922. package/src/FileSystem.ts +10 -12
  923. package/src/Filter.ts +54 -54
  924. package/src/Formatter.ts +4 -70
  925. package/src/Function.ts +64 -65
  926. package/src/Graph.ts +157 -175
  927. package/src/Hash.ts +4 -6
  928. package/src/HashMap.ts +121 -157
  929. package/src/HashRing.ts +34 -34
  930. package/src/HashSet.ts +51 -55
  931. package/src/Inspectable.ts +8 -7
  932. package/src/Iterable.ts +37 -83
  933. package/src/JsonPatch.ts +9 -7
  934. package/src/JsonPointer.ts +13 -11
  935. package/src/JsonSchema.ts +16 -0
  936. package/src/Latch.ts +4 -16
  937. package/src/Layer.ts +94 -135
  938. package/src/LayerMap.ts +15 -16
  939. package/src/LogLevel.ts +13 -13
  940. package/src/Logger.ts +16 -17
  941. package/src/ManagedRuntime.ts +5 -4
  942. package/src/Match.ts +2 -4
  943. package/src/Metric.ts +56 -58
  944. package/src/MutableHashMap.ts +42 -44
  945. package/src/MutableHashSet.ts +0 -2
  946. package/src/MutableList.ts +23 -26
  947. package/src/MutableRef.ts +0 -1
  948. package/src/Newtype.ts +12 -2
  949. package/src/NonEmptyIterable.ts +5 -12
  950. package/src/Number.ts +145 -141
  951. package/src/Optic.ts +5 -5
  952. package/src/Option.ts +105 -109
  953. package/src/Order.ts +6 -6
  954. package/src/Ordering.ts +15 -19
  955. package/src/PartitionedSemaphore.ts +3 -3
  956. package/src/Path.ts +4 -4
  957. package/src/Pipeable.ts +10 -7
  958. package/src/PlatformError.ts +3 -3
  959. package/src/Predicate.ts +3 -5
  960. package/src/PrimaryKey.ts +2 -1
  961. package/src/PubSub.ts +25 -51
  962. package/src/Queue.ts +45 -60
  963. package/src/Random.ts +31 -74
  964. package/src/RcMap.ts +11 -11
  965. package/src/RcRef.ts +0 -1
  966. package/src/Record.ts +9 -8
  967. package/src/Redactable.ts +7 -5
  968. package/src/Redacted.ts +2 -3
  969. package/src/Reducer.ts +3 -1
  970. package/src/Ref.ts +15 -33
  971. package/src/RegExp.ts +1 -1
  972. package/src/Request.ts +2 -1
  973. package/src/RequestResolver.ts +2 -3
  974. package/src/Resource.ts +1 -1
  975. package/src/Result.ts +124 -142
  976. package/src/Runtime.ts +2 -7
  977. package/src/Schedule.ts +74 -77
  978. package/src/Scheduler.ts +2 -2
  979. package/src/Schema.ts +491 -321
  980. package/src/SchemaAST.ts +98 -77
  981. package/src/SchemaGetter.ts +23 -23
  982. package/src/SchemaIssue.ts +18 -16
  983. package/src/SchemaParser.ts +46 -49
  984. package/src/SchemaRepresentation.ts +89 -77
  985. package/src/SchemaTransformation.ts +36 -5
  986. package/src/SchemaUtils.ts +1 -1
  987. package/src/Scope.ts +12 -29
  988. package/src/ScopedCache.ts +43 -43
  989. package/src/Semaphore.ts +4 -16
  990. package/src/Sink.ts +36 -39
  991. package/src/Stdio.ts +6 -6
  992. package/src/Stream.ts +789 -828
  993. package/src/String.ts +3 -2
  994. package/src/Struct.ts +20 -18
  995. package/src/SubscriptionRef.ts +2 -2
  996. package/src/Symbol.ts +3 -3
  997. package/src/SynchronizedRef.ts +1 -1
  998. package/src/Take.ts +2 -2
  999. package/src/Terminal.ts +5 -5
  1000. package/src/Tracer.ts +9 -9
  1001. package/src/Trie.ts +70 -106
  1002. package/src/Tuple.ts +34 -32
  1003. package/src/TxChunk.ts +27 -18
  1004. package/src/TxDeferred.ts +11 -11
  1005. package/src/TxHashMap.ts +62 -63
  1006. package/src/TxHashSet.ts +38 -42
  1007. package/src/TxPriorityQueue.ts +31 -31
  1008. package/src/TxPubSub.ts +18 -18
  1009. package/src/TxQueue.ts +26 -29
  1010. package/src/TxReentrantLock.ts +21 -21
  1011. package/src/TxRef.ts +24 -24
  1012. package/src/TxSemaphore.ts +13 -74
  1013. package/src/TxSubscriptionRef.ts +24 -24
  1014. package/src/Types.ts +1 -4
  1015. package/src/UndefinedOr.ts +14 -0
  1016. package/src/Unify.ts +8 -8
  1017. package/src/Utils.ts +1 -2
  1018. package/src/index.ts +1915 -408
  1019. package/src/testing/FastCheck.ts +3 -3
  1020. package/src/testing/TestClock.ts +2 -3
  1021. package/src/testing/TestConsole.ts +8 -9
  1022. package/src/testing/TestSchema.ts +2 -0
  1023. package/src/testing/index.ts +34 -0
  1024. package/src/unstable/ai/AiError.ts +10 -19
  1025. package/src/unstable/ai/Chat.ts +0 -1
  1026. package/src/unstable/ai/McpSchema.ts +3 -0
  1027. package/src/unstable/ai/McpServer.ts +3 -1
  1028. package/src/unstable/ai/Model.ts +2 -6
  1029. package/src/unstable/ai/Prompt.ts +8 -10
  1030. package/src/unstable/ai/Response.ts +20 -20
  1031. package/src/unstable/ai/ResponseIdTracker.ts +1 -1
  1032. package/src/unstable/ai/Telemetry.ts +5 -5
  1033. package/src/unstable/ai/Tokenizer.ts +1 -1
  1034. package/src/unstable/ai/Tool.ts +14 -12
  1035. package/src/unstable/ai/index.ts +79 -5
  1036. package/src/unstable/cli/CliOutput.ts +5 -6
  1037. package/src/unstable/cli/Command.ts +3 -3
  1038. package/src/unstable/cli/HelpDoc.ts +4 -4
  1039. package/src/unstable/cli/Param.ts +69 -72
  1040. package/src/unstable/cli/Primitive.ts +1 -1
  1041. package/src/unstable/cli/Prompt.ts +6 -14
  1042. package/src/unstable/cli/index.ts +205 -6
  1043. package/src/unstable/cli/internal/parser.ts +0 -1
  1044. package/src/unstable/cluster/ClusterCron.ts +1 -1
  1045. package/src/unstable/cluster/ClusterSchema.ts +8 -8
  1046. package/src/unstable/cluster/ClusterWorkflowEngine.ts +2 -2
  1047. package/src/unstable/cluster/Entity.ts +0 -1
  1048. package/src/unstable/cluster/EntityProxy.ts +10 -14
  1049. package/src/unstable/cluster/EntityProxyServer.ts +3 -2
  1050. package/src/unstable/cluster/EntityResource.ts +2 -2
  1051. package/src/unstable/cluster/Envelope.ts +1 -1
  1052. package/src/unstable/cluster/HttpRunner.ts +11 -11
  1053. package/src/unstable/cluster/K8sHttpClient.ts +5 -5
  1054. package/src/unstable/cluster/MachineId.ts +1 -1
  1055. package/src/unstable/cluster/MessageStorage.ts +1 -2
  1056. package/src/unstable/cluster/Runner.ts +1 -1
  1057. package/src/unstable/cluster/RunnerHealth.ts +2 -2
  1058. package/src/unstable/cluster/RunnerServer.ts +4 -4
  1059. package/src/unstable/cluster/Runners.ts +3 -3
  1060. package/src/unstable/cluster/ShardId.ts +7 -5
  1061. package/src/unstable/cluster/Sharding.ts +1 -1
  1062. package/src/unstable/cluster/ShardingConfig.ts +2 -2
  1063. package/src/unstable/cluster/SingleRunner.ts +1 -1
  1064. package/src/unstable/cluster/Snowflake.ts +10 -9
  1065. package/src/unstable/cluster/SocketRunner.ts +2 -2
  1066. package/src/unstable/cluster/SqlMessageStorage.ts +3 -3
  1067. package/src/unstable/cluster/SqlRunnerStorage.ts +3 -3
  1068. package/src/unstable/cluster/TestRunner.ts +1 -1
  1069. package/src/unstable/cluster/index.ts +790 -0
  1070. package/src/unstable/devtools/index.ts +58 -0
  1071. package/src/unstable/encoding/Sse.ts +16 -16
  1072. package/src/unstable/encoding/index.ts +49 -0
  1073. package/src/unstable/eventlog/Event.ts +2 -2
  1074. package/src/unstable/eventlog/EventGroup.ts +2 -2
  1075. package/src/unstable/eventlog/EventLog.ts +6 -7
  1076. package/src/unstable/eventlog/EventLogRemote.ts +2 -2
  1077. package/src/unstable/eventlog/EventLogServer.ts +2 -2
  1078. package/src/unstable/eventlog/EventLogServerEncrypted.ts +2 -2
  1079. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +1 -1
  1080. package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
  1081. package/src/unstable/eventlog/index.ts +240 -0
  1082. package/src/unstable/http/Cookies.ts +6 -6
  1083. package/src/unstable/http/Etag.ts +2 -2
  1084. package/src/unstable/http/Headers.ts +2 -2
  1085. package/src/unstable/http/HttpClient.ts +5 -6
  1086. package/src/unstable/http/HttpClientError.ts +1 -1
  1087. package/src/unstable/http/HttpClientRequest.ts +4 -4
  1088. package/src/unstable/http/HttpClientResponse.ts +6 -6
  1089. package/src/unstable/http/HttpEffect.ts +5 -5
  1090. package/src/unstable/http/HttpIncomingMessage.ts +7 -6
  1091. package/src/unstable/http/HttpMethod.ts +4 -2
  1092. package/src/unstable/http/HttpMiddleware.ts +1 -0
  1093. package/src/unstable/http/HttpRouter.ts +23 -25
  1094. package/src/unstable/http/HttpServerError.ts +4 -1
  1095. package/src/unstable/http/HttpServerRequest.ts +15 -15
  1096. package/src/unstable/http/HttpServerRespondable.ts +1 -1
  1097. package/src/unstable/http/HttpServerResponse.ts +5 -4
  1098. package/src/unstable/http/HttpStaticServer.ts +2 -4
  1099. package/src/unstable/http/Multipart.ts +20 -19
  1100. package/src/unstable/http/Template.ts +0 -1
  1101. package/src/unstable/http/Url.ts +17 -17
  1102. package/src/unstable/http/UrlParams.ts +14 -12
  1103. package/src/unstable/http/index.ts +452 -0
  1104. package/src/unstable/httpapi/HttpApiBuilder.ts +0 -1
  1105. package/src/unstable/httpapi/HttpApiClient.ts +0 -1
  1106. package/src/unstable/httpapi/HttpApiMiddleware.ts +4 -2
  1107. package/src/unstable/httpapi/HttpApiScalar.ts +2 -2
  1108. package/src/unstable/httpapi/HttpApiSchema.ts +19 -8
  1109. package/src/unstable/httpapi/HttpApiSecurity.ts +0 -1
  1110. package/src/unstable/httpapi/HttpApiSwagger.ts +0 -2
  1111. package/src/unstable/httpapi/index.ts +310 -25
  1112. package/src/unstable/observability/Otlp.ts +3 -3
  1113. package/src/unstable/observability/OtlpExporter.ts +1 -1
  1114. package/src/unstable/observability/OtlpLogger.ts +3 -2
  1115. package/src/unstable/observability/OtlpMetrics.ts +5 -4
  1116. package/src/unstable/observability/OtlpResource.ts +9 -9
  1117. package/src/unstable/observability/OtlpSerialization.ts +3 -3
  1118. package/src/unstable/observability/OtlpTracer.ts +5 -2
  1119. package/src/unstable/observability/PrometheusMetrics.ts +7 -7
  1120. package/src/unstable/observability/index.ts +158 -2
  1121. package/src/unstable/persistence/KeyValueStore.ts +4 -4
  1122. package/src/unstable/persistence/Persistable.ts +11 -11
  1123. package/src/unstable/persistence/PersistedCache.ts +2 -2
  1124. package/src/unstable/persistence/PersistedQueue.ts +6 -6
  1125. package/src/unstable/persistence/Persistence.ts +2 -1
  1126. package/src/unstable/persistence/RateLimiter.ts +19 -15
  1127. package/src/unstable/persistence/Redis.ts +3 -3
  1128. package/src/unstable/persistence/index.ts +147 -0
  1129. package/src/unstable/process/ChildProcess.ts +42 -42
  1130. package/src/unstable/process/ChildProcessSpawner.ts +10 -10
  1131. package/src/unstable/reactivity/AsyncResult.ts +8 -6
  1132. package/src/unstable/reactivity/Atom.ts +25 -20
  1133. package/src/unstable/reactivity/AtomHttpApi.ts +2 -2
  1134. package/src/unstable/reactivity/AtomRef.ts +2 -2
  1135. package/src/unstable/reactivity/AtomRegistry.ts +17 -17
  1136. package/src/unstable/reactivity/AtomRpc.ts +2 -2
  1137. package/src/unstable/reactivity/Reactivity.ts +2 -3
  1138. package/src/unstable/reactivity/index.ts +167 -0
  1139. package/src/unstable/rpc/Rpc.ts +0 -1
  1140. package/src/unstable/rpc/RpcClient.ts +0 -1
  1141. package/src/unstable/rpc/RpcClientError.ts +2 -2
  1142. package/src/unstable/rpc/RpcMiddleware.ts +2 -2
  1143. package/src/unstable/rpc/RpcWorker.ts +0 -1
  1144. package/src/unstable/rpc/Utils.ts +2 -0
  1145. package/src/unstable/rpc/index.ts +272 -0
  1146. package/src/unstable/schema/Model.ts +98 -10
  1147. package/src/unstable/schema/VariantSchema.ts +1 -4
  1148. package/src/unstable/schema/index.ts +37 -0
  1149. package/src/unstable/socket/Socket.ts +5 -4
  1150. package/src/unstable/socket/index.ts +44 -0
  1151. package/src/unstable/sql/Migrator.ts +5 -5
  1152. package/src/unstable/sql/SqlClient.ts +4 -0
  1153. package/src/unstable/sql/SqlConnection.ts +3 -3
  1154. package/src/unstable/sql/SqlError.ts +18 -0
  1155. package/src/unstable/sql/SqlModel.ts +0 -1
  1156. package/src/unstable/sql/SqlSchema.ts +5 -5
  1157. package/src/unstable/sql/SqlStream.ts +1 -0
  1158. package/src/unstable/sql/Statement.ts +27 -24
  1159. package/src/unstable/sql/index.ts +178 -0
  1160. package/src/unstable/workers/Transferable.ts +7 -7
  1161. package/src/unstable/workers/Worker.ts +1 -0
  1162. package/src/unstable/workers/WorkerError.ts +8 -8
  1163. package/src/unstable/workers/index.ts +80 -0
  1164. package/src/unstable/workflow/Activity.ts +7 -7
  1165. package/src/unstable/workflow/DurableClock.ts +2 -2
  1166. package/src/unstable/workflow/DurableDeferred.ts +22 -20
  1167. package/src/unstable/workflow/DurableQueue.ts +7 -5
  1168. package/src/unstable/workflow/Workflow.ts +12 -10
  1169. package/src/unstable/workflow/WorkflowEngine.ts +4 -4
  1170. package/src/unstable/workflow/WorkflowProxy.ts +10 -12
  1171. package/src/unstable/workflow/WorkflowProxyServer.ts +3 -2
  1172. package/src/unstable/workflow/index.ts +160 -0
@@ -3,154 +3,944 @@
3
3
  */
4
4
  // @barrel: Auto-generated exports. Do not edit manually.
5
5
  /**
6
+ * The `ClusterCron` module provides a small integration between cron schedules
7
+ * and cluster sharding. It turns a `Cron.Cron` schedule into a `Layer` that
8
+ * coordinates one recurring job across a cluster by registering a singleton for
9
+ * the initial scheduling step and a persisted entity message for each run.
10
+ *
11
+ * This is useful for distributed maintenance work such as periodic cleanup,
12
+ * reconciliation, report generation, cache refreshes, or polling external
13
+ * systems where the job should be owned by the cluster rather than by every
14
+ * runner independently.
15
+ *
16
+ * **Mental model**
17
+ *
18
+ * - {@link make} registers a named cluster cron job as a layer
19
+ * - a singleton schedules the first run for the selected shard group
20
+ * - each run is delivered as a persisted entity message at its scheduled time
21
+ * - after a run exits, the handler schedules the next occurrence
22
+ * - stale runs can be skipped with `skipIfOlderThan`
23
+ *
24
+ * **Gotchas**
25
+ *
26
+ * - Job effects should be idempotent because persisted messages, retries, and
27
+ * runner failover are part of normal distributed execution.
28
+ * - By default, the next run is calculated from the current time after the
29
+ * handler exits; use `calculateNextRunFromPrevious` when preserving the
30
+ * schedule cadence is more important than catching up from delays.
31
+ * - Long outages can produce old scheduled messages; keep `skipIfOlderThan`
32
+ * aligned with the job's business semantics.
33
+ *
6
34
  * @since 4.0.0
7
35
  */
8
36
  export * as ClusterCron from "./ClusterCron.js";
9
37
  /**
38
+ * The `ClusterError` module defines the typed error values used by the
39
+ * unstable cluster runtime when routing messages to entities, coordinating
40
+ * runners, and persisting mailbox work.
41
+ *
42
+ * These errors are useful when implementing cluster transports, runner
43
+ * supervision, mailbox storage, and entity request handling. They make common
44
+ * distributed-system failures explicit: a message may reach a runner that no
45
+ * longer owns the entity, a runner may be unavailable or unregistered, a
46
+ * payload may fail to decode, persistence may fail, a mailbox may be at
47
+ * capacity, or an envelope may already be in progress.
48
+ *
49
+ * **Gotchas**
50
+ *
51
+ * - Entity ownership and runner availability can change while messages are in
52
+ * flight, so routing errors should generally be treated as retryable or
53
+ * recoverable by higher-level cluster logic.
54
+ * - `MalformedMessage` points to a schema/serialization boundary failure,
55
+ * while `PersistenceError` preserves failures from durable mailbox storage.
56
+ * - `AlreadyProcessingMessage` protects an entity mailbox from processing the
57
+ * same envelope concurrently.
58
+ *
10
59
  * @since 4.0.0
11
60
  */
12
61
  export * as ClusterError from "./ClusterError.js";
13
62
  /**
63
+ * The `ClusterMetrics` module defines the standard metrics emitted by the
64
+ * unstable cluster runtime. These gauges track the shape and health of a
65
+ * running cluster from the perspective of runners, entities, singletons, and
66
+ * shard ownership.
67
+ *
68
+ * **Common tasks**
69
+ *
70
+ * - Monitor how many entity instances and singleton processes are active on a
71
+ * runner
72
+ * - Track registered runners and the subset currently considered healthy
73
+ * - Observe shard distribution across runners during startup, rebalancing, and
74
+ * failover
75
+ *
76
+ * **Gotchas**
77
+ *
78
+ * - Runner-local gauges such as {@link entities}, {@link singletons}, and
79
+ * {@link shards} describe the current runner, so aggregate them carefully in
80
+ * dashboards
81
+ * - Cluster-wide gauges such as {@link runners} and {@link runnersHealthy}
82
+ * reflect the runtime's current view, which may lag briefly during membership
83
+ * changes or failure detection
84
+ *
14
85
  * @since 4.0.0
15
86
  */
16
87
  export * as ClusterMetrics from "./ClusterMetrics.js";
17
88
  /**
89
+ * The `ClusterSchema` module defines the schema annotations used by Effect
90
+ * Cluster protocols. These annotations attach cluster-specific behavior to
91
+ * RPCs and entities without changing the request or response schemas
92
+ * themselves.
93
+ *
94
+ * **Common tasks**
95
+ *
96
+ * - Mark requests as persisted so mailbox storage can replay them after
97
+ * interruption or restart
98
+ * - Run server-side handling inside a storage transaction when durable state
99
+ * and SQL updates must commit together
100
+ * - Control whether client sending, server handling, or both are treated as
101
+ * uninterruptible
102
+ * - Route entity ids into shard groups
103
+ * - Disable client tracing for internal protocols such as cron dispatch
104
+ * - Derive per-request annotations from the encoded request with {@link Dynamic}
105
+ *
106
+ * **Protocol notes**
107
+ *
108
+ * Cluster transports serialize the RPC payloads, not arbitrary runtime
109
+ * annotation values. Prefer static, deterministic annotations, and use
110
+ * {@link Dynamic} when a persisted or transactional decision depends on the
111
+ * request value that is already part of the protocol. Persisted requests require
112
+ * message storage support, and shard group selection must remain stable for a
113
+ * given entity id so routing is consistent across cluster members.
114
+ *
18
115
  * @since 4.0.0
19
116
  */
20
117
  export * as ClusterSchema from "./ClusterSchema.js";
21
118
  /**
119
+ * The cluster workflow engine runs durable workflows on top of cluster sharding
120
+ * and message storage. It adapts `WorkflowEngine.WorkflowEngine` so workflow
121
+ * executions, activities, deferred completions, resumes, interrupts, and durable
122
+ * clock wakeups are represented as persisted cluster entity messages.
123
+ *
124
+ * **Common tasks**
125
+ *
126
+ * - Provide a workflow engine for services that already use cluster sharding
127
+ * - Execute workflows by stable execution id and poll their persisted result
128
+ * - Resume suspended workflows after activities, deferreds, or durable clock wakeups
129
+ * - Interrupt workflow executions and propagate resume signals to parent workflows
130
+ *
131
+ * **Gotchas**
132
+ *
133
+ * - Workflow names and execution ids determine the cluster entity address used
134
+ * for persistence, so they must remain stable across deploys
135
+ * - Activities are persisted by activity name and attempt; retries and suspended
136
+ * activity resumes depend on those primary keys
137
+ * - Durable clock wakeups are scheduled through a separate clock entity and are
138
+ * cleared when an interrupted workflow stops waiting
139
+ *
22
140
  * @since 4.0.0
23
141
  */
24
142
  export * as ClusterWorkflowEngine from "./ClusterWorkflowEngine.js";
25
143
  /**
144
+ * The `DeliverAt` module defines the protocol used by cluster message payloads
145
+ * that carry their own scheduled delivery time. A value implements the protocol
146
+ * by exposing a method at the `DeliverAt` symbol that returns the target
147
+ * `DateTime`.
148
+ *
149
+ * **Common tasks**
150
+ *
151
+ * - Mark a message payload as deliverable at a specific time by implementing
152
+ * {@link DeliverAt}
153
+ * - Check whether an arbitrary value carries a scheduled delivery time with
154
+ * {@link isDeliverAt}
155
+ * - Convert a scheduled delivery time to epoch milliseconds with
156
+ * {@link toMillis}
157
+ *
158
+ * **Gotchas**
159
+ *
160
+ * - The protocol records the requested delivery instant; cluster infrastructure
161
+ * may still deliver later because of clock skew, queue latency, or worker
162
+ * availability
163
+ * - Values that do not implement the symbol method are treated as unscheduled;
164
+ * {@link toMillis} returns `null` for those values
165
+ *
26
166
  * @since 4.0.0
27
167
  */
28
168
  export * as DeliverAt from "./DeliverAt.js";
29
169
  /**
170
+ * The `Entity` module defines sharded, addressable actors for Effect Cluster.
171
+ * An entity type pairs a stable entity name with an RPC protocol and describes
172
+ * how requests for individual entity ids are routed to shard groups and
173
+ * runners.
174
+ *
175
+ * **Mental model**
176
+ *
177
+ * - An `Entity` is the cluster-facing definition for one logical actor type
178
+ * - Each entity id maps deterministically to a shard group and shard id
179
+ * - Clients are created per entity id and send typed RPC messages through the
180
+ * cluster sharding layer
181
+ * - Server layers register handlers or mailbox processors for the entity type
182
+ *
183
+ * **Common tasks**
184
+ *
185
+ * - Define an entity protocol with RPCs and create an entity with {@link make}
186
+ * - Send messages to a specific entity id with {@link Entity.client}
187
+ * - Register typed RPC handlers with {@link Entity.toLayer}
188
+ * - Process envelopes directly with {@link Entity.toLayerQueue}
189
+ * - Access the current entity or runner address with {@link CurrentAddress} and
190
+ * {@link CurrentRunnerAddress}
191
+ *
192
+ * **Gotchas**
193
+ *
194
+ * - Entity ids are part of routing: changing id formats can move work to
195
+ * different shards
196
+ * - Entity type names should be stable and unique within a cluster deployment
197
+ * - Mailbox capacity and concurrency determine back pressure and duplicate
198
+ * processing behavior
199
+ * - Persistence, mailbox, and already-processing failures are surfaced through
200
+ * the generated clients
201
+ *
30
202
  * @since 4.0.0
31
203
  */
32
204
  export * as Entity from "./Entity.js";
33
205
  /**
206
+ * The `EntityAddress` module defines the value used to locate an entity within
207
+ * a cluster. An address combines the entity type, entity id, and shard id so
208
+ * messages, persisted envelopes, workflow executions, and entity managers can
209
+ * agree on the same routing target.
210
+ *
211
+ * **Common tasks**
212
+ *
213
+ * - Build an address after resolving an entity id to a shard with `Sharding`
214
+ * - Attach an address to cluster envelopes and persisted messages
215
+ * - Compare or hash addresses when tracking active or resuming entities
216
+ *
217
+ * **Gotchas**
218
+ *
219
+ * - The shard id is part of the address identity; the same entity type and id
220
+ * on a different shard is a different address.
221
+ * - Entity ids should be routed through the same shard group logic used by the
222
+ * entity definition so messages are sent to the runner that owns the shard.
223
+ *
34
224
  * @since 4.0.0
35
225
  */
36
226
  export * as EntityAddress from "./EntityAddress.js";
37
227
  /**
228
+ * The `EntityId` module provides a branded string identifier for addressing a
229
+ * specific entity instance inside the cluster. Entity ids are commonly used as
230
+ * stable routing keys when sending messages to an entity, looking up its state,
231
+ * or deriving the shard responsible for that entity.
232
+ *
233
+ * Because routing is based on the exact string value, choose ids that are
234
+ * deterministic, normalized, and unique within the entity type you are
235
+ * addressing. Avoid display names or other values that may change over time.
236
+ *
38
237
  * @since 4.0.0
39
238
  */
40
239
  export * as EntityId from "./EntityId.js";
41
240
  /**
241
+ * The `EntityProxy` module derives external RPC and HTTP API surfaces from a
242
+ * clustered {@link Entity.Entity}. It is used when callers should communicate
243
+ * with entities through ordinary RPC clients or HTTP routes while the cluster
244
+ * runtime keeps responsibility for locating, routing, and delivering messages
245
+ * to the entity instance identified by `entityId`.
246
+ *
247
+ * **Common tasks**
248
+ *
249
+ * - Derive an `RpcGroup` from an entity with {@link toRpcGroup}
250
+ * - Derive an `HttpApiGroup` from an entity with {@link toHttpApiGroup}
251
+ * - Expose both request/response calls and discard variants for fire-and-forget
252
+ * delivery
253
+ *
254
+ * **Gotchas**
255
+ *
256
+ * - Proxy RPC payloads wrap the original RPC payload with an `entityId`; HTTP
257
+ * endpoints place the same identifier in the route path.
258
+ * - Generated RPC names are prefixed with the entity type, while HTTP endpoint
259
+ * paths are based on lower-cased RPC tags.
260
+ * - Proxy errors include cluster delivery errors such as mailbox saturation,
261
+ * duplicate in-flight messages, and persistence failures.
262
+ *
42
263
  * @since 4.0.0
43
264
  */
44
265
  export * as EntityProxy from "./EntityProxy.js";
45
266
  /**
267
+ * The `EntityProxyServer` module provides server-side layers for exposing
268
+ * clustered entities through proxy APIs. It connects proxy requests to an
269
+ * entity client, extracts the target `entityId`, and forwards the payload to
270
+ * the matching entity RPC method.
271
+ *
272
+ * **Common tasks**
273
+ *
274
+ * - Serve an entity proxy over an HTTP API group with {@link layerHttpApi}
275
+ * - Serve the RPC group produced by an entity proxy with {@link layerRpcHandlers}
276
+ * - Route both normal calls and discard calls to the same underlying entity
277
+ * method
278
+ *
279
+ * **Gotchas**
280
+ *
281
+ * - HTTP proxy endpoints expect the `entityId` path parameter to identify the
282
+ * target entity instance
283
+ * - RPC proxy handlers use tags prefixed with the entity type, matching the
284
+ * group generated by `EntityProxy.toRpcGroup`
285
+ * - Both layers require `Sharding` and the entity RPC server services in the
286
+ * environment so requests can be routed to the owning shard
287
+ *
46
288
  * @since 4.0.0
47
289
  */
48
290
  export * as EntityProxyServer from "./EntityProxyServer.js";
49
291
  /**
292
+ * The `EntityResource` module provides helpers for acquiring resources inside a
293
+ * cluster entity and keeping them available across entity restarts. It is useful
294
+ * for long-lived resources tied to an entity address, such as external
295
+ * processes, network clients, Kubernetes Pods, or other handles that should not
296
+ * be torn down during routine shard movement.
297
+ *
298
+ * **Common tasks**
299
+ *
300
+ * - Create a reusable entity-scoped resource with {@link make}
301
+ * - Keep an entity alive while the resource is acquired
302
+ * - Explicitly release the resource with `EntityResource.close`
303
+ * - Attach cleanup work to the resource close scope with {@link CloseScope}
304
+ * - Create and manage a Kubernetes Pod resource with {@link makeK8sPod}
305
+ *
306
+ * **Lifecycle gotchas**
307
+ *
308
+ * - Resources are retained by an `RcRef` and are only fully released after
309
+ * `idleTimeToLive` expires or `close` is called
310
+ * - The default idle time to live is infinite, so resources remain alive until
311
+ * explicitly closed
312
+ * - `CloseScope` is separate from the caller scope and is not closed by entity
313
+ * restarts, shard movement, or node shutdown finalization
314
+ *
50
315
  * @since 4.0.0
51
316
  */
52
317
  export * as EntityResource from "./EntityResource.js";
53
318
  /**
319
+ * The `EntityType` module defines the branded string used to identify a kind of
320
+ * entity in an Effect cluster. Entity type names are part of the cluster routing
321
+ * identity: they distinguish one family of entities from another before an
322
+ * individual entity id is considered.
323
+ *
324
+ * **Common tasks**
325
+ *
326
+ * - Declare the stable name for an entity family handled by a cluster service
327
+ * - Brand a string literal as an {@link EntityType} with {@link make}
328
+ * - Validate or encode entity type names with the {@link EntityType} schema
329
+ *
330
+ * **Gotchas**
331
+ *
332
+ * - Entity type names should be stable and unique within the cluster because
333
+ * changing them changes where entity messages are routed
334
+ * - The entity type name identifies the entity family, not a specific entity
335
+ * instance; combine it with the entity id at the call site that routes work
336
+ *
54
337
  * @since 4.0.0
55
338
  */
56
339
  export * as EntityType from "./EntityType.js";
57
340
  /**
341
+ * The `Envelope` module defines the transport messages exchanged by Effect
342
+ * cluster entities while processing RPC requests. Envelopes wrap decoded
343
+ * request payloads with routing metadata, trace context, and request ids, and
344
+ * also model delivery-control messages such as streamed-reply acknowledgements
345
+ * and request interrupts.
346
+ *
347
+ * **Common use cases**
348
+ *
349
+ * - Construct a runtime request envelope with {@link makeRequest}
350
+ * - Decode or encode envelopes crossing a network or durable queue with {@link PartialJson}
351
+ * - Batch encoded envelopes with {@link PartialArray}
352
+ * - Detect envelope values at runtime with {@link isEnvelope}
353
+ * - Build storage keys for keyed request payloads with {@link primaryKey}
354
+ *
355
+ * **Serialization and delivery notes**
356
+ *
357
+ * Request envelopes are decoded in two phases: the envelope metadata is parsed
358
+ * first, while the RPC payload remains `unknown` until the receiving side knows
359
+ * the target RPC schema. Snowflake identifiers are encoded as strings for JSON
360
+ * transport, and acknowledgement / interrupt envelopes carry the original
361
+ * request id so delivery protocols can correlate control messages with the
362
+ * in-flight request.
363
+ *
58
364
  * @since 4.0.0
59
365
  */
60
366
  export * as Envelope from "./Envelope.js";
61
367
  /**
368
+ * The `HttpRunner` module wires cluster runner RPCs to HTTP transports. It
369
+ * provides client protocol layers for contacting runners over HTTP or
370
+ * WebSocket, server-side HTTP effects for exposing runner RPC handlers, and
371
+ * complete layers that install those routes into an `HttpRouter`.
372
+ *
373
+ * **Common tasks**
374
+ *
375
+ * - Serve runner RPC routes with {@link layerHttp} or {@link layerWebsocket}
376
+ * - Configure client-only runner communication with {@link layerHttpClientOnly}
377
+ * or {@link layerWebsocketClientOnly}
378
+ * - Use custom route paths with {@link layerHttpOptions},
379
+ * {@link layerWebsocketOptions}, {@link layerClientProtocolHttp}, or
380
+ * {@link layerClientProtocolWebsocket}
381
+ *
382
+ * **Transport gotchas**
383
+ *
384
+ * - Client protocol paths are appended to each runner address when building the
385
+ * target URL
386
+ * - `https: true` switches HTTP clients from `http` to `https`, and WebSocket
387
+ * clients from `ws` to `wss`
388
+ * - The default complete layers serve and connect at `/`; use the `Options`
389
+ * variants when your runner routes live under a different path
390
+ *
62
391
  * @since 4.0.0
63
392
  */
64
393
  export * as HttpRunner from "./HttpRunner.js";
65
394
  /**
395
+ * The `K8sHttpClient` module provides an HTTP client service for talking to the
396
+ * Kubernetes API from code running inside a cluster.
397
+ *
398
+ * It configures requests for the in-cluster service endpoint, attaches the
399
+ * mounted service-account token when present, and exposes helpers for common
400
+ * cluster tasks such as discovering running pods by namespace or label selector
401
+ * and creating scoped pods that are cleaned up automatically.
402
+ *
403
+ * **Gotchas**
404
+ *
405
+ * - The default layer targets `https://kubernetes.default.svc/api`, so it is
406
+ * intended for workloads with Kubernetes DNS and service-account mounts.
407
+ * - Pod discovery is keyed by pod IP address and only includes pods whose phase
408
+ * is `Running`; callers should choose selectors that match the intended
409
+ * service topology.
410
+ * - Network policies, RBAC, and service-account token availability can all
411
+ * prevent the client from reaching or authorizing with the Kubernetes API.
412
+ *
66
413
  * @since 4.0.0
67
414
  */
68
415
  export * as K8sHttpClient from "./K8sHttpClient.js";
69
416
  /**
417
+ * The `MachineId` module provides the branded integer identifier used to
418
+ * distinguish cluster runners when generating distributed ids and coordinating
419
+ * runner state.
420
+ *
421
+ * **When to use**
422
+ *
423
+ * - Persisting or exchanging the machine id assigned to a cluster runner
424
+ * - Passing a runner-specific identity to the cluster snowflake generator
425
+ * - Decoding machine ids from storage while keeping them distinct from plain numbers
426
+ *
427
+ * **Gotchas**
428
+ *
429
+ * - Machine ids must be unique for concurrently active runners that generate snowflakes
430
+ * - Snowflake ids store the machine component in 10 bits, so only the value modulo 1024 is encoded
431
+ *
70
432
  * @since 4.0.0
71
433
  */
72
434
  export * as MachineId from "./MachineId.js";
73
435
  /**
436
+ * The cluster `Message` module defines the in-memory shapes used while moving
437
+ * requests and control envelopes between callers, durable storage, transports,
438
+ * and entity runners.
439
+ *
440
+ * **Common use cases**
441
+ *
442
+ * - Representing outgoing entity requests before they are stored or sent
443
+ * - Reconstructing incoming requests that runners read from storage or transport
444
+ * - Converting outgoing messages into local, in-process deliveries
445
+ * - Serializing request payloads with the associated RPC schema and context
446
+ * - Passing control envelopes such as acknowledgements and interrupts through
447
+ * without payload decoding
448
+ *
449
+ * **Gotchas**
450
+ *
451
+ * - Requests can exist in decoded local form or encoded persisted form; choose
452
+ * `IncomingLocal` / `OutgoingRequest` for local delivery and `IncomingRequest`
453
+ * / `Envelope.PartialRequest` for storage or transport boundaries.
454
+ * - Request payloads must be encoded and decoded with the matching RPC payload
455
+ * schema and service context, otherwise failures are surfaced as
456
+ * `MalformedMessage`.
457
+ * - Delivery state such as the last sent or received reply is carried alongside
458
+ * messages so retries and persisted replies can preserve cluster semantics.
459
+ *
74
460
  * @since 4.0.0
75
461
  */
76
462
  export * as Message from "./Message.js";
77
463
  /**
464
+ * The `MessageStorage` module defines the persistence boundary used by Effect
465
+ * Cluster to store mailbox messages and replies. Storage implementations keep
466
+ * requests, envelopes, and reply chunks durable enough for runners to recover
467
+ * work after restarts, replay unprocessed messages for assigned shards, and
468
+ * deliver replies back to locally registered handlers.
469
+ *
470
+ * **Common use cases**
471
+ *
472
+ * - Persist outgoing requests and control envelopes before delivery
473
+ * - Detect duplicate requests by primary key and resume from an existing reply
474
+ * - Query unprocessed messages when shards are assigned to a runner
475
+ * - Store, load, and clear replies for request streams and completions
476
+ * - Reset or clear mailbox state during shard or address lifecycle changes
477
+ *
478
+ * **Gotchas**
479
+ *
480
+ * - Implementations should make save and reply operations transactional when
481
+ * possible so recovery does not observe partial mailbox state
482
+ * - Duplicate detection depends on stable request primary keys and persisted
483
+ * request ids
484
+ * - Reply handlers are local process state; persisted replies may need to be
485
+ * loaded again after restarts or reassignment
486
+ * - Concurrent runners must only process messages for shards they currently own
487
+ *
78
488
  * @since 4.0.0
79
489
  */
80
490
  export * as MessageStorage from "./MessageStorage.js";
81
491
  /**
492
+ * The `Reply` module models responses produced by clustered RPC execution. A
493
+ * reply belongs to a request and is either a terminal {@link WithExit}, which
494
+ * carries the final RPC `Exit`, or a streaming {@link Chunk}, which carries a
495
+ * non-empty batch of success values for RPCs that stream results.
496
+ *
497
+ * **Common tasks**
498
+ *
499
+ * - Represent runtime replies with {@link Reply}, {@link WithExit}, and {@link Chunk}
500
+ * - Encode and decode transport payloads with {@link Encoded} and {@link Reply}
501
+ * - Persist replies together with schema context via {@link ReplyWithContext}
502
+ * - Serialize the latest received reply when resuming or de-duplicating requests with {@link serializeLastReceived}
503
+ *
504
+ * **Streaming and acknowledgement notes**
505
+ *
506
+ * - Chunk replies are sequenced and can be replayed until acknowledged by the
507
+ * receiver.
508
+ * - A `WithExit` reply is terminal and completes the request, while chunks only
509
+ * represent intermediate streamed success values.
510
+ * - `Chunk.emptyFrom` is used as an acknowledgement marker for an empty streamed
511
+ * reply; it is not a general-purpose success payload.
512
+ *
82
513
  * @since 4.0.0
83
514
  */
84
515
  export * as Reply from "./Reply.js";
85
516
  /**
517
+ * The `Runner` module defines the membership record used by the unstable
518
+ * cluster runtime to describe a process that can host entity shards.
519
+ *
520
+ * A runner combines the network address used by other runners to reach it, the
521
+ * shard groups it participates in, and a relative weight used when the sharding
522
+ * service assigns shards across the healthy runners in each group.
523
+ *
524
+ * **Common tasks**
525
+ *
526
+ * - Construct the runner registered by the local `Sharding` layer
527
+ * - Persist or exchange runner metadata through `RunnerStorage`
528
+ * - Encode and decode runner values at cluster transport or storage boundaries
529
+ * - Tune shard distribution by adjusting the runner's group membership and
530
+ * relative weight
531
+ *
532
+ * **Gotchas**
533
+ *
534
+ * - Runner addresses must be stable and unique while a runner is registered,
535
+ * because they identify the owner used for routing and shard locks.
536
+ * - Weights are relative within each shard group; changing weights or groups can
537
+ * rebalance shard ownership as the cluster refreshes its runner view.
538
+ * - Runner equality and hashing are based on address and weight, so compare
539
+ * `groups` explicitly when group membership is the important distinction.
540
+ *
86
541
  * @since 4.0.0
87
542
  */
88
543
  export * as Runner from "./Runner.js";
89
544
  /**
545
+ * The `RunnerAddress` module defines the network identity used to locate a
546
+ * cluster runner. A runner address is a host and port pair that can be encoded,
547
+ * compared, hashed, inspected, and used as a stable primary key.
548
+ *
549
+ * **Common use cases**
550
+ *
551
+ * - Representing the target runner for cluster routing and placement decisions
552
+ * - Persisting or exchanging runner endpoints through schemas
553
+ * - Using runner endpoints as keys in maps, registries, or shard ownership data
554
+ *
555
+ * **Gotchas**
556
+ *
557
+ * - Identity is structural: two addresses are equal when both host and port match
558
+ * - The primary key is formatted as `host:port`, so host strings should already
559
+ * be normalized for the routing layer using them
560
+ *
90
561
  * @since 4.0.0
91
562
  */
92
563
  export * as RunnerAddress from "./RunnerAddress.js";
93
564
  /**
565
+ * The `RunnerHealth` module defines the health-check service used by cluster
566
+ * sharding to decide whether a runner may still own its assigned shards. A
567
+ * runner that is reported as alive is allowed to keep processing messages,
568
+ * while a runner that is reported as unavailable can have its shards moved to
569
+ * another runner.
570
+ *
571
+ * **Common tasks**
572
+ *
573
+ * - Provide a custom {@link RunnerHealth} service for a cluster deployment
574
+ * - Use {@link layerPing} to check runners through the cluster runner protocol
575
+ * - Use {@link layerK8s} when Kubernetes pod readiness should drive health
576
+ * - Use {@link layerNoop} in tests or environments where runners are always considered healthy
577
+ *
578
+ * **Gotchas**
579
+ *
580
+ * - Health checks affect shard reassignment, so false negatives can move shards
581
+ * away from runners that may still be processing messages
582
+ * - The Kubernetes implementation treats API failures as healthy to avoid
583
+ * reassignment caused by a temporary control-plane outage
584
+ *
94
585
  * @since 4.0.0
95
586
  */
96
587
  export * as RunnerHealth from "./RunnerHealth.js";
97
588
  /**
589
+ * The `Runners` module defines the service used by the unstable cluster runtime
590
+ * to communicate with processes that host entity shards. It is the transport
591
+ * boundary between sharding decisions and runner execution: callers can ping a
592
+ * runner, send requests or envelopes, notify a runner that persisted work is
593
+ * available, and report an address as unavailable.
594
+ *
595
+ * The default implementation wraps lower-level runner callbacks with cluster
596
+ * message semantics. Persisted messages are written to `MessageStorage` before
597
+ * delivery, duplicate requests can resume from stored replies, and local sends
598
+ * can optionally serialize and deserialize messages to exercise the same path as
599
+ * remote delivery.
600
+ *
601
+ * **Common tasks**
602
+ *
603
+ * - Provide runner communication with {@link layerRpc}
604
+ * - Build a custom implementation with {@link make}
605
+ * - Use {@link makeNoop} or {@link layerNoop} when no remote runners are
606
+ * available
607
+ * - Define runner-to-runner protocol support with {@link Rpcs} and
608
+ * {@link RpcClientProtocol}
609
+ *
610
+ * **Gotchas**
611
+ *
612
+ * - `notify` is only for RPCs annotated as persisted; non-persisted messages
613
+ * should be sent directly.
614
+ * - Failed remote sends can fall back to reading replies from storage, so reply
615
+ * polling and `entityReplyPollInterval` affect recovery latency.
616
+ * - Unavailable runners invalidate cached RPC clients, but shard ownership and
617
+ * rebalancing are coordinated by the sharding layer rather than this module.
618
+ *
98
619
  * @since 4.0.0
99
620
  */
100
621
  export * as Runners from "./Runners.js";
101
622
  /**
623
+ * The `RunnerServer` module provides the transport-agnostic server side of the
624
+ * cluster runner protocol. It turns the runner RPC group into handlers that
625
+ * receive ping, notification, request, stream, and envelope messages from other
626
+ * runners, then forwards them into `Sharding` and coordinates persisted replies
627
+ * through `MessageStorage`.
628
+ *
629
+ * **Common tasks**
630
+ *
631
+ * - Build a runner server once an `RpcServer.Protocol` has been supplied by a
632
+ * transport such as HTTP, WebSocket, or sockets
633
+ * - Provide the complete runner runtime with `Sharding` and `Runners` clients
634
+ * using {@link layerWithClients}
635
+ * - Embed a cluster client without serving runner RPCs or accepting shard
636
+ * assignments using {@link layerClientOnly}
637
+ *
638
+ * **Gotchas**
639
+ *
640
+ * - This module does not choose a wire transport; transport-specific modules
641
+ * provide the `RpcServer.Protocol`
642
+ * - Persisted requests register reply handlers in `MessageStorage` before the
643
+ * message is delivered to `Sharding`
644
+ * - Client-only layers clear the configured runner address, so they can send
645
+ * cluster messages but do not register as shard-owning runners
646
+ *
102
647
  * @since 4.0.0
103
648
  */
104
649
  export * as RunnerServer from "./RunnerServer.js";
105
650
  /**
651
+ * The `RunnerStorage` module defines the persistence boundary used by clustered
652
+ * runners to register themselves and coordinate shard ownership.
653
+ *
654
+ * Implementations keep track of runner metadata, health, machine ids, and shard
655
+ * locks so a cluster can rebalance work as runners join, leave, or lose their
656
+ * leases. Production adapters usually implement the string-encoded interface and
657
+ * adapt it with {@link makeEncoded}; tests and local setups can use
658
+ * {@link makeMemory}.
659
+ *
660
+ * **Common tasks**
661
+ *
662
+ * - Register and unregister runners in a shared store
663
+ * - Read runner health for scheduling and rebalancing decisions
664
+ * - Acquire, refresh, and release shard locks for distributed processing
665
+ * - Bridge typed cluster values to string or numeric database representations
666
+ *
667
+ * **Gotchas**
668
+ *
669
+ * - Shard acquisition may be partial; callers must use the returned shard list
670
+ * - Refreshing leases is part of keeping shard ownership during rebalancing
671
+ * - The in-memory implementation is process-local and does not persist runner
672
+ * registrations or locks across restarts
673
+ *
106
674
  * @since 4.0.0
107
675
  */
108
676
  export * as RunnerStorage from "./RunnerStorage.js";
109
677
  /**
678
+ * The `ShardId` module models the address of a shard inside an Effect Cluster
679
+ * shard group. A shard id is made from a string `group` and numeric `id`, and
680
+ * the module gives that pair stable equality, hashing, primary-key behavior,
681
+ * schema support, and conversion to and from the `group:id` string form used by
682
+ * routing and storage boundaries.
683
+ *
684
+ * **Common tasks**
685
+ *
686
+ * - Create or reuse a cached shard identifier with {@link make}
687
+ * - Check runtime values with {@link isShardId}
688
+ * - Encode or decode shard identifiers with {@link ShardId}
689
+ * - Format for logs, persistence, or transport with {@link toString}
690
+ * - Parse encoded shard keys with {@link fromString} or {@link fromStringEncoded}
691
+ *
692
+ * **Gotchas**
693
+ *
694
+ * - Equality and hashing are based on the `group:id` representation, so both
695
+ * fields must match for two shard ids to be equal
696
+ * - Encoded strings are split at the last `:`; groups may contain colons, but
697
+ * ids must parse as numbers
698
+ * - This module identifies shards after a routing or hashing decision; it does
699
+ * not choose a shard for an arbitrary entity key
700
+ *
110
701
  * @since 4.0.0
111
702
  */
112
703
  export * as ShardId from "./ShardId.js";
113
704
  /**
705
+ * The `Sharding` module coordinates cluster-wide placement and delivery for
706
+ * entities and singletons. It hashes entity ids into shard ids, tracks which
707
+ * runner owns each shard, acquires local shard locks, and routes RPC messages
708
+ * to the runner that is responsible for the addressed entity.
709
+ *
710
+ * Use this module when building clustered services that need location
711
+ * transparency for stateful entities, singleton workloads that should run once
712
+ * per shard group, or durable message processing backed by cluster storage.
713
+ * Registered entity handlers are started on demand for shards owned by the
714
+ * current runner, while clients produced by {@link Sharding.makeClient} route
715
+ * requests through the sharding service instead of calling handlers directly.
716
+ *
717
+ * **Gotchas**
718
+ *
719
+ * - Shard assignment and shard acquisition are distinct: a runner may be
720
+ * assigned a shard before it has acquired the storage lock for that shard.
721
+ * - Routing depends on the entity shard group and the configured shard count,
722
+ * so changing either value affects where entity ids are placed.
723
+ * - Persisted messages are only read and dispatched for shards currently owned
724
+ * by the local runner; shutdown and runner health changes can temporarily
725
+ * move work between runners.
726
+ *
114
727
  * @since 4.0.0
115
728
  */
116
729
  export * as Sharding from "./Sharding.js";
117
730
  /**
731
+ * The `ShardingConfig` module defines the configuration used by a cluster
732
+ * runner to participate in Effect Cluster sharding. It describes how a runner is
733
+ * addressed by other runners, which shard groups it can host, how many shards
734
+ * are assigned per group, and the timing settings used for locks, assignment
735
+ * refreshes, health checks, entity lifecycle, and message polling.
736
+ *
737
+ * Use this module when wiring a sharded application locally with
738
+ * {@link layer}, loading deployment settings from environment variables with
739
+ * {@link layerFromEnv}, or overriding selected defaults for tests and
740
+ * single-node development. In production, keep cluster-wide values such as
741
+ * `shardsPerGroup` and shard groups consistent across runners, choose stable
742
+ * externally reachable runner addresses, and tune lock expiration and refresh
743
+ * intervals to match the storage backend and shutdown behavior of the
744
+ * deployment platform.
745
+ *
118
746
  * @since 4.0.0
119
747
  */
120
748
  export * as ShardingConfig from "./ShardingConfig.js";
121
749
  /**
750
+ * The `ShardingRegistrationEvent` module defines the events emitted by
751
+ * `Sharding` when the local runner registers entity handlers or singleton
752
+ * workloads. These events are useful for observing the set of capabilities a
753
+ * runner has made available, coordinating startup hooks, and writing tests or
754
+ * integrations that need to react when registrations are complete.
755
+ *
756
+ * Registration events describe local registration, not shard ownership or
757
+ * execution. A runner may register an entity or singleton before it owns the
758
+ * shard that will run it, and the events are in-memory notifications from the
759
+ * `Sharding` service rather than persisted cluster state. For persisted
760
+ * messages, treat registration as the point where the handler is available to
761
+ * the runner; it does not imply that existing storage work has already been
762
+ * read or processed.
763
+ *
122
764
  * @since 4.0.0
123
765
  */
124
766
  export * as ShardingRegistrationEvent from "./ShardingRegistrationEvent.js";
125
767
  /**
768
+ * The `SingleRunner` module provides a ready-to-use layer for running the
769
+ * cluster sharding services in a single process. It wires together sharding,
770
+ * message storage, runner registration, runner health, and sharding
771
+ * configuration so durable entities and workflows can run without a fleet of
772
+ * external runners.
773
+ *
774
+ * **Common tasks**
775
+ *
776
+ * - Start a local or embedded cluster runner backed by SQL message storage
777
+ * - Run durable entities and workflows in development, tests, or small
778
+ * single-node deployments
779
+ * - Choose SQL runner storage for persistence or in-memory runner storage for
780
+ * short-lived scenarios
781
+ * - Override sharding configuration while still using the standard
782
+ * environment-based defaults
783
+ *
784
+ * **Gotchas**
785
+ *
786
+ * - The layer still requires a `SqlClient` because message storage is SQL-backed
787
+ * - Runner health and runner coordination are no-op implementations, so this is
788
+ * for single-node use rather than multi-runner cluster coordination
789
+ *
126
790
  * @since 4.0.0
127
791
  */
128
792
  export * as SingleRunner from "./SingleRunner.js";
129
793
  /**
794
+ * The `Singleton` module provides a small helper for registering effects that
795
+ * should run once across an Effect cluster. A singleton is coordinated through
796
+ * `Sharding`, which assigns ownership to one node at a time and can move that
797
+ * ownership when nodes leave or fail.
798
+ *
799
+ * Use singletons for cluster-wide background work such as schedulers, polling
800
+ * loops, maintenance jobs, or consumers that must not have one instance per
801
+ * process. Because ownership can change during failover, the registered effect
802
+ * should be interruptible, scoped, and able to resume work without assuming that
803
+ * the previous owner completed every in-flight action exactly once.
804
+ *
130
805
  * @since 4.0.0
131
806
  */
132
807
  export * as Singleton from "./Singleton.js";
133
808
  /**
809
+ * The `SingletonAddress` module defines the address used by cluster sharding to
810
+ * identify a registered singleton. A singleton address combines the singleton
811
+ * name with the `ShardId` that owns it, giving the runtime a stable key for
812
+ * registration events, equality checks, hashing, and runner-local fiber
813
+ * tracking.
814
+ *
815
+ * Use this module when observing singleton registrations or working with
816
+ * sharding internals that need to tell which shard currently owns a singleton.
817
+ * The shard id is derived from the singleton name and shard group at
818
+ * registration time, so changing either value changes ownership and routing.
819
+ * Ownership can also move as shard locks are acquired or released, so an address
820
+ * identifies the target shard rather than guaranteeing that a particular runner
821
+ * is currently executing the singleton.
822
+ *
134
823
  * @since 4.0.0
135
824
  */
136
825
  export * as SingletonAddress from "./SingletonAddress.js";
137
826
  /**
827
+ * The `Snowflake` module provides compact, sortable identifiers for cluster
828
+ * resources and events. A snowflake id is a branded `bigint` made from a
829
+ * millisecond timestamp, a machine id, and a per-machine sequence number.
830
+ *
831
+ * **Common use cases**
832
+ *
833
+ * - Creating ids without coordinating through a central database
834
+ * - Ordering cluster events, entity ids, or log records by generation time
835
+ * - Encoding ids as strings at service boundaries with {@link SnowflakeFromString}
836
+ * - Decoding a generated id into timestamp, machine id, and sequence parts with {@link toParts}
837
+ *
838
+ * **Gotchas**
839
+ *
840
+ * - Uniqueness depends on each concurrent generator using a distinct machine id
841
+ * - Generated ids are time-sortable, but they are not random or secret values
842
+ * - The default generator prevents local clock drift from moving ids backward
843
+ * - More than 4096 ids in the same millisecond advance the logical timestamp
844
+ *
138
845
  * @since 4.0.0
139
846
  */
140
847
  export * as Snowflake from "./Snowflake.js";
141
848
  /**
849
+ * The `SocketRunner` module wires cluster runner RPCs to socket transports. It
850
+ * provides a complete runner layer that serves RPC handlers on a `SocketServer`
851
+ * and installs `Sharding` and `Runners` clients for talking to other runners
852
+ * through the socket RPC protocol.
853
+ *
854
+ * **Common tasks**
855
+ *
856
+ * - Run a cluster worker over TCP or Unix sockets with {@link layer}
857
+ * - Connect to other runners while exposing `Sharding` and `Runners` clients
858
+ * - Embed a client-only cluster participant with {@link layerClientOnly} when
859
+ * the process should send messages but not receive shard assignments
860
+ *
861
+ * **Transport gotchas**
862
+ *
863
+ * - The server listen address comes from the provided `SocketServer` and is
864
+ * logged when {@link layer} starts
865
+ * - TCP addresses are logged as `hostname:port`, while Unix socket addresses
866
+ * are logged as their filesystem path
867
+ * - The client-only layer does not start a socket server; provide the full
868
+ * layer when the process must accept runner RPCs
869
+ *
142
870
  * @since 4.0.0
143
871
  */
144
872
  export * as SocketRunner from "./SocketRunner.js";
145
873
  /**
874
+ * SQL-backed message storage for the unstable cluster runtime.
875
+ *
876
+ * This module persists encoded cluster envelopes and replies in SQL tables so
877
+ * shards can resume work after process restarts, redeliver unprocessed messages,
878
+ * deduplicate requests by primary key, and replay outstanding reply chunks until
879
+ * they are acknowledged. It is the storage implementation to use when a cluster
880
+ * needs durable request / reply state backed by `SqlClient` rather than an
881
+ * in-memory store.
882
+ *
883
+ * The storage layer runs its own migrations and creates messages, replies, and
884
+ * migration tables using the configured prefix (`cluster` by default). Choose a
885
+ * stable prefix before deploying, because changing it points the runtime at a
886
+ * different set of tables. Existing deployments should also keep the generated
887
+ * migration history table with the message tables so future schema changes can
888
+ * be applied consistently across supported SQL dialects.
889
+ *
146
890
  * @since 4.0.0
147
891
  */
148
892
  export * as SqlMessageStorage from "./SqlMessageStorage.js";
149
893
  /**
894
+ * SQL-backed storage for Effect Cluster runner metadata and shard ownership.
895
+ *
896
+ * The `SqlRunnerStorage` module builds a `RunnerStorage` implementation from a
897
+ * `SqlClient`, creating the runner and lock tables it needs using the configured
898
+ * table prefix. It is used by clustered applications that need runner
899
+ * registration, health tracking, shard acquisition, refresh, and release to be
900
+ * coordinated through an external database instead of in-memory state.
901
+ *
902
+ * **Common tasks**
903
+ *
904
+ * - Provide the default storage layer with {@link layer}
905
+ * - Use {@link layerWith} when multiple clusters share the same database and
906
+ * need distinct table prefixes
907
+ * - Create a storage implementation directly with {@link make} for custom layer
908
+ * composition
909
+ *
910
+ * **Gotchas**
911
+ *
912
+ * - Runner heartbeats and persisted shard locks expire according to
913
+ * `ShardingConfig.shardLockExpiration`; stale rows may be reused or cleaned up
914
+ * by later storage operations.
915
+ * - PostgreSQL and MySQL use advisory locks by default, keeping shard ownership
916
+ * tied to a reserved database connection. Set
917
+ * `ShardingConfig.shardLockDisableAdvisory` when persisted lock rows should be
918
+ * used instead.
919
+ * - The selected table prefix controls the generated `runners` and `locks`
920
+ * table names, so changing it points the cluster at a different storage
921
+ * namespace.
922
+ *
150
923
  * @since 4.0.0
151
924
  */
152
925
  export * as SqlRunnerStorage from "./SqlRunnerStorage.js";
153
926
  /**
927
+ * The `TestRunner` module provides a lightweight in-memory cluster layer for
928
+ * tests that need the cluster sharding services without starting real runners
929
+ * or relying on external storage.
930
+ *
931
+ * Use it when exercising sharding behavior, message storage, or code that
932
+ * depends on the cluster runner services in unit and integration tests. The
933
+ * layer wires the normal sharding service to in-memory message and runner
934
+ * storage, along with no-op runner and health implementations.
935
+ *
936
+ * **Testing gotchas**
937
+ *
938
+ * - State is held in memory and scoped to the layer lifetime; it is not shared
939
+ * across independently constructed layers or persisted between test runs
940
+ * - Runner execution and health checks are no-ops, so this layer is best suited
941
+ * for testing coordination and storage behavior rather than real distributed
942
+ * runner processes
943
+ *
154
944
  * @since 4.0.0
155
945
  */
156
946
  export * as TestRunner from "./TestRunner.js";