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
@@ -1 +1 @@
1
- {"version":3,"file":"Sharding.js","names":[],"sources":["../../src/cluster/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Sharding.js","names":[],"sources":["../../src/cluster/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import * as Crypto from "../Crypto.ts";
2
2
  import * as Effect from "../Effect.ts";
3
3
  import * as Layer from "../Layer.ts";
4
+ import * as Migrator from "../sql/Migrator.ts";
4
5
  import * as SqlClient from "../sql/SqlClient.ts";
5
6
  import * as MessageStorage from "./MessageStorage.ts";
6
7
  import type { ShardingConfig } from "./ShardingConfig.ts";
@@ -45,38 +46,62 @@ export declare const make: (options?: {
45
46
  readonly prefix?: string | undefined;
46
47
  }) => Effect.Effect<MessageStorage.MessageStorage["Service"], never, SqlClient.SqlClient | Snowflake.Generator | Crypto.Crypto>;
47
48
  /**
48
- * Layer that provides SQL-backed `MessageStorage` using the default table prefix
49
- * and the default snowflake generator.
49
+ * Migration loader for the SQL message storage tables.
50
50
  *
51
- * **When to use**
51
+ * **Details**
52
52
  *
53
- * Use when a cluster should persist mailbox messages and replies in SQL using
54
- * the default `cluster` table prefix and the standard snowflake generator.
53
+ * History is recorded in `<prefix>_migrations`; the default
54
+ * prefix is `cluster`.
55
+ *
56
+ * @stability unstable
57
+ * @category migrations
58
+ * @since 4.1.0
59
+ */
60
+ export declare const migrations: (options?: {
61
+ readonly prefix?: string | undefined;
62
+ }) => Migrator.Loader;
63
+ /**
64
+ * Runs the SQL message storage migrations without providing storage.
55
65
  *
56
66
  * **Details**
57
67
  *
58
- * The layer runs the SQL migrations through `make`, provides `MessageStorage`,
59
- * and supplies `Snowflake.layerGenerator` internally. Callers still provide
60
- * `SqlClient`, `ShardingConfig`, and `Crypto.Crypto`, which is used to hash
61
- * message deduplication keys that would overflow the fixed-width
62
- * `message_id` column.
68
+ * Use an owner connection in a deploy step, then use `layerStorage` with a
69
+ * DML-only runtime connection. History is recorded in `<prefix>_migrations`.
70
+ * Migration errors become defects.
63
71
  *
64
- * **Gotchas**
72
+ * On PostgreSQL, use the role's `search_path` to select a schema. A
73
+ * schema-qualified prefix such as `app.cluster` produces an invalid index name.
65
74
  *
66
- * This layer always uses the `cluster` table prefix. Use `layerWith` before
67
- * deployment if you need a different stable prefix, because changing prefixes
68
- * later points the runtime at a different set of tables.
75
+ * @stability unstable
76
+ * @category layers
77
+ * @since 4.1.0
78
+ */
79
+ export declare const layerMigrations: (options: {
80
+ readonly prefix?: string | undefined;
81
+ }) => Layer.Layer<never, never, SqlClient.SqlClient>;
82
+ /**
83
+ * Provides SQL-backed `MessageStorage` without DDL or startup schema checks.
84
+ *
85
+ * **Details**
69
86
  *
70
- * @see {@link layerWith} for the same SQL storage layer with a custom table prefix
71
- * @see {@link make} for the lower-level service constructor that uses an existing `Snowflake.Generator`
87
+ * Run `layerMigrations` separately before using this layer.
88
+ * This layer supplies `Snowflake.layerGenerator` internally.
72
89
  *
73
90
  * @stability unstable
74
91
  * @category layers
75
- * @since 4.0.0
92
+ * @since 4.1.0
76
93
  */
77
- export declare const layer: Layer.Layer<MessageStorage.MessageStorage, never, SqlClient.SqlClient | ShardingConfig | Crypto.Crypto>;
94
+ export declare const layerStorage: (options: {
95
+ readonly prefix?: string | undefined;
96
+ }) => Layer.Layer<MessageStorage.MessageStorage, never, SqlClient.SqlClient | ShardingConfig | Crypto.Crypto>;
78
97
  /**
79
- * Layer that provides SQL-backed `MessageStorage` using a custom table prefix.
98
+ * Provides SQL-backed `MessageStorage` with a custom table prefix,
99
+ * running migrations first.
100
+ *
101
+ * **Details**
102
+ *
103
+ * Migration errors become defects. Use `layerMigrations` and `layerStorage`
104
+ * to migrate separately.
80
105
  *
81
106
  * @stability unstable
82
107
  * @category layers
@@ -85,4 +110,19 @@ export declare const layer: Layer.Layer<MessageStorage.MessageStorage, never, Sq
85
110
  export declare const layerWith: (options: {
86
111
  readonly prefix?: string | undefined;
87
112
  }) => Layer.Layer<MessageStorage.MessageStorage, never, SqlClient.SqlClient | ShardingConfig | Crypto.Crypto>;
113
+ /**
114
+ * Provides SQL-backed `MessageStorage` with the `cluster` table prefix,
115
+ * running migrations first and supplying `Snowflake.layerGenerator`.
116
+ *
117
+ * **Details**
118
+ *
119
+ * The connection needs DDL permissions. PostgreSQL takes an exclusive lock
120
+ * on the migration history table. Use `layerWith` for a custom prefix or
121
+ * `layerMigrations` and `layerStorage` to migrate separately.
122
+ *
123
+ * @stability unstable
124
+ * @category layers
125
+ * @since 4.0.0
126
+ */
127
+ export declare const layer: Layer.Layer<MessageStorage.MessageStorage, never, SqlClient.SqlClient | ShardingConfig | Crypto.Crypto>;
88
128
  //# sourceMappingURL=SqlMessageStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SqlMessageStorage.d.ts","sourceRoot":"","sources":["../../src/cluster/SqlMessageStorage.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAKpC,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAOhD,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAIrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAI3C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAK,MAAM,CAAC,MAAM,CACjB,cAAc,CAAC,OAAO,EACtB,KAAK,EACL,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CA+sBf,CAAA;AAEtB;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAK,MAAM,CAAC,MAAM,CACjB,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,EACxC,KAAK,EACL,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CACsB,CAAA;AAEjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,cAAc,CAAC,cAAc,EAC7B,KAAK,EACL,SAAS,CAAC,SAAS,GAAG,cAAc,GAAG,MAAM,CAAC,MAAM,CAGrD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,YAAa;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,GAAG,cAAc,GAAG,MAAM,CAAC,MAAM,CAGvG,CAAA"}
1
+ {"version":3,"file":"SqlMessageStorage.d.ts","sourceRoot":"","sources":["../../src/cluster/SqlMessageStorage.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAGpC,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAC9C,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAOhD,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAIrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAI3C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAK,MAAM,CAAC,MAAM,CACjB,cAAc,CAAC,OAAO,EACtB,KAAK,EACL,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CACsD,CAAA;AA+sB3F;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAK,MAAM,CAAC,MAAM,CACjB,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,EACxC,KAAK,EACL,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CACsB,CAAA;AAEjF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,aAAc;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,QAAQ,CAAC,MAoSZ,CAAA;AAUD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe,YAAa;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,CAAuD,CAAA;AAExG;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,YAAa;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,GAAG,cAAc,GAAG,MAAM,CAAC,MAAM,CAMvG,CAAA;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,YAAa;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,GAAG,cAAc,GAAG,MAAM,CAAC,MAAM,CAGvG,CAAA;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,cAAc,CAAC,cAAc,EAC7B,KAAK,EACL,SAAS,CAAC,SAAS,GAAG,cAAc,GAAG,MAAM,CAAC,MAAM,CACrC,CAAA"}
@@ -8,6 +8,11 @@
8
8
  * storage constructor, layers, migrations, optional table prefixes, and the row
9
9
  * mapping needed by encoded message storage.
10
10
  *
11
+ * `layer`, `layerWith`, `make`, and `makeEncoded` run the migrations before
12
+ * building the storage. To run migrations with a different connection, such as
13
+ * a schema owner in a deploy step, use `layerMigrations` there and
14
+ * `layerStorage` in the runtime.
15
+ *
11
16
  * Request deduplication keys that exceed the 255-character `message_id`
12
17
  * column are hashed with the `Crypto` service before they are written, so
13
18
  * composed keys of any length are supported; shorter keys are stored as
@@ -23,7 +28,6 @@ import * as Effect from "../Effect.js";
23
28
  import * as Hex from "../encoding/Hex.js";
24
29
  import * as Layer from "../Layer.js";
25
30
  import * as Option from "../Option.js";
26
- import * as Schedule from "../Schedule.js";
27
31
  import * as Migrator from "../sql/Migrator.js";
28
32
  import * as SqlClient from "../sql/SqlClient.js";
29
33
  import { isSqlError } from "../sql/SqlError.js";
@@ -58,15 +62,12 @@ const withTracerDisabled = /*#__PURE__*/Effect.withTracerEnabled(false);
58
62
  * @category constructors
59
63
  * @since 4.0.0
60
64
  */
61
- export const makeEncoded = /*#__PURE__*/Effect.fnUntraced(function* (options) {
65
+ export const makeEncoded = options => Effect.andThen(runMessageMigrations(options), makeEncodedStorage(options));
66
+ const makeEncodedStorage = /*#__PURE__*/Effect.fnUntraced(function* (options) {
62
67
  const sql = (yield* SqlClient.SqlClient).withoutTransforms();
63
68
  const crypto = yield* Crypto.Crypto;
64
69
  const prefix = options?.prefix ?? "cluster";
65
70
  const table = name => `${prefix}_${name}`;
66
- yield* Effect.orDie(Migrator.make({})({
67
- loader: migrations(options),
68
- table: table("migrations")
69
- }));
70
71
  const messageKindAckChunk = sql.literal(String(messageKind.AckChunk));
71
72
  const messageKindInterrupt = sql.literal(String(messageKind.Interrupt));
72
73
  const replyKindWithExit = sql.literal(String(replyKind.WithExit));
@@ -573,52 +574,24 @@ export const makeEncoded = /*#__PURE__*/Effect.fnUntraced(function* (options) {
573
574
  */
574
575
  export const make = options => Effect.flatMap(makeEncoded(options), MessageStorage.makeEncoded);
575
576
  /**
576
- * Layer that provides SQL-backed `MessageStorage` using the default table prefix
577
- * and the default snowflake generator.
578
- *
579
- * **When to use**
580
- *
581
- * Use when a cluster should persist mailbox messages and replies in SQL using
582
- * the default `cluster` table prefix and the standard snowflake generator.
577
+ * Migration loader for the SQL message storage tables.
583
578
  *
584
579
  * **Details**
585
580
  *
586
- * The layer runs the SQL migrations through `make`, provides `MessageStorage`,
587
- * and supplies `Snowflake.layerGenerator` internally. Callers still provide
588
- * `SqlClient`, `ShardingConfig`, and `Crypto.Crypto`, which is used to hash
589
- * message deduplication keys that would overflow the fixed-width
590
- * `message_id` column.
591
- *
592
- * **Gotchas**
593
- *
594
- * This layer always uses the `cluster` table prefix. Use `layerWith` before
595
- * deployment if you need a different stable prefix, because changing prefixes
596
- * later points the runtime at a different set of tables.
597
- *
598
- * @see {@link layerWith} for the same SQL storage layer with a custom table prefix
599
- * @see {@link make} for the lower-level service constructor that uses an existing `Snowflake.Generator`
581
+ * History is recorded in `<prefix>_migrations`; the default
582
+ * prefix is `cluster`.
600
583
  *
601
584
  * @stability unstable
602
- * @category layers
603
- * @since 4.0.0
604
- */
605
- export const layer = /*#__PURE__*/Layer.effect(MessageStorage.MessageStorage, make()).pipe(/*#__PURE__*/Layer.provide(Snowflake.layerGenerator));
606
- /**
607
- * Layer that provides SQL-backed `MessageStorage` using a custom table prefix.
608
- *
609
- * @stability unstable
610
- * @category layers
611
- * @since 4.0.0
585
+ * @category migrations
586
+ * @since 4.1.0
612
587
  */
613
- export const layerWith = options => Layer.effect(MessageStorage.MessageStorage, make(options)).pipe(Layer.provide(Snowflake.layerGenerator));
614
- // -------------------------------------------------------------------------------------------------
615
- // internal
616
- // -------------------------------------------------------------------------------------------------
617
- const migrations = options => {
588
+ export const migrations = options => {
618
589
  const prefix = options?.prefix ?? "cluster";
619
590
  const table = name => `${prefix}_${name}`;
620
591
  const messagesTable = table("messages");
621
592
  const repliesTable = table("replies");
593
+ // The migrator serializes PostgreSQL DDL. Propagate errors: retrying in an
594
+ // aborted transaction cannot succeed.
622
595
  return Migrator.fromRecord({
623
596
  "0001_create_tables": Effect.gen(function* () {
624
597
  const sql = (yield* SqlClient.SqlClient).withoutTransforms();
@@ -698,7 +671,7 @@ const migrations = options => {
698
671
  deliver_at BIGINT,
699
672
  UNIQUE (message_id)
700
673
  )
701
- `.pipe(Effect.ignore),
674
+ `,
702
675
  orElse: () =>
703
676
  // sqlite
704
677
  sql`
@@ -754,12 +727,7 @@ const migrations = options => {
754
727
  CREATE INDEX IF NOT EXISTS ${sql(requestIdLookupIndex)}
755
728
  ON ${messagesTableSql} (request_id)
756
729
  `;
757
- }).pipe(sql.withTransaction, Effect.tapDefect(error => Effect.annotateLogs(Effect.logDebug("Failed to create indexes", error), {
758
- package: "@effect/cluster",
759
- module: "SqlMessageStorage"
760
- })), Effect.retry({
761
- schedule: Schedule.spaced(1000)
762
- })),
730
+ }),
763
731
  orElse: () =>
764
732
  // sqlite
765
733
  Effect.all([sql`
@@ -842,12 +810,7 @@ const migrations = options => {
842
810
  pg: () => sql`
843
811
  CREATE INDEX IF NOT EXISTS ${sql(replyLookupIndex)}
844
812
  ON ${repliesTableSql} (request_id, kind, acked);
845
- `.pipe(Effect.tapDefect(error => Effect.annotateLogs(Effect.logDebug("Failed to create indexes", error), {
846
- package: "@effect/cluster",
847
- module: "SqlMessageStorage"
848
- })), Effect.retry({
849
- schedule: Schedule.spaced(1000)
850
- })),
813
+ `,
851
814
  orElse: () =>
852
815
  // sqlite
853
816
  sql`
@@ -889,6 +852,72 @@ const migrations = options => {
889
852
  })
890
853
  });
891
854
  };
855
+ const runMessageMigrations = options => Migrator.make({})({
856
+ loader: migrations(options),
857
+ table: `${options?.prefix ?? "cluster"}_migrations`
858
+ }).pipe(Effect.asVoid, Effect.orDie);
859
+ /**
860
+ * Runs the SQL message storage migrations without providing storage.
861
+ *
862
+ * **Details**
863
+ *
864
+ * Use an owner connection in a deploy step, then use `layerStorage` with a
865
+ * DML-only runtime connection. History is recorded in `<prefix>_migrations`.
866
+ * Migration errors become defects.
867
+ *
868
+ * On PostgreSQL, use the role's `search_path` to select a schema. A
869
+ * schema-qualified prefix such as `app.cluster` produces an invalid index name.
870
+ *
871
+ * @stability unstable
872
+ * @category layers
873
+ * @since 4.1.0
874
+ */
875
+ export const layerMigrations = options => Layer.effectDiscard(runMessageMigrations(options));
876
+ /**
877
+ * Provides SQL-backed `MessageStorage` without DDL or startup schema checks.
878
+ *
879
+ * **Details**
880
+ *
881
+ * Run `layerMigrations` separately before using this layer.
882
+ * This layer supplies `Snowflake.layerGenerator` internally.
883
+ *
884
+ * @stability unstable
885
+ * @category layers
886
+ * @since 4.1.0
887
+ */
888
+ export const layerStorage = options => Layer.effect(MessageStorage.MessageStorage, Effect.flatMap(makeEncodedStorage(options), MessageStorage.makeEncoded)).pipe(Layer.provide(Snowflake.layerGenerator));
889
+ /**
890
+ * Provides SQL-backed `MessageStorage` with a custom table prefix,
891
+ * running migrations first.
892
+ *
893
+ * **Details**
894
+ *
895
+ * Migration errors become defects. Use `layerMigrations` and `layerStorage`
896
+ * to migrate separately.
897
+ *
898
+ * @stability unstable
899
+ * @category layers
900
+ * @since 4.0.0
901
+ */
902
+ export const layerWith = options => layerStorage(options).pipe(Layer.provide(layerMigrations(options)));
903
+ /**
904
+ * Provides SQL-backed `MessageStorage` with the `cluster` table prefix,
905
+ * running migrations first and supplying `Snowflake.layerGenerator`.
906
+ *
907
+ * **Details**
908
+ *
909
+ * The connection needs DDL permissions. PostgreSQL takes an exclusive lock
910
+ * on the migration history table. Use `layerWith` for a custom prefix or
911
+ * `layerMigrations` and `layerStorage` to migrate separately.
912
+ *
913
+ * @stability unstable
914
+ * @category layers
915
+ * @since 4.0.0
916
+ */
917
+ export const layer = /*#__PURE__*/layerWith({});
918
+ // -------------------------------------------------------------------------------------------------
919
+ // internal
920
+ // -------------------------------------------------------------------------------------------------
892
921
  const messageKind = {
893
922
  "Request": 0,
894
923
  "AckChunk": 1,