effect 4.0.1 → 4.0.3

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 (1085) hide show
  1. package/ai-docs/package.json +2 -2
  2. package/ai-docs/tsconfig.json +2 -1
  3. package/dist/Array.d.ts +339 -0
  4. package/dist/Array.d.ts.map +1 -1
  5. package/dist/Array.js +143 -3
  6. package/dist/Array.js.map +1 -1
  7. package/dist/BigDecimal.d.ts +88 -0
  8. package/dist/BigDecimal.d.ts.map +1 -1
  9. package/dist/BigDecimal.js +44 -0
  10. package/dist/BigDecimal.js.map +1 -1
  11. package/dist/BigInt.d.ts +68 -0
  12. package/dist/BigInt.d.ts.map +1 -1
  13. package/dist/BigInt.js +36 -0
  14. package/dist/BigInt.js.map +1 -1
  15. package/dist/Boolean.d.ts +34 -0
  16. package/dist/Boolean.d.ts.map +1 -1
  17. package/dist/Boolean.js +18 -0
  18. package/dist/Boolean.js.map +1 -1
  19. package/dist/Brand.d.ts +9 -0
  20. package/dist/Brand.d.ts.map +1 -1
  21. package/dist/Brand.js +6 -0
  22. package/dist/Brand.js.map +1 -1
  23. package/dist/ByteSize.d.ts +86 -0
  24. package/dist/ByteSize.d.ts.map +1 -1
  25. package/dist/ByteSize.js +51 -0
  26. package/dist/ByteSize.js.map +1 -1
  27. package/dist/Cache.d.ts +38 -1
  28. package/dist/Cache.d.ts.map +1 -1
  29. package/dist/Cache.js +27 -7
  30. package/dist/Cache.js.map +1 -1
  31. package/dist/Cause.d.ts +82 -0
  32. package/dist/Cause.d.ts.map +1 -1
  33. package/dist/Cause.js +60 -0
  34. package/dist/Cause.js.map +1 -1
  35. package/dist/Channel.d.ts +327 -4
  36. package/dist/Channel.d.ts.map +1 -1
  37. package/dist/Channel.js +168 -8
  38. package/dist/Channel.js.map +1 -1
  39. package/dist/ChannelSchema.d.ts +11 -0
  40. package/dist/ChannelSchema.d.ts.map +1 -1
  41. package/dist/ChannelSchema.js +6 -0
  42. package/dist/ChannelSchema.js.map +1 -1
  43. package/dist/Chunk.d.ts +192 -0
  44. package/dist/Chunk.d.ts.map +1 -1
  45. package/dist/Chunk.js +78 -0
  46. package/dist/Chunk.js.map +1 -1
  47. package/dist/Clock.d.ts +7 -0
  48. package/dist/Clock.d.ts.map +1 -1
  49. package/dist/Clock.js +5 -0
  50. package/dist/Clock.js.map +1 -1
  51. package/dist/Combiner.d.ts +10 -0
  52. package/dist/Combiner.d.ts.map +1 -1
  53. package/dist/Combiner.js +8 -0
  54. package/dist/Combiner.js.map +1 -1
  55. package/dist/Config.d.ts +52 -12
  56. package/dist/Config.d.ts.map +1 -1
  57. package/dist/Config.js +55 -5
  58. package/dist/Config.js.map +1 -1
  59. package/dist/ConfigProvider.d.ts +28 -0
  60. package/dist/ConfigProvider.d.ts.map +1 -1
  61. package/dist/ConfigProvider.js +19 -0
  62. package/dist/ConfigProvider.js.map +1 -1
  63. package/dist/Console.d.ts +22 -0
  64. package/dist/Console.d.ts.map +1 -1
  65. package/dist/Console.js +20 -0
  66. package/dist/Console.js.map +1 -1
  67. package/dist/Context.d.ts +50 -0
  68. package/dist/Context.d.ts.map +1 -1
  69. package/dist/Context.js +24 -3
  70. package/dist/Context.js.map +1 -1
  71. package/dist/Cron.d.ts +16 -0
  72. package/dist/Cron.d.ts.map +1 -1
  73. package/dist/Cron.js +26 -1
  74. package/dist/Cron.js.map +1 -1
  75. package/dist/Crypto.d.ts +38 -5
  76. package/dist/Crypto.d.ts.map +1 -1
  77. package/dist/Crypto.js +11 -2
  78. package/dist/Crypto.js.map +1 -1
  79. package/dist/Data.d.ts +13 -0
  80. package/dist/Data.d.ts.map +1 -1
  81. package/dist/Data.js +5 -0
  82. package/dist/Data.js.map +1 -1
  83. package/dist/DateTime.d.ts +180 -6
  84. package/dist/DateTime.d.ts.map +1 -1
  85. package/dist/DateTime.js +98 -6
  86. package/dist/DateTime.js.map +1 -1
  87. package/dist/Deferred.d.ts +51 -0
  88. package/dist/Deferred.d.ts.map +1 -1
  89. package/dist/Deferred.js +22 -0
  90. package/dist/Deferred.js.map +1 -1
  91. package/dist/Differ.d.ts +2 -0
  92. package/dist/Differ.d.ts.map +1 -1
  93. package/dist/Differ.js +1 -0
  94. package/dist/Duration.d.ts +96 -6
  95. package/dist/Duration.d.ts.map +1 -1
  96. package/dist/Duration.js +80 -8
  97. package/dist/Duration.js.map +1 -1
  98. package/dist/Effect.d.ts +527 -0
  99. package/dist/Effect.d.ts.map +1 -1
  100. package/dist/Effect.js +240 -5
  101. package/dist/Effect.js.map +1 -1
  102. package/dist/Effectable.d.ts +4 -0
  103. package/dist/Effectable.d.ts.map +1 -1
  104. package/dist/Effectable.js +3 -0
  105. package/dist/Effectable.js.map +1 -1
  106. package/dist/Equal.d.ts +8 -0
  107. package/dist/Equal.d.ts.map +1 -1
  108. package/dist/Equal.js +9 -1
  109. package/dist/Equal.js.map +1 -1
  110. package/dist/Equivalence.d.ts +21 -0
  111. package/dist/Equivalence.d.ts.map +1 -1
  112. package/dist/Equivalence.js +16 -0
  113. package/dist/Equivalence.js.map +1 -1
  114. package/dist/ErrorReporter.d.ts +36 -0
  115. package/dist/ErrorReporter.d.ts.map +1 -1
  116. package/dist/ErrorReporter.js +11 -0
  117. package/dist/ErrorReporter.js.map +1 -1
  118. package/dist/ExecutionPlan.d.ts +49 -8
  119. package/dist/ExecutionPlan.d.ts.map +1 -1
  120. package/dist/ExecutionPlan.js +7 -0
  121. package/dist/ExecutionPlan.js.map +1 -1
  122. package/dist/Exit.d.ts +40 -0
  123. package/dist/Exit.d.ts.map +1 -1
  124. package/dist/Exit.js +27 -0
  125. package/dist/Exit.js.map +1 -1
  126. package/dist/Fiber.d.ts +20 -0
  127. package/dist/Fiber.d.ts.map +1 -1
  128. package/dist/Fiber.js +11 -0
  129. package/dist/Fiber.js.map +1 -1
  130. package/dist/FiberHandle.d.ts +21 -0
  131. package/dist/FiberHandle.d.ts.map +1 -1
  132. package/dist/FiberHandle.js +21 -4
  133. package/dist/FiberHandle.js.map +1 -1
  134. package/dist/FiberMap.d.ts +35 -0
  135. package/dist/FiberMap.d.ts.map +1 -1
  136. package/dist/FiberMap.js +19 -0
  137. package/dist/FiberMap.js.map +1 -1
  138. package/dist/FiberSet.d.ts +20 -0
  139. package/dist/FiberSet.d.ts.map +1 -1
  140. package/dist/FiberSet.js +14 -0
  141. package/dist/FiberSet.js.map +1 -1
  142. package/dist/FileSystem.d.ts +59 -2
  143. package/dist/FileSystem.d.ts.map +1 -1
  144. package/dist/FileSystem.js +8 -0
  145. package/dist/FileSystem.js.map +1 -1
  146. package/dist/Filter.d.ts +55 -0
  147. package/dist/Filter.d.ts.map +1 -1
  148. package/dist/Filter.js +28 -0
  149. package/dist/Filter.js.map +1 -1
  150. package/dist/Formatter.d.ts +3 -0
  151. package/dist/Formatter.d.ts.map +1 -1
  152. package/dist/Formatter.js +39 -1
  153. package/dist/Formatter.js.map +1 -1
  154. package/dist/Function.d.ts +30 -0
  155. package/dist/Function.d.ts.map +1 -1
  156. package/dist/Function.js +20 -0
  157. package/dist/Function.js.map +1 -1
  158. package/dist/Graph.d.ts +247 -12
  159. package/dist/Graph.d.ts.map +1 -1
  160. package/dist/Graph.js +149 -28
  161. package/dist/Graph.js.map +1 -1
  162. package/dist/HKT.d.ts +5 -0
  163. package/dist/HKT.d.ts.map +1 -1
  164. package/dist/Hash.d.ts +14 -0
  165. package/dist/Hash.d.ts.map +1 -1
  166. package/dist/Hash.js +12 -0
  167. package/dist/Hash.js.map +1 -1
  168. package/dist/HashMap.d.ts +91 -0
  169. package/dist/HashMap.d.ts.map +1 -1
  170. package/dist/HashMap.js +39 -0
  171. package/dist/HashMap.js.map +1 -1
  172. package/dist/HashRing.d.ts +17 -0
  173. package/dist/HashRing.d.ts.map +1 -1
  174. package/dist/HashRing.js +9 -0
  175. package/dist/HashRing.js.map +1 -1
  176. package/dist/HashSet.d.ts +49 -0
  177. package/dist/HashSet.d.ts.map +1 -1
  178. package/dist/HashSet.js +19 -0
  179. package/dist/HashSet.js.map +1 -1
  180. package/dist/Inspectable.d.ts +7 -0
  181. package/dist/Inspectable.d.ts.map +1 -1
  182. package/dist/Inspectable.js +6 -0
  183. package/dist/Inspectable.js.map +1 -1
  184. package/dist/Iterable.d.ts +127 -0
  185. package/dist/Iterable.d.ts.map +1 -1
  186. package/dist/Iterable.js +51 -0
  187. package/dist/Iterable.js.map +1 -1
  188. package/dist/JsonPatch.d.ts +4 -0
  189. package/dist/JsonPatch.d.ts.map +1 -1
  190. package/dist/JsonPatch.js +3 -0
  191. package/dist/JsonPatch.js.map +1 -1
  192. package/dist/JsonPointer.d.ts +5 -0
  193. package/dist/JsonPointer.d.ts.map +1 -1
  194. package/dist/JsonPointer.js +5 -0
  195. package/dist/JsonPointer.js.map +1 -1
  196. package/dist/JsonSchema.d.ts +16 -0
  197. package/dist/JsonSchema.d.ts.map +1 -1
  198. package/dist/JsonSchema.js +11 -0
  199. package/dist/JsonSchema.js.map +1 -1
  200. package/dist/Latch.d.ts +14 -0
  201. package/dist/Latch.d.ts.map +1 -1
  202. package/dist/Latch.js +10 -0
  203. package/dist/Latch.js.map +1 -1
  204. package/dist/Layer.d.ts +100 -0
  205. package/dist/Layer.d.ts.map +1 -1
  206. package/dist/Layer.js +45 -1
  207. package/dist/Layer.js.map +1 -1
  208. package/dist/LayerMap.d.ts +7 -0
  209. package/dist/LayerMap.d.ts.map +1 -1
  210. package/dist/LayerMap.js +4 -0
  211. package/dist/LayerMap.js.map +1 -1
  212. package/dist/LayerRef.d.ts +5 -0
  213. package/dist/LayerRef.d.ts.map +1 -1
  214. package/dist/LayerRef.js +3 -0
  215. package/dist/LayerRef.js.map +1 -1
  216. package/dist/LogLevel.d.ts +20 -0
  217. package/dist/LogLevel.d.ts.map +1 -1
  218. package/dist/LogLevel.js +9 -0
  219. package/dist/LogLevel.js.map +1 -1
  220. package/dist/Logger.d.ts +25 -0
  221. package/dist/Logger.d.ts.map +1 -1
  222. package/dist/Logger.js +30 -4
  223. package/dist/Logger.js.map +1 -1
  224. package/dist/ManagedRuntime.d.ts +5 -0
  225. package/dist/ManagedRuntime.d.ts.map +1 -1
  226. package/dist/ManagedRuntime.js +9 -1
  227. package/dist/ManagedRuntime.js.map +1 -1
  228. package/dist/Match.d.ts +51 -0
  229. package/dist/Match.d.ts.map +1 -1
  230. package/dist/Match.js +39 -0
  231. package/dist/Match.js.map +1 -1
  232. package/dist/Metric.d.ts +59 -0
  233. package/dist/Metric.d.ts.map +1 -1
  234. package/dist/Metric.js +31 -0
  235. package/dist/Metric.js.map +1 -1
  236. package/dist/MutableHashMap.d.ts +32 -0
  237. package/dist/MutableHashMap.d.ts.map +1 -1
  238. package/dist/MutableHashMap.js +16 -0
  239. package/dist/MutableHashMap.js.map +1 -1
  240. package/dist/MutableHashSet.d.ts +16 -0
  241. package/dist/MutableHashSet.d.ts.map +1 -1
  242. package/dist/MutableHashSet.js +10 -0
  243. package/dist/MutableHashSet.js.map +1 -1
  244. package/dist/MutableList.d.ts +20 -0
  245. package/dist/MutableList.d.ts.map +1 -1
  246. package/dist/MutableList.js +18 -0
  247. package/dist/MutableList.js.map +1 -1
  248. package/dist/MutableRef.d.ts +31 -0
  249. package/dist/MutableRef.d.ts.map +1 -1
  250. package/dist/MutableRef.js +17 -0
  251. package/dist/MutableRef.js.map +1 -1
  252. package/dist/Newtype.d.ts +9 -0
  253. package/dist/Newtype.d.ts.map +1 -1
  254. package/dist/Newtype.js +6 -0
  255. package/dist/Newtype.js.map +1 -1
  256. package/dist/NonEmptyIterable.d.ts +4 -0
  257. package/dist/NonEmptyIterable.d.ts.map +1 -1
  258. package/dist/NonEmptyIterable.js +2 -0
  259. package/dist/NonEmptyIterable.js.map +1 -1
  260. package/dist/Number.d.ts +61 -0
  261. package/dist/Number.d.ts.map +1 -1
  262. package/dist/Number.js +31 -0
  263. package/dist/Number.js.map +1 -1
  264. package/dist/Optic.d.ts +41 -0
  265. package/dist/Optic.d.ts.map +1 -1
  266. package/dist/Optic.js +20 -0
  267. package/dist/Optic.js.map +1 -1
  268. package/dist/Option.d.ts +134 -0
  269. package/dist/Option.d.ts.map +1 -1
  270. package/dist/Option.js +61 -0
  271. package/dist/Option.js.map +1 -1
  272. package/dist/Order.d.ts +29 -0
  273. package/dist/Order.d.ts.map +1 -1
  274. package/dist/Order.js +24 -0
  275. package/dist/Order.js.map +1 -1
  276. package/dist/Ordering.d.ts +7 -0
  277. package/dist/Ordering.d.ts.map +1 -1
  278. package/dist/Ordering.js +3 -0
  279. package/dist/Ordering.js.map +1 -1
  280. package/dist/PartitionedSemaphore.d.ts +24 -0
  281. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  282. package/dist/PartitionedSemaphore.js +47 -21
  283. package/dist/PartitionedSemaphore.js.map +1 -1
  284. package/dist/Path.d.ts +6 -0
  285. package/dist/Path.d.ts.map +1 -1
  286. package/dist/Path.js +4 -0
  287. package/dist/Path.js.map +1 -1
  288. package/dist/Pipeable.d.ts +7 -0
  289. package/dist/Pipeable.d.ts.map +1 -1
  290. package/dist/Pipeable.js +5 -0
  291. package/dist/Pipeable.js.map +1 -1
  292. package/dist/PlatformError.d.ts +8 -0
  293. package/dist/PlatformError.d.ts.map +1 -1
  294. package/dist/PlatformError.js +7 -0
  295. package/dist/PlatformError.js.map +1 -1
  296. package/dist/Pool.d.ts +19 -0
  297. package/dist/Pool.d.ts.map +1 -1
  298. package/dist/Pool.js +8 -1
  299. package/dist/Pool.js.map +1 -1
  300. package/dist/Predicate.d.ts +84 -0
  301. package/dist/Predicate.d.ts.map +1 -1
  302. package/dist/Predicate.js +48 -0
  303. package/dist/Predicate.js.map +1 -1
  304. package/dist/PrimaryKey.d.ts +5 -0
  305. package/dist/PrimaryKey.d.ts.map +1 -1
  306. package/dist/PrimaryKey.js +4 -0
  307. package/dist/PrimaryKey.js.map +1 -1
  308. package/dist/PubSub.d.ts +67 -5
  309. package/dist/PubSub.d.ts.map +1 -1
  310. package/dist/PubSub.js +60 -8
  311. package/dist/PubSub.js.map +1 -1
  312. package/dist/Pull.d.ts +20 -0
  313. package/dist/Pull.d.ts.map +1 -1
  314. package/dist/Pull.js +10 -0
  315. package/dist/Pull.js.map +1 -1
  316. package/dist/Queue.d.ts +60 -0
  317. package/dist/Queue.d.ts.map +1 -1
  318. package/dist/Queue.js +58 -8
  319. package/dist/Queue.js.map +1 -1
  320. package/dist/Random.d.ts +13 -0
  321. package/dist/Random.d.ts.map +1 -1
  322. package/dist/Random.js +9 -0
  323. package/dist/Random.js.map +1 -1
  324. package/dist/RcMap.d.ts +23 -0
  325. package/dist/RcMap.d.ts.map +1 -1
  326. package/dist/RcMap.js +8 -0
  327. package/dist/RcMap.js.map +1 -1
  328. package/dist/RcRef.d.ts +6 -0
  329. package/dist/RcRef.d.ts.map +1 -1
  330. package/dist/RcRef.js +3 -0
  331. package/dist/RcRef.js.map +1 -1
  332. package/dist/Record.d.ts +100 -0
  333. package/dist/Record.d.ts.map +1 -1
  334. package/dist/Record.js +43 -0
  335. package/dist/Record.js.map +1 -1
  336. package/dist/Redactable.d.ts +6 -0
  337. package/dist/Redactable.d.ts.map +1 -1
  338. package/dist/Redactable.js +4 -0
  339. package/dist/Redactable.js.map +1 -1
  340. package/dist/Redacted.d.ts +8 -0
  341. package/dist/Redacted.d.ts.map +1 -1
  342. package/dist/Redacted.js +6 -0
  343. package/dist/Redacted.js.map +1 -1
  344. package/dist/Reducer.d.ts +4 -0
  345. package/dist/Reducer.d.ts.map +1 -1
  346. package/dist/Reducer.js +3 -0
  347. package/dist/Reducer.js.map +1 -1
  348. package/dist/Ref.d.ts +20 -0
  349. package/dist/Ref.d.ts.map +1 -1
  350. package/dist/Ref.js +16 -0
  351. package/dist/Ref.js.map +1 -1
  352. package/dist/References.d.ts +21 -0
  353. package/dist/References.d.ts.map +1 -1
  354. package/dist/References.js +19 -0
  355. package/dist/References.js.map +1 -1
  356. package/dist/RegExp.d.ts +3 -0
  357. package/dist/RegExp.d.ts.map +1 -1
  358. package/dist/RegExp.js +4 -0
  359. package/dist/RegExp.js.map +1 -1
  360. package/dist/Request.d.ts +32 -0
  361. package/dist/Request.d.ts.map +1 -1
  362. package/dist/Request.js +12 -0
  363. package/dist/Request.js.map +1 -1
  364. package/dist/RequestResolver.d.ts +42 -0
  365. package/dist/RequestResolver.d.ts.map +1 -1
  366. package/dist/RequestResolver.js +27 -6
  367. package/dist/RequestResolver.js.map +1 -1
  368. package/dist/Resource.d.ts +6 -0
  369. package/dist/Resource.d.ts.map +1 -1
  370. package/dist/Resource.js +6 -0
  371. package/dist/Resource.js.map +1 -1
  372. package/dist/Result.d.ts +91 -0
  373. package/dist/Result.d.ts.map +1 -1
  374. package/dist/Result.js +41 -0
  375. package/dist/Result.js.map +1 -1
  376. package/dist/Runtime.d.ts +9 -0
  377. package/dist/Runtime.d.ts.map +1 -1
  378. package/dist/Runtime.js +7 -0
  379. package/dist/Runtime.js.map +1 -1
  380. package/dist/Schedule.d.ts +57 -0
  381. package/dist/Schedule.d.ts.map +1 -1
  382. package/dist/Schedule.js +32 -0
  383. package/dist/Schedule.js.map +1 -1
  384. package/dist/Scheduler.d.ts +7 -0
  385. package/dist/Scheduler.d.ts.map +1 -1
  386. package/dist/Scheduler.js +5 -0
  387. package/dist/Scheduler.js.map +1 -1
  388. package/dist/Schema.d.ts +969 -2
  389. package/dist/Schema.d.ts.map +1 -1
  390. package/dist/Schema.js +635 -5
  391. package/dist/Schema.js.map +1 -1
  392. package/dist/SchemaAST.d.ts +107 -0
  393. package/dist/SchemaAST.d.ts.map +1 -1
  394. package/dist/SchemaAST.js +81 -1
  395. package/dist/SchemaAST.js.map +1 -1
  396. package/dist/SchemaGetter.d.ts +69 -2
  397. package/dist/SchemaGetter.d.ts.map +1 -1
  398. package/dist/SchemaGetter.js +63 -4
  399. package/dist/SchemaGetter.js.map +1 -1
  400. package/dist/SchemaIssue.d.ts +33 -0
  401. package/dist/SchemaIssue.d.ts.map +1 -1
  402. package/dist/SchemaIssue.js +18 -0
  403. package/dist/SchemaIssue.js.map +1 -1
  404. package/dist/SchemaParser.d.ts +25 -0
  405. package/dist/SchemaParser.d.ts.map +1 -1
  406. package/dist/SchemaParser.js +26 -0
  407. package/dist/SchemaParser.js.map +1 -1
  408. package/dist/SchemaRepresentation.d.ts +147 -0
  409. package/dist/SchemaRepresentation.d.ts.map +1 -1
  410. package/dist/SchemaRepresentation.js +99 -0
  411. package/dist/SchemaRepresentation.js.map +1 -1
  412. package/dist/SchemaTransformation.d.ts +53 -0
  413. package/dist/SchemaTransformation.d.ts.map +1 -1
  414. package/dist/SchemaTransformation.js +46 -0
  415. package/dist/SchemaTransformation.js.map +1 -1
  416. package/dist/Scope.d.ts +19 -0
  417. package/dist/Scope.d.ts.map +1 -1
  418. package/dist/Scope.js +12 -0
  419. package/dist/Scope.js.map +1 -1
  420. package/dist/ScopedCache.d.ts +34 -0
  421. package/dist/ScopedCache.d.ts.map +1 -1
  422. package/dist/ScopedCache.js +26 -3
  423. package/dist/ScopedCache.js.map +1 -1
  424. package/dist/ScopedRef.d.ts +9 -0
  425. package/dist/ScopedRef.d.ts.map +1 -1
  426. package/dist/ScopedRef.js +6 -0
  427. package/dist/ScopedRef.js.map +1 -1
  428. package/dist/Semaphore.d.ts +26 -0
  429. package/dist/Semaphore.d.ts.map +1 -1
  430. package/dist/Semaphore.js +10 -0
  431. package/dist/Semaphore.js.map +1 -1
  432. package/dist/Sink.d.ts +125 -1
  433. package/dist/Sink.d.ts.map +1 -1
  434. package/dist/Sink.js +75 -1
  435. package/dist/Sink.js.map +1 -1
  436. package/dist/StandardSchema.d.ts +1 -0
  437. package/dist/StandardSchema.d.ts.map +1 -1
  438. package/dist/StandardSchema.js +1 -0
  439. package/dist/Stdio.d.ts +14 -1
  440. package/dist/Stdio.d.ts.map +1 -1
  441. package/dist/Stdio.js +6 -0
  442. package/dist/Stdio.js.map +1 -1
  443. package/dist/Stream.d.ts +569 -11
  444. package/dist/Stream.d.ts.map +1 -1
  445. package/dist/Stream.js +266 -18
  446. package/dist/Stream.js.map +1 -1
  447. package/dist/String.d.ts +87 -0
  448. package/dist/String.d.ts.map +1 -1
  449. package/dist/String.js +61 -0
  450. package/dist/String.js.map +1 -1
  451. package/dist/Struct.d.ts +46 -0
  452. package/dist/Struct.d.ts.map +1 -1
  453. package/dist/Struct.js +19 -0
  454. package/dist/Struct.js.map +1 -1
  455. package/dist/SubscriptionRef.d.ts +65 -0
  456. package/dist/SubscriptionRef.d.ts.map +1 -1
  457. package/dist/SubscriptionRef.js +25 -0
  458. package/dist/SubscriptionRef.js.map +1 -1
  459. package/dist/Symbol.d.ts +2 -0
  460. package/dist/Symbol.d.ts.map +1 -1
  461. package/dist/Symbol.js +2 -0
  462. package/dist/Symbol.js.map +1 -1
  463. package/dist/SynchronizedRef.d.ts +63 -0
  464. package/dist/SynchronizedRef.d.ts.map +1 -1
  465. package/dist/SynchronizedRef.js +24 -0
  466. package/dist/SynchronizedRef.js.map +1 -1
  467. package/dist/Take.d.ts +3 -0
  468. package/dist/Take.d.ts.map +1 -1
  469. package/dist/Take.js +1 -0
  470. package/dist/Take.js.map +1 -1
  471. package/dist/Terminal.d.ts +8 -0
  472. package/dist/Terminal.d.ts.map +1 -1
  473. package/dist/Terminal.js +4 -0
  474. package/dist/Terminal.js.map +1 -1
  475. package/dist/Tracer.d.ts +23 -0
  476. package/dist/Tracer.d.ts.map +1 -1
  477. package/dist/Tracer.js +12 -0
  478. package/dist/Tracer.js.map +1 -1
  479. package/dist/Trie.d.ts +68 -0
  480. package/dist/Trie.d.ts.map +1 -1
  481. package/dist/Trie.js +28 -0
  482. package/dist/Trie.js.map +1 -1
  483. package/dist/Tuple.d.ts +38 -0
  484. package/dist/Tuple.d.ts.map +1 -1
  485. package/dist/Tuple.js +18 -0
  486. package/dist/Tuple.js.map +1 -1
  487. package/dist/TxChunk.d.ts +52 -0
  488. package/dist/TxChunk.d.ts.map +1 -1
  489. package/dist/TxChunk.js +23 -0
  490. package/dist/TxChunk.js.map +1 -1
  491. package/dist/TxDeferred.d.ts +15 -0
  492. package/dist/TxDeferred.d.ts.map +1 -1
  493. package/dist/TxDeferred.js +8 -0
  494. package/dist/TxDeferred.js.map +1 -1
  495. package/dist/TxHashMap.d.ts +83 -0
  496. package/dist/TxHashMap.d.ts.map +1 -1
  497. package/dist/TxHashMap.js +52 -7
  498. package/dist/TxHashMap.js.map +1 -1
  499. package/dist/TxHashSet.d.ts +51 -0
  500. package/dist/TxHashSet.d.ts.map +1 -1
  501. package/dist/TxHashSet.js +29 -4
  502. package/dist/TxHashSet.js.map +1 -1
  503. package/dist/TxPriorityQueue.d.ts +30 -0
  504. package/dist/TxPriorityQueue.d.ts.map +1 -1
  505. package/dist/TxPriorityQueue.js +22 -1
  506. package/dist/TxPriorityQueue.js.map +1 -1
  507. package/dist/TxPubSub.d.ts +25 -0
  508. package/dist/TxPubSub.d.ts.map +1 -1
  509. package/dist/TxPubSub.js +19 -0
  510. package/dist/TxPubSub.js.map +1 -1
  511. package/dist/TxQueue.d.ts +51 -0
  512. package/dist/TxQueue.d.ts.map +1 -1
  513. package/dist/TxQueue.js +30 -0
  514. package/dist/TxQueue.js.map +1 -1
  515. package/dist/TxReentrantLock.d.ts +24 -0
  516. package/dist/TxReentrantLock.d.ts.map +1 -1
  517. package/dist/TxReentrantLock.js +32 -18
  518. package/dist/TxReentrantLock.js.map +1 -1
  519. package/dist/TxRef.d.ts +14 -0
  520. package/dist/TxRef.d.ts.map +1 -1
  521. package/dist/TxRef.js +7 -0
  522. package/dist/TxRef.js.map +1 -1
  523. package/dist/TxSemaphore.d.ts +25 -0
  524. package/dist/TxSemaphore.d.ts.map +1 -1
  525. package/dist/TxSemaphore.js +29 -13
  526. package/dist/TxSemaphore.js.map +1 -1
  527. package/dist/TxSubscriptionRef.d.ts +25 -0
  528. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  529. package/dist/TxSubscriptionRef.js +12 -0
  530. package/dist/TxSubscriptionRef.js.map +1 -1
  531. package/dist/Types.d.ts +36 -0
  532. package/dist/Types.d.ts.map +1 -1
  533. package/dist/Types.js +1 -0
  534. package/dist/UndefinedOr.d.ts +15 -0
  535. package/dist/UndefinedOr.d.ts.map +1 -1
  536. package/dist/UndefinedOr.js +9 -0
  537. package/dist/UndefinedOr.js.map +1 -1
  538. package/dist/Unify.d.ts +15 -0
  539. package/dist/Unify.d.ts.map +1 -1
  540. package/dist/Unify.js +2 -0
  541. package/dist/Unify.js.map +1 -1
  542. package/dist/Utils.d.ts +4 -0
  543. package/dist/Utils.d.ts.map +1 -1
  544. package/dist/Utils.js +1 -0
  545. package/dist/Utils.js.map +1 -1
  546. package/dist/Version.d.ts +26 -0
  547. package/dist/Version.d.ts.map +1 -0
  548. package/dist/Version.js +36 -0
  549. package/dist/Version.js.map +1 -0
  550. package/dist/ai/Chat.js +1 -1
  551. package/dist/ai/Chat.js.map +1 -1
  552. package/dist/ai/DecisionModel.d.ts +22 -0
  553. package/dist/ai/DecisionModel.d.ts.map +1 -1
  554. package/dist/ai/DecisionModel.js +22 -4
  555. package/dist/ai/DecisionModel.js.map +1 -1
  556. package/dist/ai/LanguageModel.d.ts.map +1 -1
  557. package/dist/ai/LanguageModel.js +14 -13
  558. package/dist/ai/LanguageModel.js.map +1 -1
  559. package/dist/ai/McpServer.d.ts +38 -11
  560. package/dist/ai/McpServer.d.ts.map +1 -1
  561. package/dist/ai/McpServer.js +276 -190
  562. package/dist/ai/McpServer.js.map +1 -1
  563. package/dist/ai/Telemetry.d.ts +49 -41
  564. package/dist/ai/Telemetry.d.ts.map +1 -1
  565. package/dist/ai/Telemetry.js +6 -8
  566. package/dist/ai/Telemetry.js.map +1 -1
  567. package/dist/ai/internal/mcpProtocol/v2026_07_28.js +5 -0
  568. package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
  569. package/dist/ai/internal/mcpProtocol.js.map +1 -1
  570. package/dist/ai/internal/mcpRuntime.js +80 -46
  571. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  572. package/dist/ai/internal/mcpStatefulRuntime.js +1 -0
  573. package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
  574. package/dist/cli/CliOutput.d.ts +27 -0
  575. package/dist/cli/CliOutput.d.ts.map +1 -1
  576. package/dist/cli/CliOutput.js +33 -10
  577. package/dist/cli/CliOutput.js.map +1 -1
  578. package/dist/cli/Command.d.ts.map +1 -1
  579. package/dist/cli/Command.js +6 -3
  580. package/dist/cli/Command.js.map +1 -1
  581. package/dist/cli/Completions.d.ts +3 -3
  582. package/dist/cli/Completions.d.ts.map +1 -1
  583. package/dist/cli/Completions.js +8 -5
  584. package/dist/cli/Completions.js.map +1 -1
  585. package/dist/cli/GlobalFlag.d.ts +5 -4
  586. package/dist/cli/GlobalFlag.d.ts.map +1 -1
  587. package/dist/cli/GlobalFlag.js +3 -3
  588. package/dist/cli/GlobalFlag.js.map +1 -1
  589. package/dist/cli/Prompt.d.ts +17 -1
  590. package/dist/cli/Prompt.d.ts.map +1 -1
  591. package/dist/cli/Prompt.js +119 -114
  592. package/dist/cli/Prompt.js.map +1 -1
  593. package/dist/cli/internal/ansi.d.ts +0 -1
  594. package/dist/cli/internal/ansi.d.ts.map +1 -1
  595. package/dist/cli/internal/ansi.js +20 -3
  596. package/dist/cli/internal/ansi.js.map +1 -1
  597. package/dist/cli/internal/completions/powershell.d.ts +2 -0
  598. package/dist/cli/internal/completions/powershell.d.ts.map +1 -0
  599. package/dist/cli/internal/completions/powershell.js +273 -0
  600. package/dist/cli/internal/completions/powershell.js.map +1 -0
  601. package/dist/cli/internal/completions/zsh.js +3 -2
  602. package/dist/cli/internal/completions/zsh.js.map +1 -1
  603. package/dist/cli/internal/wizard.d.ts +3 -3
  604. package/dist/cli/internal/wizard.d.ts.map +1 -1
  605. package/dist/cli/internal/wizard.js +21 -18
  606. package/dist/cli/internal/wizard.js.map +1 -1
  607. package/dist/cluster/ClusterSchema.d.ts +28 -0
  608. package/dist/cluster/ClusterSchema.d.ts.map +1 -1
  609. package/dist/cluster/ClusterSchema.js +30 -0
  610. package/dist/cluster/ClusterSchema.js.map +1 -1
  611. package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  612. package/dist/cluster/ClusterWorkflowEngine.js +10 -18
  613. package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
  614. package/dist/cluster/K8sHttpClient.d.ts.map +1 -1
  615. package/dist/cluster/K8sHttpClient.js +5 -2
  616. package/dist/cluster/K8sHttpClient.js.map +1 -1
  617. package/dist/cluster/MessageStorage.d.ts +18 -3
  618. package/dist/cluster/MessageStorage.d.ts.map +1 -1
  619. package/dist/cluster/MessageStorage.js +31 -11
  620. package/dist/cluster/MessageStorage.js.map +1 -1
  621. package/dist/cluster/Runners.d.ts.map +1 -1
  622. package/dist/cluster/Runners.js +8 -2
  623. package/dist/cluster/Runners.js.map +1 -1
  624. package/dist/cluster/Sharding.d.ts.map +1 -1
  625. package/dist/cluster/Sharding.js +181 -62
  626. package/dist/cluster/Sharding.js.map +1 -1
  627. package/dist/cluster/SqlMessageStorage.d.ts +59 -19
  628. package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
  629. package/dist/cluster/SqlMessageStorage.js +84 -55
  630. package/dist/cluster/SqlMessageStorage.js.map +1 -1
  631. package/dist/cluster/SqlRunnerStorage.d.ts +68 -19
  632. package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
  633. package/dist/cluster/SqlRunnerStorage.js +191 -113
  634. package/dist/cluster/SqlRunnerStorage.js.map +1 -1
  635. package/dist/cluster/internal/entityManager.js +104 -37
  636. package/dist/cluster/internal/entityManager.js.map +1 -1
  637. package/dist/encoding/Base64.d.ts +4 -0
  638. package/dist/encoding/Base64.d.ts.map +1 -1
  639. package/dist/encoding/Base64.js +4 -0
  640. package/dist/encoding/Base64.js.map +1 -1
  641. package/dist/encoding/Base64Url.d.ts +4 -0
  642. package/dist/encoding/Base64Url.d.ts.map +1 -1
  643. package/dist/encoding/Base64Url.js +4 -0
  644. package/dist/encoding/Base64Url.js.map +1 -1
  645. package/dist/encoding/EncodingError.d.ts +4 -0
  646. package/dist/encoding/EncodingError.d.ts.map +1 -1
  647. package/dist/encoding/EncodingError.js +4 -0
  648. package/dist/encoding/EncodingError.js.map +1 -1
  649. package/dist/encoding/Hex.d.ts +5 -0
  650. package/dist/encoding/Hex.d.ts.map +1 -1
  651. package/dist/encoding/Hex.js +5 -0
  652. package/dist/encoding/Hex.js.map +1 -1
  653. package/dist/encoding/Toml.js +2 -2
  654. package/dist/encoding/Toml.js.map +1 -1
  655. package/dist/encoding/Yaml.d.ts.map +1 -1
  656. package/dist/encoding/Yaml.js +6 -4
  657. package/dist/encoding/Yaml.js.map +1 -1
  658. package/dist/encoding/index.d.ts +4 -0
  659. package/dist/encoding/index.d.ts.map +1 -1
  660. package/dist/encoding/index.js +4 -0
  661. package/dist/encoding/index.js.map +1 -1
  662. package/dist/eventlog/SqlEventJournal.js +8 -4
  663. package/dist/eventlog/SqlEventJournal.js.map +1 -1
  664. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +27 -10
  665. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  666. package/dist/eventlog/SqlEventLogServerUnencrypted.js +49 -7
  667. package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  668. package/dist/http/FindMyWay/internal/router.js +3 -6
  669. package/dist/http/FindMyWay/internal/router.js.map +1 -1
  670. package/dist/http/Headers.d.ts +3 -1
  671. package/dist/http/Headers.d.ts.map +1 -1
  672. package/dist/http/Headers.js +4 -2
  673. package/dist/http/Headers.js.map +1 -1
  674. package/dist/http/HttpClient.d.ts +15 -0
  675. package/dist/http/HttpClient.d.ts.map +1 -1
  676. package/dist/http/HttpClient.js +79 -23
  677. package/dist/http/HttpClient.js.map +1 -1
  678. package/dist/http/HttpClientResponse.js +3 -1
  679. package/dist/http/HttpClientResponse.js.map +1 -1
  680. package/dist/http/HttpEffect.d.ts +3 -0
  681. package/dist/http/HttpEffect.d.ts.map +1 -1
  682. package/dist/http/HttpEffect.js +5 -2
  683. package/dist/http/HttpEffect.js.map +1 -1
  684. package/dist/http/HttpMiddleware.d.ts +17 -0
  685. package/dist/http/HttpMiddleware.d.ts.map +1 -1
  686. package/dist/http/HttpMiddleware.js +56 -39
  687. package/dist/http/HttpMiddleware.js.map +1 -1
  688. package/dist/http/HttpServer.d.ts +1 -1
  689. package/dist/http/HttpServer.d.ts.map +1 -1
  690. package/dist/http/HttpTraceContext.d.ts.map +1 -1
  691. package/dist/http/HttpTraceContext.js +4 -2
  692. package/dist/http/HttpTraceContext.js.map +1 -1
  693. package/dist/http/internal/tracing.d.ts +2 -0
  694. package/dist/http/internal/tracing.d.ts.map +1 -0
  695. package/dist/http/internal/tracing.js +37 -0
  696. package/dist/http/internal/tracing.js.map +1 -0
  697. package/dist/http-api/HttpApiBuilder.js +2 -1
  698. package/dist/http-api/HttpApiBuilder.js.map +1 -1
  699. package/dist/http-api/HttpApiClient.d.ts +12 -3
  700. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  701. package/dist/http-api/HttpApiClient.js.map +1 -1
  702. package/dist/http-api/HttpApiError.d.ts +4 -3
  703. package/dist/http-api/HttpApiError.d.ts.map +1 -1
  704. package/dist/http-api/HttpApiError.js +7 -4
  705. package/dist/http-api/HttpApiError.js.map +1 -1
  706. package/dist/http-api/HttpApiSecurity.d.ts +8 -8
  707. package/dist/http-api/HttpApiSecurity.js +8 -8
  708. package/dist/index.d.ts +155 -0
  709. package/dist/index.d.ts.map +1 -1
  710. package/dist/index.js +155 -0
  711. package/dist/index.js.map +1 -1
  712. package/dist/internal/arbitrary/array.js +3 -3
  713. package/dist/internal/arbitrary/array.js.map +1 -1
  714. package/dist/internal/arbitrary/model.js +26 -11
  715. package/dist/internal/arbitrary/model.js.map +1 -1
  716. package/dist/internal/arbitrary/runner.js +8 -8
  717. package/dist/internal/arbitrary/runner.js.map +1 -1
  718. package/dist/internal/arbitrary/schema.js +4 -5
  719. package/dist/internal/arbitrary/schema.js.map +1 -1
  720. package/dist/internal/effect.js +53 -46
  721. package/dist/internal/effect.js.map +1 -1
  722. package/dist/internal/schedule.js +7 -5
  723. package/dist/internal/schedule.js.map +1 -1
  724. package/dist/internal/schema/standardSchema.js +2 -2
  725. package/dist/internal/schema/standardSchema.js.map +1 -1
  726. package/dist/internal/version.d.ts +2 -0
  727. package/dist/internal/version.d.ts.map +1 -0
  728. package/dist/internal/version.js +3 -0
  729. package/dist/internal/version.js.map +1 -0
  730. package/dist/net/AddressResolver.d.ts +145 -0
  731. package/dist/net/AddressResolver.d.ts.map +1 -0
  732. package/dist/net/AddressResolver.js +114 -0
  733. package/dist/net/AddressResolver.js.map +1 -0
  734. package/dist/net/Dns.d.ts +596 -0
  735. package/dist/net/Dns.d.ts.map +1 -0
  736. package/dist/net/Dns.js +549 -0
  737. package/dist/net/Dns.js.map +1 -0
  738. package/dist/net/Host.d.ts +320 -0
  739. package/dist/net/Host.d.ts.map +1 -0
  740. package/dist/net/Host.js +342 -0
  741. package/dist/net/Host.js.map +1 -0
  742. package/dist/net/IpInterface.d.ts +76 -3
  743. package/dist/net/IpInterface.d.ts.map +1 -1
  744. package/dist/net/IpInterface.js +53 -4
  745. package/dist/net/IpInterface.js.map +1 -1
  746. package/dist/net/IpNetwork.d.ts +82 -8
  747. package/dist/net/IpNetwork.d.ts.map +1 -1
  748. package/dist/net/IpNetwork.js +60 -4
  749. package/dist/net/IpNetwork.js.map +1 -1
  750. package/dist/net/NetAddress.d.ts +388 -35
  751. package/dist/net/NetAddress.d.ts.map +1 -1
  752. package/dist/net/NetAddress.js +350 -34
  753. package/dist/net/NetAddress.js.map +1 -1
  754. package/dist/net/index.d.ts +15 -0
  755. package/dist/net/index.d.ts.map +1 -1
  756. package/dist/net/index.js +15 -0
  757. package/dist/net/index.js.map +1 -1
  758. package/dist/observability/OtlpExporter.d.ts.map +1 -1
  759. package/dist/observability/OtlpExporter.js +5 -6
  760. package/dist/observability/OtlpExporter.js.map +1 -1
  761. package/dist/observability/OtlpLogger.d.ts.map +1 -1
  762. package/dist/observability/OtlpLogger.js +23 -27
  763. package/dist/observability/OtlpLogger.js.map +1 -1
  764. package/dist/observability/OtlpMetrics.d.ts +5 -3
  765. package/dist/observability/OtlpMetrics.d.ts.map +1 -1
  766. package/dist/observability/OtlpMetrics.js +36 -115
  767. package/dist/observability/OtlpMetrics.js.map +1 -1
  768. package/dist/observability/OtlpResource.d.ts +4 -3
  769. package/dist/observability/OtlpResource.d.ts.map +1 -1
  770. package/dist/observability/OtlpResource.js +20 -23
  771. package/dist/observability/OtlpResource.js.map +1 -1
  772. package/dist/observability/OtlpTracer.d.ts +1 -0
  773. package/dist/observability/OtlpTracer.d.ts.map +1 -1
  774. package/dist/observability/OtlpTracer.js +32 -36
  775. package/dist/observability/OtlpTracer.js.map +1 -1
  776. package/dist/observability/PrometheusMetrics.js +1 -0
  777. package/dist/observability/PrometheusMetrics.js.map +1 -1
  778. package/dist/observability/internal/otlpProtobuf.js +32 -1
  779. package/dist/observability/internal/otlpProtobuf.js.map +1 -1
  780. package/dist/persistence/PersistedQueue.d.ts +32 -3
  781. package/dist/persistence/PersistedQueue.d.ts.map +1 -1
  782. package/dist/persistence/PersistedQueue.js +75 -16
  783. package/dist/persistence/PersistedQueue.js.map +1 -1
  784. package/dist/reactivity/AsyncResult.d.ts +1 -1
  785. package/dist/reactivity/Atom.d.ts +5 -5
  786. package/dist/reactivity/Atom.d.ts.map +1 -1
  787. package/dist/reactivity/Atom.js +9 -5
  788. package/dist/reactivity/Atom.js.map +1 -1
  789. package/dist/reactivity/AtomHttpApi.d.ts +2 -2
  790. package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
  791. package/dist/reactivity/AtomRegistry.d.ts +8 -0
  792. package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
  793. package/dist/reactivity/AtomRegistry.js.map +1 -1
  794. package/dist/rpc/RpcClient.d.ts +41 -7
  795. package/dist/rpc/RpcClient.d.ts.map +1 -1
  796. package/dist/rpc/RpcClient.js +50 -25
  797. package/dist/rpc/RpcClient.js.map +1 -1
  798. package/dist/rpc/RpcServer.d.ts +6 -0
  799. package/dist/rpc/RpcServer.d.ts.map +1 -1
  800. package/dist/rpc/RpcServer.js +59 -40
  801. package/dist/rpc/RpcServer.js.map +1 -1
  802. package/dist/rpc/internal/tracing.d.ts +2 -0
  803. package/dist/rpc/internal/tracing.d.ts.map +1 -0
  804. package/dist/rpc/internal/tracing.js +18 -0
  805. package/dist/rpc/internal/tracing.js.map +1 -0
  806. package/dist/schema/SchemaCompiler/runtime.js +9 -1
  807. package/dist/schema/SchemaCompiler/runtime.js.map +1 -1
  808. package/dist/socket/DatagramSocket.d.ts +456 -0
  809. package/dist/socket/DatagramSocket.d.ts.map +1 -0
  810. package/dist/socket/DatagramSocket.js +535 -0
  811. package/dist/socket/DatagramSocket.js.map +1 -0
  812. package/dist/socket/Socket.d.ts +14 -1
  813. package/dist/socket/Socket.d.ts.map +1 -1
  814. package/dist/socket/Socket.js +9 -1
  815. package/dist/socket/Socket.js.map +1 -1
  816. package/dist/socket/index.d.ts +5 -0
  817. package/dist/socket/index.d.ts.map +1 -1
  818. package/dist/socket/index.js +5 -0
  819. package/dist/socket/index.js.map +1 -1
  820. package/dist/sql/Migrator.d.ts.map +1 -1
  821. package/dist/sql/Migrator.js +7 -2
  822. package/dist/sql/Migrator.js.map +1 -1
  823. package/dist/sql/SqlClient.d.ts +7 -1
  824. package/dist/sql/SqlClient.d.ts.map +1 -1
  825. package/dist/sql/SqlClient.js +35 -10
  826. package/dist/sql/SqlClient.js.map +1 -1
  827. package/dist/sql/Statement.d.ts +21 -1
  828. package/dist/sql/Statement.d.ts.map +1 -1
  829. package/dist/sql/Statement.js +55 -7
  830. package/dist/sql/Statement.js.map +1 -1
  831. package/dist/testing/TestClock.d.ts +8 -0
  832. package/dist/testing/TestClock.d.ts.map +1 -1
  833. package/dist/testing/TestClock.js +7 -0
  834. package/dist/testing/TestClock.js.map +1 -1
  835. package/dist/testing/TestConsole.d.ts +7 -0
  836. package/dist/testing/TestConsole.d.ts.map +1 -1
  837. package/dist/testing/TestConsole.js +6 -0
  838. package/dist/testing/TestConsole.js.map +1 -1
  839. package/dist/testing/TestCrypto.d.ts +73 -0
  840. package/dist/testing/TestCrypto.d.ts.map +1 -0
  841. package/dist/testing/TestCrypto.js +87 -0
  842. package/dist/testing/TestCrypto.js.map +1 -0
  843. package/dist/testing/index.d.ts +8 -0
  844. package/dist/testing/index.d.ts.map +1 -1
  845. package/dist/testing/index.js +8 -0
  846. package/dist/testing/index.js.map +1 -1
  847. package/dist/workflow/DurableDeferred.d.ts +54 -0
  848. package/dist/workflow/DurableDeferred.d.ts.map +1 -1
  849. package/dist/workflow/DurableDeferred.js +78 -49
  850. package/dist/workflow/DurableDeferred.js.map +1 -1
  851. package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
  852. package/dist/workflow/WorkflowEngine.js +2 -1
  853. package/dist/workflow/WorkflowEngine.js.map +1 -1
  854. package/package.json +3 -3
  855. package/src/Array.ts +351 -3
  856. package/src/BigDecimal.ts +88 -0
  857. package/src/BigInt.ts +68 -0
  858. package/src/Boolean.ts +34 -0
  859. package/src/Brand.ts +10 -0
  860. package/src/ByteSize.ts +87 -0
  861. package/src/Cache.ts +50 -8
  862. package/src/Cause.ts +82 -0
  863. package/src/Channel.ts +368 -18
  864. package/src/ChannelSchema.ts +13 -0
  865. package/src/Chunk.ts +193 -0
  866. package/src/Clock.ts +7 -0
  867. package/src/Combiner.ts +10 -0
  868. package/src/Config.ts +82 -8
  869. package/src/ConfigProvider.ts +28 -0
  870. package/src/Console.ts +26 -0
  871. package/src/Context.ts +53 -3
  872. package/src/Cron.ts +32 -1
  873. package/src/Crypto.ts +48 -9
  874. package/src/Data.ts +13 -0
  875. package/src/DateTime.ts +180 -6
  876. package/src/Deferred.ts +51 -0
  877. package/src/Differ.ts +2 -0
  878. package/src/Duration.ts +126 -16
  879. package/src/Effect.ts +539 -5
  880. package/src/Effectable.ts +4 -0
  881. package/src/Equal.ts +12 -1
  882. package/src/Equivalence.ts +22 -0
  883. package/src/ErrorReporter.ts +36 -0
  884. package/src/ExecutionPlan.ts +58 -14
  885. package/src/Exit.ts +40 -0
  886. package/src/Fiber.ts +20 -0
  887. package/src/FiberHandle.ts +29 -4
  888. package/src/FiberMap.ts +38 -0
  889. package/src/FiberSet.ts +21 -0
  890. package/src/FileSystem.ts +64 -2
  891. package/src/Filter.ts +55 -0
  892. package/src/Formatter.ts +42 -1
  893. package/src/Function.ts +30 -0
  894. package/src/Graph.ts +317 -36
  895. package/src/HKT.ts +5 -0
  896. package/src/Hash.ts +15 -0
  897. package/src/HashMap.ts +91 -0
  898. package/src/HashRing.ts +18 -0
  899. package/src/HashSet.ts +53 -0
  900. package/src/Inspectable.ts +8 -0
  901. package/src/Iterable.ts +127 -0
  902. package/src/JsonPatch.ts +5 -0
  903. package/src/JsonPointer.ts +5 -0
  904. package/src/JsonSchema.ts +17 -0
  905. package/src/Latch.ts +14 -0
  906. package/src/Layer.ts +101 -1
  907. package/src/LayerMap.ts +7 -0
  908. package/src/LayerRef.ts +5 -0
  909. package/src/LogLevel.ts +20 -0
  910. package/src/Logger.ts +41 -5
  911. package/src/ManagedRuntime.ts +12 -1
  912. package/src/Match.ts +52 -0
  913. package/src/Metric.ts +69 -0
  914. package/src/MutableHashMap.ts +44 -0
  915. package/src/MutableHashSet.ts +17 -0
  916. package/src/MutableList.ts +21 -0
  917. package/src/MutableRef.ts +32 -0
  918. package/src/Newtype.ts +9 -0
  919. package/src/NonEmptyIterable.ts +4 -0
  920. package/src/Number.ts +61 -0
  921. package/src/Optic.ts +57 -0
  922. package/src/Option.ts +134 -0
  923. package/src/Order.ts +30 -0
  924. package/src/Ordering.ts +7 -0
  925. package/src/PartitionedSemaphore.ts +61 -22
  926. package/src/Path.ts +6 -0
  927. package/src/Pipeable.ts +7 -0
  928. package/src/PlatformError.ts +8 -0
  929. package/src/Pool.ts +20 -1
  930. package/src/Predicate.ts +85 -0
  931. package/src/PrimaryKey.ts +5 -0
  932. package/src/PubSub.ts +90 -9
  933. package/src/Pull.ts +20 -0
  934. package/src/Queue.ts +80 -10
  935. package/src/Random.ts +13 -0
  936. package/src/RcMap.ts +23 -0
  937. package/src/RcRef.ts +6 -0
  938. package/src/Record.ts +100 -0
  939. package/src/Redactable.ts +6 -0
  940. package/src/Redacted.ts +8 -0
  941. package/src/Reducer.ts +4 -0
  942. package/src/Ref.ts +42 -0
  943. package/src/References.ts +21 -0
  944. package/src/RegExp.ts +4 -0
  945. package/src/Request.ts +32 -0
  946. package/src/RequestResolver.ts +59 -10
  947. package/src/Resource.ts +7 -0
  948. package/src/Result.ts +93 -0
  949. package/src/Runtime.ts +10 -0
  950. package/src/Schedule.ts +61 -0
  951. package/src/Scheduler.ts +7 -0
  952. package/src/Schema.ts +1168 -9
  953. package/src/SchemaAST.ts +115 -1
  954. package/src/SchemaGetter.ts +80 -4
  955. package/src/SchemaIssue.ts +34 -0
  956. package/src/SchemaParser.ts +26 -0
  957. package/src/SchemaRepresentation.ts +148 -0
  958. package/src/SchemaTransformation.ts +53 -0
  959. package/src/Scope.ts +19 -0
  960. package/src/ScopedCache.ts +55 -3
  961. package/src/ScopedRef.ts +9 -0
  962. package/src/Semaphore.ts +26 -0
  963. package/src/Sink.ts +126 -2
  964. package/src/StandardSchema.ts +1 -0
  965. package/src/Stdio.ts +16 -2
  966. package/src/Stream.ts +633 -26
  967. package/src/String.ts +87 -0
  968. package/src/Struct.ts +46 -0
  969. package/src/SubscriptionRef.ts +65 -0
  970. package/src/Symbol.ts +2 -0
  971. package/src/SynchronizedRef.ts +63 -0
  972. package/src/Take.ts +3 -0
  973. package/src/Terminal.ts +8 -0
  974. package/src/Tracer.ts +23 -0
  975. package/src/Trie.ts +68 -0
  976. package/src/Tuple.ts +38 -0
  977. package/src/TxChunk.ts +52 -0
  978. package/src/TxDeferred.ts +15 -0
  979. package/src/TxHashMap.ts +97 -6
  980. package/src/TxHashSet.ts +83 -3
  981. package/src/TxPriorityQueue.ts +34 -2
  982. package/src/TxPubSub.ts +26 -0
  983. package/src/TxQueue.ts +51 -0
  984. package/src/TxReentrantLock.ts +53 -36
  985. package/src/TxRef.ts +14 -0
  986. package/src/TxSemaphore.ts +47 -31
  987. package/src/TxSubscriptionRef.ts +25 -0
  988. package/src/Types.ts +36 -0
  989. package/src/UndefinedOr.ts +15 -0
  990. package/src/Unify.ts +15 -0
  991. package/src/Utils.ts +4 -0
  992. package/src/Version.ts +38 -0
  993. package/src/ai/Chat.ts +1 -1
  994. package/src/ai/DecisionModel.ts +42 -1
  995. package/src/ai/LanguageModel.ts +16 -19
  996. package/src/ai/McpServer.ts +169 -58
  997. package/src/ai/Telemetry.ts +62 -58
  998. package/src/ai/internal/mcpProtocol/v2026_07_28.ts +5 -0
  999. package/src/ai/internal/mcpProtocol.ts +3 -0
  1000. package/src/ai/internal/mcpRuntime.ts +86 -43
  1001. package/src/ai/internal/mcpStatefulRuntime.ts +2 -0
  1002. package/src/cli/CliOutput.ts +33 -16
  1003. package/src/cli/Command.ts +4 -3
  1004. package/src/cli/Completions.ts +9 -6
  1005. package/src/cli/GlobalFlag.ts +19 -11
  1006. package/src/cli/Prompt.ts +159 -149
  1007. package/src/cli/internal/ansi.ts +26 -3
  1008. package/src/cli/internal/completions/powershell.ts +322 -0
  1009. package/src/cli/internal/completions/zsh.ts +4 -2
  1010. package/src/cli/internal/wizard.ts +34 -26
  1011. package/src/cluster/ClusterSchema.ts +32 -0
  1012. package/src/cluster/ClusterWorkflowEngine.ts +13 -24
  1013. package/src/cluster/K8sHttpClient.ts +12 -2
  1014. package/src/cluster/MessageStorage.ts +45 -14
  1015. package/src/cluster/Runners.ts +8 -2
  1016. package/src/cluster/Sharding.ts +207 -49
  1017. package/src/cluster/SqlMessageStorage.ts +118 -84
  1018. package/src/cluster/SqlRunnerStorage.ts +224 -128
  1019. package/src/cluster/internal/entityManager.ts +151 -55
  1020. package/src/encoding/Base64.ts +4 -0
  1021. package/src/encoding/Base64Url.ts +4 -0
  1022. package/src/encoding/EncodingError.ts +5 -0
  1023. package/src/encoding/Hex.ts +5 -0
  1024. package/src/encoding/Toml.ts +2 -2
  1025. package/src/encoding/Yaml.ts +8 -4
  1026. package/src/encoding/index.ts +4 -0
  1027. package/src/eventlog/SqlEventJournal.ts +18 -4
  1028. package/src/eventlog/SqlEventLogServerUnencrypted.ts +282 -235
  1029. package/src/http/FindMyWay/internal/router.ts +4 -7
  1030. package/src/http/Headers.ts +8 -2
  1031. package/src/http/HttpClient.ts +100 -29
  1032. package/src/http/HttpClientResponse.ts +3 -1
  1033. package/src/http/HttpEffect.ts +11 -2
  1034. package/src/http/HttpMiddleware.ts +60 -45
  1035. package/src/http/HttpServer.ts +1 -1
  1036. package/src/http/HttpTraceContext.ts +8 -2
  1037. package/src/http/internal/tracing.ts +52 -0
  1038. package/src/http-api/HttpApiBuilder.ts +5 -1
  1039. package/src/http-api/HttpApiClient.ts +13 -4
  1040. package/src/http-api/HttpApiError.ts +8 -4
  1041. package/src/http-api/HttpApiSecurity.ts +8 -8
  1042. package/src/index.ts +156 -0
  1043. package/src/internal/arbitrary/array.ts +3 -3
  1044. package/src/internal/arbitrary/model.ts +37 -14
  1045. package/src/internal/arbitrary/runner.ts +7 -7
  1046. package/src/internal/arbitrary/schema.ts +4 -3
  1047. package/src/internal/effect.ts +62 -58
  1048. package/src/internal/schedule.ts +23 -17
  1049. package/src/internal/schema/standardSchema.ts +2 -2
  1050. package/src/internal/version.ts +2 -0
  1051. package/src/net/AddressResolver.ts +222 -0
  1052. package/src/net/Dns.ts +1035 -0
  1053. package/src/net/Host.ts +472 -0
  1054. package/src/net/IpInterface.ts +117 -7
  1055. package/src/net/IpNetwork.ts +116 -17
  1056. package/src/net/NetAddress.ts +611 -76
  1057. package/src/net/index.ts +18 -0
  1058. package/src/observability/OtlpExporter.ts +9 -6
  1059. package/src/observability/OtlpLogger.ts +20 -21
  1060. package/src/observability/OtlpMetrics.ts +46 -116
  1061. package/src/observability/OtlpResource.ts +18 -27
  1062. package/src/observability/OtlpTracer.ts +34 -40
  1063. package/src/observability/PrometheusMetrics.ts +1 -0
  1064. package/src/observability/internal/otlpProtobuf.ts +60 -0
  1065. package/src/persistence/PersistedQueue.ts +146 -53
  1066. package/src/reactivity/AsyncResult.ts +1 -1
  1067. package/src/reactivity/Atom.ts +10 -6
  1068. package/src/reactivity/AtomHttpApi.ts +2 -4
  1069. package/src/reactivity/AtomRegistry.ts +7 -0
  1070. package/src/rpc/RpcClient.ts +87 -41
  1071. package/src/rpc/RpcServer.ts +85 -48
  1072. package/src/rpc/internal/tracing.ts +22 -0
  1073. package/src/schema/SchemaCompiler/runtime.ts +4 -1
  1074. package/src/socket/DatagramSocket.ts +919 -0
  1075. package/src/socket/Socket.ts +22 -2
  1076. package/src/socket/index.ts +6 -0
  1077. package/src/sql/Migrator.ts +21 -5
  1078. package/src/sql/SqlClient.ts +43 -19
  1079. package/src/sql/Statement.ts +59 -7
  1080. package/src/testing/TestClock.ts +9 -0
  1081. package/src/testing/TestConsole.ts +8 -0
  1082. package/src/testing/TestCrypto.ts +94 -0
  1083. package/src/testing/index.ts +9 -0
  1084. package/src/workflow/DurableDeferred.ts +123 -48
  1085. package/src/workflow/WorkflowEngine.ts +2 -1
@@ -86,6 +86,10 @@ export interface Residency {
86
86
  readonly releaseUnsafe: () => void
87
87
  }
88
88
 
89
+ interface RequestTransaction {
90
+ settle?: ((outcome: Exit.Exit<unknown, unknown>) => Effect.Effect<void>) | undefined
91
+ }
92
+
89
93
  // Represents the entities managed by this entity manager
90
94
  /**
91
95
  * @internal
@@ -100,10 +104,13 @@ export type EntityState = {
100
104
  /** Excludes requests awaiting their first dispatch from replay. */
101
105
  delivered: boolean
102
106
  sentExit: boolean
107
+ /** Treat early termination interrupts like shutdown interrupts. */
108
+ terminating?: boolean | undefined
103
109
  lastSentChunk: Option.Option<Reply.Chunk<Rpc.Any>>
104
110
  sequence: number
105
111
  /** Set when the request should not outlive its caller. */
106
112
  callerScope?: Scope.Scope | undefined
113
+ transaction?: RequestTransaction | undefined
107
114
  }>
108
115
  lastActiveCheck: number
109
116
  write: RpcServer.RpcServer<any>["write"]
@@ -152,9 +159,13 @@ export const make = Effect.fnUntraced(function*<
152
159
  entityRpcs.set(KeepAliveRpc._tag, KeepAliveRpc as any)
153
160
 
154
161
  const activeServers = new Map<EntityId, EntityState>()
162
+ // Entities finishing their in-flight requests after removal, which still
163
+ // accept interrupts and acks
164
+ const drainingServers = new Map<EntityId, EntityState>()
155
165
  const serverCloseLatches = new Map<EntityAddress, {
156
166
  readonly closed: Latch.Latch
157
167
  readonly force: Latch.Latch
168
+ closing: boolean
158
169
  }>()
159
170
  const processedRequestIds = new Set<Snowflake.Snowflake>()
160
171
 
@@ -181,7 +192,8 @@ export const make = Effect.fnUntraced(function*<
181
192
  const keepAliveLatch = Latch.makeUnsafe()
182
193
  const closeLatches = {
183
194
  closed: Latch.makeUnsafe(),
184
- force: Latch.makeUnsafe()
195
+ force: Latch.makeUnsafe(),
196
+ closing: false
185
197
  }
186
198
 
187
199
  yield* Scope.addFinalizer(
@@ -264,22 +276,23 @@ export const make = Effect.fnUntraced(function*<
264
276
  // They will be retried when the entity is restarted.
265
277
  // Also, if the request is uninterruptible, we ignore the
266
278
  // interrupt.
279
+ const persisted = storageEnabled && Context.get(request.message.annotations, Persisted)
267
280
  if (
268
- storageEnabled &&
269
- Context.get(request.message.annotations, Persisted) &&
281
+ persisted &&
270
282
  Exit.hasInterrupts(response.exit) &&
271
- (isShuttingDown || isUninterruptibleForServer(request.message.annotations))
283
+ (isShuttingDown || request.terminating || isUninterruptibleForServer(request.message.annotations))
272
284
  ) {
273
- if (!isShuttingDown) {
285
+ if (!isShuttingDown && !request.terminating) {
274
286
  request.sentExit = false
275
287
  return server.write(0, requestEnvelope(request), requestWriteOptions(request)).pipe(
288
+ Effect.setContext(handlerContext),
276
289
  Effect.forkIn(handlerScope)
277
290
  )
278
291
  }
279
292
  activeRequests.delete(Snowflake.Snowflake(response.requestId))
280
293
  return options.storage.unregisterReplyHandler(request.message.envelope.requestId)
281
294
  }
282
- return retryRespond(
295
+ const save = retryRespond(
283
296
  4,
284
297
  Effect.suspend(() =>
285
298
  request.message.respond(
@@ -290,22 +303,53 @@ export const make = Effect.fnUntraced(function*<
290
303
  })
291
304
  )
292
305
  )
293
- ).pipe(
294
- Effect.flatMap(() => {
295
- if (storageEnabled) {
296
- processedRequestIds.add(request.message.envelope.requestId)
297
- }
298
- activeRequests.delete(Snowflake.Snowflake(response.requestId))
306
+ )
307
+ const complete = Effect.sync(() => {
308
+ if (storageEnabled) {
309
+ processedRequestIds.add(request.message.envelope.requestId)
310
+ }
311
+ activeRequests.delete(Snowflake.Snowflake(response.requestId))
299
312
 
300
- // Start the idle timer when the last request completes.
301
- if (activeRequests.size === 0) {
302
- state.lastActiveCheck = clock.currentTimeMillisUnsafe()
303
- }
313
+ // Start the idle timer when the last request completes.
314
+ if (activeRequests.size === 0) {
315
+ state.lastActiveCheck = clock.currentTimeMillisUnsafe()
316
+ }
317
+ })
318
+ const respond = Effect.orDie(Effect.andThen(save, complete))
319
+ const transaction = request.transaction
320
+ if (!transaction) return respond
321
+ const exit = response.exit
322
+
323
+ if (!persisted) {
324
+ if (Exit.isSuccess(exit)) return respond
325
+ transaction.settle = () => respond
326
+ return Effect.void
327
+ }
304
328
 
305
- return Effect.void
306
- }),
307
- Effect.orDie
308
- )
329
+ if (Exit.isSuccess(exit)) {
330
+ transaction.settle = (outcome) =>
331
+ Exit.isSuccess(outcome) ? complete : Effect.flatMap(
332
+ hasStoredExit(request.message.envelope.requestId),
333
+ (committed) => {
334
+ if (!committed) return restartFrom(outcome.cause)
335
+ // Commit succeeded despite the error; let callers read the saved reply.
336
+ return Effect.andThen(
337
+ complete,
338
+ options.storage.unregisterReplyHandler(request.message.envelope.requestId)
339
+ )
340
+ }
341
+ )
342
+ return Effect.orDie(save)
343
+ }
344
+ transaction.settle = (outcome) =>
345
+ // Transaction wrappers can add defects, but not typed errors; interrupts may be repeated.
346
+ Exit.isSuccess(outcome) || !outcome.cause.reasons.some((reason) =>
347
+ Cause.isDieReason(reason) &&
348
+ !exit.cause.reasons.some((r) => Cause.isDieReason(r) && r.defect === reason.defect)
349
+ )
350
+ ? respond
351
+ : restartFrom(outcome.cause)
352
+ return Effect.void
309
353
  }
310
354
  case "Chunk": {
311
355
  const request = activeRequests.get(Snowflake.Snowflake(response.requestId))
@@ -330,10 +374,7 @@ export const make = Effect.fnUntraced(function*<
330
374
  ))
331
375
  }
332
376
  case "Defect": {
333
- if (!isActive()) return endLatch.open
334
- const rebuild = writeRef.rebuildUnsafe({ from: server.write, prepare: replay })
335
- if (!rebuild) return Effect.void
336
- return Effect.forkIn(restart(Cause.die(response.defect), rebuild), managerScope)
377
+ return restartFrom(Cause.die(response.defect))
337
378
  }
338
379
  case "ClientEnd": {
339
380
  return endLatch.open
@@ -345,6 +386,21 @@ export const make = Effect.fnUntraced(function*<
345
386
  Effect.setContext(Context.merge(handlerContext, handlers))
346
387
  )
347
388
 
389
+ // Replay if the stored reply cannot be read.
390
+ const hasStoredExit = (requestId: Snowflake.Snowflake): Effect.Effect<boolean> =>
391
+ options.storage.repliesForUnfiltered([requestId]).pipe(
392
+ Effect.map((replies) => replies.some((reply) => reply._tag === "WithExit")),
393
+ Effect.catchCause(() => Effect.succeed(false))
394
+ )
395
+
396
+ // Do not inherit the failed handler's transaction context.
397
+ const restartFrom = (cause: Cause.Cause<unknown>): Effect.Effect<void> => {
398
+ if (!isActive()) return endLatch.open
399
+ const rebuild = writeRef.rebuildUnsafe({ from: server.write, prepare: replay })
400
+ if (!rebuild) return Effect.void
401
+ return Effect.forkIn(Effect.setContext(restart(cause, rebuild), handlerContext), managerScope)
402
+ }
403
+
348
404
  yield* Scope.addFinalizer(
349
405
  handlerScope,
350
406
  Effect.sync(() => {
@@ -415,15 +471,32 @@ export const make = Effect.fnUntraced(function*<
415
471
  Effect.suspend(() => {
416
472
  activeServers.delete(address.entityId)
417
473
  retired.openUnsafe()
474
+ closeLatches.closing = true
418
475
  acquireEntity(address)
476
+ drainingServers.set(address.entityId, state)
419
477
  return Effect.raceFirst(
420
- state.write(0, { _tag: "Eof" }).pipe(
478
+ Effect.gen(function*() {
479
+ for (const [requestId, request] of activeRequests) {
480
+ if (
481
+ !request.delivered || request.sentExit ||
482
+ !Context.get(request.message.annotations, ClusterSchema.InterruptOnTermination) ||
483
+ isUninterruptibleForServer(request.message.annotations)
484
+ ) continue
485
+ request.terminating = true
486
+ yield* state.write(0, { _tag: "Interrupt", requestId: requestId as any, interruptors: [] })
487
+ }
488
+ yield* state.write(0, { _tag: "Eof" })
489
+ }).pipe(
421
490
  Effect.andThen(endLatch.await),
422
491
  Effect.timeoutOption(config.entityTerminationTimeout),
423
492
  Effect.interruptible
424
493
  ),
425
494
  Effect.interruptible(closeLatches.force.await)
426
- )
495
+ ).pipe(Effect.ensuring(Effect.sync(() => {
496
+ if (drainingServers.get(address.entityId) === state) {
497
+ drainingServers.delete(address.entityId)
498
+ }
499
+ })))
427
500
  })
428
501
  )
429
502
  if (!options.sharding.hasShardId(address.shardId)) {
@@ -458,9 +531,38 @@ export const make = Effect.fnUntraced(function*<
458
531
  Effect.forkIn(managerScope)
459
532
  )
460
533
 
534
+ function sendEnvelope(server: EntityState, message: Message.IncomingEnvelope): Effect.Effect<void> {
535
+ const entry = server.activeRequests.get(message.envelope.requestId)
536
+ if (!entry) {
537
+ return Effect.void
538
+ } else if (
539
+ message.envelope._tag === "AckChunk" &&
540
+ Option.isSome(entry.lastSentChunk) &&
541
+ message.envelope.replyId !== entry.lastSentChunk.value.id
542
+ ) {
543
+ return Effect.void
544
+ }
545
+ return server.write(
546
+ 0,
547
+ message.envelope._tag === "AckChunk"
548
+ ? { _tag: "Ack", requestId: message.envelope.requestId as any }
549
+ : {
550
+ _tag: "Interrupt",
551
+ requestId: message.envelope.requestId as any,
552
+ interruptors: []
553
+ }
554
+ )
555
+ }
556
+
461
557
  function sendLocal<R extends Rpc.Any>(
462
558
  message: Message.IncomingLocal<R>
463
559
  ): Effect.Effect<void, EntityNotAssignedToRunner | MailboxFull | AlreadyProcessingMessage> {
560
+ if (message._tag === "IncomingEnvelope") {
561
+ const draining = drainingServers.get(message.envelope.address.entityId)
562
+ if (draining?.activeRequests.has(message.envelope.requestId)) {
563
+ return sendEnvelope(draining, message)
564
+ }
565
+ }
464
566
  return Effect.provideService(
465
567
  Effect.flatMap(
466
568
  entities.get(message.envelope.address),
@@ -557,26 +659,7 @@ export const make = Effect.fnUntraced(function*<
557
659
  return server.write(0, requestEnvelope(entry), requestWriteOptions(entry))
558
660
  }
559
661
  case "IncomingEnvelope": {
560
- const entry = server.activeRequests.get(message.envelope.requestId)
561
- if (!entry) {
562
- return Effect.void
563
- } else if (
564
- message.envelope._tag === "AckChunk" &&
565
- Option.isSome(entry.lastSentChunk) &&
566
- message.envelope.replyId !== entry.lastSentChunk.value.id
567
- ) {
568
- return Effect.void
569
- }
570
- return server.write(
571
- 0,
572
- message.envelope._tag === "AckChunk"
573
- ? { _tag: "Ack", requestId: message.envelope.requestId as any }
574
- : {
575
- _tag: "Interrupt",
576
- requestId: message.envelope.requestId as any,
577
- interruptors: []
578
- }
579
- )
662
+ return sendEnvelope(server, message)
580
663
  }
581
664
  }
582
665
  }
@@ -596,11 +679,24 @@ export const make = Effect.fnUntraced(function*<
596
679
  })
597
680
 
598
681
  const requestWriteOptions = (
599
- entry: { readonly message: Message.IncomingRequestLocal<any>; readonly callerScope?: Scope.Scope | undefined }
682
+ entry: {
683
+ readonly message: Message.IncomingRequestLocal<any>
684
+ readonly callerScope?: Scope.Scope | undefined
685
+ transaction?: RequestTransaction | undefined
686
+ }
600
687
  ): Parameters<EntityState["write"]>[2] => {
601
- const onTransaction = Context.get(entry.message.annotations, WithTransaction)
602
- ? options.storage.withTransaction
603
- : undefined
688
+ const onTransaction = !Context.get(entry.message.annotations, WithTransaction)
689
+ ? undefined
690
+ : <A, E, R>(effect: Effect.Effect<A, E, R>) =>
691
+ // Interrupts during commit must not hide the outcome from settle.
692
+ Effect.uninterruptibleMask((restore) => {
693
+ const transaction: RequestTransaction = {}
694
+ entry.transaction = transaction
695
+ return Effect.onExit(options.storage.withTransaction(restore(effect)), (outcome) => {
696
+ if (entry.transaction === transaction) entry.transaction = undefined
697
+ return transaction.settle ? transaction.settle(outcome) : Effect.void
698
+ })
699
+ })
604
700
  const onCaller = entry.callerScope && bindToCaller(entry.callerScope)
605
701
  if (!onCaller) return onTransaction && { onRequest: onTransaction }
606
702
  return { onRequest: onTransaction ? (effect) => onCaller(onTransaction(effect)) : onCaller }
@@ -621,13 +717,13 @@ export const make = Effect.fnUntraced(function*<
621
717
  }
622
718
  })
623
719
  }
624
- activeServers.forEach((state) => {
625
- if (shardId[Equal.symbol](state.address.shardId)) {
626
- fibers.push(runFork(entities.removeIgnore(state.address)))
627
- }
628
- })
720
+ // Look entities up by address: `activeServers` is keyed by entity id,
721
+ // so an entity with the same id on another shard can hide this one.
629
722
  serverCloseLatches.forEach((latches, address) => {
630
723
  if (shardId[Equal.symbol](address.shardId)) {
724
+ if (!latches.closing) {
725
+ fibers.push(runFork(entities.removeIgnore(address)))
726
+ }
631
727
  fibers.push(runFork(latches.closed.await))
632
728
  }
633
729
  })
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Base64 encoding and decoding helpers.
3
3
  *
4
+ * @stability stable
4
5
  * @since 4.0.0
5
6
  */
6
7
  import * as Result from "../Result.ts"
@@ -34,6 +35,7 @@ import { EncodingError } from "./EncodingError.ts"
34
35
  * @see {@link decode} for decoding standard Base64 to bytes
35
36
  * @see {@link decodeString} for decoding standard Base64 to UTF-8 text
36
37
  *
38
+ * @stability stable
37
39
  * @category encoding
38
40
  * @since 4.0.0
39
41
  */
@@ -62,6 +64,7 @@ export const encode: (input: Uint8Array | string) => string = (input) =>
62
64
  * Base64.decode("SGVsbG8=") // => Result.succeed(new Uint8Array([72, 101, 108, 108, 111]))
63
65
  * ```
64
66
  *
67
+ * @stability stable
65
68
  * @category decoding
66
69
  * @since 4.0.0
67
70
  */
@@ -138,6 +141,7 @@ export const decode = (str: string): Result.Result<Uint8Array, EncodingError> =>
138
141
  * Base64.decodeString("aGVsbG8=") // => Result.succeed("hello")
139
142
  * ```
140
143
  *
144
+ * @stability stable
141
145
  * @category decoding
142
146
  * @since 4.0.0
143
147
  */
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * URL-safe Base64 encoding and decoding helpers.
3
3
  *
4
+ * @stability stable
4
5
  * @since 4.0.0
5
6
  */
6
7
  import * as Result from "../Result.ts"
@@ -34,6 +35,7 @@ import { EncodingError } from "./EncodingError.ts"
34
35
  * @see {@link decode} for decoding URL-safe Base64 to bytes
35
36
  * @see {@link decodeString} for decoding URL-safe Base64 to UTF-8 text
36
37
  *
38
+ * @stability stable
37
39
  * @category encoding
38
40
  * @since 4.0.0
39
41
  */
@@ -62,6 +64,7 @@ export const encode: (input: Uint8Array | string) => string = (input) =>
62
64
  * Base64Url.decode("SGVsbG8_") // => Result.succeed(new Uint8Array([72, 101, 108, 108, 111, 63]))
63
65
  * ```
64
66
  *
67
+ * @stability stable
65
68
  * @category decoding
66
69
  * @since 4.0.0
67
70
  */
@@ -116,6 +119,7 @@ export const decode = (str: string): Result.Result<Uint8Array, EncodingError> =>
116
119
  * Base64Url.decodeString("aGVsbG8_") // => Result.succeed("hello?")
117
120
  * ```
118
121
  *
122
+ * @stability stable
119
123
  * @category decoding
120
124
  * @since 4.0.0
121
125
  */
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Shared error type for encoding and decoding operations.
3
3
  *
4
+ * @stability stable
4
5
  * @since 4.0.0
5
6
  */
6
7
  import * as Data from "../Data.ts"
@@ -22,6 +23,7 @@ import { hasProperty } from "../Predicate.ts"
22
23
  *
23
24
  * @see {@link isEncodingError} for the public guard that checks this marker
24
25
  *
26
+ * @stability stable
25
27
  * @category type IDs
26
28
  * @since 4.0.0
27
29
  */
@@ -34,6 +36,7 @@ export const EncodingErrorTypeId = "~effect/encoding/EncodingError" as const
34
36
  *
35
37
  * Use to type the marker carried by `EncodingError` values.
36
38
  *
39
+ * @stability stable
37
40
  * @category type IDs
38
41
  * @since 4.0.0
39
42
  */
@@ -55,6 +58,7 @@ export type EncodingErrorTypeId = typeof EncodingErrorTypeId
55
58
  *
56
59
  * @see {@link isEncodingError} for checking whether a value is an EncodingError
57
60
  *
61
+ * @stability stable
58
62
  * @category errors
59
63
  * @since 4.0.0
60
64
  */
@@ -92,6 +96,7 @@ export class EncodingError extends Data.TaggedError("EncodingError")<{
92
96
  * @see {@link EncodingError} for the structured error produced by failed
93
97
  * encoding and decoding operations
94
98
  *
99
+ * @stability stable
95
100
  * @category guards
96
101
  * @since 4.0.0
97
102
  */
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Hexadecimal encoding, decoding, and random value helpers.
3
3
  *
4
+ * @stability stable
4
5
  * @since 4.0.0
5
6
  */
6
7
  import * as Result from "../Result.ts"
@@ -26,6 +27,7 @@ import { EncodingError } from "./EncodingError.ts"
26
27
  * Hex.encode(bytes) // => "48656c6c6f"
27
28
  * ```
28
29
  *
30
+ * @stability stable
29
31
  * @category encoding
30
32
  * @since 4.0.0
31
33
  */
@@ -47,6 +49,7 @@ export const encode: (input: Uint8Array | string) => string = (input) =>
47
49
  * security-sensitive values, use the `Crypto.Crypto` service's `randomBytes`
48
50
  * method and encode the result with {@link encode}.
49
51
  *
52
+ * @stability stable
50
53
  * @category encoding
51
54
  * @since 4.0.0
52
55
  */
@@ -173,6 +176,7 @@ const random32 = (): string => {
173
176
  * Hex.decode("48656c6c6f") // => Result.succeed(new Uint8Array([72, 101, 108, 108, 111]))
174
177
  * ```
175
178
  *
179
+ * @stability stable
176
180
  * @category decoding
177
181
  * @since 4.0.0
178
182
  */
@@ -233,6 +237,7 @@ export const decode = (str: string): Result.Result<Uint8Array, EncodingError> =>
233
237
  * Hex.decodeString("68656c6c6f") // => Result.succeed("hello")
234
238
  * ```
235
239
  *
240
+ * @stability stable
236
241
  * @category decoding
237
242
  * @since 4.0.0
238
243
  */
@@ -283,7 +283,7 @@ class TomlParser {
283
283
  if (multiline) {
284
284
  this.expect("\"")
285
285
  this.expect("\"")
286
- if (this.peek() === "\n") this.advance()
286
+ this.advance(this.input.startsWith("\r\n", this.index) ? 2 : this.peek() === "\n" ? 1 : 0)
287
287
  }
288
288
  let output = ""
289
289
  while (!this.done) {
@@ -347,7 +347,7 @@ class TomlParser {
347
347
  if (multiline) {
348
348
  this.expect("'")
349
349
  this.expect("'")
350
- if (this.peek() === "\n") this.advance()
350
+ this.advance(this.input.startsWith("\r\n", this.index) ? 2 : this.peek() === "\n" ? 1 : 0)
351
351
  }
352
352
  const start = this.index
353
353
  while (!this.done) {
@@ -523,6 +523,12 @@ class YamlParser {
523
523
  }
524
524
  this.index = end
525
525
 
526
+ let contentEnd = content.length
527
+ while (contentEnd > 0 && content[contentEnd - 1].length === 0) contentEnd--
528
+ const trailingBreaks = Math.max(0, content.length - contentEnd - (end === this.lines.length ? 1 : 0)) +
529
+ (contentEnd > 0 && start + contentEnd < this.lines.length ? 1 : 0)
530
+ content.length = contentEnd
531
+
526
532
  let output = ""
527
533
  if (style === "|") {
528
534
  output = content.join("\n")
@@ -543,11 +549,9 @@ class YamlParser {
543
549
  previousMoreIndented = moreIndented
544
550
  }
545
551
  }
546
- output += "\n".repeat(blankLines)
547
552
  }
548
- if (chomp === "keep") return output.endsWith("\n") ? output : `${output}\n`
549
- output = output.replace(/\n+$/, "")
550
- return chomp === "strip" ? output : `${output}\n`
553
+ if (chomp === "keep") return output + "\n".repeat(trailingBreaks)
554
+ return chomp === "clip" && contentEnd > 0 && trailingBreaks > 0 ? `${output}\n` : output
551
555
  }
552
556
 
553
557
  private skipBlankLines(): number {
@@ -6,21 +6,25 @@
6
6
  // @barrel: Auto-generated exports. Do not edit manually.
7
7
 
8
8
  /**
9
+ * @stability stable
9
10
  * @since 4.0.0
10
11
  */
11
12
  export * as Base64 from "./Base64.ts"
12
13
 
13
14
  /**
15
+ * @stability stable
14
16
  * @since 4.0.0
15
17
  */
16
18
  export * as Base64Url from "./Base64Url.ts"
17
19
 
18
20
  /**
21
+ * @stability stable
19
22
  * @since 4.0.0
20
23
  */
21
24
  export * as EncodingError from "./EncodingError.ts"
22
25
 
23
26
  /**
27
+ * @stability stable
24
28
  * @since 4.0.0
25
29
  */
26
30
  export * as Hex from "./Hex.ts"
@@ -56,7 +56,7 @@ export const make = (options?: {
56
56
  pg: () =>
57
57
  sql`
58
58
  CREATE TABLE IF NOT EXISTS ${entryTableSql} (
59
- id UUID PRIMARY KEY,
59
+ id BYTEA PRIMARY KEY,
60
60
  event TEXT NOT NULL,
61
61
  primary_key TEXT NOT NULL,
62
62
  payload BYTEA NOT NULL,
@@ -95,8 +95,8 @@ export const make = (options?: {
95
95
  pg: () =>
96
96
  sql`
97
97
  CREATE TABLE IF NOT EXISTS ${remotesTableSql} (
98
- remote_id UUID NOT NULL,
99
- entry_id UUID NOT NULL,
98
+ remote_id BYTEA NOT NULL,
99
+ entry_id BYTEA NOT NULL,
100
100
  sequence INT NOT NULL,
101
101
  PRIMARY KEY (remote_id, entry_id)
102
102
  )`,
@@ -343,12 +343,26 @@ const SqlUint8Array = Schema.Union([Schema.Uint8Array, ArrayBuffer]).pipe(
343
343
 
344
344
  const SqlEntryId = SqlUint8Array.pipe(Schema.decodeTo(EventJournal.EntryId))
345
345
 
346
+ const SqlNatural = Schema.Union([
347
+ Schema.Natural,
348
+ Schema.FiniteFromString.check(Schema.isInt(), Schema.isGreaterThanOrEqualTo(0)),
349
+ Schema.BigInt.pipe(
350
+ Schema.decodeTo(
351
+ Schema.Natural,
352
+ SchemaTransformation.transform({
353
+ decode: Number,
354
+ encode: BigInt
355
+ })
356
+ )
357
+ )
358
+ ])
359
+
346
360
  const EntryRow = Schema.Struct({
347
361
  id: SqlEntryId,
348
362
  event: Schema.String,
349
363
  primary_key: Schema.String,
350
364
  payload: SqlUint8Array,
351
- timestamp: Schema.Int
365
+ timestamp: SqlNatural
352
366
  })
353
367
 
354
368
  const EntryRowArray = Schema.Array(EntryRow)