effect 4.0.0-beta.66 → 4.0.0-beta.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1767) hide show
  1. package/dist/Array.d.ts +151 -106
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +50 -40
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +620 -553
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +298 -254
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +342 -274
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +168 -126
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +189 -156
  14. package/dist/Boolean.d.ts.map +1 -1
  15. package/dist/Boolean.js +85 -68
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/Brand.d.ts +30 -5
  18. package/dist/Brand.d.ts.map +1 -1
  19. package/dist/Brand.js +19 -2
  20. package/dist/Brand.js.map +1 -1
  21. package/dist/Cache.d.ts +239 -135
  22. package/dist/Cache.d.ts.map +1 -1
  23. package/dist/Cache.js +135 -59
  24. package/dist/Cache.js.map +1 -1
  25. package/dist/Cause.d.ts +84 -73
  26. package/dist/Cause.d.ts.map +1 -1
  27. package/dist/Cause.js +51 -44
  28. package/dist/Cause.js.map +1 -1
  29. package/dist/Channel.d.ts +1568 -632
  30. package/dist/Channel.d.ts.map +1 -1
  31. package/dist/Channel.js +685 -315
  32. package/dist/Channel.js.map +1 -1
  33. package/dist/ChannelSchema.d.ts +119 -10
  34. package/dist/ChannelSchema.d.ts.map +1 -1
  35. package/dist/ChannelSchema.js +45 -6
  36. package/dist/ChannelSchema.js.map +1 -1
  37. package/dist/Chunk.d.ts +574 -428
  38. package/dist/Chunk.d.ts.map +1 -1
  39. package/dist/Chunk.js +250 -191
  40. package/dist/Chunk.js.map +1 -1
  41. package/dist/Clock.d.ts +16 -9
  42. package/dist/Clock.d.ts.map +1 -1
  43. package/dist/Clock.js +9 -5
  44. package/dist/Clock.js.map +1 -1
  45. package/dist/Combiner.d.ts +11 -5
  46. package/dist/Combiner.d.ts.map +1 -1
  47. package/dist/Combiner.js +10 -4
  48. package/dist/Combiner.js.map +1 -1
  49. package/dist/Config.d.ts +80 -68
  50. package/dist/Config.d.ts.map +1 -1
  51. package/dist/Config.js +53 -49
  52. package/dist/Config.js.map +1 -1
  53. package/dist/ConfigProvider.d.ts +33 -32
  54. package/dist/ConfigProvider.d.ts.map +1 -1
  55. package/dist/ConfigProvider.js +19 -18
  56. package/dist/ConfigProvider.js.map +1 -1
  57. package/dist/Console.d.ts +76 -50
  58. package/dist/Console.d.ts.map +1 -1
  59. package/dist/Console.js +69 -46
  60. package/dist/Console.js.map +1 -1
  61. package/dist/Context.d.ts +400 -189
  62. package/dist/Context.d.ts.map +1 -1
  63. package/dist/Context.js +143 -77
  64. package/dist/Context.js.map +1 -1
  65. package/dist/Cron.d.ts +67 -48
  66. package/dist/Cron.d.ts.map +1 -1
  67. package/dist/Cron.js +94 -36
  68. package/dist/Cron.js.map +1 -1
  69. package/dist/Crypto.d.ts +208 -0
  70. package/dist/Crypto.d.ts.map +1 -0
  71. package/dist/Crypto.js +157 -0
  72. package/dist/Crypto.js.map +1 -0
  73. package/dist/Data.d.ts +9 -3
  74. package/dist/Data.d.ts.map +1 -1
  75. package/dist/Data.js.map +1 -1
  76. package/dist/DateTime.d.ts +893 -464
  77. package/dist/DateTime.d.ts.map +1 -1
  78. package/dist/DateTime.js +387 -228
  79. package/dist/DateTime.js.map +1 -1
  80. package/dist/Deferred.d.ts +367 -175
  81. package/dist/Deferred.d.ts.map +1 -1
  82. package/dist/Deferred.js +146 -72
  83. package/dist/Deferred.js.map +1 -1
  84. package/dist/Differ.d.ts +44 -2
  85. package/dist/Differ.d.ts.map +1 -1
  86. package/dist/Differ.js +36 -0
  87. package/dist/Duration.d.ts +333 -186
  88. package/dist/Duration.d.ts.map +1 -1
  89. package/dist/Duration.js +178 -107
  90. package/dist/Duration.js.map +1 -1
  91. package/dist/Effect.d.ts +2181 -2275
  92. package/dist/Effect.d.ts.map +1 -1
  93. package/dist/Effect.js +935 -850
  94. package/dist/Effect.js.map +1 -1
  95. package/dist/Effectable.d.ts +38 -3
  96. package/dist/Effectable.d.ts.map +1 -1
  97. package/dist/Effectable.js +3 -3
  98. package/dist/Effectable.js.map +1 -1
  99. package/dist/Encoding.d.ts +78 -28
  100. package/dist/Encoding.d.ts.map +1 -1
  101. package/dist/Encoding.js +75 -27
  102. package/dist/Encoding.js.map +1 -1
  103. package/dist/Equal.d.ts +4 -3
  104. package/dist/Equal.d.ts.map +1 -1
  105. package/dist/Equal.js +4 -3
  106. package/dist/Equal.js.map +1 -1
  107. package/dist/Equivalence.d.ts +18 -24
  108. package/dist/Equivalence.d.ts.map +1 -1
  109. package/dist/Equivalence.js +16 -21
  110. package/dist/Equivalence.js.map +1 -1
  111. package/dist/ErrorReporter.d.ts +66 -82
  112. package/dist/ErrorReporter.d.ts.map +1 -1
  113. package/dist/ErrorReporter.js +38 -29
  114. package/dist/ErrorReporter.js.map +1 -1
  115. package/dist/ExecutionPlan.d.ts +106 -12
  116. package/dist/ExecutionPlan.d.ts.map +1 -1
  117. package/dist/ExecutionPlan.js +23 -6
  118. package/dist/ExecutionPlan.js.map +1 -1
  119. package/dist/Exit.d.ts +6 -5
  120. package/dist/Exit.d.ts.map +1 -1
  121. package/dist/Exit.js.map +1 -1
  122. package/dist/Fiber.d.ts +71 -40
  123. package/dist/Fiber.d.ts.map +1 -1
  124. package/dist/Fiber.js +39 -21
  125. package/dist/Fiber.js.map +1 -1
  126. package/dist/FiberHandle.d.ts +118 -57
  127. package/dist/FiberHandle.d.ts.map +1 -1
  128. package/dist/FiberHandle.js +121 -39
  129. package/dist/FiberHandle.js.map +1 -1
  130. package/dist/FiberMap.d.ts +287 -159
  131. package/dist/FiberMap.d.ts.map +1 -1
  132. package/dist/FiberMap.js +175 -73
  133. package/dist/FiberMap.js.map +1 -1
  134. package/dist/FiberSet.d.ts +93 -52
  135. package/dist/FiberSet.d.ts.map +1 -1
  136. package/dist/FiberSet.js +97 -34
  137. package/dist/FiberSet.js.map +1 -1
  138. package/dist/FileSystem.d.ts +102 -73
  139. package/dist/FileSystem.d.ts.map +1 -1
  140. package/dist/FileSystem.js +53 -39
  141. package/dist/FileSystem.js.map +1 -1
  142. package/dist/Filter.d.ts +166 -88
  143. package/dist/Filter.d.ts.map +1 -1
  144. package/dist/Filter.js +68 -42
  145. package/dist/Filter.js.map +1 -1
  146. package/dist/Formatter.d.ts +4 -2
  147. package/dist/Formatter.d.ts.map +1 -1
  148. package/dist/Formatter.js +3 -69
  149. package/dist/Formatter.js.map +1 -1
  150. package/dist/Function.d.ts +218 -151
  151. package/dist/Function.d.ts.map +1 -1
  152. package/dist/Function.js +94 -78
  153. package/dist/Function.js.map +1 -1
  154. package/dist/Graph.d.ts +714 -415
  155. package/dist/Graph.d.ts.map +1 -1
  156. package/dist/Graph.js +325 -182
  157. package/dist/Graph.js.map +1 -1
  158. package/dist/HKT.d.ts +29 -13
  159. package/dist/HKT.d.ts.map +1 -1
  160. package/dist/Hash.d.ts +35 -24
  161. package/dist/Hash.d.ts.map +1 -1
  162. package/dist/Hash.js +27 -17
  163. package/dist/Hash.js.map +1 -1
  164. package/dist/HashMap.d.ts +540 -388
  165. package/dist/HashMap.d.ts.map +1 -1
  166. package/dist/HashMap.js +262 -156
  167. package/dist/HashMap.js.map +1 -1
  168. package/dist/HashRing.d.ts +53 -34
  169. package/dist/HashRing.d.ts.map +1 -1
  170. package/dist/HashRing.js +83 -16
  171. package/dist/HashRing.js.map +1 -1
  172. package/dist/HashSet.d.ts +239 -153
  173. package/dist/HashSet.d.ts.map +1 -1
  174. package/dist/HashSet.js +110 -56
  175. package/dist/HashSet.js.map +1 -1
  176. package/dist/Inspectable.d.ts +26 -13
  177. package/dist/Inspectable.d.ts.map +1 -1
  178. package/dist/Inspectable.js +22 -10
  179. package/dist/Inspectable.js.map +1 -1
  180. package/dist/Iterable.d.ts +336 -222
  181. package/dist/Iterable.d.ts.map +1 -1
  182. package/dist/Iterable.js +146 -100
  183. package/dist/Iterable.js.map +1 -1
  184. package/dist/JsonPatch.d.ts +12 -9
  185. package/dist/JsonPatch.d.ts.map +1 -1
  186. package/dist/JsonPatch.js +9 -6
  187. package/dist/JsonPatch.js.map +1 -1
  188. package/dist/JsonPointer.d.ts +13 -11
  189. package/dist/JsonPointer.d.ts.map +1 -1
  190. package/dist/JsonPointer.js +13 -11
  191. package/dist/JsonPointer.js.map +1 -1
  192. package/dist/JsonSchema.d.ts +16 -0
  193. package/dist/JsonSchema.d.ts.map +1 -1
  194. package/dist/JsonSchema.js +10 -0
  195. package/dist/JsonSchema.js.map +1 -1
  196. package/dist/Latch.d.ts +97 -26
  197. package/dist/Latch.d.ts.map +1 -1
  198. package/dist/Latch.js +39 -20
  199. package/dist/Latch.js.map +1 -1
  200. package/dist/Layer.d.ts +472 -410
  201. package/dist/Layer.d.ts.map +1 -1
  202. package/dist/Layer.js +290 -226
  203. package/dist/Layer.js.map +1 -1
  204. package/dist/LayerMap.d.ts +99 -26
  205. package/dist/LayerMap.d.ts.map +1 -1
  206. package/dist/LayerMap.js +58 -14
  207. package/dist/LayerMap.js.map +1 -1
  208. package/dist/LogLevel.d.ts +92 -131
  209. package/dist/LogLevel.d.ts.map +1 -1
  210. package/dist/LogLevel.js +25 -15
  211. package/dist/LogLevel.js.map +1 -1
  212. package/dist/Logger.d.ts +159 -104
  213. package/dist/Logger.d.ts.map +1 -1
  214. package/dist/Logger.js +215 -189
  215. package/dist/Logger.js.map +1 -1
  216. package/dist/ManagedRuntime.d.ts +78 -19
  217. package/dist/ManagedRuntime.d.ts.map +1 -1
  218. package/dist/ManagedRuntime.js +24 -17
  219. package/dist/ManagedRuntime.js.map +1 -1
  220. package/dist/Match.d.ts +135 -161
  221. package/dist/Match.d.ts.map +1 -1
  222. package/dist/Match.js +86 -78
  223. package/dist/Match.js.map +1 -1
  224. package/dist/Metric.d.ts +330 -291
  225. package/dist/Metric.d.ts.map +1 -1
  226. package/dist/Metric.js +219 -214
  227. package/dist/Metric.js.map +1 -1
  228. package/dist/MutableHashMap.d.ts +146 -87
  229. package/dist/MutableHashMap.d.ts.map +1 -1
  230. package/dist/MutableHashMap.js +67 -43
  231. package/dist/MutableHashMap.js.map +1 -1
  232. package/dist/MutableHashSet.d.ts +52 -30
  233. package/dist/MutableHashSet.d.ts.map +1 -1
  234. package/dist/MutableHashSet.js +92 -38
  235. package/dist/MutableHashSet.js.map +1 -1
  236. package/dist/MutableList.d.ts +110 -68
  237. package/dist/MutableList.d.ts.map +1 -1
  238. package/dist/MutableList.js +135 -85
  239. package/dist/MutableList.js.map +1 -1
  240. package/dist/MutableRef.d.ts +99 -62
  241. package/dist/MutableRef.d.ts.map +1 -1
  242. package/dist/MutableRef.js +78 -60
  243. package/dist/MutableRef.js.map +1 -1
  244. package/dist/Newtype.d.ts +15 -2
  245. package/dist/Newtype.d.ts.map +1 -1
  246. package/dist/Newtype.js +8 -2
  247. package/dist/Newtype.js.map +1 -1
  248. package/dist/NonEmptyIterable.d.ts +38 -48
  249. package/dist/NonEmptyIterable.d.ts.map +1 -1
  250. package/dist/NonEmptyIterable.js +34 -25
  251. package/dist/NonEmptyIterable.js.map +1 -1
  252. package/dist/Number.d.ts +261 -205
  253. package/dist/Number.d.ts.map +1 -1
  254. package/dist/Number.js +119 -91
  255. package/dist/Number.js.map +1 -1
  256. package/dist/Optic.d.ts +6 -7
  257. package/dist/Optic.d.ts.map +1 -1
  258. package/dist/Optic.js +5 -6
  259. package/dist/Optic.js.map +1 -1
  260. package/dist/Option.d.ts +133 -156
  261. package/dist/Option.d.ts.map +1 -1
  262. package/dist/Option.js +64 -64
  263. package/dist/Option.js.map +1 -1
  264. package/dist/Order.d.ts +6 -6
  265. package/dist/Order.js +6 -6
  266. package/dist/Ordering.d.ts +56 -45
  267. package/dist/Ordering.d.ts.map +1 -1
  268. package/dist/Ordering.js +10 -8
  269. package/dist/Ordering.js.map +1 -1
  270. package/dist/PartitionedSemaphore.d.ts +225 -40
  271. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  272. package/dist/PartitionedSemaphore.js +113 -17
  273. package/dist/PartitionedSemaphore.js.map +1 -1
  274. package/dist/Path.d.ts +77 -13
  275. package/dist/Path.d.ts.map +1 -1
  276. package/dist/Path.js +49 -4
  277. package/dist/Path.js.map +1 -1
  278. package/dist/Pipeable.d.ts +77 -18
  279. package/dist/Pipeable.d.ts.map +1 -1
  280. package/dist/Pipeable.js +63 -14
  281. package/dist/Pipeable.js.map +1 -1
  282. package/dist/PlatformError.d.ts +74 -6
  283. package/dist/PlatformError.d.ts.map +1 -1
  284. package/dist/PlatformError.js +68 -5
  285. package/dist/PlatformError.js.map +1 -1
  286. package/dist/Pool.d.ts +66 -31
  287. package/dist/Pool.d.ts.map +1 -1
  288. package/dist/Pool.js +26 -24
  289. package/dist/Pool.js.map +1 -1
  290. package/dist/Predicate.d.ts +16 -23
  291. package/dist/Predicate.d.ts.map +1 -1
  292. package/dist/Predicate.js +12 -17
  293. package/dist/Predicate.js.map +1 -1
  294. package/dist/PrimaryKey.d.ts +11 -3
  295. package/dist/PrimaryKey.d.ts.map +1 -1
  296. package/dist/PrimaryKey.js +9 -2
  297. package/dist/PrimaryKey.js.map +1 -1
  298. package/dist/PubSub.d.ts +385 -309
  299. package/dist/PubSub.d.ts.map +1 -1
  300. package/dist/PubSub.js +260 -207
  301. package/dist/PubSub.js.map +1 -1
  302. package/dist/Pull.d.ts +94 -25
  303. package/dist/Pull.d.ts.map +1 -1
  304. package/dist/Pull.js +61 -13
  305. package/dist/Pull.js.map +1 -1
  306. package/dist/Queue.d.ts +303 -184
  307. package/dist/Queue.d.ts.map +1 -1
  308. package/dist/Queue.js +231 -134
  309. package/dist/Queue.js.map +1 -1
  310. package/dist/Random.d.ts +65 -57
  311. package/dist/Random.d.ts.map +1 -1
  312. package/dist/Random.js +41 -66
  313. package/dist/Random.js.map +1 -1
  314. package/dist/RcMap.d.ts +151 -141
  315. package/dist/RcMap.d.ts.map +1 -1
  316. package/dist/RcMap.js +66 -20
  317. package/dist/RcMap.js.map +1 -1
  318. package/dist/RcRef.d.ts +68 -32
  319. package/dist/RcRef.d.ts.map +1 -1
  320. package/dist/RcRef.js +33 -16
  321. package/dist/RcRef.js.map +1 -1
  322. package/dist/Record.d.ts +282 -137
  323. package/dist/Record.d.ts.map +1 -1
  324. package/dist/Record.js +124 -62
  325. package/dist/Record.js.map +1 -1
  326. package/dist/Redactable.d.ts +7 -5
  327. package/dist/Redactable.d.ts.map +1 -1
  328. package/dist/Redactable.js +5 -3
  329. package/dist/Redactable.js.map +1 -1
  330. package/dist/Redacted.d.ts +63 -34
  331. package/dist/Redacted.d.ts.map +1 -1
  332. package/dist/Redacted.js +31 -15
  333. package/dist/Redacted.js.map +1 -1
  334. package/dist/Reducer.d.ts +3 -1
  335. package/dist/Reducer.d.ts.map +1 -1
  336. package/dist/Reducer.js +2 -0
  337. package/dist/Reducer.js.map +1 -1
  338. package/dist/Ref.d.ts +85 -66
  339. package/dist/Ref.d.ts.map +1 -1
  340. package/dist/Ref.js +57 -45
  341. package/dist/Ref.js.map +1 -1
  342. package/dist/References.d.ts +73 -31
  343. package/dist/References.d.ts.map +1 -1
  344. package/dist/References.js +66 -30
  345. package/dist/References.js.map +1 -1
  346. package/dist/RegExp.d.ts +12 -6
  347. package/dist/RegExp.d.ts.map +1 -1
  348. package/dist/RegExp.js +12 -6
  349. package/dist/RegExp.js.map +1 -1
  350. package/dist/Request.d.ts +159 -34
  351. package/dist/Request.d.ts.map +1 -1
  352. package/dist/Request.js +68 -12
  353. package/dist/Request.js.map +1 -1
  354. package/dist/RequestResolver.d.ts +262 -118
  355. package/dist/RequestResolver.d.ts.map +1 -1
  356. package/dist/RequestResolver.js +78 -42
  357. package/dist/RequestResolver.js.map +1 -1
  358. package/dist/Resource.d.ts +13 -7
  359. package/dist/Resource.d.ts.map +1 -1
  360. package/dist/Resource.js +44 -6
  361. package/dist/Resource.js.map +1 -1
  362. package/dist/Result.d.ts +135 -151
  363. package/dist/Result.d.ts.map +1 -1
  364. package/dist/Result.js +56 -68
  365. package/dist/Result.js.map +1 -1
  366. package/dist/Runtime.d.ts +40 -20
  367. package/dist/Runtime.d.ts.map +1 -1
  368. package/dist/Runtime.js +34 -17
  369. package/dist/Runtime.js.map +1 -1
  370. package/dist/Schedule.d.ts +556 -590
  371. package/dist/Schedule.d.ts.map +1 -1
  372. package/dist/Schedule.js +265 -253
  373. package/dist/Schedule.js.map +1 -1
  374. package/dist/Scheduler.d.ts +44 -7
  375. package/dist/Scheduler.d.ts.map +1 -1
  376. package/dist/Scheduler.js +34 -5
  377. package/dist/Scheduler.js.map +1 -1
  378. package/dist/Schema.d.ts +1293 -602
  379. package/dist/Schema.d.ts.map +1 -1
  380. package/dist/Schema.js +501 -361
  381. package/dist/Schema.js.map +1 -1
  382. package/dist/SchemaAST.d.ts +122 -92
  383. package/dist/SchemaAST.d.ts.map +1 -1
  384. package/dist/SchemaAST.js +102 -77
  385. package/dist/SchemaAST.js.map +1 -1
  386. package/dist/SchemaGetter.d.ts +49 -36
  387. package/dist/SchemaGetter.d.ts.map +1 -1
  388. package/dist/SchemaGetter.js +42 -29
  389. package/dist/SchemaGetter.js.map +1 -1
  390. package/dist/SchemaIssue.d.ts +19 -24
  391. package/dist/SchemaIssue.d.ts.map +1 -1
  392. package/dist/SchemaIssue.js +16 -14
  393. package/dist/SchemaIssue.js.map +1 -1
  394. package/dist/SchemaParser.d.ts +231 -63
  395. package/dist/SchemaParser.d.ts.map +1 -1
  396. package/dist/SchemaParser.js +266 -75
  397. package/dist/SchemaParser.js.map +1 -1
  398. package/dist/SchemaRepresentation.d.ts +89 -77
  399. package/dist/SchemaRepresentation.d.ts.map +1 -1
  400. package/dist/SchemaRepresentation.js +47 -37
  401. package/dist/SchemaRepresentation.js.map +1 -1
  402. package/dist/SchemaTransformation.d.ts +97 -46
  403. package/dist/SchemaTransformation.d.ts.map +1 -1
  404. package/dist/SchemaTransformation.js +89 -38
  405. package/dist/SchemaTransformation.js.map +1 -1
  406. package/dist/SchemaUtils.d.ts +8 -1
  407. package/dist/SchemaUtils.d.ts.map +1 -1
  408. package/dist/SchemaUtils.js +24 -1
  409. package/dist/SchemaUtils.js.map +1 -1
  410. package/dist/Scope.d.ts +107 -65
  411. package/dist/Scope.d.ts.map +1 -1
  412. package/dist/Scope.js +61 -32
  413. package/dist/Scope.js.map +1 -1
  414. package/dist/ScopedCache.d.ts +141 -49
  415. package/dist/ScopedCache.d.ts.map +1 -1
  416. package/dist/ScopedCache.js +82 -21
  417. package/dist/ScopedCache.js.map +1 -1
  418. package/dist/ScopedRef.d.ts +28 -8
  419. package/dist/ScopedRef.d.ts.map +1 -1
  420. package/dist/ScopedRef.js +25 -5
  421. package/dist/ScopedRef.js.map +1 -1
  422. package/dist/Semaphore.d.ts +61 -37
  423. package/dist/Semaphore.d.ts.map +1 -1
  424. package/dist/Semaphore.js +18 -21
  425. package/dist/Semaphore.js.map +1 -1
  426. package/dist/Sink.d.ts +461 -206
  427. package/dist/Sink.d.ts.map +1 -1
  428. package/dist/Sink.js +241 -90
  429. package/dist/Sink.js.map +1 -1
  430. package/dist/Stdio.d.ts +43 -6
  431. package/dist/Stdio.d.ts.map +1 -1
  432. package/dist/Stdio.js +33 -4
  433. package/dist/Stdio.js.map +1 -1
  434. package/dist/Stream.d.ts +2117 -1541
  435. package/dist/Stream.d.ts.map +1 -1
  436. package/dist/Stream.js +951 -682
  437. package/dist/Stream.js.map +1 -1
  438. package/dist/String.d.ts +174 -97
  439. package/dist/String.d.ts.map +1 -1
  440. package/dist/String.js +128 -69
  441. package/dist/String.js.map +1 -1
  442. package/dist/Struct.d.ts +20 -18
  443. package/dist/Struct.d.ts.map +1 -1
  444. package/dist/Struct.js +10 -8
  445. package/dist/Struct.js.map +1 -1
  446. package/dist/SubscriptionRef.d.ts +309 -204
  447. package/dist/SubscriptionRef.d.ts.map +1 -1
  448. package/dist/SubscriptionRef.js +126 -77
  449. package/dist/SubscriptionRef.js.map +1 -1
  450. package/dist/Symbol.d.ts +13 -5
  451. package/dist/Symbol.d.ts.map +1 -1
  452. package/dist/Symbol.js +13 -5
  453. package/dist/Symbol.js.map +1 -1
  454. package/dist/SynchronizedRef.d.ts +278 -62
  455. package/dist/SynchronizedRef.d.ts.map +1 -1
  456. package/dist/SynchronizedRef.js +116 -23
  457. package/dist/SynchronizedRef.js.map +1 -1
  458. package/dist/Take.d.ts +26 -2
  459. package/dist/Take.d.ts.map +1 -1
  460. package/dist/Take.js +4 -1
  461. package/dist/Take.js.map +1 -1
  462. package/dist/Terminal.d.ts +39 -7
  463. package/dist/Terminal.d.ts.map +1 -1
  464. package/dist/Terminal.js +10 -4
  465. package/dist/Terminal.js.map +1 -1
  466. package/dist/Tracer.d.ts +233 -59
  467. package/dist/Tracer.d.ts.map +1 -1
  468. package/dist/Tracer.js +94 -18
  469. package/dist/Tracer.js.map +1 -1
  470. package/dist/Trie.d.ts +280 -245
  471. package/dist/Trie.d.ts.map +1 -1
  472. package/dist/Trie.js +116 -102
  473. package/dist/Trie.js.map +1 -1
  474. package/dist/Tuple.d.ts +34 -32
  475. package/dist/Tuple.d.ts.map +1 -1
  476. package/dist/Tuple.js +16 -14
  477. package/dist/Tuple.js.map +1 -1
  478. package/dist/TxChunk.d.ts +200 -155
  479. package/dist/TxChunk.d.ts.map +1 -1
  480. package/dist/TxChunk.js +83 -61
  481. package/dist/TxChunk.js.map +1 -1
  482. package/dist/TxDeferred.d.ts +43 -29
  483. package/dist/TxDeferred.d.ts.map +1 -1
  484. package/dist/TxDeferred.js +22 -15
  485. package/dist/TxDeferred.js.map +1 -1
  486. package/dist/TxHashMap.d.ts +362 -223
  487. package/dist/TxHashMap.d.ts.map +1 -1
  488. package/dist/TxHashMap.js +171 -98
  489. package/dist/TxHashMap.js.map +1 -1
  490. package/dist/TxHashSet.d.ts +181 -111
  491. package/dist/TxHashSet.d.ts.map +1 -1
  492. package/dist/TxHashSet.js +87 -49
  493. package/dist/TxHashSet.js.map +1 -1
  494. package/dist/TxPriorityQueue.d.ts +94 -63
  495. package/dist/TxPriorityQueue.d.ts.map +1 -1
  496. package/dist/TxPriorityQueue.js +55 -37
  497. package/dist/TxPriorityQueue.js.map +1 -1
  498. package/dist/TxPubSub.d.ts +77 -49
  499. package/dist/TxPubSub.d.ts.map +1 -1
  500. package/dist/TxPubSub.js +60 -37
  501. package/dist/TxPubSub.js.map +1 -1
  502. package/dist/TxQueue.d.ts +277 -242
  503. package/dist/TxQueue.d.ts.map +1 -1
  504. package/dist/TxQueue.js +147 -101
  505. package/dist/TxQueue.js.map +1 -1
  506. package/dist/TxReentrantLock.d.ts +69 -46
  507. package/dist/TxReentrantLock.d.ts.map +1 -1
  508. package/dist/TxReentrantLock.js +48 -32
  509. package/dist/TxReentrantLock.js.map +1 -1
  510. package/dist/TxRef.d.ts +69 -40
  511. package/dist/TxRef.d.ts.map +1 -1
  512. package/dist/TxRef.js +34 -19
  513. package/dist/TxRef.js.map +1 -1
  514. package/dist/TxSemaphore.d.ts +101 -115
  515. package/dist/TxSemaphore.d.ts.map +1 -1
  516. package/dist/TxSemaphore.js +76 -77
  517. package/dist/TxSemaphore.js.map +1 -1
  518. package/dist/TxSubscriptionRef.d.ts +74 -50
  519. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  520. package/dist/TxSubscriptionRef.js +34 -23
  521. package/dist/TxSubscriptionRef.js.map +1 -1
  522. package/dist/Types.d.ts +31 -34
  523. package/dist/Types.d.ts.map +1 -1
  524. package/dist/UndefinedOr.d.ts +62 -25
  525. package/dist/UndefinedOr.d.ts.map +1 -1
  526. package/dist/UndefinedOr.js +36 -25
  527. package/dist/UndefinedOr.js.map +1 -1
  528. package/dist/Unify.d.ts +72 -117
  529. package/dist/Unify.d.ts.map +1 -1
  530. package/dist/Unify.js +20 -6
  531. package/dist/Unify.js.map +1 -1
  532. package/dist/Utils.d.ts +5 -2
  533. package/dist/Utils.d.ts.map +1 -1
  534. package/dist/Utils.js +4 -0
  535. package/dist/Utils.js.map +1 -1
  536. package/dist/index.d.ts +1973 -418
  537. package/dist/index.d.ts.map +1 -1
  538. package/dist/index.js +1973 -418
  539. package/dist/index.js.map +1 -1
  540. package/dist/internal/schema/schema.js +1 -1
  541. package/dist/internal/schema/schema.js.map +1 -1
  542. package/dist/testing/FastCheck.d.ts +9 -6
  543. package/dist/testing/FastCheck.d.ts.map +1 -1
  544. package/dist/testing/FastCheck.js +9 -6
  545. package/dist/testing/FastCheck.js.map +1 -1
  546. package/dist/testing/TestClock.d.ts +39 -35
  547. package/dist/testing/TestClock.d.ts.map +1 -1
  548. package/dist/testing/TestClock.js +42 -12
  549. package/dist/testing/TestClock.js.map +1 -1
  550. package/dist/testing/TestConsole.d.ts +44 -36
  551. package/dist/testing/TestConsole.d.ts.map +1 -1
  552. package/dist/testing/TestConsole.js +30 -15
  553. package/dist/testing/TestConsole.js.map +1 -1
  554. package/dist/testing/TestSchema.d.ts +2 -0
  555. package/dist/testing/TestSchema.d.ts.map +1 -1
  556. package/dist/testing/TestSchema.js +9 -7
  557. package/dist/testing/TestSchema.js.map +1 -1
  558. package/dist/testing/index.d.ts +34 -0
  559. package/dist/testing/index.d.ts.map +1 -1
  560. package/dist/testing/index.js +34 -0
  561. package/dist/testing/index.js.map +1 -1
  562. package/dist/unstable/ai/AiError.d.ts +205 -147
  563. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  564. package/dist/unstable/ai/AiError.js +164 -109
  565. package/dist/unstable/ai/AiError.js.map +1 -1
  566. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  567. package/dist/unstable/ai/AnthropicStructuredOutput.js +2 -2
  568. package/dist/unstable/ai/Chat.d.ts +64 -41
  569. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  570. package/dist/unstable/ai/Chat.js +51 -33
  571. package/dist/unstable/ai/Chat.js.map +1 -1
  572. package/dist/unstable/ai/EmbeddingModel.d.ts +12 -11
  573. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
  574. package/dist/unstable/ai/EmbeddingModel.js +9 -8
  575. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  576. package/dist/unstable/ai/IdGenerator.d.ts +28 -18
  577. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  578. package/dist/unstable/ai/IdGenerator.js +18 -11
  579. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  580. package/dist/unstable/ai/LanguageModel.d.ts +31 -25
  581. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  582. package/dist/unstable/ai/LanguageModel.js +20 -14
  583. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  584. package/dist/unstable/ai/McpSchema.d.ts +342 -119
  585. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  586. package/dist/unstable/ai/McpSchema.js +266 -98
  587. package/dist/unstable/ai/McpSchema.js.map +1 -1
  588. package/dist/unstable/ai/McpServer.d.ts +56 -20
  589. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  590. package/dist/unstable/ai/McpServer.js +64 -16
  591. package/dist/unstable/ai/McpServer.js.map +1 -1
  592. package/dist/unstable/ai/Model.d.ts +10 -12
  593. package/dist/unstable/ai/Model.d.ts.map +1 -1
  594. package/dist/unstable/ai/Model.js +9 -7
  595. package/dist/unstable/ai/Model.js.map +1 -1
  596. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  597. package/dist/unstable/ai/OpenAiStructuredOutput.js +2 -2
  598. package/dist/unstable/ai/Prompt.d.ts +200 -176
  599. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  600. package/dist/unstable/ai/Prompt.js +77 -68
  601. package/dist/unstable/ai/Prompt.js.map +1 -1
  602. package/dist/unstable/ai/Response.d.ts +173 -160
  603. package/dist/unstable/ai/Response.d.ts.map +1 -1
  604. package/dist/unstable/ai/Response.js +43 -48
  605. package/dist/unstable/ai/Response.js.map +1 -1
  606. package/dist/unstable/ai/ResponseIdTracker.d.ts +43 -4
  607. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
  608. package/dist/unstable/ai/ResponseIdTracker.js +27 -2
  609. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  610. package/dist/unstable/ai/Telemetry.d.ts +43 -33
  611. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  612. package/dist/unstable/ai/Telemetry.js +15 -11
  613. package/dist/unstable/ai/Telemetry.js.map +1 -1
  614. package/dist/unstable/ai/Tokenizer.d.ts +14 -9
  615. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  616. package/dist/unstable/ai/Tokenizer.js +10 -6
  617. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  618. package/dist/unstable/ai/Tool.d.ts +167 -96
  619. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  620. package/dist/unstable/ai/Tool.js +107 -53
  621. package/dist/unstable/ai/Tool.js.map +1 -1
  622. package/dist/unstable/ai/Toolkit.d.ts +32 -39
  623. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  624. package/dist/unstable/ai/Toolkit.js +7 -5
  625. package/dist/unstable/ai/Toolkit.js.map +1 -1
  626. package/dist/unstable/ai/index.d.ts +121 -29
  627. package/dist/unstable/ai/index.d.ts.map +1 -1
  628. package/dist/unstable/ai/index.js +121 -29
  629. package/dist/unstable/ai/index.js.map +1 -1
  630. package/dist/unstable/cli/Argument.d.ts +226 -134
  631. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  632. package/dist/unstable/cli/Argument.js +101 -65
  633. package/dist/unstable/cli/Argument.js.map +1 -1
  634. package/dist/unstable/cli/CliError.d.ts +72 -26
  635. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  636. package/dist/unstable/cli/CliError.js +86 -23
  637. package/dist/unstable/cli/CliError.js.map +1 -1
  638. package/dist/unstable/cli/CliOutput.d.ts +48 -19
  639. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  640. package/dist/unstable/cli/CliOutput.js +32 -9
  641. package/dist/unstable/cli/CliOutput.js.map +1 -1
  642. package/dist/unstable/cli/Command.d.ts +196 -115
  643. package/dist/unstable/cli/Command.d.ts.map +1 -1
  644. package/dist/unstable/cli/Command.js +45 -31
  645. package/dist/unstable/cli/Command.js.map +1 -1
  646. package/dist/unstable/cli/Completions.d.ts +7 -7
  647. package/dist/unstable/cli/Completions.js +1 -1
  648. package/dist/unstable/cli/Flag.d.ts +235 -142
  649. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  650. package/dist/unstable/cli/Flag.js +111 -71
  651. package/dist/unstable/cli/Flag.js.map +1 -1
  652. package/dist/unstable/cli/GlobalFlag.d.ts +41 -13
  653. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  654. package/dist/unstable/cli/GlobalFlag.js +30 -7
  655. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  656. package/dist/unstable/cli/HelpDoc.d.ts +39 -14
  657. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  658. package/dist/unstable/cli/HelpDoc.js +21 -0
  659. package/dist/unstable/cli/Param.d.ts +110 -32
  660. package/dist/unstable/cli/Param.d.ts.map +1 -1
  661. package/dist/unstable/cli/Param.js +196 -135
  662. package/dist/unstable/cli/Param.js.map +1 -1
  663. package/dist/unstable/cli/Primitive.d.ts +79 -42
  664. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  665. package/dist/unstable/cli/Primitive.js +66 -35
  666. package/dist/unstable/cli/Primitive.js.map +1 -1
  667. package/dist/unstable/cli/Prompt.d.ts +183 -59
  668. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  669. package/dist/unstable/cli/Prompt.js +105 -23
  670. package/dist/unstable/cli/Prompt.js.map +1 -1
  671. package/dist/unstable/cli/index.d.ts +182 -0
  672. package/dist/unstable/cli/index.d.ts.map +1 -1
  673. package/dist/unstable/cli/index.js +205 -6
  674. package/dist/unstable/cli/index.js.map +1 -1
  675. package/dist/unstable/cli/internal/ansi.d.ts.map +1 -1
  676. package/dist/unstable/cli/internal/ansi.js +13 -0
  677. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  678. package/dist/unstable/cli/internal/command.d.ts +5 -1
  679. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  680. package/dist/unstable/cli/internal/command.js +5 -1
  681. package/dist/unstable/cli/internal/command.js.map +1 -1
  682. package/dist/unstable/cli/internal/config.d.ts +3 -0
  683. package/dist/unstable/cli/internal/config.d.ts.map +1 -1
  684. package/dist/unstable/cli/internal/config.js.map +1 -1
  685. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  686. package/dist/unstable/cli/internal/parser.js +0 -1
  687. package/dist/unstable/cli/internal/parser.js.map +1 -1
  688. package/dist/unstable/cluster/ClusterCron.d.ts +35 -1
  689. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  690. package/dist/unstable/cluster/ClusterCron.js +35 -1
  691. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  692. package/dist/unstable/cluster/ClusterError.d.ts +56 -7
  693. package/dist/unstable/cluster/ClusterError.d.ts.map +1 -1
  694. package/dist/unstable/cluster/ClusterError.js +56 -7
  695. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  696. package/dist/unstable/cluster/ClusterMetrics.d.ts +39 -5
  697. package/dist/unstable/cluster/ClusterMetrics.d.ts.map +1 -1
  698. package/dist/unstable/cluster/ClusterMetrics.js +39 -5
  699. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  700. package/dist/unstable/cluster/ClusterSchema.d.ts +61 -8
  701. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  702. package/dist/unstable/cluster/ClusterSchema.js +61 -8
  703. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  704. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +14 -2
  705. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  706. package/dist/unstable/cluster/ClusterWorkflowEngine.js +35 -2
  707. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  708. package/dist/unstable/cluster/DeliverAt.d.ts +39 -4
  709. package/dist/unstable/cluster/DeliverAt.d.ts.map +1 -1
  710. package/dist/unstable/cluster/DeliverAt.js +11 -3
  711. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  712. package/dist/unstable/cluster/Entity.d.ts +74 -16
  713. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  714. package/dist/unstable/cluster/Entity.js +75 -10
  715. package/dist/unstable/cluster/Entity.js.map +1 -1
  716. package/dist/unstable/cluster/EntityAddress.d.ts +30 -2
  717. package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
  718. package/dist/unstable/cluster/EntityAddress.js +30 -2
  719. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  720. package/dist/unstable/cluster/EntityId.d.ts +18 -3
  721. package/dist/unstable/cluster/EntityId.d.ts.map +1 -1
  722. package/dist/unstable/cluster/EntityId.js +15 -2
  723. package/dist/unstable/cluster/EntityId.js.map +1 -1
  724. package/dist/unstable/cluster/EntityProxy.d.ts +42 -14
  725. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  726. package/dist/unstable/cluster/EntityProxy.js +30 -14
  727. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  728. package/dist/unstable/cluster/EntityProxyServer.d.ts +18 -2
  729. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  730. package/dist/unstable/cluster/EntityProxyServer.js +40 -8
  731. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  732. package/dist/unstable/cluster/EntityResource.d.ts +43 -6
  733. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  734. package/dist/unstable/cluster/EntityResource.js +11 -4
  735. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  736. package/dist/unstable/cluster/EntityType.d.ts +27 -3
  737. package/dist/unstable/cluster/EntityType.d.ts.map +1 -1
  738. package/dist/unstable/cluster/EntityType.js +24 -2
  739. package/dist/unstable/cluster/EntityType.js.map +1 -1
  740. package/dist/unstable/cluster/Envelope.d.ts +105 -23
  741. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  742. package/dist/unstable/cluster/Envelope.js +88 -14
  743. package/dist/unstable/cluster/Envelope.js.map +1 -1
  744. package/dist/unstable/cluster/HttpRunner.d.ts +88 -13
  745. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  746. package/dist/unstable/cluster/HttpRunner.js +88 -13
  747. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  748. package/dist/unstable/cluster/K8sHttpClient.d.ts +49 -6
  749. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  750. package/dist/unstable/cluster/K8sHttpClient.js +31 -6
  751. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  752. package/dist/unstable/cluster/MachineId.d.ts +24 -3
  753. package/dist/unstable/cluster/MachineId.d.ts.map +1 -1
  754. package/dist/unstable/cluster/MachineId.js +21 -2
  755. package/dist/unstable/cluster/MachineId.js.map +1 -1
  756. package/dist/unstable/cluster/Message.d.ts +102 -13
  757. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  758. package/dist/unstable/cluster/Message.js +86 -10
  759. package/dist/unstable/cluster/Message.js.map +1 -1
  760. package/dist/unstable/cluster/MessageStorage.d.ts +126 -21
  761. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  762. package/dist/unstable/cluster/MessageStorage.js +70 -10
  763. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  764. package/dist/unstable/cluster/Reply.d.ts +101 -12
  765. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  766. package/dist/unstable/cluster/Reply.js +64 -8
  767. package/dist/unstable/cluster/Reply.js.map +1 -1
  768. package/dist/unstable/cluster/Runner.d.ts +47 -17
  769. package/dist/unstable/cluster/Runner.d.ts.map +1 -1
  770. package/dist/unstable/cluster/Runner.js +47 -17
  771. package/dist/unstable/cluster/Runner.js.map +1 -1
  772. package/dist/unstable/cluster/RunnerAddress.d.ts +34 -2
  773. package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
  774. package/dist/unstable/cluster/RunnerAddress.js +34 -2
  775. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  776. package/dist/unstable/cluster/RunnerHealth.d.ts +40 -12
  777. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  778. package/dist/unstable/cluster/RunnerHealth.js +40 -12
  779. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  780. package/dist/unstable/cluster/RunnerServer.d.ts +7 -4
  781. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  782. package/dist/unstable/cluster/RunnerServer.js +31 -4
  783. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  784. package/dist/unstable/cluster/RunnerStorage.d.ts +42 -5
  785. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  786. package/dist/unstable/cluster/RunnerStorage.js +38 -4
  787. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  788. package/dist/unstable/cluster/Runners.d.ts +76 -13
  789. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  790. package/dist/unstable/cluster/Runners.js +73 -12
  791. package/dist/unstable/cluster/Runners.js.map +1 -1
  792. package/dist/unstable/cluster/ShardId.d.ts +53 -5
  793. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  794. package/dist/unstable/cluster/ShardId.js +49 -4
  795. package/dist/unstable/cluster/ShardId.js.map +1 -1
  796. package/dist/unstable/cluster/Sharding.d.ts +10 -2
  797. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  798. package/dist/unstable/cluster/Sharding.js +35 -4
  799. package/dist/unstable/cluster/Sharding.js.map +1 -1
  800. package/dist/unstable/cluster/ShardingConfig.d.ts +65 -9
  801. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  802. package/dist/unstable/cluster/ShardingConfig.js +66 -9
  803. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  804. package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts +27 -6
  805. package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts.map +1 -1
  806. package/dist/unstable/cluster/ShardingRegistrationEvent.js +28 -4
  807. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  808. package/dist/unstable/cluster/SingleRunner.d.ts +23 -1
  809. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  810. package/dist/unstable/cluster/SingleRunner.js +23 -1
  811. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  812. package/dist/unstable/cluster/Singleton.d.ts +15 -1
  813. package/dist/unstable/cluster/Singleton.d.ts.map +1 -1
  814. package/dist/unstable/cluster/Singleton.js +15 -1
  815. package/dist/unstable/cluster/Singleton.js.map +1 -1
  816. package/dist/unstable/cluster/SingletonAddress.d.ts +21 -1
  817. package/dist/unstable/cluster/SingletonAddress.d.ts.map +1 -1
  818. package/dist/unstable/cluster/SingletonAddress.js +21 -1
  819. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  820. package/dist/unstable/cluster/Snowflake.d.ts +90 -19
  821. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  822. package/dist/unstable/cluster/Snowflake.js +49 -13
  823. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  824. package/dist/unstable/cluster/SocketRunner.d.ts +8 -2
  825. package/dist/unstable/cluster/SocketRunner.d.ts.map +1 -1
  826. package/dist/unstable/cluster/SocketRunner.js +29 -2
  827. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  828. package/dist/unstable/cluster/SqlMessageStorage.d.ts +11 -3
  829. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  830. package/dist/unstable/cluster/SqlMessageStorage.js +27 -3
  831. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  832. package/dist/unstable/cluster/SqlRunnerStorage.d.ts +11 -3
  833. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  834. package/dist/unstable/cluster/SqlRunnerStorage.js +46 -7
  835. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  836. package/dist/unstable/cluster/TestRunner.d.ts +18 -1
  837. package/dist/unstable/cluster/TestRunner.d.ts.map +1 -1
  838. package/dist/unstable/cluster/TestRunner.js +18 -1
  839. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  840. package/dist/unstable/cluster/index.d.ts +790 -0
  841. package/dist/unstable/cluster/index.d.ts.map +1 -1
  842. package/dist/unstable/cluster/index.js +790 -0
  843. package/dist/unstable/cluster/index.js.map +1 -1
  844. package/dist/unstable/cluster/internal/hash.js +12 -0
  845. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  846. package/dist/unstable/devtools/DevTools.d.ts +26 -3
  847. package/dist/unstable/devtools/DevTools.d.ts.map +1 -1
  848. package/dist/unstable/devtools/DevTools.js +26 -3
  849. package/dist/unstable/devtools/DevTools.js.map +1 -1
  850. package/dist/unstable/devtools/DevToolsClient.d.ts +20 -5
  851. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  852. package/dist/unstable/devtools/DevToolsClient.js +32 -5
  853. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  854. package/dist/unstable/devtools/DevToolsSchema.d.ts +184 -44
  855. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  856. package/dist/unstable/devtools/DevToolsSchema.js +102 -20
  857. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  858. package/dist/unstable/devtools/DevToolsServer.d.ts +27 -2
  859. package/dist/unstable/devtools/DevToolsServer.d.ts.map +1 -1
  860. package/dist/unstable/devtools/DevToolsServer.js +21 -1
  861. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  862. package/dist/unstable/devtools/index.d.ts +58 -0
  863. package/dist/unstable/devtools/index.d.ts.map +1 -1
  864. package/dist/unstable/devtools/index.js +58 -0
  865. package/dist/unstable/devtools/index.js.map +1 -1
  866. package/dist/unstable/encoding/Msgpack.d.ts +81 -12
  867. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  868. package/dist/unstable/encoding/Msgpack.js +75 -9
  869. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  870. package/dist/unstable/encoding/Ndjson.d.ts +149 -21
  871. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  872. package/dist/unstable/encoding/Ndjson.js +97 -13
  873. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  874. package/dist/unstable/encoding/Sse.d.ts +109 -18
  875. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  876. package/dist/unstable/encoding/Sse.js +69 -13
  877. package/dist/unstable/encoding/Sse.js.map +1 -1
  878. package/dist/unstable/encoding/index.d.ts +49 -0
  879. package/dist/unstable/encoding/index.d.ts.map +1 -1
  880. package/dist/unstable/encoding/index.js +49 -0
  881. package/dist/unstable/encoding/index.js.map +1 -1
  882. package/dist/unstable/eventlog/Event.d.ts +115 -30
  883. package/dist/unstable/eventlog/Event.d.ts.map +1 -1
  884. package/dist/unstable/eventlog/Event.js +22 -2
  885. package/dist/unstable/eventlog/Event.js.map +1 -1
  886. package/dist/unstable/eventlog/EventGroup.d.ts +50 -17
  887. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  888. package/dist/unstable/eventlog/EventGroup.js +24 -6
  889. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  890. package/dist/unstable/eventlog/EventJournal.d.ts +104 -20
  891. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  892. package/dist/unstable/eventlog/EventJournal.js +108 -16
  893. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  894. package/dist/unstable/eventlog/EventLog.d.ts +150 -31
  895. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  896. package/dist/unstable/eventlog/EventLog.js +111 -20
  897. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  898. package/dist/unstable/eventlog/EventLogEncryption.d.ts +42 -6
  899. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  900. package/dist/unstable/eventlog/EventLogEncryption.js +38 -5
  901. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  902. package/dist/unstable/eventlog/EventLogMessage.d.ts +92 -18
  903. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  904. package/dist/unstable/eventlog/EventLogMessage.js +72 -16
  905. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  906. package/dist/unstable/eventlog/EventLogRemote.d.ts +35 -8
  907. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  908. package/dist/unstable/eventlog/EventLogRemote.js +54 -8
  909. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  910. package/dist/unstable/eventlog/EventLogServer.d.ts +17 -3
  911. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  912. package/dist/unstable/eventlog/EventLogServer.js +17 -3
  913. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  914. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +32 -6
  915. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  916. package/dist/unstable/eventlog/EventLogServerEncrypted.js +52 -6
  917. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  918. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +74 -16
  919. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  920. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +90 -16
  921. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  922. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +59 -15
  923. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -1
  924. package/dist/unstable/eventlog/EventLogSessionAuth.js +73 -14
  925. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  926. package/dist/unstable/eventlog/SqlEventJournal.d.ts +10 -2
  927. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  928. package/dist/unstable/eventlog/SqlEventJournal.js +28 -2
  929. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  930. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts +32 -3
  931. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  932. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +32 -3
  933. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  934. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +10 -2
  935. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  936. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +28 -2
  937. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  938. package/dist/unstable/eventlog/index.d.ts +240 -0
  939. package/dist/unstable/eventlog/index.d.ts.map +1 -1
  940. package/dist/unstable/eventlog/index.js +240 -0
  941. package/dist/unstable/eventlog/index.js.map +1 -1
  942. package/dist/unstable/http/Cookies.d.ts +156 -77
  943. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  944. package/dist/unstable/http/Cookies.js +93 -39
  945. package/dist/unstable/http/Cookies.js.map +1 -1
  946. package/dist/unstable/http/Etag.d.ts +40 -7
  947. package/dist/unstable/http/Etag.d.ts.map +1 -1
  948. package/dist/unstable/http/Etag.js +27 -4
  949. package/dist/unstable/http/Etag.js.map +1 -1
  950. package/dist/unstable/http/FetchHttpClient.d.ts +29 -3
  951. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  952. package/dist/unstable/http/FetchHttpClient.js +33 -4
  953. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  954. package/dist/unstable/http/FindMyWay.d.ts +1 -1
  955. package/dist/unstable/http/FindMyWay.js +1 -1
  956. package/dist/unstable/http/Headers.d.ts +182 -36
  957. package/dist/unstable/http/Headers.d.ts.map +1 -1
  958. package/dist/unstable/http/Headers.js +86 -16
  959. package/dist/unstable/http/Headers.js.map +1 -1
  960. package/dist/unstable/http/HttpBody.d.ts +114 -26
  961. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  962. package/dist/unstable/http/HttpBody.js +98 -20
  963. package/dist/unstable/http/HttpBody.js.map +1 -1
  964. package/dist/unstable/http/HttpClient.d.ts +204 -96
  965. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  966. package/dist/unstable/http/HttpClient.js +85 -38
  967. package/dist/unstable/http/HttpClient.js.map +1 -1
  968. package/dist/unstable/http/HttpClientError.d.ts +68 -12
  969. package/dist/unstable/http/HttpClientError.d.ts.map +1 -1
  970. package/dist/unstable/http/HttpClientError.js +71 -9
  971. package/dist/unstable/http/HttpClientError.js.map +1 -1
  972. package/dist/unstable/http/HttpClientRequest.d.ts +318 -100
  973. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  974. package/dist/unstable/http/HttpClientRequest.js +151 -45
  975. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  976. package/dist/unstable/http/HttpClientResponse.d.ts +59 -16
  977. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  978. package/dist/unstable/http/HttpClientResponse.js +44 -11
  979. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  980. package/dist/unstable/http/HttpEffect.d.ts +42 -16
  981. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  982. package/dist/unstable/http/HttpEffect.js +33 -13
  983. package/dist/unstable/http/HttpEffect.js.map +1 -1
  984. package/dist/unstable/http/HttpIncomingMessage.d.ts +48 -7
  985. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  986. package/dist/unstable/http/HttpIncomingMessage.js +45 -6
  987. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  988. package/dist/unstable/http/HttpMethod.d.ts +38 -6
  989. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  990. package/dist/unstable/http/HttpMethod.js +27 -2
  991. package/dist/unstable/http/HttpMethod.js.map +1 -1
  992. package/dist/unstable/http/HttpMiddleware.d.ts +38 -11
  993. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  994. package/dist/unstable/http/HttpMiddleware.js +52 -10
  995. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  996. package/dist/unstable/http/HttpPlatform.d.ts +34 -3
  997. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  998. package/dist/unstable/http/HttpPlatform.js +34 -3
  999. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  1000. package/dist/unstable/http/HttpRouter.d.ts +209 -62
  1001. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  1002. package/dist/unstable/http/HttpRouter.js +136 -41
  1003. package/dist/unstable/http/HttpRouter.js.map +1 -1
  1004. package/dist/unstable/http/HttpServer.d.ts +151 -22
  1005. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  1006. package/dist/unstable/http/HttpServer.js +76 -11
  1007. package/dist/unstable/http/HttpServer.js.map +1 -1
  1008. package/dist/unstable/http/HttpServerError.d.ts +93 -10
  1009. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  1010. package/dist/unstable/http/HttpServerError.js +85 -8
  1011. package/dist/unstable/http/HttpServerError.js.map +1 -1
  1012. package/dist/unstable/http/HttpServerRequest.d.ts +125 -21
  1013. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  1014. package/dist/unstable/http/HttpServerRequest.js +101 -20
  1015. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  1016. package/dist/unstable/http/HttpServerRespondable.d.ts +32 -6
  1017. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  1018. package/dist/unstable/http/HttpServerRespondable.js +43 -5
  1019. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  1020. package/dist/unstable/http/HttpServerResponse.d.ts +391 -67
  1021. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  1022. package/dist/unstable/http/HttpServerResponse.js +205 -33
  1023. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  1024. package/dist/unstable/http/HttpStaticServer.d.ts +24 -8
  1025. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  1026. package/dist/unstable/http/HttpStaticServer.js +24 -8
  1027. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  1028. package/dist/unstable/http/HttpTraceContext.d.ts +53 -6
  1029. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  1030. package/dist/unstable/http/HttpTraceContext.js +47 -5
  1031. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  1032. package/dist/unstable/http/Multipart.d.ts +179 -28
  1033. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  1034. package/dist/unstable/http/Multipart.js +131 -19
  1035. package/dist/unstable/http/Multipart.js.map +1 -1
  1036. package/dist/unstable/http/Multipasta/HeadersParser.d.ts +1 -1
  1037. package/dist/unstable/http/Multipasta/HeadersParser.js +1 -1
  1038. package/dist/unstable/http/Multipasta/Node.d.ts +1 -1
  1039. package/dist/unstable/http/Multipasta/Node.js +1 -1
  1040. package/dist/unstable/http/Multipasta/Search.d.ts +1 -1
  1041. package/dist/unstable/http/Multipasta/Search.js +1 -1
  1042. package/dist/unstable/http/Multipasta/Web.d.ts +1 -1
  1043. package/dist/unstable/http/Multipasta/Web.js +1 -1
  1044. package/dist/unstable/http/Multipasta.d.ts +1 -1
  1045. package/dist/unstable/http/Multipasta.js +1 -1
  1046. package/dist/unstable/http/Template.d.ts +53 -1
  1047. package/dist/unstable/http/Template.d.ts.map +1 -1
  1048. package/dist/unstable/http/Template.js +26 -0
  1049. package/dist/unstable/http/Template.js.map +1 -1
  1050. package/dist/unstable/http/Url.d.ts +70 -56
  1051. package/dist/unstable/http/Url.d.ts.map +1 -1
  1052. package/dist/unstable/http/Url.js +35 -21
  1053. package/dist/unstable/http/Url.js.map +1 -1
  1054. package/dist/unstable/http/UrlParams.d.ts +237 -51
  1055. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  1056. package/dist/unstable/http/UrlParams.js +120 -25
  1057. package/dist/unstable/http/UrlParams.js.map +1 -1
  1058. package/dist/unstable/http/index.d.ts +452 -0
  1059. package/dist/unstable/http/index.d.ts.map +1 -1
  1060. package/dist/unstable/http/index.js +452 -0
  1061. package/dist/unstable/http/index.js.map +1 -1
  1062. package/dist/unstable/httpapi/HttpApi.d.ts +49 -14
  1063. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  1064. package/dist/unstable/httpapi/HttpApi.js +14 -8
  1065. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  1066. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +54 -16
  1067. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  1068. package/dist/unstable/httpapi/HttpApiBuilder.js +44 -6
  1069. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  1070. package/dist/unstable/httpapi/HttpApiClient.d.ts +57 -15
  1071. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  1072. package/dist/unstable/httpapi/HttpApiClient.js +42 -6
  1073. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  1074. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +214 -59
  1075. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  1076. package/dist/unstable/httpapi/HttpApiEndpoint.js +53 -9
  1077. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  1078. package/dist/unstable/httpapi/HttpApiError.d.ts +81 -1
  1079. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  1080. package/dist/unstable/httpapi/HttpApiError.js +98 -1
  1081. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  1082. package/dist/unstable/httpapi/HttpApiGroup.d.ts +87 -20
  1083. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  1084. package/dist/unstable/httpapi/HttpApiGroup.js +5 -2
  1085. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  1086. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +113 -22
  1087. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  1088. package/dist/unstable/httpapi/HttpApiMiddleware.js +49 -5
  1089. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  1090. package/dist/unstable/httpapi/HttpApiScalar.d.ts +19 -4
  1091. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  1092. package/dist/unstable/httpapi/HttpApiScalar.js +32 -2
  1093. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  1094. package/dist/unstable/httpapi/HttpApiSchema.d.ts +86 -38
  1095. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  1096. package/dist/unstable/httpapi/HttpApiSchema.js +59 -35
  1097. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  1098. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +73 -17
  1099. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  1100. package/dist/unstable/httpapi/HttpApiSecurity.js +38 -5
  1101. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  1102. package/dist/unstable/httpapi/HttpApiSwagger.d.ts +4 -3
  1103. package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
  1104. package/dist/unstable/httpapi/HttpApiSwagger.js +23 -3
  1105. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  1106. package/dist/unstable/httpapi/HttpApiTest.d.ts +6 -1
  1107. package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
  1108. package/dist/unstable/httpapi/HttpApiTest.js +26 -1
  1109. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  1110. package/dist/unstable/httpapi/OpenApi.d.ts +86 -15
  1111. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  1112. package/dist/unstable/httpapi/OpenApi.js +73 -15
  1113. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  1114. package/dist/unstable/httpapi/index.d.ts +310 -25
  1115. package/dist/unstable/httpapi/index.d.ts.map +1 -1
  1116. package/dist/unstable/httpapi/index.js +310 -25
  1117. package/dist/unstable/httpapi/index.js.map +1 -1
  1118. package/dist/unstable/observability/Otlp.d.ts +33 -3
  1119. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  1120. package/dist/unstable/observability/Otlp.js +14 -3
  1121. package/dist/unstable/observability/Otlp.js.map +1 -1
  1122. package/dist/unstable/observability/OtlpExporter.d.ts +8 -1
  1123. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  1124. package/dist/unstable/observability/OtlpExporter.js +32 -1
  1125. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  1126. package/dist/unstable/observability/OtlpLogger.d.ts +15 -2
  1127. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  1128. package/dist/unstable/observability/OtlpLogger.js +29 -2
  1129. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  1130. package/dist/unstable/observability/OtlpMetrics.d.ts +17 -5
  1131. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  1132. package/dist/unstable/observability/OtlpMetrics.js +32 -2
  1133. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  1134. package/dist/unstable/observability/OtlpResource.d.ts +49 -12
  1135. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  1136. package/dist/unstable/observability/OtlpResource.js +47 -5
  1137. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  1138. package/dist/unstable/observability/OtlpSerialization.d.ts +28 -3
  1139. package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
  1140. package/dist/unstable/observability/OtlpSerialization.js +28 -3
  1141. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  1142. package/dist/unstable/observability/OtlpTracer.d.ts +19 -2
  1143. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  1144. package/dist/unstable/observability/OtlpTracer.js +32 -2
  1145. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  1146. package/dist/unstable/observability/PrometheusMetrics.d.ts +36 -16
  1147. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  1148. package/dist/unstable/observability/PrometheusMetrics.js +9 -7
  1149. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  1150. package/dist/unstable/observability/index.d.ts +160 -3
  1151. package/dist/unstable/observability/index.d.ts.map +1 -1
  1152. package/dist/unstable/observability/index.js +160 -3
  1153. package/dist/unstable/observability/index.js.map +1 -1
  1154. package/dist/unstable/persistence/KeyValueStore.d.ts +93 -18
  1155. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  1156. package/dist/unstable/persistence/KeyValueStore.js +81 -21
  1157. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1158. package/dist/unstable/persistence/Persistable.d.ts +76 -15
  1159. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  1160. package/dist/unstable/persistence/Persistable.js +22 -5
  1161. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1162. package/dist/unstable/persistence/PersistedCache.d.ts +27 -2
  1163. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  1164. package/dist/unstable/persistence/PersistedCache.js +24 -1
  1165. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1166. package/dist/unstable/persistence/PersistedQueue.d.ts +73 -16
  1167. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  1168. package/dist/unstable/persistence/PersistedQueue.js +60 -13
  1169. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1170. package/dist/unstable/persistence/Persistence.d.ts +98 -16
  1171. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1172. package/dist/unstable/persistence/Persistence.js +91 -14
  1173. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1174. package/dist/unstable/persistence/RateLimiter.d.ts +101 -21
  1175. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1176. package/dist/unstable/persistence/RateLimiter.js +85 -16
  1177. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1178. package/dist/unstable/persistence/Redis.d.ts +26 -5
  1179. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  1180. package/dist/unstable/persistence/Redis.js +36 -4
  1181. package/dist/unstable/persistence/Redis.js.map +1 -1
  1182. package/dist/unstable/persistence/index.d.ts +147 -0
  1183. package/dist/unstable/persistence/index.d.ts.map +1 -1
  1184. package/dist/unstable/persistence/index.js +147 -0
  1185. package/dist/unstable/persistence/index.js.map +1 -1
  1186. package/dist/unstable/process/ChildProcess.d.ts +87 -64
  1187. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1188. package/dist/unstable/process/ChildProcess.js +25 -18
  1189. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1190. package/dist/unstable/process/ChildProcessSpawner.d.ts +23 -12
  1191. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1192. package/dist/unstable/process/ChildProcessSpawner.js +11 -6
  1193. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1194. package/dist/unstable/process/index.d.ts +2 -1
  1195. package/dist/unstable/process/index.d.ts.map +1 -1
  1196. package/dist/unstable/process/index.js +2 -1
  1197. package/dist/unstable/process/index.js.map +1 -1
  1198. package/dist/unstable/reactivity/AsyncResult.d.ts +198 -59
  1199. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1200. package/dist/unstable/reactivity/AsyncResult.js +121 -36
  1201. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1202. package/dist/unstable/reactivity/Atom.d.ts +544 -130
  1203. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1204. package/dist/unstable/reactivity/Atom.js +252 -58
  1205. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1206. package/dist/unstable/reactivity/AtomHttpApi.d.ts +41 -2
  1207. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1208. package/dist/unstable/reactivity/AtomHttpApi.js +35 -1
  1209. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1210. package/dist/unstable/reactivity/AtomRef.d.ts +51 -7
  1211. package/dist/unstable/reactivity/AtomRef.d.ts.map +1 -1
  1212. package/dist/unstable/reactivity/AtomRef.js +29 -3
  1213. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1214. package/dist/unstable/reactivity/AtomRegistry.d.ts +135 -21
  1215. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  1216. package/dist/unstable/reactivity/AtomRegistry.js +69 -10
  1217. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1218. package/dist/unstable/reactivity/AtomRpc.d.ts +36 -2
  1219. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1220. package/dist/unstable/reactivity/AtomRpc.js +29 -1
  1221. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1222. package/dist/unstable/reactivity/Hydration.d.ts +28 -5
  1223. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -1
  1224. package/dist/unstable/reactivity/Hydration.js +35 -3
  1225. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1226. package/dist/unstable/reactivity/Reactivity.d.ts +94 -13
  1227. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  1228. package/dist/unstable/reactivity/Reactivity.js +60 -7
  1229. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1230. package/dist/unstable/reactivity/index.d.ts +167 -0
  1231. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  1232. package/dist/unstable/reactivity/index.js +167 -0
  1233. package/dist/unstable/reactivity/index.js.map +1 -1
  1234. package/dist/unstable/rpc/Rpc.d.ts +254 -56
  1235. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1236. package/dist/unstable/rpc/Rpc.js +44 -11
  1237. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1238. package/dist/unstable/rpc/RpcClient.d.ts +80 -19
  1239. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1240. package/dist/unstable/rpc/RpcClient.js +52 -12
  1241. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1242. package/dist/unstable/rpc/RpcClientError.d.ts +26 -2
  1243. package/dist/unstable/rpc/RpcClientError.d.ts.map +1 -1
  1244. package/dist/unstable/rpc/RpcClientError.js +26 -2
  1245. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1246. package/dist/unstable/rpc/RpcGroup.d.ts +51 -8
  1247. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  1248. package/dist/unstable/rpc/RpcGroup.js +3 -1
  1249. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1250. package/dist/unstable/rpc/RpcMessage.d.ts +128 -32
  1251. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1252. package/dist/unstable/rpc/RpcMessage.js +23 -7
  1253. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1254. package/dist/unstable/rpc/RpcMiddleware.d.ts +100 -20
  1255. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  1256. package/dist/unstable/rpc/RpcMiddleware.js +39 -3
  1257. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1258. package/dist/unstable/rpc/RpcSchema.d.ts +38 -4
  1259. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  1260. package/dist/unstable/rpc/RpcSchema.js +34 -3
  1261. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1262. package/dist/unstable/rpc/RpcSerialization.d.ts +60 -13
  1263. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1264. package/dist/unstable/rpc/RpcSerialization.js +56 -12
  1265. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1266. package/dist/unstable/rpc/RpcServer.d.ts +73 -23
  1267. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  1268. package/dist/unstable/rpc/RpcServer.js +69 -22
  1269. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1270. package/dist/unstable/rpc/RpcTest.d.ts +20 -1
  1271. package/dist/unstable/rpc/RpcTest.d.ts.map +1 -1
  1272. package/dist/unstable/rpc/RpcTest.js +20 -1
  1273. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1274. package/dist/unstable/rpc/RpcWorker.d.ts +39 -6
  1275. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  1276. package/dist/unstable/rpc/RpcWorker.js +16 -4
  1277. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1278. package/dist/unstable/rpc/Utils.d.ts +10 -0
  1279. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  1280. package/dist/unstable/rpc/Utils.js +10 -0
  1281. package/dist/unstable/rpc/Utils.js.map +1 -1
  1282. package/dist/unstable/rpc/index.d.ts +272 -0
  1283. package/dist/unstable/rpc/index.d.ts.map +1 -1
  1284. package/dist/unstable/rpc/index.js +272 -0
  1285. package/dist/unstable/rpc/index.js.map +1 -1
  1286. package/dist/unstable/schema/Model.d.ts +192 -59
  1287. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1288. package/dist/unstable/schema/Model.js +122 -38
  1289. package/dist/unstable/schema/Model.js.map +1 -1
  1290. package/dist/unstable/schema/VariantSchema.d.ts +101 -24
  1291. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1292. package/dist/unstable/schema/VariantSchema.js +22 -6
  1293. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1294. package/dist/unstable/schema/index.d.ts +37 -0
  1295. package/dist/unstable/schema/index.d.ts.map +1 -1
  1296. package/dist/unstable/schema/index.js +37 -0
  1297. package/dist/unstable/schema/index.js.map +1 -1
  1298. package/dist/unstable/socket/Socket.d.ts +168 -34
  1299. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1300. package/dist/unstable/socket/Socket.js +124 -28
  1301. package/dist/unstable/socket/Socket.js.map +1 -1
  1302. package/dist/unstable/socket/SocketServer.d.ts +58 -10
  1303. package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
  1304. package/dist/unstable/socket/SocketServer.js +43 -5
  1305. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1306. package/dist/unstable/socket/index.d.ts +44 -0
  1307. package/dist/unstable/socket/index.d.ts.map +1 -1
  1308. package/dist/unstable/socket/index.js +44 -0
  1309. package/dist/unstable/socket/index.js.map +1 -1
  1310. package/dist/unstable/sql/Migrator.d.ts +40 -9
  1311. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  1312. package/dist/unstable/sql/Migrator.js +45 -5
  1313. package/dist/unstable/sql/Migrator.js.map +1 -1
  1314. package/dist/unstable/sql/SqlClient.d.ts +38 -2
  1315. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1316. package/dist/unstable/sql/SqlClient.js +40 -1
  1317. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1318. package/dist/unstable/sql/SqlConnection.d.ts +34 -3
  1319. package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
  1320. package/dist/unstable/sql/SqlConnection.js +22 -0
  1321. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1322. package/dist/unstable/sql/SqlError.d.ts +117 -0
  1323. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  1324. package/dist/unstable/sql/SqlError.js +131 -0
  1325. package/dist/unstable/sql/SqlError.js.map +1 -1
  1326. package/dist/unstable/sql/SqlModel.d.ts +25 -5
  1327. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  1328. package/dist/unstable/sql/SqlModel.js +8 -4
  1329. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1330. package/dist/unstable/sql/SqlResolver.d.ts +56 -13
  1331. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  1332. package/dist/unstable/sql/SqlResolver.js +44 -10
  1333. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1334. package/dist/unstable/sql/SqlSchema.d.ts +29 -8
  1335. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  1336. package/dist/unstable/sql/SqlSchema.js +29 -8
  1337. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1338. package/dist/unstable/sql/SqlStream.d.ts +4 -0
  1339. package/dist/unstable/sql/SqlStream.d.ts.map +1 -1
  1340. package/dist/unstable/sql/SqlStream.js +24 -0
  1341. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1342. package/dist/unstable/sql/Statement.d.ts +151 -24
  1343. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1344. package/dist/unstable/sql/Statement.js +91 -6
  1345. package/dist/unstable/sql/Statement.js.map +1 -1
  1346. package/dist/unstable/sql/index.d.ts +179 -1
  1347. package/dist/unstable/sql/index.d.ts.map +1 -1
  1348. package/dist/unstable/sql/index.js +179 -1
  1349. package/dist/unstable/sql/index.js.map +1 -1
  1350. package/dist/unstable/workers/Transferable.d.ts +72 -20
  1351. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  1352. package/dist/unstable/workers/Transferable.js +57 -14
  1353. package/dist/unstable/workers/Transferable.js.map +1 -1
  1354. package/dist/unstable/workers/Worker.d.ts +61 -8
  1355. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  1356. package/dist/unstable/workers/Worker.js +44 -4
  1357. package/dist/unstable/workers/Worker.js.map +1 -1
  1358. package/dist/unstable/workers/WorkerError.d.ts +31 -9
  1359. package/dist/unstable/workers/WorkerError.d.ts.map +1 -1
  1360. package/dist/unstable/workers/WorkerError.js +44 -7
  1361. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1362. package/dist/unstable/workers/WorkerRunner.d.ts +32 -3
  1363. package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
  1364. package/dist/unstable/workers/WorkerRunner.js +24 -1
  1365. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1366. package/dist/unstable/workers/index.d.ts +81 -1
  1367. package/dist/unstable/workers/index.d.ts.map +1 -1
  1368. package/dist/unstable/workers/index.js +81 -1
  1369. package/dist/unstable/workers/index.js.map +1 -1
  1370. package/dist/unstable/workflow/Activity.d.ts +61 -10
  1371. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  1372. package/dist/unstable/workflow/Activity.js +20 -5
  1373. package/dist/unstable/workflow/Activity.js.map +1 -1
  1374. package/dist/unstable/workflow/DurableClock.d.ts +12 -3
  1375. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  1376. package/dist/unstable/workflow/DurableClock.js +22 -2
  1377. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1378. package/dist/unstable/workflow/DurableDeferred.d.ts +128 -31
  1379. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1380. package/dist/unstable/workflow/DurableDeferred.js +77 -13
  1381. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1382. package/dist/unstable/workflow/DurableQueue.d.ts +33 -8
  1383. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1384. package/dist/unstable/workflow/DurableQueue.js +26 -6
  1385. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1386. package/dist/unstable/workflow/Workflow.d.ts +102 -31
  1387. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1388. package/dist/unstable/workflow/Workflow.js +75 -19
  1389. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1390. package/dist/unstable/workflow/WorkflowEngine.d.ts +40 -5
  1391. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1392. package/dist/unstable/workflow/WorkflowEngine.js +16 -4
  1393. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1394. package/dist/unstable/workflow/WorkflowProxy.d.ts +40 -12
  1395. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1396. package/dist/unstable/workflow/WorkflowProxy.js +8 -12
  1397. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1398. package/dist/unstable/workflow/WorkflowProxyServer.d.ts +37 -2
  1399. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  1400. package/dist/unstable/workflow/WorkflowProxyServer.js +12 -6
  1401. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1402. package/dist/unstable/workflow/index.d.ts +160 -0
  1403. package/dist/unstable/workflow/index.d.ts.map +1 -1
  1404. package/dist/unstable/workflow/index.js +160 -0
  1405. package/dist/unstable/workflow/index.js.map +1 -1
  1406. package/package.json +11 -11
  1407. package/src/Array.ts +151 -106
  1408. package/src/BigDecimal.ts +620 -553
  1409. package/src/BigInt.ts +342 -274
  1410. package/src/Boolean.ts +189 -156
  1411. package/src/Brand.ts +30 -5
  1412. package/src/Cache.ts +334 -167
  1413. package/src/Cause.ts +84 -73
  1414. package/src/Channel.ts +1639 -667
  1415. package/src/ChannelSchema.ts +137 -12
  1416. package/src/Chunk.ts +575 -429
  1417. package/src/Clock.ts +16 -9
  1418. package/src/Combiner.ts +11 -5
  1419. package/src/Config.ts +80 -68
  1420. package/src/ConfigProvider.ts +33 -32
  1421. package/src/Console.ts +88 -58
  1422. package/src/Context.ts +401 -190
  1423. package/src/Cron.ts +109 -48
  1424. package/src/Crypto.ts +327 -0
  1425. package/src/Data.ts +9 -3
  1426. package/src/DateTime.ts +893 -464
  1427. package/src/Deferred.ts +367 -175
  1428. package/src/Differ.ts +44 -2
  1429. package/src/Duration.ts +333 -186
  1430. package/src/Effect.ts +2201 -2289
  1431. package/src/Effectable.ts +38 -3
  1432. package/src/Encoding.ts +78 -28
  1433. package/src/Equal.ts +4 -3
  1434. package/src/Equivalence.ts +18 -24
  1435. package/src/ErrorReporter.ts +66 -82
  1436. package/src/ExecutionPlan.ts +106 -12
  1437. package/src/Exit.ts +6 -5
  1438. package/src/Fiber.ts +71 -40
  1439. package/src/FiberHandle.ts +157 -57
  1440. package/src/FiberMap.ts +328 -163
  1441. package/src/FiberSet.ts +130 -52
  1442. package/src/FileSystem.ts +104 -74
  1443. package/src/Filter.ts +166 -88
  1444. package/src/Formatter.ts +4 -70
  1445. package/src/Function.ts +218 -151
  1446. package/src/Graph.ts +714 -415
  1447. package/src/HKT.ts +29 -13
  1448. package/src/Hash.ts +35 -24
  1449. package/src/HashMap.ts +540 -388
  1450. package/src/HashRing.ts +111 -34
  1451. package/src/HashSet.ts +239 -153
  1452. package/src/Inspectable.ts +30 -17
  1453. package/src/Iterable.ts +336 -222
  1454. package/src/JsonPatch.ts +13 -10
  1455. package/src/JsonPointer.ts +13 -11
  1456. package/src/JsonSchema.ts +16 -0
  1457. package/src/Latch.ts +97 -26
  1458. package/src/Layer.ts +547 -445
  1459. package/src/LayerMap.ts +99 -26
  1460. package/src/LogLevel.ts +92 -131
  1461. package/src/Logger.ts +365 -297
  1462. package/src/ManagedRuntime.ts +78 -19
  1463. package/src/Match.ts +135 -161
  1464. package/src/Metric.ts +362 -313
  1465. package/src/MutableHashMap.ts +202 -127
  1466. package/src/MutableHashSet.ts +120 -52
  1467. package/src/MutableList.ts +157 -100
  1468. package/src/MutableRef.ts +129 -90
  1469. package/src/Newtype.ts +15 -2
  1470. package/src/NonEmptyIterable.ts +38 -48
  1471. package/src/Number.ts +261 -205
  1472. package/src/Optic.ts +6 -7
  1473. package/src/Option.ts +133 -156
  1474. package/src/Order.ts +6 -6
  1475. package/src/Ordering.ts +56 -45
  1476. package/src/PartitionedSemaphore.ts +225 -40
  1477. package/src/Path.ts +77 -13
  1478. package/src/Pipeable.ts +82 -24
  1479. package/src/PlatformError.ts +74 -6
  1480. package/src/Pool.ts +94 -31
  1481. package/src/Predicate.ts +17 -24
  1482. package/src/PrimaryKey.ts +11 -3
  1483. package/src/PubSub.ts +385 -309
  1484. package/src/Pull.ts +94 -25
  1485. package/src/Queue.ts +303 -184
  1486. package/src/Random.ts +69 -93
  1487. package/src/RcMap.ts +151 -141
  1488. package/src/RcRef.ts +68 -32
  1489. package/src/Record.ts +282 -137
  1490. package/src/Redactable.ts +7 -5
  1491. package/src/Redacted.ts +63 -34
  1492. package/src/Reducer.ts +3 -1
  1493. package/src/Ref.ts +173 -134
  1494. package/src/References.ts +73 -31
  1495. package/src/RegExp.ts +12 -6
  1496. package/src/Request.ts +159 -34
  1497. package/src/RequestResolver.ts +278 -121
  1498. package/src/Resource.ts +45 -7
  1499. package/src/Result.ts +137 -153
  1500. package/src/Runtime.ts +42 -21
  1501. package/src/Schedule.ts +585 -613
  1502. package/src/Scheduler.ts +44 -7
  1503. package/src/Schema.ts +1309 -615
  1504. package/src/SchemaAST.ts +123 -93
  1505. package/src/SchemaGetter.ts +52 -37
  1506. package/src/SchemaIssue.ts +19 -24
  1507. package/src/SchemaParser.ts +306 -85
  1508. package/src/SchemaRepresentation.ts +89 -77
  1509. package/src/SchemaTransformation.ts +97 -46
  1510. package/src/SchemaUtils.ts +24 -1
  1511. package/src/Scope.ts +107 -65
  1512. package/src/ScopedCache.ts +195 -59
  1513. package/src/ScopedRef.ts +28 -8
  1514. package/src/Semaphore.ts +61 -37
  1515. package/src/Sink.ts +461 -206
  1516. package/src/Stdio.ts +43 -6
  1517. package/src/Stream.ts +2361 -1613
  1518. package/src/String.ts +174 -97
  1519. package/src/Struct.ts +20 -18
  1520. package/src/SubscriptionRef.ts +309 -204
  1521. package/src/Symbol.ts +13 -5
  1522. package/src/SynchronizedRef.ts +278 -62
  1523. package/src/Take.ts +26 -2
  1524. package/src/Terminal.ts +40 -7
  1525. package/src/Tracer.ts +233 -59
  1526. package/src/Trie.ts +280 -245
  1527. package/src/Tuple.ts +34 -32
  1528. package/src/TxChunk.ts +200 -155
  1529. package/src/TxDeferred.ts +43 -29
  1530. package/src/TxHashMap.ts +370 -231
  1531. package/src/TxHashSet.ts +253 -159
  1532. package/src/TxPriorityQueue.ts +97 -65
  1533. package/src/TxPubSub.ts +77 -49
  1534. package/src/TxQueue.ts +277 -242
  1535. package/src/TxReentrantLock.ts +70 -47
  1536. package/src/TxRef.ts +69 -40
  1537. package/src/TxSemaphore.ts +101 -115
  1538. package/src/TxSubscriptionRef.ts +74 -50
  1539. package/src/Types.ts +31 -34
  1540. package/src/UndefinedOr.ts +62 -25
  1541. package/src/Unify.ts +72 -117
  1542. package/src/Utils.ts +5 -2
  1543. package/src/index.ts +1976 -420
  1544. package/src/internal/schema/schema.ts +1 -1
  1545. package/src/testing/FastCheck.ts +9 -6
  1546. package/src/testing/TestClock.ts +63 -35
  1547. package/src/testing/TestConsole.ts +54 -36
  1548. package/src/testing/TestSchema.ts +10 -8
  1549. package/src/testing/index.ts +34 -0
  1550. package/src/unstable/ai/AiError.ts +195 -137
  1551. package/src/unstable/ai/AnthropicStructuredOutput.ts +2 -2
  1552. package/src/unstable/ai/Chat.ts +68 -43
  1553. package/src/unstable/ai/EmbeddingModel.ts +12 -11
  1554. package/src/unstable/ai/IdGenerator.ts +28 -18
  1555. package/src/unstable/ai/LanguageModel.ts +35 -27
  1556. package/src/unstable/ai/McpSchema.ts +342 -119
  1557. package/src/unstable/ai/McpServer.ts +79 -20
  1558. package/src/unstable/ai/Model.ts +10 -12
  1559. package/src/unstable/ai/OpenAiStructuredOutput.ts +2 -2
  1560. package/src/unstable/ai/Prompt.ts +216 -192
  1561. package/src/unstable/ai/Response.ts +179 -167
  1562. package/src/unstable/ai/ResponseIdTracker.ts +43 -4
  1563. package/src/unstable/ai/Telemetry.ts +43 -33
  1564. package/src/unstable/ai/Tokenizer.ts +14 -9
  1565. package/src/unstable/ai/Tool.ts +168 -97
  1566. package/src/unstable/ai/Toolkit.ts +51 -46
  1567. package/src/unstable/ai/index.ts +121 -29
  1568. package/src/unstable/cli/Argument.ts +226 -134
  1569. package/src/unstable/cli/CliError.ts +96 -26
  1570. package/src/unstable/cli/CliOutput.ts +48 -19
  1571. package/src/unstable/cli/Command.ts +196 -115
  1572. package/src/unstable/cli/Completions.ts +7 -7
  1573. package/src/unstable/cli/Flag.ts +235 -142
  1574. package/src/unstable/cli/GlobalFlag.ts +41 -13
  1575. package/src/unstable/cli/HelpDoc.ts +39 -14
  1576. package/src/unstable/cli/Param.ts +395 -260
  1577. package/src/unstable/cli/Primitive.ts +79 -42
  1578. package/src/unstable/cli/Prompt.ts +207 -59
  1579. package/src/unstable/cli/index.ts +205 -6
  1580. package/src/unstable/cli/internal/ansi.ts +13 -0
  1581. package/src/unstable/cli/internal/command.ts +5 -1
  1582. package/src/unstable/cli/internal/config.ts +3 -0
  1583. package/src/unstable/cli/internal/lexer.ts +11 -0
  1584. package/src/unstable/cli/internal/parser.ts +0 -1
  1585. package/src/unstable/cluster/ClusterCron.ts +35 -1
  1586. package/src/unstable/cluster/ClusterError.ts +56 -7
  1587. package/src/unstable/cluster/ClusterMetrics.ts +39 -5
  1588. package/src/unstable/cluster/ClusterSchema.ts +61 -8
  1589. package/src/unstable/cluster/ClusterWorkflowEngine.ts +35 -2
  1590. package/src/unstable/cluster/DeliverAt.ts +39 -4
  1591. package/src/unstable/cluster/Entity.ts +106 -16
  1592. package/src/unstable/cluster/EntityAddress.ts +30 -2
  1593. package/src/unstable/cluster/EntityId.ts +18 -3
  1594. package/src/unstable/cluster/EntityProxy.ts +42 -14
  1595. package/src/unstable/cluster/EntityProxyServer.ts +45 -8
  1596. package/src/unstable/cluster/EntityResource.ts +43 -6
  1597. package/src/unstable/cluster/EntityType.ts +27 -3
  1598. package/src/unstable/cluster/Envelope.ts +128 -23
  1599. package/src/unstable/cluster/HttpRunner.ts +88 -13
  1600. package/src/unstable/cluster/K8sHttpClient.ts +49 -6
  1601. package/src/unstable/cluster/MachineId.ts +24 -3
  1602. package/src/unstable/cluster/Message.ts +102 -13
  1603. package/src/unstable/cluster/MessageStorage.ts +126 -21
  1604. package/src/unstable/cluster/Reply.ts +101 -12
  1605. package/src/unstable/cluster/Runner.ts +47 -17
  1606. package/src/unstable/cluster/RunnerAddress.ts +34 -2
  1607. package/src/unstable/cluster/RunnerHealth.ts +40 -12
  1608. package/src/unstable/cluster/RunnerServer.ts +31 -4
  1609. package/src/unstable/cluster/RunnerStorage.ts +42 -5
  1610. package/src/unstable/cluster/Runners.ts +76 -13
  1611. package/src/unstable/cluster/ShardId.ts +53 -5
  1612. package/src/unstable/cluster/Sharding.ts +35 -4
  1613. package/src/unstable/cluster/ShardingConfig.ts +75 -10
  1614. package/src/unstable/cluster/ShardingRegistrationEvent.ts +31 -7
  1615. package/src/unstable/cluster/SingleRunner.ts +23 -1
  1616. package/src/unstable/cluster/Singleton.ts +15 -1
  1617. package/src/unstable/cluster/SingletonAddress.ts +21 -1
  1618. package/src/unstable/cluster/Snowflake.ts +90 -19
  1619. package/src/unstable/cluster/SocketRunner.ts +29 -2
  1620. package/src/unstable/cluster/SqlMessageStorage.ts +27 -3
  1621. package/src/unstable/cluster/SqlRunnerStorage.ts +46 -7
  1622. package/src/unstable/cluster/TestRunner.ts +18 -1
  1623. package/src/unstable/cluster/index.ts +790 -0
  1624. package/src/unstable/cluster/internal/hash.ts +12 -0
  1625. package/src/unstable/devtools/DevTools.ts +26 -3
  1626. package/src/unstable/devtools/DevToolsClient.ts +32 -5
  1627. package/src/unstable/devtools/DevToolsSchema.ts +201 -44
  1628. package/src/unstable/devtools/DevToolsServer.ts +27 -2
  1629. package/src/unstable/devtools/index.ts +58 -0
  1630. package/src/unstable/encoding/Msgpack.ts +97 -12
  1631. package/src/unstable/encoding/Ndjson.ts +149 -21
  1632. package/src/unstable/encoding/Sse.ts +109 -18
  1633. package/src/unstable/encoding/index.ts +49 -0
  1634. package/src/unstable/eventlog/Event.ts +131 -30
  1635. package/src/unstable/eventlog/EventGroup.ts +50 -17
  1636. package/src/unstable/eventlog/EventJournal.ts +120 -20
  1637. package/src/unstable/eventlog/EventLog.ts +150 -31
  1638. package/src/unstable/eventlog/EventLogEncryption.ts +42 -6
  1639. package/src/unstable/eventlog/EventLogMessage.ts +92 -18
  1640. package/src/unstable/eventlog/EventLogRemote.ts +54 -8
  1641. package/src/unstable/eventlog/EventLogServer.ts +33 -3
  1642. package/src/unstable/eventlog/EventLogServerEncrypted.ts +52 -6
  1643. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +90 -16
  1644. package/src/unstable/eventlog/EventLogSessionAuth.ts +77 -15
  1645. package/src/unstable/eventlog/SqlEventJournal.ts +28 -2
  1646. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +32 -3
  1647. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +28 -2
  1648. package/src/unstable/eventlog/index.ts +240 -0
  1649. package/src/unstable/http/Cookies.ts +156 -77
  1650. package/src/unstable/http/Etag.ts +40 -7
  1651. package/src/unstable/http/FetchHttpClient.ts +33 -4
  1652. package/src/unstable/http/FindMyWay.ts +1 -1
  1653. package/src/unstable/http/Headers.ts +252 -50
  1654. package/src/unstable/http/HttpBody.ts +128 -26
  1655. package/src/unstable/http/HttpClient.ts +204 -96
  1656. package/src/unstable/http/HttpClientError.ts +80 -12
  1657. package/src/unstable/http/HttpClientRequest.ts +318 -100
  1658. package/src/unstable/http/HttpClientResponse.ts +59 -16
  1659. package/src/unstable/http/HttpEffect.ts +66 -18
  1660. package/src/unstable/http/HttpIncomingMessage.ts +48 -7
  1661. package/src/unstable/http/HttpMethod.ts +38 -6
  1662. package/src/unstable/http/HttpMiddleware.ts +60 -11
  1663. package/src/unstable/http/HttpPlatform.ts +34 -3
  1664. package/src/unstable/http/HttpRouter.ts +232 -69
  1665. package/src/unstable/http/HttpServer.ts +151 -22
  1666. package/src/unstable/http/HttpServerError.ts +93 -10
  1667. package/src/unstable/http/HttpServerRequest.ts +125 -21
  1668. package/src/unstable/http/HttpServerRespondable.ts +49 -6
  1669. package/src/unstable/http/HttpServerResponse.ts +391 -67
  1670. package/src/unstable/http/HttpStaticServer.ts +24 -8
  1671. package/src/unstable/http/HttpTraceContext.ts +53 -6
  1672. package/src/unstable/http/Multipart.ts +179 -28
  1673. package/src/unstable/http/Multipasta/HeadersParser.ts +1 -1
  1674. package/src/unstable/http/Multipasta/Node.ts +1 -1
  1675. package/src/unstable/http/Multipasta/Search.ts +1 -1
  1676. package/src/unstable/http/Multipasta/Web.ts +1 -1
  1677. package/src/unstable/http/Multipasta.ts +1 -1
  1678. package/src/unstable/http/Template.ts +53 -1
  1679. package/src/unstable/http/Url.ts +70 -56
  1680. package/src/unstable/http/UrlParams.ts +237 -51
  1681. package/src/unstable/http/index.ts +452 -0
  1682. package/src/unstable/httpapi/HttpApi.ts +49 -14
  1683. package/src/unstable/httpapi/HttpApiBuilder.ts +81 -16
  1684. package/src/unstable/httpapi/HttpApiClient.ts +78 -15
  1685. package/src/unstable/httpapi/HttpApiEndpoint.ts +238 -59
  1686. package/src/unstable/httpapi/HttpApiError.ts +100 -1
  1687. package/src/unstable/httpapi/HttpApiGroup.ts +87 -20
  1688. package/src/unstable/httpapi/HttpApiMiddleware.ts +113 -22
  1689. package/src/unstable/httpapi/HttpApiScalar.ts +38 -4
  1690. package/src/unstable/httpapi/HttpApiSchema.ts +86 -38
  1691. package/src/unstable/httpapi/HttpApiSecurity.ts +73 -17
  1692. package/src/unstable/httpapi/HttpApiSwagger.ts +23 -3
  1693. package/src/unstable/httpapi/HttpApiTest.ts +26 -1
  1694. package/src/unstable/httpapi/OpenApi.ts +115 -15
  1695. package/src/unstable/httpapi/index.ts +310 -25
  1696. package/src/unstable/observability/Otlp.ts +33 -3
  1697. package/src/unstable/observability/OtlpExporter.ts +32 -1
  1698. package/src/unstable/observability/OtlpLogger.ts +32 -2
  1699. package/src/unstable/observability/OtlpMetrics.ts +39 -5
  1700. package/src/unstable/observability/OtlpResource.ts +68 -12
  1701. package/src/unstable/observability/OtlpSerialization.ts +28 -3
  1702. package/src/unstable/observability/OtlpTracer.ts +41 -2
  1703. package/src/unstable/observability/PrometheusMetrics.ts +36 -16
  1704. package/src/unstable/observability/index.ts +160 -3
  1705. package/src/unstable/persistence/KeyValueStore.ts +108 -28
  1706. package/src/unstable/persistence/Persistable.ts +76 -15
  1707. package/src/unstable/persistence/PersistedCache.ts +27 -2
  1708. package/src/unstable/persistence/PersistedQueue.ts +98 -16
  1709. package/src/unstable/persistence/Persistence.ts +98 -16
  1710. package/src/unstable/persistence/RateLimiter.ts +101 -21
  1711. package/src/unstable/persistence/Redis.ts +42 -5
  1712. package/src/unstable/persistence/index.ts +147 -0
  1713. package/src/unstable/process/ChildProcess.ts +90 -66
  1714. package/src/unstable/process/ChildProcessSpawner.ts +23 -12
  1715. package/src/unstable/process/index.ts +2 -1
  1716. package/src/unstable/reactivity/AsyncResult.ts +204 -61
  1717. package/src/unstable/reactivity/Atom.ts +598 -139
  1718. package/src/unstable/reactivity/AtomHttpApi.ts +41 -2
  1719. package/src/unstable/reactivity/AtomRef.ts +51 -7
  1720. package/src/unstable/reactivity/AtomRegistry.ts +141 -22
  1721. package/src/unstable/reactivity/AtomRpc.ts +36 -2
  1722. package/src/unstable/reactivity/Hydration.ts +45 -5
  1723. package/src/unstable/reactivity/Reactivity.ts +94 -13
  1724. package/src/unstable/reactivity/index.ts +167 -0
  1725. package/src/unstable/rpc/Rpc.ts +254 -56
  1726. package/src/unstable/rpc/RpcClient.ts +106 -19
  1727. package/src/unstable/rpc/RpcClientError.ts +26 -2
  1728. package/src/unstable/rpc/RpcGroup.ts +51 -8
  1729. package/src/unstable/rpc/RpcMessage.ts +128 -32
  1730. package/src/unstable/rpc/RpcMiddleware.ts +100 -20
  1731. package/src/unstable/rpc/RpcSchema.ts +38 -4
  1732. package/src/unstable/rpc/RpcSerialization.ts +60 -13
  1733. package/src/unstable/rpc/RpcServer.ts +107 -23
  1734. package/src/unstable/rpc/RpcTest.ts +20 -1
  1735. package/src/unstable/rpc/RpcWorker.ts +39 -6
  1736. package/src/unstable/rpc/Utils.ts +33 -0
  1737. package/src/unstable/rpc/index.ts +272 -0
  1738. package/src/unstable/schema/Model.ts +245 -61
  1739. package/src/unstable/schema/VariantSchema.ts +101 -24
  1740. package/src/unstable/schema/index.ts +37 -0
  1741. package/src/unstable/socket/Socket.ts +168 -34
  1742. package/src/unstable/socket/SocketServer.ts +58 -10
  1743. package/src/unstable/socket/index.ts +44 -0
  1744. package/src/unstable/sql/Migrator.ts +61 -9
  1745. package/src/unstable/sql/SqlClient.ts +59 -2
  1746. package/src/unstable/sql/SqlConnection.ts +34 -3
  1747. package/src/unstable/sql/SqlError.ts +135 -0
  1748. package/src/unstable/sql/SqlModel.ts +25 -5
  1749. package/src/unstable/sql/SqlResolver.ts +56 -13
  1750. package/src/unstable/sql/SqlSchema.ts +29 -8
  1751. package/src/unstable/sql/SqlStream.ts +24 -0
  1752. package/src/unstable/sql/Statement.ts +168 -24
  1753. package/src/unstable/sql/index.ts +179 -1
  1754. package/src/unstable/workers/Transferable.ts +72 -20
  1755. package/src/unstable/workers/Worker.ts +61 -8
  1756. package/src/unstable/workers/WorkerError.ts +50 -9
  1757. package/src/unstable/workers/WorkerRunner.ts +32 -3
  1758. package/src/unstable/workers/index.ts +81 -1
  1759. package/src/unstable/workflow/Activity.ts +61 -10
  1760. package/src/unstable/workflow/DurableClock.ts +26 -3
  1761. package/src/unstable/workflow/DurableDeferred.ts +148 -31
  1762. package/src/unstable/workflow/DurableQueue.ts +33 -8
  1763. package/src/unstable/workflow/Workflow.ts +123 -31
  1764. package/src/unstable/workflow/WorkflowEngine.ts +40 -5
  1765. package/src/unstable/workflow/WorkflowProxy.ts +40 -12
  1766. package/src/unstable/workflow/WorkflowProxyServer.ts +41 -6
  1767. package/src/unstable/workflow/index.ts +160 -0
package/dist/Graph.d.ts CHANGED
@@ -1,4 +1,54 @@
1
1
  /**
2
+ * The `Graph` module provides immutable and scoped-mutable graph data
3
+ * structures for modeling relationships between indexed nodes and edges. A
4
+ * graph can be directed or undirected, stores user-defined data on both nodes
5
+ * and edges, and exposes traversal, analysis, path finding, transformation, and
6
+ * diagram export utilities.
7
+ *
8
+ * **Mental model**
9
+ *
10
+ * - Nodes and edges are addressed by stable numeric indices: {@link NodeIndex}
11
+ * and {@link EdgeIndex}
12
+ * - Node data has type `N`; edge data has type `E`
13
+ * - {@link Graph} values are immutable snapshots; use {@link MutableGraph}
14
+ * through {@link mutate}, {@link beginMutation}, or constructor callbacks to
15
+ * add, remove, or update nodes and edges
16
+ * - Directed graphs follow edge direction for neighbors and traversals, while
17
+ * undirected graphs treat each edge as connecting both endpoints
18
+ * - Missing lookups return `Option`, while structurally invalid operations such
19
+ * as adding an edge to a missing node throw {@link GraphError}
20
+ *
21
+ * **Common tasks**
22
+ *
23
+ * - Create graphs: {@link directed}, {@link undirected}
24
+ * - Mutate safely: {@link mutate}, {@link addNode}, {@link addEdge},
25
+ * {@link removeNode}, {@link removeEdge}
26
+ * - Query contents: {@link getNode}, {@link getEdge}, {@link hasNode},
27
+ * {@link hasEdge}, {@link nodeCount}, {@link edgeCount}, {@link neighbors}
28
+ * - Transform data: {@link updateNode}, {@link updateEdge}, {@link mapNodes},
29
+ * {@link mapEdges}, {@link filterNodes}, {@link filterEdges},
30
+ * {@link filterMapNodes}, {@link filterMapEdges}
31
+ * - Traverse lazily: {@link dfs}, {@link bfs}, {@link topo},
32
+ * {@link dfsPostOrder}, {@link nodes}, {@link edges}, {@link Walker}
33
+ * - Analyze structure: {@link isAcyclic}, {@link isBipartite},
34
+ * {@link connectedComponents}, {@link stronglyConnectedComponents},
35
+ * {@link externals}
36
+ * - Find paths: {@link dijkstra}, {@link astar}, {@link bellmanFord},
37
+ * {@link floydWarshall}
38
+ * - Export diagrams: {@link toGraphViz}, {@link toMermaid}
39
+ *
40
+ * **Gotchas**
41
+ *
42
+ * - Only mutable graphs can be changed. Create one with {@link mutate} or by
43
+ * passing a callback to {@link directed} / {@link undirected}.
44
+ * - Traversal APIs return lazy {@link Walker} values. Use {@link indices},
45
+ * {@link values}, or {@link entries} to choose what each iteration yields.
46
+ * - `NodeIndex` and `EdgeIndex` values are identifiers, not array offsets. They
47
+ * are not reused after removals.
48
+ * - Shortest-path algorithms require a cost function. {@link dijkstra} and
49
+ * {@link astar} reject negative weights; use {@link bellmanFord} or
50
+ * {@link floydWarshall} when negative weights are part of the model.
51
+ *
2
52
  * @since 4.0.0
3
53
  */
4
54
  import * as Data from "./Data.ts";
@@ -10,22 +60,22 @@ declare const TypeId = "~effect/collections/Graph";
10
60
  /**
11
61
  * Node index for node identification using plain numbers.
12
62
  *
13
- * @since 4.0.0
14
63
  * @category models
64
+ * @since 3.18.0
15
65
  */
16
66
  export type NodeIndex = number;
17
67
  /**
18
68
  * Edge index for edge identification using plain numbers.
19
69
  *
20
- * @since 4.0.0
21
70
  * @category models
71
+ * @since 3.18.0
22
72
  */
23
73
  export type EdgeIndex = number;
24
74
  /**
25
75
  * Edge data containing source, target, and user data.
26
76
  *
27
- * @since 4.0.0
28
77
  * @category models
78
+ * @since 3.18.0
29
79
  */
30
80
  export declare class Edge<E> extends Data.Class<{
31
81
  readonly source: NodeIndex;
@@ -36,15 +86,20 @@ export declare class Edge<E> extends Data.Class<{
36
86
  /**
37
87
  * Graph type for distinguishing directed and undirected graphs.
38
88
  *
39
- * @since 4.0.0
40
89
  * @category models
90
+ * @since 3.18.0
41
91
  */
42
92
  export type Kind = "directed" | "undirected";
43
93
  /**
44
- * Graph prototype interface.
94
+ * Common structural interface shared by immutable and mutable graphs.
95
+ *
96
+ * **Details**
97
+ *
98
+ * Contains the node and edge maps, adjacency indexes, allocation counters, and
99
+ * shared protocols used by both `Graph` and `MutableGraph`.
45
100
  *
46
- * @since 4.0.0
47
101
  * @category models
102
+ * @since 3.18.0
48
103
  */
49
104
  export interface Proto<out N, out E> extends Iterable<readonly [NodeIndex, N]>, Equal.Equal, Pipeable, Inspectable {
50
105
  readonly [TypeId]: typeof TypeId;
@@ -59,8 +114,8 @@ export interface Proto<out N, out E> extends Iterable<readonly [NodeIndex, N]>,
59
114
  /**
60
115
  * Immutable graph interface.
61
116
  *
62
- * @since 4.0.0
63
117
  * @category models
118
+ * @since 3.18.0
64
119
  */
65
120
  export interface Graph<out N, out E, T extends Kind = "directed"> extends Proto<N, E> {
66
121
  readonly type: T;
@@ -69,8 +124,8 @@ export interface Graph<out N, out E, T extends Kind = "directed"> extends Proto<
69
124
  /**
70
125
  * Mutable graph interface.
71
126
  *
72
- * @since 4.0.0
73
127
  * @category models
128
+ * @since 3.18.0
74
129
  */
75
130
  export interface MutableGraph<out N, out E, T extends Kind = "directed"> extends Proto<N, E> {
76
131
  readonly type: T;
@@ -79,51 +134,59 @@ export interface MutableGraph<out N, out E, T extends Kind = "directed"> extends
79
134
  /**
80
135
  * Directed graph type alias.
81
136
  *
82
- * @since 4.0.0
83
137
  * @category models
138
+ * @since 3.18.0
84
139
  */
85
140
  export type DirectedGraph<N, E> = Graph<N, E, "directed">;
86
141
  /**
87
142
  * Undirected graph type alias.
88
143
  *
89
- * @since 4.0.0
90
144
  * @category models
145
+ * @since 3.18.0
91
146
  */
92
147
  export type UndirectedGraph<N, E> = Graph<N, E, "undirected">;
93
148
  /**
94
149
  * Mutable directed graph type alias.
95
150
  *
96
- * @since 4.0.0
97
151
  * @category models
152
+ * @since 3.18.0
98
153
  */
99
154
  export type MutableDirectedGraph<N, E> = MutableGraph<N, E, "directed">;
100
155
  /**
101
156
  * Mutable undirected graph type alias.
102
157
  *
103
- * @since 4.0.0
104
158
  * @category models
159
+ * @since 3.18.0
105
160
  */
106
161
  export type MutableUndirectedGraph<N, E> = MutableGraph<N, E, "undirected">;
107
162
  declare const GraphError_base: new <A extends Record<string, any> = {}>(args: import("./Types.ts").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("./Cause.ts").YieldableError & {
108
163
  readonly _tag: "GraphError";
109
164
  } & Readonly<A>;
110
165
  /**
111
- * @since 4.0.0
166
+ * Error thrown by graph operations when the requested graph structure is
167
+ * invalid, such as referencing a missing node or using unsupported edge
168
+ * weights.
169
+ *
112
170
  * @category errors
171
+ * @since 3.18.0
113
172
  */
114
173
  export declare class GraphError extends GraphError_base<{
115
174
  readonly message: string;
116
175
  }> {
117
176
  }
118
177
  /**
178
+ * Returns `true` if a value has the graph runtime type identifier, narrowing
179
+ * it to a `Graph`.
180
+ *
181
+ * @category guards
119
182
  * @since 4.0.0
120
- * @category Guards
121
183
  */
122
184
  export declare const isGraph: (u: unknown) => u is Graph<unknown, unknown>;
123
185
  /**
124
186
  * Creates a directed graph, optionally with initial mutations.
125
187
  *
126
- * @example
188
+ * **Example** (Creating a directed graph)
189
+ *
127
190
  * ```ts
128
191
  * import { Graph } from "effect"
129
192
  *
@@ -137,14 +200,15 @@ export declare const isGraph: (u: unknown) => u is Graph<unknown, unknown>;
137
200
  * })
138
201
  * ```
139
202
  *
140
- * @since 4.0.0
141
203
  * @category constructors
204
+ * @since 3.18.0
142
205
  */
143
206
  export declare const directed: <N, E>(mutate?: (mutable: MutableDirectedGraph<N, E>) => void) => DirectedGraph<N, E>;
144
207
  /**
145
208
  * Creates an undirected graph, optionally with initial mutations.
146
209
  *
147
- * @example
210
+ * **Example** (Creating an undirected graph)
211
+ *
148
212
  * ```ts
149
213
  * import { Graph } from "effect"
150
214
  *
@@ -158,14 +222,15 @@ export declare const directed: <N, E>(mutate?: (mutable: MutableDirectedGraph<N,
158
222
  * })
159
223
  * ```
160
224
  *
161
- * @since 4.0.0
162
225
  * @category constructors
226
+ * @since 3.18.0
163
227
  */
164
228
  export declare const undirected: <N, E>(mutate?: (mutable: MutableUndirectedGraph<N, E>) => void) => UndirectedGraph<N, E>;
165
229
  /**
166
230
  * Creates a mutable scope for safe graph mutations by copying the data structure.
167
231
  *
168
- * @example
232
+ * **Example** (Beginning a mutation scope)
233
+ *
169
234
  * ```ts
170
235
  * import { Graph } from "effect"
171
236
  *
@@ -174,14 +239,15 @@ export declare const undirected: <N, E>(mutate?: (mutable: MutableUndirectedGrap
174
239
  * // Now mutable can be safely modified without affecting original graph
175
240
  * ```
176
241
  *
177
- * @since 4.0.0
178
242
  * @category mutations
243
+ * @since 3.18.0
179
244
  */
180
245
  export declare const beginMutation: <N, E, T extends Kind = "directed">(graph: Graph<N, E, T>) => MutableGraph<N, E, T>;
181
246
  /**
182
247
  * Converts a mutable graph back to an immutable graph, ending the mutation scope.
183
248
  *
184
- * @example
249
+ * **Example** (Ending a mutation scope)
250
+ *
185
251
  * ```ts
186
252
  * import { Graph } from "effect"
187
253
  *
@@ -191,69 +257,85 @@ export declare const beginMutation: <N, E, T extends Kind = "directed">(graph: G
191
257
  * const newGraph = Graph.endMutation(mutable)
192
258
  * ```
193
259
  *
194
- * @since 4.0.0
195
260
  * @category mutations
261
+ * @since 3.18.0
196
262
  */
197
263
  export declare const endMutation: <N, E, T extends Kind = "directed">(mutable: MutableGraph<N, E, T>) => Graph<N, E, T>;
198
264
  /**
199
265
  * Performs scoped mutations on a graph, automatically managing the mutation lifecycle.
200
266
  *
201
- * @example
267
+ * **Example** (Applying scoped mutations)
268
+ *
202
269
  * ```ts
203
270
  * import { Graph } from "effect"
204
271
  *
205
272
  * const graph = Graph.directed<string, number>()
206
273
  * const newGraph = Graph.mutate(graph, (mutable) => {
207
- * // Safe mutations go here
208
- * // mutable gets automatically converted back to immutable
274
+ * const nodeA = Graph.addNode(mutable, "A")
275
+ * const nodeB = Graph.addNode(mutable, "B")
276
+ * Graph.addEdge(mutable, nodeA, nodeB, 1)
209
277
  * })
278
+ *
279
+ * console.log(Graph.nodeCount(newGraph)) // 2
280
+ * console.log(Graph.edgeCount(newGraph)) // 1
210
281
  * ```
211
282
  *
212
- * @since 4.0.0
213
283
  * @category mutations
284
+ * @since 3.18.0
214
285
  */
215
286
  export declare const mutate: {
216
287
  /**
217
288
  * Performs scoped mutations on a graph, automatically managing the mutation lifecycle.
218
289
  *
219
- * @example
290
+ * **Example** (Applying scoped mutations)
291
+ *
220
292
  * ```ts
221
293
  * import { Graph } from "effect"
222
294
  *
223
295
  * const graph = Graph.directed<string, number>()
224
296
  * const newGraph = Graph.mutate(graph, (mutable) => {
225
- * // Safe mutations go here
226
- * // mutable gets automatically converted back to immutable
297
+ * const nodeA = Graph.addNode(mutable, "A")
298
+ * const nodeB = Graph.addNode(mutable, "B")
299
+ * Graph.addEdge(mutable, nodeA, nodeB, 1)
227
300
  * })
301
+ *
302
+ * console.log(Graph.nodeCount(newGraph)) // 2
303
+ * console.log(Graph.edgeCount(newGraph)) // 1
228
304
  * ```
229
305
  *
230
- * @since 4.0.0
231
306
  * @category mutations
307
+ * @since 3.18.0
232
308
  */
233
309
  <N, E, T extends Kind = "directed">(f: (mutable: MutableGraph<N, E, T>) => void): (graph: Graph<N, E, T>) => Graph<N, E, T>;
234
310
  /**
235
311
  * Performs scoped mutations on a graph, automatically managing the mutation lifecycle.
236
312
  *
237
- * @example
313
+ * **Example** (Applying scoped mutations)
314
+ *
238
315
  * ```ts
239
316
  * import { Graph } from "effect"
240
317
  *
241
318
  * const graph = Graph.directed<string, number>()
242
319
  * const newGraph = Graph.mutate(graph, (mutable) => {
243
- * // Safe mutations go here
244
- * // mutable gets automatically converted back to immutable
320
+ * const nodeA = Graph.addNode(mutable, "A")
321
+ * const nodeB = Graph.addNode(mutable, "B")
322
+ * Graph.addEdge(mutable, nodeA, nodeB, 1)
245
323
  * })
324
+ *
325
+ * console.log(Graph.nodeCount(newGraph)) // 2
326
+ * console.log(Graph.edgeCount(newGraph)) // 1
246
327
  * ```
247
328
  *
248
- * @since 4.0.0
249
329
  * @category mutations
330
+ * @since 3.18.0
250
331
  */
251
332
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T>, f: (mutable: MutableGraph<N, E, T>) => void): Graph<N, E, T>;
252
333
  };
253
334
  /**
254
335
  * Adds a new node to a mutable graph and returns its index.
255
336
  *
256
- * @example
337
+ * **Example** (Adding nodes)
338
+ *
257
339
  * ```ts
258
340
  * import { Graph } from "effect"
259
341
  *
@@ -265,17 +347,17 @@ export declare const mutate: {
265
347
  * })
266
348
  * ```
267
349
  *
268
- * @since 4.0.0
269
350
  * @category mutations
351
+ * @since 3.18.0
270
352
  */
271
353
  export declare const addNode: <N, E, T extends Kind = "directed">(mutable: MutableGraph<N, E, T>, data: N) => NodeIndex;
272
354
  /**
273
355
  * Gets the data associated with a node index, if it exists.
274
356
  *
275
- * @example
357
+ * **Example** (Getting node data)
358
+ *
276
359
  * ```ts
277
- * import { Graph } from "effect"
278
- * import * as Option from "effect/Option"
360
+ * import { Graph, Option } from "effect"
279
361
  *
280
362
  * const graph = Graph.mutate(Graph.directed<string, number>(), (mutable) => {
281
363
  * Graph.addNode(mutable, "Node A")
@@ -289,17 +371,17 @@ export declare const addNode: <N, E, T extends Kind = "directed">(mutable: Mutab
289
371
  * }
290
372
  * ```
291
373
  *
292
- * @since 4.0.0
293
374
  * @category getters
375
+ * @since 3.18.0
294
376
  */
295
377
  export declare const getNode: {
296
378
  /**
297
379
  * Gets the data associated with a node index, if it exists.
298
380
  *
299
- * @example
381
+ * **Example** (Getting node data)
382
+ *
300
383
  * ```ts
301
- * import { Graph } from "effect"
302
- * import * as Option from "effect/Option"
384
+ * import { Graph, Option } from "effect"
303
385
  *
304
386
  * const graph = Graph.mutate(Graph.directed<string, number>(), (mutable) => {
305
387
  * Graph.addNode(mutable, "Node A")
@@ -313,17 +395,17 @@ export declare const getNode: {
313
395
  * }
314
396
  * ```
315
397
  *
316
- * @since 4.0.0
317
398
  * @category getters
399
+ * @since 3.18.0
318
400
  */
319
401
  <N, E, T extends Kind = "directed">(nodeIndex: NodeIndex): (graph: Graph<N, E, T> | MutableGraph<N, E, T>) => Option.Option<N>;
320
402
  /**
321
403
  * Gets the data associated with a node index, if it exists.
322
404
  *
323
- * @example
405
+ * **Example** (Getting node data)
406
+ *
324
407
  * ```ts
325
- * import { Graph } from "effect"
326
- * import * as Option from "effect/Option"
408
+ * import { Graph, Option } from "effect"
327
409
  *
328
410
  * const graph = Graph.mutate(Graph.directed<string, number>(), (mutable) => {
329
411
  * Graph.addNode(mutable, "Node A")
@@ -337,15 +419,16 @@ export declare const getNode: {
337
419
  * }
338
420
  * ```
339
421
  *
340
- * @since 4.0.0
341
422
  * @category getters
423
+ * @since 3.18.0
342
424
  */
343
425
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, nodeIndex: NodeIndex): Option.Option<N>;
344
426
  };
345
427
  /**
346
428
  * Checks if a node with the given index exists in the graph.
347
429
  *
348
- * @example
430
+ * **Example** (Checking node existence)
431
+ *
349
432
  * ```ts
350
433
  * import { Graph } from "effect"
351
434
  *
@@ -362,14 +445,15 @@ export declare const getNode: {
362
445
  * console.log(notExists) // false
363
446
  * ```
364
447
  *
365
- * @since 4.0.0
366
448
  * @category getters
449
+ * @since 3.18.0
367
450
  */
368
451
  export declare const hasNode: {
369
452
  /**
370
453
  * Checks if a node with the given index exists in the graph.
371
454
  *
372
- * @example
455
+ * **Example** (Checking node existence)
456
+ *
373
457
  * ```ts
374
458
  * import { Graph } from "effect"
375
459
  *
@@ -386,14 +470,15 @@ export declare const hasNode: {
386
470
  * console.log(notExists) // false
387
471
  * ```
388
472
  *
389
- * @since 4.0.0
390
473
  * @category getters
474
+ * @since 3.18.0
391
475
  */
392
476
  (nodeIndex: NodeIndex): <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => boolean;
393
477
  /**
394
478
  * Checks if a node with the given index exists in the graph.
395
479
  *
396
- * @example
480
+ * **Example** (Checking node existence)
481
+ *
397
482
  * ```ts
398
483
  * import { Graph } from "effect"
399
484
  *
@@ -410,15 +495,16 @@ export declare const hasNode: {
410
495
  * console.log(notExists) // false
411
496
  * ```
412
497
  *
413
- * @since 4.0.0
414
498
  * @category getters
499
+ * @since 3.18.0
415
500
  */
416
501
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, nodeIndex: NodeIndex): boolean;
417
502
  };
418
503
  /**
419
504
  * Returns the number of nodes in the graph.
420
505
  *
421
- * @example
506
+ * **Example** (Counting nodes)
507
+ *
422
508
  * ```ts
423
509
  * import { Graph } from "effect"
424
510
  *
@@ -434,14 +520,15 @@ export declare const hasNode: {
434
520
  * console.log(Graph.nodeCount(graphWithNodes)) // 3
435
521
  * ```
436
522
  *
437
- * @since 4.0.0
438
523
  * @category getters
524
+ * @since 3.18.0
439
525
  */
440
526
  export declare const nodeCount: <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => number;
441
527
  /**
442
528
  * Finds the first node that matches the given predicate.
443
529
  *
444
- * @example
530
+ * **Example** (Finding the first matching node)
531
+ *
445
532
  * ```ts
446
533
  * import { Graph } from "effect"
447
534
  *
@@ -458,14 +545,15 @@ export declare const nodeCount: <N, E, T extends Kind = "directed">(graph: Graph
458
545
  * console.log(notFound) // Option.none()
459
546
  * ```
460
547
  *
461
- * @since 4.0.0
462
548
  * @category getters
549
+ * @since 3.18.0
463
550
  */
464
551
  export declare const findNode: {
465
552
  /**
466
553
  * Finds the first node that matches the given predicate.
467
554
  *
468
- * @example
555
+ * **Example** (Finding the first matching node)
556
+ *
469
557
  * ```ts
470
558
  * import { Graph } from "effect"
471
559
  *
@@ -482,14 +570,15 @@ export declare const findNode: {
482
570
  * console.log(notFound) // Option.none()
483
571
  * ```
484
572
  *
485
- * @since 4.0.0
486
573
  * @category getters
574
+ * @since 3.18.0
487
575
  */
488
576
  <N>(predicate: (data: N) => boolean): <E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => Option.Option<NodeIndex>;
489
577
  /**
490
578
  * Finds the first node that matches the given predicate.
491
579
  *
492
- * @example
580
+ * **Example** (Finding the first matching node)
581
+ *
493
582
  * ```ts
494
583
  * import { Graph } from "effect"
495
584
  *
@@ -506,15 +595,16 @@ export declare const findNode: {
506
595
  * console.log(notFound) // Option.none()
507
596
  * ```
508
597
  *
509
- * @since 4.0.0
510
598
  * @category getters
599
+ * @since 3.18.0
511
600
  */
512
601
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, predicate: (data: N) => boolean): Option.Option<NodeIndex>;
513
602
  };
514
603
  /**
515
604
  * Finds all nodes that match the given predicate.
516
605
  *
517
- * @example
606
+ * **Example** (Finding matching nodes)
607
+ *
518
608
  * ```ts
519
609
  * import { Graph } from "effect"
520
610
  *
@@ -531,14 +621,15 @@ export declare const findNode: {
531
621
  * console.log(empty) // []
532
622
  * ```
533
623
  *
534
- * @since 4.0.0
535
624
  * @category getters
625
+ * @since 3.18.0
536
626
  */
537
627
  export declare const findNodes: {
538
628
  /**
539
629
  * Finds all nodes that match the given predicate.
540
630
  *
541
- * @example
631
+ * **Example** (Finding matching nodes)
632
+ *
542
633
  * ```ts
543
634
  * import { Graph } from "effect"
544
635
  *
@@ -555,14 +646,15 @@ export declare const findNodes: {
555
646
  * console.log(empty) // []
556
647
  * ```
557
648
  *
558
- * @since 4.0.0
559
649
  * @category getters
650
+ * @since 3.18.0
560
651
  */
561
652
  <N>(predicate: (data: N) => boolean): <E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => Array<NodeIndex>;
562
653
  /**
563
654
  * Finds all nodes that match the given predicate.
564
655
  *
565
- * @example
656
+ * **Example** (Finding matching nodes)
657
+ *
566
658
  * ```ts
567
659
  * import { Graph } from "effect"
568
660
  *
@@ -579,15 +671,16 @@ export declare const findNodes: {
579
671
  * console.log(empty) // []
580
672
  * ```
581
673
  *
582
- * @since 4.0.0
583
674
  * @category getters
675
+ * @since 3.18.0
584
676
  */
585
677
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, predicate: (data: N) => boolean): Array<NodeIndex>;
586
678
  };
587
679
  /**
588
680
  * Finds the first edge that matches the given predicate.
589
681
  *
590
- * @example
682
+ * **Example** (Finding the first matching edge)
683
+ *
591
684
  * ```ts
592
685
  * import { Graph } from "effect"
593
686
  *
@@ -606,14 +699,15 @@ export declare const findNodes: {
606
699
  * console.log(notFound) // Option.none()
607
700
  * ```
608
701
  *
609
- * @since 4.0.0
610
702
  * @category getters
703
+ * @since 3.18.0
611
704
  */
612
705
  export declare const findEdge: {
613
706
  /**
614
707
  * Finds the first edge that matches the given predicate.
615
708
  *
616
- * @example
709
+ * **Example** (Finding the first matching edge)
710
+ *
617
711
  * ```ts
618
712
  * import { Graph } from "effect"
619
713
  *
@@ -632,14 +726,15 @@ export declare const findEdge: {
632
726
  * console.log(notFound) // Option.none()
633
727
  * ```
634
728
  *
635
- * @since 4.0.0
636
729
  * @category getters
730
+ * @since 3.18.0
637
731
  */
638
732
  <E>(predicate: (data: E, source: NodeIndex, target: NodeIndex) => boolean): <N, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => Option.Option<EdgeIndex>;
639
733
  /**
640
734
  * Finds the first edge that matches the given predicate.
641
735
  *
642
- * @example
736
+ * **Example** (Finding the first matching edge)
737
+ *
643
738
  * ```ts
644
739
  * import { Graph } from "effect"
645
740
  *
@@ -658,15 +753,16 @@ export declare const findEdge: {
658
753
  * console.log(notFound) // Option.none()
659
754
  * ```
660
755
  *
661
- * @since 4.0.0
662
756
  * @category getters
757
+ * @since 3.18.0
663
758
  */
664
759
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, predicate: (data: E, source: NodeIndex, target: NodeIndex) => boolean): Option.Option<EdgeIndex>;
665
760
  };
666
761
  /**
667
762
  * Finds all edges that match the given predicate.
668
763
  *
669
- * @example
764
+ * **Example** (Finding matching edges)
765
+ *
670
766
  * ```ts
671
767
  * import { Graph } from "effect"
672
768
  *
@@ -686,14 +782,15 @@ export declare const findEdge: {
686
782
  * console.log(empty) // []
687
783
  * ```
688
784
  *
689
- * @since 4.0.0
690
785
  * @category getters
786
+ * @since 3.18.0
691
787
  */
692
788
  export declare const findEdges: {
693
789
  /**
694
790
  * Finds all edges that match the given predicate.
695
791
  *
696
- * @example
792
+ * **Example** (Finding matching edges)
793
+ *
697
794
  * ```ts
698
795
  * import { Graph } from "effect"
699
796
  *
@@ -713,14 +810,15 @@ export declare const findEdges: {
713
810
  * console.log(empty) // []
714
811
  * ```
715
812
  *
716
- * @since 4.0.0
717
813
  * @category getters
814
+ * @since 3.18.0
718
815
  */
719
816
  <E>(predicate: (data: E, source: NodeIndex, target: NodeIndex) => boolean): <N, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => Array<EdgeIndex>;
720
817
  /**
721
818
  * Finds all edges that match the given predicate.
722
819
  *
723
- * @example
820
+ * **Example** (Finding matching edges)
821
+ *
724
822
  * ```ts
725
823
  * import { Graph } from "effect"
726
824
  *
@@ -740,15 +838,16 @@ export declare const findEdges: {
740
838
  * console.log(empty) // []
741
839
  * ```
742
840
  *
743
- * @since 4.0.0
744
841
  * @category getters
842
+ * @since 3.18.0
745
843
  */
746
844
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, predicate: (data: E, source: NodeIndex, target: NodeIndex) => boolean): Array<EdgeIndex>;
747
845
  };
748
846
  /**
749
847
  * Updates a single node's data by applying a transformation function.
750
848
  *
751
- * @example
849
+ * **Example** (Updating node data)
850
+ *
752
851
  * ```ts
753
852
  * import { Graph } from "effect"
754
853
  *
@@ -762,14 +861,15 @@ export declare const findEdges: {
762
861
  * console.log(nodeData) // Option.some("NODE A")
763
862
  * ```
764
863
  *
765
- * @since 4.0.0
766
- * @category transformations
864
+ * @category transforming
865
+ * @since 3.18.0
767
866
  */
768
867
  export declare const updateNode: <N, E, T extends Kind = "directed">(mutable: MutableGraph<N, E, T>, index: NodeIndex, f: (data: N) => N) => void;
769
868
  /**
770
869
  * Updates a single edge's data by applying a transformation function.
771
870
  *
772
- * @example
871
+ * **Example** (Updating edge data)
872
+ *
773
873
  * ```ts
774
874
  * import { Graph } from "effect"
775
875
  *
@@ -781,17 +881,23 @@ export declare const updateNode: <N, E, T extends Kind = "directed">(mutable: Mu
781
881
  * })
782
882
  *
783
883
  * const edgeData = Graph.getEdge(result, 0)
784
- * console.log(edgeData) // new Graph.Edge({ source: 0, target: 1, data: 20 })
884
+ * console.log(edgeData) // Option.some(new Graph.Edge({ source: 0, target: 1, data: 20 }))
785
885
  * ```
786
886
  *
787
- * @since 4.0.0
788
887
  * @category mutations
888
+ * @since 3.18.0
789
889
  */
790
890
  export declare const updateEdge: <N, E, T extends Kind = "directed">(mutable: MutableGraph<N, E, T>, edgeIndex: EdgeIndex, f: (data: E) => E) => void;
791
891
  /**
792
- * Creates a new graph with transformed node data using the provided mapping function.
892
+ * Transforms every node's data in a mutable graph in place using the provided
893
+ * mapping function.
894
+ *
895
+ * **Details**
896
+ *
897
+ * Node indices and edges are preserved; only the stored node data is replaced.
898
+ *
899
+ * **Example** (Mapping node data)
793
900
  *
794
- * @example
795
901
  * ```ts
796
902
  * import { Graph } from "effect"
797
903
  *
@@ -803,17 +909,18 @@ export declare const updateEdge: <N, E, T extends Kind = "directed">(mutable: Mu
803
909
  * })
804
910
  *
805
911
  * const nodeData = Graph.getNode(graph, 0)
806
- * console.log(nodeData) // new Graph.Node("NODE A")
912
+ * console.log(nodeData) // Option.some("NODE A")
807
913
  * ```
808
914
  *
809
- * @since 4.0.0
810
- * @category transformations
915
+ * @category transforming
916
+ * @since 3.18.0
811
917
  */
812
918
  export declare const mapNodes: <N, E, T extends Kind = "directed">(mutable: MutableGraph<N, E, T>, f: (data: N) => N) => void;
813
919
  /**
814
920
  * Transforms all edge data in a mutable graph using the provided mapping function.
815
921
  *
816
- * @example
922
+ * **Example** (Mapping edge data)
923
+ *
817
924
  * ```ts
818
925
  * import { Graph } from "effect"
819
926
  *
@@ -827,17 +934,18 @@ export declare const mapNodes: <N, E, T extends Kind = "directed">(mutable: Muta
827
934
  * })
828
935
  *
829
936
  * const edgeData = Graph.getEdge(graph, 0)
830
- * console.log(edgeData) // new Graph.Edge({ source: 0, target: 1, data: 20 })
937
+ * console.log(edgeData) // Option.some(new Graph.Edge({ source: 0, target: 1, data: 20 }))
831
938
  * ```
832
939
  *
833
- * @since 4.0.0
834
- * @category transformations
940
+ * @category transforming
941
+ * @since 3.18.0
835
942
  */
836
943
  export declare const mapEdges: <N, E, T extends Kind = "directed">(mutable: MutableGraph<N, E, T>, f: (data: E) => E) => void;
837
944
  /**
838
945
  * Reverses all edge directions in a mutable graph by swapping source and target nodes.
839
946
  *
840
- * @example
947
+ * **Example** (Reversing edge directions)
948
+ *
841
949
  * ```ts
842
950
  * import { Graph } from "effect"
843
951
  *
@@ -851,21 +959,21 @@ export declare const mapEdges: <N, E, T extends Kind = "directed">(mutable: Muta
851
959
  * })
852
960
  *
853
961
  * const edge0 = Graph.getEdge(graph, 0)
854
- * console.log(edge0) // new Graph.Edge({ source: 1, target: 0, data: 1 }) - B -> A
962
+ * console.log(edge0) // Option.some(new Graph.Edge({ source: 1, target: 0, data: 1 }))
855
963
  * ```
856
964
  *
857
- * @since 4.0.0
858
- * @category transformations
965
+ * @category transforming
966
+ * @since 3.18.0
859
967
  */
860
968
  export declare const reverse: <N, E, T extends Kind = "directed">(mutable: MutableGraph<N, E, T>) => void;
861
969
  /**
862
970
  * Filters and optionally transforms nodes in a mutable graph using a predicate function.
863
971
  * Nodes that return Option.none are removed along with all their connected edges.
864
972
  *
865
- * @example
973
+ * **Example** (Filtering and mapping nodes)
974
+ *
866
975
  * ```ts
867
- * import { Graph } from "effect"
868
- * import * as Option from "effect/Option"
976
+ * import { Graph, Option } from "effect"
869
977
  *
870
978
  * const graph = Graph.directed<string, number>((mutable) => {
871
979
  * const a = Graph.addNode(mutable, "active")
@@ -885,18 +993,18 @@ export declare const reverse: <N, E, T extends Kind = "directed">(mutable: Mutab
885
993
  * console.log(Graph.nodeCount(graph)) // 2 (only "active" nodes remain)
886
994
  * ```
887
995
  *
888
- * @since 4.0.0
889
- * @category transformations
996
+ * @category transforming
997
+ * @since 3.18.0
890
998
  */
891
999
  export declare const filterMapNodes: <N, E, T extends Kind = "directed">(mutable: MutableGraph<N, E, T>, f: (data: N) => Option.Option<N>) => void;
892
1000
  /**
893
1001
  * Filters and optionally transforms edges in a mutable graph using a predicate function.
894
1002
  * Edges that return Option.none are removed from the graph.
895
1003
  *
896
- * @example
1004
+ * **Example** (Filtering and mapping edges)
1005
+ *
897
1006
  * ```ts
898
- * import { Graph } from "effect"
899
- * import * as Option from "effect/Option"
1007
+ * import { Graph, Option } from "effect"
900
1008
  *
901
1009
  * const graph = Graph.directed<string, number>((mutable) => {
902
1010
  * const a = Graph.addNode(mutable, "A")
@@ -916,15 +1024,16 @@ export declare const filterMapNodes: <N, E, T extends Kind = "directed">(mutable
916
1024
  * console.log(Graph.edgeCount(graph)) // 2 (edges with weight 5 removed)
917
1025
  * ```
918
1026
  *
919
- * @since 4.0.0
920
- * @category transformations
1027
+ * @category transforming
1028
+ * @since 3.18.0
921
1029
  */
922
1030
  export declare const filterMapEdges: <N, E, T extends Kind = "directed">(mutable: MutableGraph<N, E, T>, f: (data: E) => Option.Option<E>) => void;
923
1031
  /**
924
1032
  * Filters nodes by removing those that don't match the predicate.
925
1033
  * This function modifies the mutable graph in place.
926
1034
  *
927
- * @example
1035
+ * **Example** (Filtering nodes)
1036
+ *
928
1037
  * ```ts
929
1038
  * import { Graph } from "effect"
930
1039
  *
@@ -941,15 +1050,16 @@ export declare const filterMapEdges: <N, E, T extends Kind = "directed">(mutable
941
1050
  * console.log(Graph.nodeCount(graph)) // 2 (only "active" nodes remain)
942
1051
  * ```
943
1052
  *
944
- * @since 4.0.0
945
- * @category transformations
1053
+ * @category transforming
1054
+ * @since 3.18.0
946
1055
  */
947
1056
  export declare const filterNodes: <N, E, T extends Kind = "directed">(mutable: MutableGraph<N, E, T>, predicate: (data: N) => boolean) => void;
948
1057
  /**
949
1058
  * Filters edges by removing those that don't match the predicate.
950
1059
  * This function modifies the mutable graph in place.
951
1060
  *
952
- * @example
1061
+ * **Example** (Filtering edges)
1062
+ *
953
1063
  * ```ts
954
1064
  * import { Graph } from "effect"
955
1065
  *
@@ -969,14 +1079,15 @@ export declare const filterNodes: <N, E, T extends Kind = "directed">(mutable: M
969
1079
  * console.log(Graph.edgeCount(graph)) // 2 (edge with weight 5 removed)
970
1080
  * ```
971
1081
  *
972
- * @since 4.0.0
973
- * @category transformations
1082
+ * @category transforming
1083
+ * @since 3.18.0
974
1084
  */
975
1085
  export declare const filterEdges: <N, E, T extends Kind = "directed">(mutable: MutableGraph<N, E, T>, predicate: (data: E) => boolean) => void;
976
1086
  /**
977
1087
  * Adds a new edge to a mutable graph and returns its index.
978
1088
  *
979
- * @example
1089
+ * **Example** (Adding edges)
1090
+ *
980
1091
  * ```ts
981
1092
  * import { Graph } from "effect"
982
1093
  *
@@ -988,14 +1099,15 @@ export declare const filterEdges: <N, E, T extends Kind = "directed">(mutable: M
988
1099
  * })
989
1100
  * ```
990
1101
  *
991
- * @since 4.0.0
992
1102
  * @category mutations
1103
+ * @since 3.18.0
993
1104
  */
994
1105
  export declare const addEdge: <N, E, T extends Kind = "directed">(mutable: MutableGraph<N, E, T>, source: NodeIndex, target: NodeIndex, data: E) => EdgeIndex;
995
1106
  /**
996
1107
  * Removes a node and all its incident edges from a mutable graph.
997
1108
  *
998
- * @example
1109
+ * **Example** (Removing a node)
1110
+ *
999
1111
  * ```ts
1000
1112
  * import { Graph } from "effect"
1001
1113
  *
@@ -1009,14 +1121,15 @@ export declare const addEdge: <N, E, T extends Kind = "directed">(mutable: Mutab
1009
1121
  * })
1010
1122
  * ```
1011
1123
  *
1012
- * @since 4.0.0
1013
1124
  * @category mutations
1125
+ * @since 3.18.0
1014
1126
  */
1015
1127
  export declare const removeNode: <N, E, T extends Kind = "directed">(mutable: MutableGraph<N, E, T>, nodeIndex: NodeIndex) => void;
1016
1128
  /**
1017
1129
  * Removes an edge from a mutable graph.
1018
1130
  *
1019
- * @example
1131
+ * **Example** (Removing an edge)
1132
+ *
1020
1133
  * ```ts
1021
1134
  * import { Graph } from "effect"
1022
1135
  *
@@ -1030,14 +1143,15 @@ export declare const removeNode: <N, E, T extends Kind = "directed">(mutable: Mu
1030
1143
  * })
1031
1144
  * ```
1032
1145
  *
1033
- * @since 4.0.0
1034
1146
  * @category mutations
1147
+ * @since 3.18.0
1035
1148
  */
1036
1149
  export declare const removeEdge: <N, E, T extends Kind = "directed">(mutable: MutableGraph<N, E, T>, edgeIndex: EdgeIndex) => void;
1037
1150
  /**
1038
1151
  * Gets the edge data associated with an edge index, if it exists.
1039
1152
  *
1040
- * @example
1153
+ * **Example** (Getting edge data)
1154
+ *
1041
1155
  * ```ts
1042
1156
  * import { Graph } from "effect"
1043
1157
  *
@@ -1052,19 +1166,20 @@ export declare const removeEdge: <N, E, T extends Kind = "directed">(mutable: Mu
1052
1166
  *
1053
1167
  * if (edgeData._tag === "Some") {
1054
1168
  * console.log(edgeData.value.data) // 42
1055
- * console.log(edgeData.value.source) // NodeIndex(0)
1056
- * console.log(edgeData.value.target) // NodeIndex(1)
1169
+ * console.log(edgeData.value.source) // 0
1170
+ * console.log(edgeData.value.target) // 1
1057
1171
  * }
1058
1172
  * ```
1059
1173
  *
1060
- * @since 4.0.0
1061
1174
  * @category getters
1175
+ * @since 3.18.0
1062
1176
  */
1063
1177
  export declare const getEdge: {
1064
1178
  /**
1065
1179
  * Gets the edge data associated with an edge index, if it exists.
1066
1180
  *
1067
- * @example
1181
+ * **Example** (Getting edge data)
1182
+ *
1068
1183
  * ```ts
1069
1184
  * import { Graph } from "effect"
1070
1185
  *
@@ -1079,19 +1194,20 @@ export declare const getEdge: {
1079
1194
  *
1080
1195
  * if (edgeData._tag === "Some") {
1081
1196
  * console.log(edgeData.value.data) // 42
1082
- * console.log(edgeData.value.source) // NodeIndex(0)
1083
- * console.log(edgeData.value.target) // NodeIndex(1)
1197
+ * console.log(edgeData.value.source) // 0
1198
+ * console.log(edgeData.value.target) // 1
1084
1199
  * }
1085
1200
  * ```
1086
1201
  *
1087
- * @since 4.0.0
1088
1202
  * @category getters
1203
+ * @since 3.18.0
1089
1204
  */
1090
1205
  <E>(edgeIndex: EdgeIndex): <N, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => Option.Option<Edge<E>>;
1091
1206
  /**
1092
1207
  * Gets the edge data associated with an edge index, if it exists.
1093
1208
  *
1094
- * @example
1209
+ * **Example** (Getting edge data)
1210
+ *
1095
1211
  * ```ts
1096
1212
  * import { Graph } from "effect"
1097
1213
  *
@@ -1106,20 +1222,21 @@ export declare const getEdge: {
1106
1222
  *
1107
1223
  * if (edgeData._tag === "Some") {
1108
1224
  * console.log(edgeData.value.data) // 42
1109
- * console.log(edgeData.value.source) // NodeIndex(0)
1110
- * console.log(edgeData.value.target) // NodeIndex(1)
1225
+ * console.log(edgeData.value.source) // 0
1226
+ * console.log(edgeData.value.target) // 1
1111
1227
  * }
1112
1228
  * ```
1113
1229
  *
1114
- * @since 4.0.0
1115
1230
  * @category getters
1231
+ * @since 3.18.0
1116
1232
  */
1117
1233
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, edgeIndex: EdgeIndex): Option.Option<Edge<E>>;
1118
1234
  };
1119
1235
  /**
1120
1236
  * Checks if an edge exists between two nodes in the graph.
1121
1237
  *
1122
- * @example
1238
+ * **Example** (Checking edge existence)
1239
+ *
1123
1240
  * ```ts
1124
1241
  * import { Graph } from "effect"
1125
1242
  *
@@ -1141,14 +1258,15 @@ export declare const getEdge: {
1141
1258
  * console.log(hasAC) // false
1142
1259
  * ```
1143
1260
  *
1144
- * @since 4.0.0
1145
1261
  * @category getters
1262
+ * @since 3.18.0
1146
1263
  */
1147
1264
  export declare const hasEdge: {
1148
1265
  /**
1149
1266
  * Checks if an edge exists between two nodes in the graph.
1150
1267
  *
1151
- * @example
1268
+ * **Example** (Checking edge existence)
1269
+ *
1152
1270
  * ```ts
1153
1271
  * import { Graph } from "effect"
1154
1272
  *
@@ -1170,14 +1288,15 @@ export declare const hasEdge: {
1170
1288
  * console.log(hasAC) // false
1171
1289
  * ```
1172
1290
  *
1173
- * @since 4.0.0
1174
1291
  * @category getters
1292
+ * @since 3.18.0
1175
1293
  */
1176
1294
  (source: NodeIndex, target: NodeIndex): <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => boolean;
1177
1295
  /**
1178
1296
  * Checks if an edge exists between two nodes in the graph.
1179
1297
  *
1180
- * @example
1298
+ * **Example** (Checking edge existence)
1299
+ *
1181
1300
  * ```ts
1182
1301
  * import { Graph } from "effect"
1183
1302
  *
@@ -1199,15 +1318,16 @@ export declare const hasEdge: {
1199
1318
  * console.log(hasAC) // false
1200
1319
  * ```
1201
1320
  *
1202
- * @since 4.0.0
1203
1321
  * @category getters
1322
+ * @since 3.18.0
1204
1323
  */
1205
1324
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, source: NodeIndex, target: NodeIndex): boolean;
1206
1325
  };
1207
1326
  /**
1208
1327
  * Returns the number of edges in the graph.
1209
1328
  *
1210
- * @example
1329
+ * **Example** (Counting edges)
1330
+ *
1211
1331
  * ```ts
1212
1332
  * import { Graph } from "effect"
1213
1333
  *
@@ -1226,14 +1346,20 @@ export declare const hasEdge: {
1226
1346
  * console.log(Graph.edgeCount(graphWithEdges)) // 3
1227
1347
  * ```
1228
1348
  *
1229
- * @since 4.0.0
1230
1349
  * @category getters
1350
+ * @since 3.18.0
1231
1351
  */
1232
1352
  export declare const edgeCount: <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => number;
1233
1353
  /**
1234
- * Returns the neighboring nodes (targets of outgoing edges) for a given node.
1354
+ * Returns the neighboring node indices for a node.
1355
+ *
1356
+ * **Details**
1357
+ *
1358
+ * For directed graphs, neighbors are the targets of outgoing edges. For
1359
+ * undirected graphs, neighbors are the other endpoints of incident edges.
1360
+ *
1361
+ * **Example** (Getting outgoing neighbors)
1235
1362
  *
1236
- * @example
1237
1363
  * ```ts
1238
1364
  * import { Graph } from "effect"
1239
1365
  *
@@ -1250,20 +1376,26 @@ export declare const edgeCount: <N, E, T extends Kind = "directed">(graph: Graph
1250
1376
  * const nodeC = 2
1251
1377
  *
1252
1378
  * const neighborsA = Graph.neighbors(graph, nodeA)
1253
- * console.log(neighborsA) // [NodeIndex(1), NodeIndex(2)]
1379
+ * console.log(neighborsA) // [1, 2]
1254
1380
  *
1255
1381
  * const neighborsB = Graph.neighbors(graph, nodeB)
1256
1382
  * console.log(neighborsB) // []
1257
1383
  * ```
1258
1384
  *
1259
- * @since 4.0.0
1260
1385
  * @category getters
1386
+ * @since 3.18.0
1261
1387
  */
1262
1388
  export declare const neighbors: {
1263
1389
  /**
1264
- * Returns the neighboring nodes (targets of outgoing edges) for a given node.
1390
+ * Returns the neighboring node indices for a node.
1391
+ *
1392
+ * **Details**
1393
+ *
1394
+ * For directed graphs, neighbors are the targets of outgoing edges. For
1395
+ * undirected graphs, neighbors are the other endpoints of incident edges.
1396
+ *
1397
+ * **Example** (Getting outgoing neighbors)
1265
1398
  *
1266
- * @example
1267
1399
  * ```ts
1268
1400
  * import { Graph } from "effect"
1269
1401
  *
@@ -1280,20 +1412,26 @@ export declare const neighbors: {
1280
1412
  * const nodeC = 2
1281
1413
  *
1282
1414
  * const neighborsA = Graph.neighbors(graph, nodeA)
1283
- * console.log(neighborsA) // [NodeIndex(1), NodeIndex(2)]
1415
+ * console.log(neighborsA) // [1, 2]
1284
1416
  *
1285
1417
  * const neighborsB = Graph.neighbors(graph, nodeB)
1286
1418
  * console.log(neighborsB) // []
1287
1419
  * ```
1288
1420
  *
1289
- * @since 4.0.0
1290
1421
  * @category getters
1422
+ * @since 3.18.0
1291
1423
  */
1292
1424
  (nodeIndex: NodeIndex): <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => Array<NodeIndex>;
1293
1425
  /**
1294
- * Returns the neighboring nodes (targets of outgoing edges) for a given node.
1426
+ * Returns the neighboring node indices for a node.
1427
+ *
1428
+ * **Details**
1429
+ *
1430
+ * For directed graphs, neighbors are the targets of outgoing edges. For
1431
+ * undirected graphs, neighbors are the other endpoints of incident edges.
1432
+ *
1433
+ * **Example** (Getting outgoing neighbors)
1295
1434
  *
1296
- * @example
1297
1435
  * ```ts
1298
1436
  * import { Graph } from "effect"
1299
1437
  *
@@ -1310,21 +1448,22 @@ export declare const neighbors: {
1310
1448
  * const nodeC = 2
1311
1449
  *
1312
1450
  * const neighborsA = Graph.neighbors(graph, nodeA)
1313
- * console.log(neighborsA) // [NodeIndex(1), NodeIndex(2)]
1451
+ * console.log(neighborsA) // [1, 2]
1314
1452
  *
1315
1453
  * const neighborsB = Graph.neighbors(graph, nodeB)
1316
1454
  * console.log(neighborsB) // []
1317
1455
  * ```
1318
1456
  *
1319
- * @since 4.0.0
1320
1457
  * @category getters
1458
+ * @since 3.18.0
1321
1459
  */
1322
1460
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, nodeIndex: NodeIndex): Array<NodeIndex>;
1323
1461
  };
1324
1462
  /**
1325
1463
  * Get neighbors of a node in a specific direction for bidirectional traversal.
1326
1464
  *
1327
- * @example
1465
+ * **Example** (Traversing directed neighbors)
1466
+ *
1328
1467
  * ```ts
1329
1468
  * import { Graph } from "effect"
1330
1469
  *
@@ -1344,14 +1483,15 @@ export declare const neighbors: {
1344
1483
  * const incoming = Graph.neighborsDirected(graph, nodeB, "incoming")
1345
1484
  * ```
1346
1485
  *
1347
- * @since 4.0.0
1348
1486
  * @category queries
1487
+ * @since 3.18.0
1349
1488
  */
1350
1489
  export declare const neighborsDirected: {
1351
1490
  /**
1352
1491
  * Get neighbors of a node in a specific direction for bidirectional traversal.
1353
1492
  *
1354
- * @example
1493
+ * **Example** (Traversing directed neighbors)
1494
+ *
1355
1495
  * ```ts
1356
1496
  * import { Graph } from "effect"
1357
1497
  *
@@ -1371,14 +1511,15 @@ export declare const neighborsDirected: {
1371
1511
  * const incoming = Graph.neighborsDirected(graph, nodeB, "incoming")
1372
1512
  * ```
1373
1513
  *
1374
- * @since 4.0.0
1375
1514
  * @category queries
1515
+ * @since 3.18.0
1376
1516
  */
1377
1517
  (nodeIndex: NodeIndex, direction: Direction): <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => Array<NodeIndex>;
1378
1518
  /**
1379
1519
  * Get neighbors of a node in a specific direction for bidirectional traversal.
1380
1520
  *
1381
- * @example
1521
+ * **Example** (Traversing directed neighbors)
1522
+ *
1382
1523
  * ```ts
1383
1524
  * import { Graph } from "effect"
1384
1525
  *
@@ -1398,8 +1539,8 @@ export declare const neighborsDirected: {
1398
1539
  * const incoming = Graph.neighborsDirected(graph, nodeB, "incoming")
1399
1540
  * ```
1400
1541
  *
1401
- * @since 4.0.0
1402
1542
  * @category queries
1543
+ * @since 3.18.0
1403
1544
  */
1404
1545
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, nodeIndex: NodeIndex, direction: Direction): Array<NodeIndex>;
1405
1546
  };
@@ -1409,9 +1550,10 @@ export declare const neighborsDirected: {
1409
1550
  * Provides customization for node labels, edge labels, and graph naming
1410
1551
  * in DOT format compatible with GraphViz tools.
1411
1552
  *
1412
- * @example
1553
+ * **Example** (Configuring GraphViz labels)
1554
+ *
1413
1555
  * ```ts
1414
- * import type * as Graph from "effect/Graph"
1556
+ * import type { Graph } from "effect"
1415
1557
  *
1416
1558
  * // Basic options with custom labels
1417
1559
  * const basicOptions: Graph.GraphVizOptions<string, number> = {
@@ -1427,8 +1569,8 @@ export declare const neighborsDirected: {
1427
1569
  * }
1428
1570
  * ```
1429
1571
  *
1430
- * @since 4.0.0
1431
1572
  * @category models
1573
+ * @since 3.18.0
1432
1574
  */
1433
1575
  export interface GraphVizOptions<N, E> {
1434
1576
  /**
@@ -1450,7 +1592,8 @@ export interface GraphVizOptions<N, E> {
1450
1592
  /**
1451
1593
  * Exports a graph to GraphViz DOT format for visualization.
1452
1594
  *
1453
- * @example
1595
+ * **Example** (Exporting GraphViz DOT)
1596
+ *
1454
1597
  * ```ts
1455
1598
  * import { Graph } from "effect"
1456
1599
  *
@@ -1475,14 +1618,15 @@ export interface GraphVizOptions<N, E> {
1475
1618
  * // }
1476
1619
  * ```
1477
1620
  *
1478
- * @since 4.0.0
1479
1621
  * @category utils
1622
+ * @since 3.18.0
1480
1623
  */
1481
1624
  export declare const toGraphViz: {
1482
1625
  /**
1483
1626
  * Exports a graph to GraphViz DOT format for visualization.
1484
1627
  *
1485
- * @example
1628
+ * **Example** (Exporting GraphViz DOT)
1629
+ *
1486
1630
  * ```ts
1487
1631
  * import { Graph } from "effect"
1488
1632
  *
@@ -1507,14 +1651,15 @@ export declare const toGraphViz: {
1507
1651
  * // }
1508
1652
  * ```
1509
1653
  *
1510
- * @since 4.0.0
1511
1654
  * @category utils
1655
+ * @since 3.18.0
1512
1656
  */
1513
1657
  <N, E>(options?: GraphVizOptions<N, E>): <T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => string;
1514
1658
  /**
1515
1659
  * Exports a graph to GraphViz DOT format for visualization.
1516
1660
  *
1517
- * @example
1661
+ * **Example** (Exporting GraphViz DOT)
1662
+ *
1518
1663
  * ```ts
1519
1664
  * import { Graph } from "effect"
1520
1665
  *
@@ -1539,8 +1684,8 @@ export declare const toGraphViz: {
1539
1684
  * // }
1540
1685
  * ```
1541
1686
  *
1542
- * @since 4.0.0
1543
1687
  * @category utils
1688
+ * @since 3.18.0
1544
1689
  */
1545
1690
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, options?: GraphVizOptions<N, E>): string;
1546
1691
  };
@@ -1557,9 +1702,10 @@ export declare const toGraphViz: {
1557
1702
  * - `subroutine`: Subroutine-style nodes `A[["label"]]`
1558
1703
  * - `cylindrical`: Cylindrical database-style nodes `A[("label")]`
1559
1704
  *
1560
- * @example
1705
+ * **Example** (Selecting Mermaid node shapes)
1706
+ *
1561
1707
  * ```ts
1562
- * import type * as Graph from "effect/Graph"
1708
+ * import type { Graph } from "effect"
1563
1709
  *
1564
1710
  * // Shape selector function for different node types
1565
1711
  * const shapeSelector = (nodeData: string): Graph.MermaidNodeShape => {
@@ -1575,8 +1721,8 @@ export declare const toGraphViz: {
1575
1721
  * }
1576
1722
  * ```
1577
1723
  *
1578
- * @since 4.0.0
1579
1724
  * @category models
1725
+ * @since 3.18.0
1580
1726
  */
1581
1727
  export type MermaidNodeShape = "rectangle" | "rounded" | "circle" | "diamond" | "hexagon" | "stadium" | "subroutine" | "cylindrical";
1582
1728
  /**
@@ -1588,9 +1734,10 @@ export type MermaidNodeShape = "rectangle" | "rounded" | "circle" | "diamond" |
1588
1734
  * - `LR`: Left to Right (horizontal layout)
1589
1735
  * - `RL`: Right to Left (reverse horizontal)
1590
1736
  *
1591
- * @example
1737
+ * **Example** (Configuring Mermaid directions)
1738
+ *
1592
1739
  * ```ts
1593
- * import type * as Graph from "effect/Graph"
1740
+ * import type { Graph } from "effect"
1594
1741
  *
1595
1742
  * // Horizontal workflow diagram
1596
1743
  * const horizontalOptions: Graph.MermaidOptions<string, string> = {
@@ -1608,8 +1755,8 @@ export type MermaidNodeShape = "rectangle" | "rounded" | "circle" | "diamond" |
1608
1755
  * }
1609
1756
  * ```
1610
1757
  *
1611
- * @since 4.0.0
1612
1758
  * @category models
1759
+ * @since 3.18.0
1613
1760
  */
1614
1761
  export type MermaidDirection = "TB" | "TD" | "BT" | "RL" | "LR";
1615
1762
  /**
@@ -1622,9 +1769,10 @@ export type MermaidDirection = "TB" | "TD" | "BT" | "RL" | "LR";
1622
1769
  * When not specified, automatically selects based on graph type:
1623
1770
  * directed graphs use "flowchart", undirected graphs use "graph".
1624
1771
  *
1625
- * @example
1772
+ * **Example** (Selecting Mermaid diagram types)
1773
+ *
1626
1774
  * ```ts
1627
- * import type * as Graph from "effect/Graph"
1775
+ * import type { Graph } from "effect"
1628
1776
  *
1629
1777
  * // Force flowchart format (even for undirected graphs)
1630
1778
  * const flowchartOptions: Graph.MermaidOptions<string, string> = {
@@ -1640,15 +1788,15 @@ export type MermaidDirection = "TB" | "TD" | "BT" | "RL" | "LR";
1640
1788
  * const autoOptions: Graph.MermaidOptions<string, string> = {}
1641
1789
  * ```
1642
1790
  *
1643
- * @since 4.0.0
1644
1791
  * @category models
1792
+ * @since 3.18.0
1645
1793
  */
1646
1794
  export type MermaidDiagramType = "flowchart" | "graph";
1647
1795
  /**
1648
1796
  * Configuration options for Mermaid diagram generation, following GraphViz pattern.
1649
1797
  *
1650
- * @since 4.0.0
1651
1798
  * @category models
1799
+ * @since 4.0.0
1652
1800
  */
1653
1801
  /**
1654
1802
  * Configuration options for Mermaid diagram generation from graphs.
@@ -1656,9 +1804,10 @@ export type MermaidDiagramType = "flowchart" | "graph";
1656
1804
  * Provides customization for node labels, edge labels, diagram type,
1657
1805
  * layout direction, node shapes, and graph naming in Mermaid format.
1658
1806
  *
1659
- * @example
1807
+ * **Example** (Configuring Mermaid output)
1808
+ *
1660
1809
  * ```ts
1661
- * import type * as Graph from "effect/Graph"
1810
+ * import type { Graph } from "effect"
1662
1811
  *
1663
1812
  * // Basic options with custom labels
1664
1813
  * const basicOptions: Graph.MermaidOptions<string, number> = {
@@ -1676,8 +1825,8 @@ export type MermaidDiagramType = "flowchart" | "graph";
1676
1825
  * }
1677
1826
  * ```
1678
1827
  *
1679
- * @since 4.0.0
1680
1828
  * @category models
1829
+ * @since 3.18.0
1681
1830
  */
1682
1831
  export interface MermaidOptions<N, E> {
1683
1832
  /**
@@ -1715,9 +1864,10 @@ export interface MermaidOptions<N, E> {
1715
1864
  * structures to valid Mermaid syntax for use in documentation, web applications,
1716
1865
  * and visualization tools.
1717
1866
  *
1718
- * @example
1867
+ * **Example** (Exporting a directed Mermaid diagram)
1868
+ *
1719
1869
  * ```ts
1720
- * import * as Graph from "effect/Graph"
1870
+ * import { Graph } from "effect"
1721
1871
  *
1722
1872
  * // Basic directed graph export
1723
1873
  * const graph = Graph.directed<string, number>((mutable) => {
@@ -1738,9 +1888,10 @@ export interface MermaidOptions<N, E> {
1738
1888
  * // 0 -->|"2"| 2
1739
1889
  * ```
1740
1890
  *
1741
- * @example
1891
+ * **Example** (Exporting an undirected Mermaid diagram)
1892
+ *
1742
1893
  * ```ts
1743
- * import * as Graph from "effect/Graph"
1894
+ * import { Graph } from "effect"
1744
1895
  *
1745
1896
  * // Undirected graph with custom labels and direction
1746
1897
  * const socialGraph = Graph.undirected<{ name: string }, string>((mutable) => {
@@ -1765,9 +1916,10 @@ export interface MermaidOptions<N, E> {
1765
1916
  * // 1 ---|"colleagues"| 2
1766
1917
  * ```
1767
1918
  *
1768
- * @example
1919
+ * **Example** (Customizing Mermaid node shapes)
1920
+ *
1769
1921
  * ```ts
1770
- * import * as Graph from "effect/Graph"
1922
+ * import { Graph } from "effect"
1771
1923
  *
1772
1924
  * // Advanced styling with node shapes for flowchart
1773
1925
  * const workflow = Graph.directed<{ type: string; name: string }, string>(
@@ -1816,9 +1968,10 @@ export interface MermaidOptions<N, E> {
1816
1968
  * // 2 --> 3
1817
1969
  * ```
1818
1970
  *
1819
- * @example
1971
+ * **Example** (Visualizing dependency graphs)
1972
+ *
1820
1973
  * ```ts
1821
- * import * as Graph from "effect/Graph"
1974
+ * import { Graph } from "effect"
1822
1975
  *
1823
1976
  * // Real-world example: Software dependency graph
1824
1977
  * interface Dependency {
@@ -1877,12 +2030,8 @@ export interface MermaidOptions<N, E> {
1877
2030
  * // 0 -->|"builds with"| 3
1878
2031
  * ```
1879
2032
  *
1880
- * @param graph - The graph to export (directed or undirected)
1881
- * @param options - Optional configuration for the Mermaid output
1882
- * @returns Mermaid diagram syntax as a string
1883
- *
1884
- * @since 4.0.0
1885
2033
  * @category utils
2034
+ * @since 3.18.0
1886
2035
  */
1887
2036
  export declare const toMermaid: {
1888
2037
  /**
@@ -1893,9 +2042,10 @@ export declare const toMermaid: {
1893
2042
  * structures to valid Mermaid syntax for use in documentation, web applications,
1894
2043
  * and visualization tools.
1895
2044
  *
1896
- * @example
2045
+ * **Example** (Exporting a directed Mermaid diagram)
2046
+ *
1897
2047
  * ```ts
1898
- * import * as Graph from "effect/Graph"
2048
+ * import { Graph } from "effect"
1899
2049
  *
1900
2050
  * // Basic directed graph export
1901
2051
  * const graph = Graph.directed<string, number>((mutable) => {
@@ -1916,9 +2066,10 @@ export declare const toMermaid: {
1916
2066
  * // 0 -->|"2"| 2
1917
2067
  * ```
1918
2068
  *
1919
- * @example
2069
+ * **Example** (Exporting an undirected Mermaid diagram)
2070
+ *
1920
2071
  * ```ts
1921
- * import * as Graph from "effect/Graph"
2072
+ * import { Graph } from "effect"
1922
2073
  *
1923
2074
  * // Undirected graph with custom labels and direction
1924
2075
  * const socialGraph = Graph.undirected<{ name: string }, string>((mutable) => {
@@ -1943,9 +2094,10 @@ export declare const toMermaid: {
1943
2094
  * // 1 ---|"colleagues"| 2
1944
2095
  * ```
1945
2096
  *
1946
- * @example
2097
+ * **Example** (Customizing Mermaid node shapes)
2098
+ *
1947
2099
  * ```ts
1948
- * import * as Graph from "effect/Graph"
2100
+ * import { Graph } from "effect"
1949
2101
  *
1950
2102
  * // Advanced styling with node shapes for flowchart
1951
2103
  * const workflow = Graph.directed<{ type: string; name: string }, string>(
@@ -1994,9 +2146,10 @@ export declare const toMermaid: {
1994
2146
  * // 2 --> 3
1995
2147
  * ```
1996
2148
  *
1997
- * @example
2149
+ * **Example** (Visualizing dependency graphs)
2150
+ *
1998
2151
  * ```ts
1999
- * import * as Graph from "effect/Graph"
2152
+ * import { Graph } from "effect"
2000
2153
  *
2001
2154
  * // Real-world example: Software dependency graph
2002
2155
  * interface Dependency {
@@ -2055,12 +2208,8 @@ export declare const toMermaid: {
2055
2208
  * // 0 -->|"builds with"| 3
2056
2209
  * ```
2057
2210
  *
2058
- * @param graph - The graph to export (directed or undirected)
2059
- * @param options - Optional configuration for the Mermaid output
2060
- * @returns Mermaid diagram syntax as a string
2061
- *
2062
- * @since 4.0.0
2063
2211
  * @category utils
2212
+ * @since 3.18.0
2064
2213
  */
2065
2214
  <N, E>(options?: MermaidOptions<N, E>): <T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => string;
2066
2215
  /**
@@ -2071,9 +2220,10 @@ export declare const toMermaid: {
2071
2220
  * structures to valid Mermaid syntax for use in documentation, web applications,
2072
2221
  * and visualization tools.
2073
2222
  *
2074
- * @example
2223
+ * **Example** (Exporting a directed Mermaid diagram)
2224
+ *
2075
2225
  * ```ts
2076
- * import * as Graph from "effect/Graph"
2226
+ * import { Graph } from "effect"
2077
2227
  *
2078
2228
  * // Basic directed graph export
2079
2229
  * const graph = Graph.directed<string, number>((mutable) => {
@@ -2094,9 +2244,10 @@ export declare const toMermaid: {
2094
2244
  * // 0 -->|"2"| 2
2095
2245
  * ```
2096
2246
  *
2097
- * @example
2247
+ * **Example** (Exporting an undirected Mermaid diagram)
2248
+ *
2098
2249
  * ```ts
2099
- * import * as Graph from "effect/Graph"
2250
+ * import { Graph } from "effect"
2100
2251
  *
2101
2252
  * // Undirected graph with custom labels and direction
2102
2253
  * const socialGraph = Graph.undirected<{ name: string }, string>((mutable) => {
@@ -2121,9 +2272,10 @@ export declare const toMermaid: {
2121
2272
  * // 1 ---|"colleagues"| 2
2122
2273
  * ```
2123
2274
  *
2124
- * @example
2275
+ * **Example** (Customizing Mermaid node shapes)
2276
+ *
2125
2277
  * ```ts
2126
- * import * as Graph from "effect/Graph"
2278
+ * import { Graph } from "effect"
2127
2279
  *
2128
2280
  * // Advanced styling with node shapes for flowchart
2129
2281
  * const workflow = Graph.directed<{ type: string; name: string }, string>(
@@ -2172,9 +2324,10 @@ export declare const toMermaid: {
2172
2324
  * // 2 --> 3
2173
2325
  * ```
2174
2326
  *
2175
- * @example
2327
+ * **Example** (Visualizing dependency graphs)
2328
+ *
2176
2329
  * ```ts
2177
- * import * as Graph from "effect/Graph"
2330
+ * import { Graph } from "effect"
2178
2331
  *
2179
2332
  * // Real-world example: Software dependency graph
2180
2333
  * interface Dependency {
@@ -2233,19 +2386,16 @@ export declare const toMermaid: {
2233
2386
  * // 0 -->|"builds with"| 3
2234
2387
  * ```
2235
2388
  *
2236
- * @param graph - The graph to export (directed or undirected)
2237
- * @param options - Optional configuration for the Mermaid output
2238
- * @returns Mermaid diagram syntax as a string
2239
- *
2240
- * @since 4.0.0
2241
2389
  * @category utils
2390
+ * @since 3.18.0
2242
2391
  */
2243
2392
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, options?: MermaidOptions<N, E>): string;
2244
2393
  };
2245
2394
  /**
2246
2395
  * Direction for graph traversal, indicating which edges to follow.
2247
2396
  *
2248
- * @example
2397
+ * **Example** (Traversing by direction)
2398
+ *
2249
2399
  * ```ts
2250
2400
  * import { Graph } from "effect"
2251
2401
  *
@@ -2266,8 +2416,8 @@ export declare const toMermaid: {
2266
2416
  * )
2267
2417
  * ```
2268
2418
  *
2269
- * @since 4.0.0
2270
2419
  * @category models
2420
+ * @since 3.18.0
2271
2421
  */
2272
2422
  export type Direction = "outgoing" | "incoming";
2273
2423
  /**
@@ -2277,7 +2427,8 @@ export type Direction = "outgoing" | "incoming";
2277
2427
  * For directed graphs, any back edge creates a cycle. For undirected graphs,
2278
2428
  * a back edge that doesn't go to the immediate parent creates a cycle.
2279
2429
  *
2280
- * @example
2430
+ * **Example** (Checking cycles)
2431
+ *
2281
2432
  * ```ts
2282
2433
  * import { Graph } from "effect"
2283
2434
  *
@@ -2301,8 +2452,8 @@ export type Direction = "outgoing" | "incoming";
2301
2452
  * console.log(Graph.isAcyclic(cyclic)) // false
2302
2453
  * ```
2303
2454
  *
2304
- * @since 4.0.0
2305
2455
  * @category algorithms
2456
+ * @since 3.18.0
2306
2457
  */
2307
2458
  export declare const isAcyclic: <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => boolean;
2308
2459
  /**
@@ -2312,7 +2463,8 @@ export declare const isAcyclic: <N, E, T extends Kind = "directed">(graph: Graph
2312
2463
  * such that no two vertices within the same set are adjacent. Uses BFS coloring
2313
2464
  * to determine bipartiteness.
2314
2465
  *
2315
- * @example
2466
+ * **Example** (Checking bipartite graphs)
2467
+ *
2316
2468
  * ```ts
2317
2469
  * import { Graph } from "effect"
2318
2470
  *
@@ -2340,15 +2492,16 @@ export declare const isAcyclic: <N, E, T extends Kind = "directed">(graph: Graph
2340
2492
  * console.log(Graph.isBipartite(triangle)) // false
2341
2493
  * ```
2342
2494
  *
2343
- * @since 4.0.0
2344
2495
  * @category algorithms
2496
+ * @since 3.18.0
2345
2497
  */
2346
2498
  export declare const isBipartite: <N, E>(graph: Graph<N, E, "undirected"> | MutableGraph<N, E, "undirected">) => boolean;
2347
2499
  /**
2348
2500
  * Find connected components in an undirected graph.
2349
2501
  * Each component is represented as an array of node indices.
2350
2502
  *
2351
- * @example
2503
+ * **Example** (Finding connected components)
2504
+ *
2352
2505
  * ```ts
2353
2506
  * import { Graph } from "effect"
2354
2507
  *
@@ -2365,15 +2518,16 @@ export declare const isBipartite: <N, E>(graph: Graph<N, E, "undirected"> | Muta
2365
2518
  * console.log(components) // [[0, 1], [2, 3]]
2366
2519
  * ```
2367
2520
  *
2368
- * @since 4.0.0
2369
2521
  * @category algorithms
2522
+ * @since 3.18.0
2370
2523
  */
2371
2524
  export declare const connectedComponents: <N, E>(graph: Graph<N, E, "undirected"> | MutableGraph<N, E, "undirected">) => Array<Array<NodeIndex>>;
2372
2525
  /**
2373
2526
  * Find strongly connected components in a directed graph using Kosaraju's algorithm.
2374
2527
  * Each SCC is represented as an array of node indices.
2375
2528
  *
2376
- * @example
2529
+ * **Example** (Finding strongly connected components)
2530
+ *
2377
2531
  * ```ts
2378
2532
  * import { Graph } from "effect"
2379
2533
  *
@@ -2390,15 +2544,20 @@ export declare const connectedComponents: <N, E>(graph: Graph<N, E, "undirected"
2390
2544
  * console.log(sccs) // [[0, 1, 2]]
2391
2545
  * ```
2392
2546
  *
2393
- * @since 4.0.0
2394
2547
  * @category algorithms
2548
+ * @since 3.18.0
2395
2549
  */
2396
2550
  export declare const stronglyConnectedComponents: <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => Array<Array<NodeIndex>>;
2397
2551
  /**
2398
- * Result of a shortest path computation containing the path and total distance.
2552
+ * Result of a shortest path computation.
2553
+ *
2554
+ * **Details**
2555
+ *
2556
+ * Contains the node-index path, the total numeric distance, and the edge data
2557
+ * encountered along the path.
2399
2558
  *
2400
- * @since 4.0.0
2401
2559
  * @category models
2560
+ * @since 3.18.0
2402
2561
  */
2403
2562
  export interface PathResult<E> {
2404
2563
  readonly path: Array<NodeIndex>;
@@ -2406,10 +2565,15 @@ export interface PathResult<E> {
2406
2565
  readonly costs: Array<E>;
2407
2566
  }
2408
2567
  /**
2409
- * Configuration for Dijkstra's algorithm.
2568
+ * Configuration for finding a shortest path with Dijkstra's algorithm.
2569
+ *
2570
+ * **Details**
2571
+ *
2572
+ * Specifies the source and target node indices, plus a cost function that maps
2573
+ * each edge's data to a non-negative numeric weight.
2410
2574
  *
2411
- * @since 4.0.0
2412
2575
  * @category models
2576
+ * @since 3.18.0
2413
2577
  */
2414
2578
  export interface DijkstraConfig<E> {
2415
2579
  source: NodeIndex;
@@ -2417,12 +2581,17 @@ export interface DijkstraConfig<E> {
2417
2581
  cost: (edgeData: E) => number;
2418
2582
  }
2419
2583
  /**
2420
- * Find the shortest path between two nodes using Dijkstra's algorithm.
2584
+ * Finds the shortest path from the configured source node to the target node
2585
+ * using Dijkstra's algorithm.
2586
+ *
2587
+ * **Details**
2588
+ *
2589
+ * Edge costs must be non-negative. Returns `Option.none()` when the target is
2590
+ * not reachable, and throws a `GraphError` when either endpoint is missing or a
2591
+ * negative edge cost is encountered.
2421
2592
  *
2422
- * Dijkstra's algorithm works with non-negative edge weights and finds the shortest
2423
- * path from a source node to a target node in O((V + E) log V) time complexity.
2593
+ * **Example** (Finding shortest paths with Dijkstra)
2424
2594
  *
2425
- * @example
2426
2595
  * ```ts
2427
2596
  * import { Graph } from "effect"
2428
2597
  *
@@ -2447,17 +2616,22 @@ export interface DijkstraConfig<E> {
2447
2616
  * }
2448
2617
  * ```
2449
2618
  *
2450
- * @since 4.0.0
2451
2619
  * @category algorithms
2620
+ * @since 3.18.0
2452
2621
  */
2453
2622
  export declare const dijkstra: {
2454
2623
  /**
2455
- * Find the shortest path between two nodes using Dijkstra's algorithm.
2624
+ * Finds the shortest path from the configured source node to the target node
2625
+ * using Dijkstra's algorithm.
2626
+ *
2627
+ * **Details**
2456
2628
  *
2457
- * Dijkstra's algorithm works with non-negative edge weights and finds the shortest
2458
- * path from a source node to a target node in O((V + E) log V) time complexity.
2629
+ * Edge costs must be non-negative. Returns `Option.none()` when the target is
2630
+ * not reachable, and throws a `GraphError` when either endpoint is missing or a
2631
+ * negative edge cost is encountered.
2632
+ *
2633
+ * **Example** (Finding shortest paths with Dijkstra)
2459
2634
  *
2460
- * @example
2461
2635
  * ```ts
2462
2636
  * import { Graph } from "effect"
2463
2637
  *
@@ -2482,17 +2656,22 @@ export declare const dijkstra: {
2482
2656
  * }
2483
2657
  * ```
2484
2658
  *
2485
- * @since 4.0.0
2486
2659
  * @category algorithms
2660
+ * @since 3.18.0
2487
2661
  */
2488
2662
  <E>(config: DijkstraConfig<E>): <N, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => Option.Option<PathResult<E>>;
2489
2663
  /**
2490
- * Find the shortest path between two nodes using Dijkstra's algorithm.
2664
+ * Finds the shortest path from the configured source node to the target node
2665
+ * using Dijkstra's algorithm.
2666
+ *
2667
+ * **Details**
2491
2668
  *
2492
- * Dijkstra's algorithm works with non-negative edge weights and finds the shortest
2493
- * path from a source node to a target node in O((V + E) log V) time complexity.
2669
+ * Edge costs must be non-negative. Returns `Option.none()` when the target is
2670
+ * not reachable, and throws a `GraphError` when either endpoint is missing or a
2671
+ * negative edge cost is encountered.
2672
+ *
2673
+ * **Example** (Finding shortest paths with Dijkstra)
2494
2674
  *
2495
- * @example
2496
2675
  * ```ts
2497
2676
  * import { Graph } from "effect"
2498
2677
  *
@@ -2517,16 +2696,21 @@ export declare const dijkstra: {
2517
2696
  * }
2518
2697
  * ```
2519
2698
  *
2520
- * @since 4.0.0
2521
2699
  * @category algorithms
2700
+ * @since 3.18.0
2522
2701
  */
2523
2702
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, config: DijkstraConfig<E>): Option.Option<PathResult<E>>;
2524
2703
  };
2525
2704
  /**
2526
- * Result of all-pairs shortest path computation.
2705
+ * Result of an all-pairs shortest path computation.
2706
+ *
2707
+ * **Details**
2708
+ *
2709
+ * Contains distance, node-path, and edge-data maps keyed by source and target
2710
+ * node indices.
2527
2711
  *
2528
- * @since 4.0.0
2529
2712
  * @category models
2713
+ * @since 3.18.0
2530
2714
  */
2531
2715
  export interface AllPairsResult<E> {
2532
2716
  readonly distances: Map<NodeIndex, Map<NodeIndex, number>>;
@@ -2534,14 +2718,17 @@ export interface AllPairsResult<E> {
2534
2718
  readonly costs: Map<NodeIndex, Map<NodeIndex, Array<E>>>;
2535
2719
  }
2536
2720
  /**
2537
- * Find shortest paths between all pairs of nodes using Floyd-Warshall algorithm.
2721
+ * Finds shortest paths between all pairs of nodes using the Floyd-Warshall
2722
+ * algorithm.
2538
2723
  *
2539
- * Floyd-Warshall algorithm computes shortest paths between all pairs of nodes in O(V³) time.
2540
- * It can handle negative edge weights and detect negative cycles.
2724
+ * **Details**
2541
2725
  *
2542
- * Throws if a negative cycle is detected that affects the path to target.
2726
+ * Computes distances, reconstructed node paths, and edge-data paths for every
2727
+ * source and target pair in O(V^3) time. Negative edge weights are allowed, but
2728
+ * a `GraphError` is thrown if any negative cycle is detected.
2729
+ *
2730
+ * **Example** (Finding all-pairs shortest paths)
2543
2731
  *
2544
- * @example
2545
2732
  * ```ts
2546
2733
  * import { Graph } from "effect"
2547
2734
  *
@@ -2559,19 +2746,22 @@ export interface AllPairsResult<E> {
2559
2746
  * const pathAToC = result.paths.get(0)?.get(2) // [0, 1, 2]
2560
2747
  * ```
2561
2748
  *
2562
- * @since 4.0.0
2563
2749
  * @category algorithms
2750
+ * @since 3.18.0
2564
2751
  */
2565
2752
  export declare const floydWarshall: {
2566
2753
  /**
2567
- * Find shortest paths between all pairs of nodes using Floyd-Warshall algorithm.
2754
+ * Finds shortest paths between all pairs of nodes using the Floyd-Warshall
2755
+ * algorithm.
2568
2756
  *
2569
- * Floyd-Warshall algorithm computes shortest paths between all pairs of nodes in O(V³) time.
2570
- * It can handle negative edge weights and detect negative cycles.
2757
+ * **Details**
2571
2758
  *
2572
- * Throws if a negative cycle is detected that affects the path to target.
2759
+ * Computes distances, reconstructed node paths, and edge-data paths for every
2760
+ * source and target pair in O(V^3) time. Negative edge weights are allowed, but
2761
+ * a `GraphError` is thrown if any negative cycle is detected.
2762
+ *
2763
+ * **Example** (Finding all-pairs shortest paths)
2573
2764
  *
2574
- * @example
2575
2765
  * ```ts
2576
2766
  * import { Graph } from "effect"
2577
2767
  *
@@ -2589,19 +2779,22 @@ export declare const floydWarshall: {
2589
2779
  * const pathAToC = result.paths.get(0)?.get(2) // [0, 1, 2]
2590
2780
  * ```
2591
2781
  *
2592
- * @since 4.0.0
2593
2782
  * @category algorithms
2783
+ * @since 3.18.0
2594
2784
  */
2595
2785
  <E>(cost: (edgeData: E) => number): <N, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => AllPairsResult<E>;
2596
2786
  /**
2597
- * Find shortest paths between all pairs of nodes using Floyd-Warshall algorithm.
2787
+ * Finds shortest paths between all pairs of nodes using the Floyd-Warshall
2788
+ * algorithm.
2789
+ *
2790
+ * **Details**
2598
2791
  *
2599
- * Floyd-Warshall algorithm computes shortest paths between all pairs of nodes in O(V³) time.
2600
- * It can handle negative edge weights and detect negative cycles.
2792
+ * Computes distances, reconstructed node paths, and edge-data paths for every
2793
+ * source and target pair in O(V^3) time. Negative edge weights are allowed, but
2794
+ * a `GraphError` is thrown if any negative cycle is detected.
2601
2795
  *
2602
- * Throws if a negative cycle is detected that affects the path to target.
2796
+ * **Example** (Finding all-pairs shortest paths)
2603
2797
  *
2604
- * @example
2605
2798
  * ```ts
2606
2799
  * import { Graph } from "effect"
2607
2800
  *
@@ -2619,16 +2812,21 @@ export declare const floydWarshall: {
2619
2812
  * const pathAToC = result.paths.get(0)?.get(2) // [0, 1, 2]
2620
2813
  * ```
2621
2814
  *
2622
- * @since 4.0.0
2623
2815
  * @category algorithms
2816
+ * @since 3.18.0
2624
2817
  */
2625
2818
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, cost: (edgeData: E) => number): AllPairsResult<E>;
2626
2819
  };
2627
2820
  /**
2628
- * Configuration for A* pathfinding algorithm.
2821
+ * Configuration for finding a shortest path with the A* algorithm.
2822
+ *
2823
+ * **Details**
2824
+ *
2825
+ * Specifies the source and target node indices, an edge-cost function, and a
2826
+ * heuristic that estimates the remaining cost from a node to the target.
2629
2827
  *
2630
- * @since 4.0.0
2631
2828
  * @category models
2829
+ * @since 3.18.0
2632
2830
  */
2633
2831
  export interface AstarConfig<E, N> {
2634
2832
  source: NodeIndex;
@@ -2637,13 +2835,18 @@ export interface AstarConfig<E, N> {
2637
2835
  heuristic: (sourceNodeData: N, targetNodeData: N) => number;
2638
2836
  }
2639
2837
  /**
2640
- * Find the shortest path between two nodes using A* pathfinding algorithm.
2838
+ * Finds the shortest path from the configured source node to the target node
2839
+ * using the A* pathfinding algorithm.
2840
+ *
2841
+ * **Details**
2641
2842
  *
2642
- * A* is an extension of Dijkstra's algorithm that uses a heuristic function to guide
2643
- * the search towards the target, potentially finding paths faster than Dijkstra's.
2644
- * The heuristic must be admissible (never overestimate the actual cost).
2843
+ * The edge-cost function must return non-negative weights, and the heuristic
2844
+ * should be admissible to preserve shortest-path guarantees. Returns
2845
+ * `Option.none()` when the target is not reachable, and throws a `GraphError`
2846
+ * when either endpoint is missing or a negative edge cost is encountered.
2847
+ *
2848
+ * **Example** (Finding shortest paths with A-star)
2645
2849
  *
2646
- * @example
2647
2850
  * ```ts
2648
2851
  * import { Graph } from "effect"
2649
2852
  *
@@ -2674,18 +2877,23 @@ export interface AstarConfig<E, N> {
2674
2877
  * }
2675
2878
  * ```
2676
2879
  *
2677
- * @since 4.0.0
2678
2880
  * @category algorithms
2881
+ * @since 3.18.0
2679
2882
  */
2680
2883
  export declare const astar: {
2681
2884
  /**
2682
- * Find the shortest path between two nodes using A* pathfinding algorithm.
2885
+ * Finds the shortest path from the configured source node to the target node
2886
+ * using the A* pathfinding algorithm.
2683
2887
  *
2684
- * A* is an extension of Dijkstra's algorithm that uses a heuristic function to guide
2685
- * the search towards the target, potentially finding paths faster than Dijkstra's.
2686
- * The heuristic must be admissible (never overestimate the actual cost).
2888
+ * **Details**
2889
+ *
2890
+ * The edge-cost function must return non-negative weights, and the heuristic
2891
+ * should be admissible to preserve shortest-path guarantees. Returns
2892
+ * `Option.none()` when the target is not reachable, and throws a `GraphError`
2893
+ * when either endpoint is missing or a negative edge cost is encountered.
2894
+ *
2895
+ * **Example** (Finding shortest paths with A-star)
2687
2896
  *
2688
- * @example
2689
2897
  * ```ts
2690
2898
  * import { Graph } from "effect"
2691
2899
  *
@@ -2716,18 +2924,23 @@ export declare const astar: {
2716
2924
  * }
2717
2925
  * ```
2718
2926
  *
2719
- * @since 4.0.0
2720
2927
  * @category algorithms
2928
+ * @since 3.18.0
2721
2929
  */
2722
2930
  <E, N>(config: AstarConfig<E, N>): <T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => Option.Option<PathResult<E>>;
2723
2931
  /**
2724
- * Find the shortest path between two nodes using A* pathfinding algorithm.
2932
+ * Finds the shortest path from the configured source node to the target node
2933
+ * using the A* pathfinding algorithm.
2934
+ *
2935
+ * **Details**
2936
+ *
2937
+ * The edge-cost function must return non-negative weights, and the heuristic
2938
+ * should be admissible to preserve shortest-path guarantees. Returns
2939
+ * `Option.none()` when the target is not reachable, and throws a `GraphError`
2940
+ * when either endpoint is missing or a negative edge cost is encountered.
2725
2941
  *
2726
- * A* is an extension of Dijkstra's algorithm that uses a heuristic function to guide
2727
- * the search towards the target, potentially finding paths faster than Dijkstra's.
2728
- * The heuristic must be admissible (never overestimate the actual cost).
2942
+ * **Example** (Finding shortest paths with A-star)
2729
2943
  *
2730
- * @example
2731
2944
  * ```ts
2732
2945
  * import { Graph } from "effect"
2733
2946
  *
@@ -2758,16 +2971,21 @@ export declare const astar: {
2758
2971
  * }
2759
2972
  * ```
2760
2973
  *
2761
- * @since 4.0.0
2762
2974
  * @category algorithms
2975
+ * @since 3.18.0
2763
2976
  */
2764
2977
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, config: AstarConfig<E, N>): Option.Option<PathResult<E>>;
2765
2978
  };
2766
2979
  /**
2767
- * Configuration for Bellman-Ford algorithm.
2980
+ * Configuration for finding a shortest path with the Bellman-Ford algorithm.
2981
+ *
2982
+ * **Details**
2983
+ *
2984
+ * Specifies the source and target node indices, plus a cost function that maps
2985
+ * each edge's data to a numeric weight.
2768
2986
  *
2769
- * @since 4.0.0
2770
2987
  * @category models
2988
+ * @since 3.18.0
2771
2989
  */
2772
2990
  export interface BellmanFordConfig<E> {
2773
2991
  source: NodeIndex;
@@ -2775,13 +2993,17 @@ export interface BellmanFordConfig<E> {
2775
2993
  cost: (edgeData: E) => number;
2776
2994
  }
2777
2995
  /**
2778
- * Find the shortest path between two nodes using Bellman-Ford algorithm.
2996
+ * Finds the shortest path from the configured source node to the target node
2997
+ * using the Bellman-Ford algorithm.
2998
+ *
2999
+ * **Details**
2779
3000
  *
2780
- * Bellman-Ford algorithm can handle negative edge weights and detects negative cycles.
2781
- * It has O(VE) time complexity, slower than Dijkstra's but more versatile.
2782
- * Returns Option.none() if a negative cycle is detected that affects the path.
3001
+ * Negative edge weights are allowed. Returns `Option.none()` when the target is
3002
+ * unreachable or when a negative cycle affects the path to the target. Throws a
3003
+ * `GraphError` when either endpoint is missing.
3004
+ *
3005
+ * **Example** (Finding shortest paths with Bellman-Ford)
2783
3006
  *
2784
- * @example
2785
3007
  * ```ts
2786
3008
  * import { Graph } from "effect"
2787
3009
  *
@@ -2806,18 +3028,22 @@ export interface BellmanFordConfig<E> {
2806
3028
  * }
2807
3029
  * ```
2808
3030
  *
2809
- * @since 4.0.0
2810
3031
  * @category algorithms
3032
+ * @since 3.18.0
2811
3033
  */
2812
3034
  export declare const bellmanFord: {
2813
3035
  /**
2814
- * Find the shortest path between two nodes using Bellman-Ford algorithm.
3036
+ * Finds the shortest path from the configured source node to the target node
3037
+ * using the Bellman-Ford algorithm.
3038
+ *
3039
+ * **Details**
2815
3040
  *
2816
- * Bellman-Ford algorithm can handle negative edge weights and detects negative cycles.
2817
- * It has O(VE) time complexity, slower than Dijkstra's but more versatile.
2818
- * Returns Option.none() if a negative cycle is detected that affects the path.
3041
+ * Negative edge weights are allowed. Returns `Option.none()` when the target is
3042
+ * unreachable or when a negative cycle affects the path to the target. Throws a
3043
+ * `GraphError` when either endpoint is missing.
3044
+ *
3045
+ * **Example** (Finding shortest paths with Bellman-Ford)
2819
3046
  *
2820
- * @example
2821
3047
  * ```ts
2822
3048
  * import { Graph } from "effect"
2823
3049
  *
@@ -2842,18 +3068,22 @@ export declare const bellmanFord: {
2842
3068
  * }
2843
3069
  * ```
2844
3070
  *
2845
- * @since 4.0.0
2846
3071
  * @category algorithms
3072
+ * @since 3.18.0
2847
3073
  */
2848
3074
  <E>(config: BellmanFordConfig<E>): <N, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => Option.Option<PathResult<E>>;
2849
3075
  /**
2850
- * Find the shortest path between two nodes using Bellman-Ford algorithm.
3076
+ * Finds the shortest path from the configured source node to the target node
3077
+ * using the Bellman-Ford algorithm.
2851
3078
  *
2852
- * Bellman-Ford algorithm can handle negative edge weights and detects negative cycles.
2853
- * It has O(VE) time complexity, slower than Dijkstra's but more versatile.
2854
- * Returns Option.none() if a negative cycle is detected that affects the path.
3079
+ * **Details**
3080
+ *
3081
+ * Negative edge weights are allowed. Returns `Option.none()` when the target is
3082
+ * unreachable or when a negative cycle affects the path to the target. Throws a
3083
+ * `GraphError` when either endpoint is missing.
3084
+ *
3085
+ * **Example** (Finding shortest paths with Bellman-Ford)
2855
3086
  *
2856
- * @example
2857
3087
  * ```ts
2858
3088
  * import { Graph } from "effect"
2859
3089
  *
@@ -2878,19 +3108,22 @@ export declare const bellmanFord: {
2878
3108
  * }
2879
3109
  * ```
2880
3110
  *
2881
- * @since 4.0.0
2882
3111
  * @category algorithms
3112
+ * @since 3.18.0
2883
3113
  */
2884
3114
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, config: BellmanFordConfig<E>): Option.Option<PathResult<E>>;
2885
3115
  };
2886
3116
  /**
2887
- * Concrete class for iterables that produce [NodeIndex, NodeData] tuples.
3117
+ * Iterable wrapper used by graph traversal and listing APIs.
3118
+ *
3119
+ * **Details**
3120
+ *
3121
+ * A `Walker` yields `[index, data]` pairs lazily and can be viewed as just the
3122
+ * indices, just the values, or mapped entries with `indices`, `values`,
3123
+ * `entries`, and `visit`.
2888
3124
  *
2889
- * This class provides a common abstraction for all iterables that return node data,
2890
- * including traversal iterators (DFS, BFS, etc.) and element iterators (nodes, externals).
2891
- * It uses a mapEntry function pattern for flexible iteration and transformation.
3125
+ * **Example** (Working with node walkers)
2892
3126
  *
2893
- * @example
2894
3127
  * ```ts
2895
3128
  * import { Graph } from "effect"
2896
3129
  *
@@ -2914,8 +3147,8 @@ export declare const bellmanFord: {
2914
3147
  * const nodeEntries = Array.from(Graph.entries(allNodes)) // [[0, "A"], [1, "B"]]
2915
3148
  * ```
2916
3149
  *
2917
- * @since 4.0.0
2918
3150
  * @category models
3151
+ * @since 3.18.0
2919
3152
  */
2920
3153
  export declare class Walker<T, N> implements Iterable<[T, N]> {
2921
3154
  readonly [Symbol.iterator]: () => Iterator<[T, N]>;
@@ -2926,7 +3159,8 @@ export declare class Walker<T, N> implements Iterable<[T, N]> {
2926
3159
  * and returns an iterable of the mapped values. Skips elements that
2927
3160
  * no longer exist in the graph.
2928
3161
  *
2929
- * @example
3162
+ * **Example** (Visiting walker elements)
3163
+ *
2930
3164
  * ```ts
2931
3165
  * import { Graph } from "effect"
2932
3166
  *
@@ -2950,7 +3184,6 @@ export declare class Walker<T, N> implements Iterable<[T, N]> {
2950
3184
  * ```
2951
3185
  *
2952
3186
  * @since 4.0.0
2953
- * @category iterators
2954
3187
  */
2955
3188
  readonly visit: <U>(f: (index: T, data: N) => U) => Iterable<U>;
2956
3189
  constructor(
@@ -2961,7 +3194,8 @@ export declare class Walker<T, N> implements Iterable<[T, N]> {
2961
3194
  * and returns an iterable of the mapped values. Skips elements that
2962
3195
  * no longer exist in the graph.
2963
3196
  *
2964
- * @example
3197
+ * **Example** (Visiting walker elements)
3198
+ *
2965
3199
  * ```ts
2966
3200
  * import { Graph } from "effect"
2967
3201
  *
@@ -2984,8 +3218,8 @@ export declare class Walker<T, N> implements Iterable<[T, N]> {
2984
3218
  * console.log(custom) // [{ id: 0, name: "A" }, { id: 1, name: "B" }]
2985
3219
  * ```
2986
3220
  *
2987
- * @since 4.0.0
2988
3221
  * @category iterators
3222
+ * @since 4.0.0
2989
3223
  */
2990
3224
  visit: <U>(f: (index: T, data: N) => U) => Iterable<U>);
2991
3225
  }
@@ -2993,22 +3227,23 @@ export declare class Walker<T, N> implements Iterable<[T, N]> {
2993
3227
  * Type alias for node iteration using Walker.
2994
3228
  * NodeWalker is represented as Walker<NodeIndex, N>.
2995
3229
  *
2996
- * @since 4.0.0
2997
3230
  * @category models
3231
+ * @since 3.18.0
2998
3232
  */
2999
3233
  export type NodeWalker<N> = Walker<NodeIndex, N>;
3000
3234
  /**
3001
3235
  * Type alias for edge iteration using Walker.
3002
3236
  * EdgeWalker is represented as Walker<EdgeIndex, Edge<E>>.
3003
3237
  *
3004
- * @since 4.0.0
3005
3238
  * @category models
3239
+ * @since 3.18.0
3006
3240
  */
3007
3241
  export type EdgeWalker<E> = Walker<EdgeIndex, Edge<E>>;
3008
3242
  /**
3009
3243
  * Returns an iterator over the indices in the walker.
3010
3244
  *
3011
- * @example
3245
+ * **Example** (Iterating walker indices)
3246
+ *
3012
3247
  * ```ts
3013
3248
  * import { Graph } from "effect"
3014
3249
  *
@@ -3023,14 +3258,15 @@ export type EdgeWalker<E> = Walker<EdgeIndex, Edge<E>>;
3023
3258
  * console.log(indices) // [0, 1]
3024
3259
  * ```
3025
3260
  *
3026
- * @since 4.0.0
3027
- * @category utilities
3261
+ * @category utils
3262
+ * @since 3.18.0
3028
3263
  */
3029
3264
  export declare const indices: <T, N>(walker: Walker<T, N>) => Iterable<T>;
3030
3265
  /**
3031
3266
  * Returns an iterator over the values (data) in the walker.
3032
3267
  *
3033
- * @example
3268
+ * **Example** (Iterating walker values)
3269
+ *
3034
3270
  * ```ts
3035
3271
  * import { Graph } from "effect"
3036
3272
  *
@@ -3045,14 +3281,15 @@ export declare const indices: <T, N>(walker: Walker<T, N>) => Iterable<T>;
3045
3281
  * console.log(values) // ["A", "B"]
3046
3282
  * ```
3047
3283
  *
3048
- * @since 4.0.0
3049
- * @category utilities
3284
+ * @category utils
3285
+ * @since 3.18.0
3050
3286
  */
3051
3287
  export declare const values: <T, N>(walker: Walker<T, N>) => Iterable<N>;
3052
3288
  /**
3053
3289
  * Returns an iterator over [index, data] entries in the walker.
3054
3290
  *
3055
- * @example
3291
+ * **Example** (Iterating walker entries)
3292
+ *
3056
3293
  * ```ts
3057
3294
  * import { Graph } from "effect"
3058
3295
  *
@@ -3067,27 +3304,38 @@ export declare const values: <T, N>(walker: Walker<T, N>) => Iterable<N>;
3067
3304
  * console.log(entries) // [[0, "A"], [1, "B"]]
3068
3305
  * ```
3069
3306
  *
3070
- * @since 4.0.0
3071
- * @category utilities
3307
+ * @category utils
3308
+ * @since 3.18.0
3072
3309
  */
3073
3310
  export declare const entries: <T, N>(walker: Walker<T, N>) => Iterable<[T, N]>;
3074
3311
  /**
3075
- * Configuration options for search iterators.
3312
+ * Configuration for DFS, BFS, and postorder graph traversals.
3313
+ *
3314
+ * **Details**
3315
+ *
3316
+ * `start` supplies the node indices where traversal begins. If it is omitted,
3317
+ * the iterator is empty. `direction` chooses whether traversal follows
3318
+ * outgoing or incoming edges.
3076
3319
  *
3077
- * @since 4.0.0
3078
3320
  * @category models
3321
+ * @since 3.18.0
3079
3322
  */
3080
3323
  export interface SearchConfig {
3081
3324
  readonly start?: Array<NodeIndex>;
3082
3325
  readonly direction?: Direction;
3083
3326
  }
3084
3327
  /**
3085
- * Creates a new DFS iterator with optional configuration.
3328
+ * Creates a lazy depth-first traversal iterator from the configured start
3329
+ * nodes.
3086
3330
  *
3087
- * The iterator maintains a stack of nodes to visit and tracks discovered nodes.
3088
- * It provides lazy evaluation of the depth-first search.
3331
+ * **Details**
3332
+ *
3333
+ * If no start nodes are supplied, the iterator is empty. The `direction` option
3334
+ * chooses whether to follow outgoing or incoming edges. Throws a `GraphError`
3335
+ * if any configured start node does not exist.
3336
+ *
3337
+ * **Example** (Traversing depth-first)
3089
3338
  *
3090
- * @example
3091
3339
  * ```ts
3092
3340
  * import { Graph } from "effect"
3093
3341
  *
@@ -3110,17 +3358,22 @@ export interface SearchConfig {
3110
3358
  * // Can be used programmatically
3111
3359
  * ```
3112
3360
  *
3113
- * @since 4.0.0
3114
3361
  * @category iterators
3362
+ * @since 3.18.0
3115
3363
  */
3116
3364
  export declare const dfs: {
3117
3365
  /**
3118
- * Creates a new DFS iterator with optional configuration.
3366
+ * Creates a lazy depth-first traversal iterator from the configured start
3367
+ * nodes.
3368
+ *
3369
+ * **Details**
3370
+ *
3371
+ * If no start nodes are supplied, the iterator is empty. The `direction` option
3372
+ * chooses whether to follow outgoing or incoming edges. Throws a `GraphError`
3373
+ * if any configured start node does not exist.
3119
3374
  *
3120
- * The iterator maintains a stack of nodes to visit and tracks discovered nodes.
3121
- * It provides lazy evaluation of the depth-first search.
3375
+ * **Example** (Traversing depth-first)
3122
3376
  *
3123
- * @example
3124
3377
  * ```ts
3125
3378
  * import { Graph } from "effect"
3126
3379
  *
@@ -3143,17 +3396,22 @@ export declare const dfs: {
3143
3396
  * // Can be used programmatically
3144
3397
  * ```
3145
3398
  *
3146
- * @since 4.0.0
3147
3399
  * @category iterators
3400
+ * @since 3.18.0
3148
3401
  */
3149
3402
  (config?: SearchConfig): <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => NodeWalker<N>;
3150
3403
  /**
3151
- * Creates a new DFS iterator with optional configuration.
3404
+ * Creates a lazy depth-first traversal iterator from the configured start
3405
+ * nodes.
3406
+ *
3407
+ * **Details**
3408
+ *
3409
+ * If no start nodes are supplied, the iterator is empty. The `direction` option
3410
+ * chooses whether to follow outgoing or incoming edges. Throws a `GraphError`
3411
+ * if any configured start node does not exist.
3152
3412
  *
3153
- * The iterator maintains a stack of nodes to visit and tracks discovered nodes.
3154
- * It provides lazy evaluation of the depth-first search.
3413
+ * **Example** (Traversing depth-first)
3155
3414
  *
3156
- * @example
3157
3415
  * ```ts
3158
3416
  * import { Graph } from "effect"
3159
3417
  *
@@ -3176,18 +3434,23 @@ export declare const dfs: {
3176
3434
  * // Can be used programmatically
3177
3435
  * ```
3178
3436
  *
3179
- * @since 4.0.0
3180
3437
  * @category iterators
3438
+ * @since 3.18.0
3181
3439
  */
3182
3440
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, config?: SearchConfig): NodeWalker<N>;
3183
3441
  };
3184
3442
  /**
3185
- * Creates a new BFS iterator with optional configuration.
3443
+ * Creates a lazy breadth-first traversal iterator from the configured start
3444
+ * nodes.
3445
+ *
3446
+ * **Details**
3186
3447
  *
3187
- * The iterator maintains a queue of nodes to visit and tracks discovered nodes.
3188
- * It provides lazy evaluation of the breadth-first search.
3448
+ * If no start nodes are supplied, the iterator is empty. The `direction` option
3449
+ * chooses whether to follow outgoing or incoming edges. Throws a `GraphError`
3450
+ * if any configured start node does not exist.
3451
+ *
3452
+ * **Example** (Traversing breadth-first)
3189
3453
  *
3190
- * @example
3191
3454
  * ```ts
3192
3455
  * import { Graph } from "effect"
3193
3456
  *
@@ -3210,17 +3473,22 @@ export declare const dfs: {
3210
3473
  * // Can be used programmatically
3211
3474
  * ```
3212
3475
  *
3213
- * @since 4.0.0
3214
3476
  * @category iterators
3477
+ * @since 3.18.0
3215
3478
  */
3216
3479
  export declare const bfs: {
3217
3480
  /**
3218
- * Creates a new BFS iterator with optional configuration.
3481
+ * Creates a lazy breadth-first traversal iterator from the configured start
3482
+ * nodes.
3483
+ *
3484
+ * **Details**
3219
3485
  *
3220
- * The iterator maintains a queue of nodes to visit and tracks discovered nodes.
3221
- * It provides lazy evaluation of the breadth-first search.
3486
+ * If no start nodes are supplied, the iterator is empty. The `direction` option
3487
+ * chooses whether to follow outgoing or incoming edges. Throws a `GraphError`
3488
+ * if any configured start node does not exist.
3489
+ *
3490
+ * **Example** (Traversing breadth-first)
3222
3491
  *
3223
- * @example
3224
3492
  * ```ts
3225
3493
  * import { Graph } from "effect"
3226
3494
  *
@@ -3243,17 +3511,22 @@ export declare const bfs: {
3243
3511
  * // Can be used programmatically
3244
3512
  * ```
3245
3513
  *
3246
- * @since 4.0.0
3247
3514
  * @category iterators
3515
+ * @since 3.18.0
3248
3516
  */
3249
3517
  (config?: SearchConfig): <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => NodeWalker<N>;
3250
3518
  /**
3251
- * Creates a new BFS iterator with optional configuration.
3519
+ * Creates a lazy breadth-first traversal iterator from the configured start
3520
+ * nodes.
3252
3521
  *
3253
- * The iterator maintains a queue of nodes to visit and tracks discovered nodes.
3254
- * It provides lazy evaluation of the breadth-first search.
3522
+ * **Details**
3523
+ *
3524
+ * If no start nodes are supplied, the iterator is empty. The `direction` option
3525
+ * chooses whether to follow outgoing or incoming edges. Throws a `GraphError`
3526
+ * if any configured start node does not exist.
3527
+ *
3528
+ * **Example** (Traversing breadth-first)
3255
3529
  *
3256
- * @example
3257
3530
  * ```ts
3258
3531
  * import { Graph } from "effect"
3259
3532
  *
@@ -3276,16 +3549,22 @@ export declare const bfs: {
3276
3549
  * // Can be used programmatically
3277
3550
  * ```
3278
3551
  *
3279
- * @since 4.0.0
3280
3552
  * @category iterators
3553
+ * @since 3.18.0
3281
3554
  */
3282
3555
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, config?: SearchConfig): NodeWalker<N>;
3283
3556
  };
3284
3557
  /**
3285
- * Configuration options for topological sort iterator.
3558
+ * Configuration for the topological sort iterator.
3559
+ *
3560
+ * **Details**
3561
+ *
3562
+ * `initials` optionally supplies the node indices used as initial queue
3563
+ * entries. When omitted, topological sorting starts from all nodes with zero
3564
+ * in-degree.
3286
3565
  *
3287
- * @since 4.0.0
3288
3566
  * @category models
3567
+ * @since 3.18.0
3289
3568
  */
3290
3569
  export interface TopoConfig {
3291
3570
  readonly initials?: Array<NodeIndex>;
@@ -3296,7 +3575,8 @@ export interface TopoConfig {
3296
3575
  * The iterator uses Kahn's algorithm to lazily produce nodes in topological order.
3297
3576
  * Throws an error if the graph contains cycles.
3298
3577
  *
3299
- * @example
3578
+ * **Example** (Sorting topologically)
3579
+ *
3300
3580
  * ```ts
3301
3581
  * import { Graph } from "effect"
3302
3582
  *
@@ -3317,7 +3597,7 @@ export interface TopoConfig {
3317
3597
  * // With initial nodes
3318
3598
  * const topo2 = Graph.topo(graph, { initials: [0] })
3319
3599
  *
3320
- * // Throws error for cyclic graph
3600
+ * // Check before sorting a cyclic graph
3321
3601
  * const cyclicGraph = Graph.directed<string, number>((mutable) => {
3322
3602
  * const a = Graph.addNode(mutable, "A")
3323
3603
  * const b = Graph.addNode(mutable, "B")
@@ -3325,15 +3605,13 @@ export interface TopoConfig {
3325
3605
  * Graph.addEdge(mutable, b, a, 2) // Creates cycle
3326
3606
  * })
3327
3607
  *
3328
- * try {
3329
- * Graph.topo(cyclicGraph) // Throws: "Cannot perform topological sort on cyclic graph"
3330
- * } catch (error) {
3331
- * console.log((error as Error).message)
3608
+ * if (!Graph.isAcyclic(cyclicGraph)) {
3609
+ * console.log("cyclic graph") // cyclic graph
3332
3610
  * }
3333
3611
  * ```
3334
3612
  *
3335
- * @since 4.0.0
3336
3613
  * @category iterators
3614
+ * @since 3.18.0
3337
3615
  */
3338
3616
  export declare const topo: {
3339
3617
  /**
@@ -3342,7 +3620,8 @@ export declare const topo: {
3342
3620
  * The iterator uses Kahn's algorithm to lazily produce nodes in topological order.
3343
3621
  * Throws an error if the graph contains cycles.
3344
3622
  *
3345
- * @example
3623
+ * **Example** (Sorting topologically)
3624
+ *
3346
3625
  * ```ts
3347
3626
  * import { Graph } from "effect"
3348
3627
  *
@@ -3363,7 +3642,7 @@ export declare const topo: {
3363
3642
  * // With initial nodes
3364
3643
  * const topo2 = Graph.topo(graph, { initials: [0] })
3365
3644
  *
3366
- * // Throws error for cyclic graph
3645
+ * // Check before sorting a cyclic graph
3367
3646
  * const cyclicGraph = Graph.directed<string, number>((mutable) => {
3368
3647
  * const a = Graph.addNode(mutable, "A")
3369
3648
  * const b = Graph.addNode(mutable, "B")
@@ -3371,15 +3650,13 @@ export declare const topo: {
3371
3650
  * Graph.addEdge(mutable, b, a, 2) // Creates cycle
3372
3651
  * })
3373
3652
  *
3374
- * try {
3375
- * Graph.topo(cyclicGraph) // Throws: "Cannot perform topological sort on cyclic graph"
3376
- * } catch (error) {
3377
- * console.log((error as Error).message)
3653
+ * if (!Graph.isAcyclic(cyclicGraph)) {
3654
+ * console.log("cyclic graph") // cyclic graph
3378
3655
  * }
3379
3656
  * ```
3380
3657
  *
3381
- * @since 4.0.0
3382
3658
  * @category iterators
3659
+ * @since 3.18.0
3383
3660
  */
3384
3661
  (config?: TopoConfig): <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => NodeWalker<N>;
3385
3662
  /**
@@ -3388,7 +3665,8 @@ export declare const topo: {
3388
3665
  * The iterator uses Kahn's algorithm to lazily produce nodes in topological order.
3389
3666
  * Throws an error if the graph contains cycles.
3390
3667
  *
3391
- * @example
3668
+ * **Example** (Sorting topologically)
3669
+ *
3392
3670
  * ```ts
3393
3671
  * import { Graph } from "effect"
3394
3672
  *
@@ -3409,7 +3687,7 @@ export declare const topo: {
3409
3687
  * // With initial nodes
3410
3688
  * const topo2 = Graph.topo(graph, { initials: [0] })
3411
3689
  *
3412
- * // Throws error for cyclic graph
3690
+ * // Check before sorting a cyclic graph
3413
3691
  * const cyclicGraph = Graph.directed<string, number>((mutable) => {
3414
3692
  * const a = Graph.addNode(mutable, "A")
3415
3693
  * const b = Graph.addNode(mutable, "B")
@@ -3417,26 +3695,28 @@ export declare const topo: {
3417
3695
  * Graph.addEdge(mutable, b, a, 2) // Creates cycle
3418
3696
  * })
3419
3697
  *
3420
- * try {
3421
- * Graph.topo(cyclicGraph) // Throws: "Cannot perform topological sort on cyclic graph"
3422
- * } catch (error) {
3423
- * console.log((error as Error).message)
3698
+ * if (!Graph.isAcyclic(cyclicGraph)) {
3699
+ * console.log("cyclic graph") // cyclic graph
3424
3700
  * }
3425
3701
  * ```
3426
3702
  *
3427
- * @since 4.0.0
3428
3703
  * @category iterators
3704
+ * @since 3.18.0
3429
3705
  */
3430
3706
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, config?: TopoConfig): NodeWalker<N>;
3431
3707
  };
3432
3708
  /**
3433
- * Creates a new DFS postorder iterator with optional configuration.
3709
+ * Creates a lazy depth-first postorder traversal iterator from the configured
3710
+ * start nodes.
3711
+ *
3712
+ * **Details**
3434
3713
  *
3435
- * The iterator maintains a stack with visit state tracking and emits nodes
3436
- * in postorder (after all descendants have been processed). Essential for
3437
- * dependency resolution and tree destruction algorithms.
3714
+ * Nodes are emitted after their reachable descendants have been processed. If
3715
+ * no start nodes are supplied, the iterator is empty. The `direction` option
3716
+ * chooses whether to follow outgoing or incoming edges.
3717
+ *
3718
+ * **Example** (Traversing in postorder)
3438
3719
  *
3439
- * @example
3440
3720
  * ```ts
3441
3721
  * import { Graph } from "effect"
3442
3722
  *
@@ -3455,18 +3735,22 @@ export declare const topo: {
3455
3735
  * }
3456
3736
  * ```
3457
3737
  *
3458
- * @since 4.0.0
3459
3738
  * @category iterators
3739
+ * @since 3.18.0
3460
3740
  */
3461
3741
  export declare const dfsPostOrder: {
3462
3742
  /**
3463
- * Creates a new DFS postorder iterator with optional configuration.
3743
+ * Creates a lazy depth-first postorder traversal iterator from the configured
3744
+ * start nodes.
3464
3745
  *
3465
- * The iterator maintains a stack with visit state tracking and emits nodes
3466
- * in postorder (after all descendants have been processed). Essential for
3467
- * dependency resolution and tree destruction algorithms.
3746
+ * **Details**
3747
+ *
3748
+ * Nodes are emitted after their reachable descendants have been processed. If
3749
+ * no start nodes are supplied, the iterator is empty. The `direction` option
3750
+ * chooses whether to follow outgoing or incoming edges.
3751
+ *
3752
+ * **Example** (Traversing in postorder)
3468
3753
  *
3469
- * @example
3470
3754
  * ```ts
3471
3755
  * import { Graph } from "effect"
3472
3756
  *
@@ -3485,18 +3769,22 @@ export declare const dfsPostOrder: {
3485
3769
  * }
3486
3770
  * ```
3487
3771
  *
3488
- * @since 4.0.0
3489
3772
  * @category iterators
3773
+ * @since 3.18.0
3490
3774
  */
3491
3775
  (config?: SearchConfig): <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => NodeWalker<N>;
3492
3776
  /**
3493
- * Creates a new DFS postorder iterator with optional configuration.
3777
+ * Creates a lazy depth-first postorder traversal iterator from the configured
3778
+ * start nodes.
3779
+ *
3780
+ * **Details**
3781
+ *
3782
+ * Nodes are emitted after their reachable descendants have been processed. If
3783
+ * no start nodes are supplied, the iterator is empty. The `direction` option
3784
+ * chooses whether to follow outgoing or incoming edges.
3494
3785
  *
3495
- * The iterator maintains a stack with visit state tracking and emits nodes
3496
- * in postorder (after all descendants have been processed). Essential for
3497
- * dependency resolution and tree destruction algorithms.
3786
+ * **Example** (Traversing in postorder)
3498
3787
  *
3499
- * @example
3500
3788
  * ```ts
3501
3789
  * import { Graph } from "effect"
3502
3790
  *
@@ -3515,8 +3803,8 @@ export declare const dfsPostOrder: {
3515
3803
  * }
3516
3804
  * ```
3517
3805
  *
3518
- * @since 4.0.0
3519
3806
  * @category iterators
3807
+ * @since 3.18.0
3520
3808
  */
3521
3809
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, config?: SearchConfig): NodeWalker<N>;
3522
3810
  };
@@ -3526,7 +3814,8 @@ export declare const dfsPostOrder: {
3526
3814
  * The iterator produces node indices in the order they were added to the graph.
3527
3815
  * This provides access to all nodes regardless of connectivity.
3528
3816
  *
3529
- * @example
3817
+ * **Example** (Iterating all nodes)
3818
+ *
3530
3819
  * ```ts
3531
3820
  * import { Graph } from "effect"
3532
3821
  *
@@ -3541,8 +3830,8 @@ export declare const dfsPostOrder: {
3541
3830
  * console.log(indices) // [0, 1, 2]
3542
3831
  * ```
3543
3832
  *
3544
- * @since 4.0.0
3545
3833
  * @category iterators
3834
+ * @since 3.18.0
3546
3835
  */
3547
3836
  export declare const nodes: <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => NodeWalker<N>;
3548
3837
  /**
@@ -3551,7 +3840,8 @@ export declare const nodes: <N, E, T extends Kind = "directed">(graph: Graph<N,
3551
3840
  * The iterator produces edge indices in the order they were added to the graph.
3552
3841
  * This provides access to all edges regardless of connectivity.
3553
3842
  *
3554
- * @example
3843
+ * **Example** (Iterating all edges)
3844
+ *
3555
3845
  * ```ts
3556
3846
  * import { Graph } from "effect"
3557
3847
  *
@@ -3567,15 +3857,21 @@ export declare const nodes: <N, E, T extends Kind = "directed">(graph: Graph<N,
3567
3857
  * console.log(indices) // [0, 1]
3568
3858
  * ```
3569
3859
  *
3570
- * @since 4.0.0
3571
3860
  * @category iterators
3861
+ * @since 3.18.0
3572
3862
  */
3573
3863
  export declare const edges: <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => EdgeWalker<E>;
3574
3864
  /**
3575
- * Configuration for externals iterator.
3865
+ * Configuration for selecting external nodes.
3866
+ *
3867
+ * **Details**
3868
+ *
3869
+ * `direction` chooses which missing edge direction makes a node external:
3870
+ * `"outgoing"` selects nodes with no outgoing edges, and `"incoming"` selects
3871
+ * nodes with no incoming edges.
3576
3872
  *
3577
- * @since 4.0.0
3578
3873
  * @category models
3874
+ * @since 3.18.0
3579
3875
  */
3580
3876
  export interface ExternalsConfig {
3581
3877
  readonly direction?: Direction;
@@ -3587,7 +3883,8 @@ export interface ExternalsConfig {
3587
3883
  * no incoming edges (direction="incoming"). These are useful for finding
3588
3884
  * sources, sinks, or isolated nodes.
3589
3885
  *
3590
- * @example
3886
+ * **Example** (Iterating external nodes)
3887
+ *
3591
3888
  * ```ts
3592
3889
  * import { Graph } from "effect"
3593
3890
  *
@@ -3614,8 +3911,8 @@ export interface ExternalsConfig {
3614
3911
  * console.log(sources) // [0, 3]
3615
3912
  * ```
3616
3913
  *
3617
- * @since 4.0.0
3618
3914
  * @category iterators
3915
+ * @since 3.18.0
3619
3916
  */
3620
3917
  export declare const externals: {
3621
3918
  /**
@@ -3625,7 +3922,8 @@ export declare const externals: {
3625
3922
  * no incoming edges (direction="incoming"). These are useful for finding
3626
3923
  * sources, sinks, or isolated nodes.
3627
3924
  *
3628
- * @example
3925
+ * **Example** (Iterating external nodes)
3926
+ *
3629
3927
  * ```ts
3630
3928
  * import { Graph } from "effect"
3631
3929
  *
@@ -3652,8 +3950,8 @@ export declare const externals: {
3652
3950
  * console.log(sources) // [0, 3]
3653
3951
  * ```
3654
3952
  *
3655
- * @since 4.0.0
3656
3953
  * @category iterators
3954
+ * @since 3.18.0
3657
3955
  */
3658
3956
  (config?: ExternalsConfig): <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>) => NodeWalker<N>;
3659
3957
  /**
@@ -3663,7 +3961,8 @@ export declare const externals: {
3663
3961
  * no incoming edges (direction="incoming"). These are useful for finding
3664
3962
  * sources, sinks, or isolated nodes.
3665
3963
  *
3666
- * @example
3964
+ * **Example** (Iterating external nodes)
3965
+ *
3667
3966
  * ```ts
3668
3967
  * import { Graph } from "effect"
3669
3968
  *
@@ -3690,8 +3989,8 @@ export declare const externals: {
3690
3989
  * console.log(sources) // [0, 3]
3691
3990
  * ```
3692
3991
  *
3693
- * @since 4.0.0
3694
3992
  * @category iterators
3993
+ * @since 3.18.0
3695
3994
  */
3696
3995
  <N, E, T extends Kind = "directed">(graph: Graph<N, E, T> | MutableGraph<N, E, T>, config?: ExternalsConfig): NodeWalker<N>;
3697
3996
  };