effect 4.0.0-beta.67 → 4.0.0-beta.69

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