effect 4.0.1 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1085) hide show
  1. package/ai-docs/package.json +2 -2
  2. package/ai-docs/tsconfig.json +2 -1
  3. package/dist/Array.d.ts +339 -0
  4. package/dist/Array.d.ts.map +1 -1
  5. package/dist/Array.js +143 -3
  6. package/dist/Array.js.map +1 -1
  7. package/dist/BigDecimal.d.ts +88 -0
  8. package/dist/BigDecimal.d.ts.map +1 -1
  9. package/dist/BigDecimal.js +44 -0
  10. package/dist/BigDecimal.js.map +1 -1
  11. package/dist/BigInt.d.ts +68 -0
  12. package/dist/BigInt.d.ts.map +1 -1
  13. package/dist/BigInt.js +36 -0
  14. package/dist/BigInt.js.map +1 -1
  15. package/dist/Boolean.d.ts +34 -0
  16. package/dist/Boolean.d.ts.map +1 -1
  17. package/dist/Boolean.js +18 -0
  18. package/dist/Boolean.js.map +1 -1
  19. package/dist/Brand.d.ts +9 -0
  20. package/dist/Brand.d.ts.map +1 -1
  21. package/dist/Brand.js +6 -0
  22. package/dist/Brand.js.map +1 -1
  23. package/dist/ByteSize.d.ts +86 -0
  24. package/dist/ByteSize.d.ts.map +1 -1
  25. package/dist/ByteSize.js +51 -0
  26. package/dist/ByteSize.js.map +1 -1
  27. package/dist/Cache.d.ts +38 -1
  28. package/dist/Cache.d.ts.map +1 -1
  29. package/dist/Cache.js +27 -7
  30. package/dist/Cache.js.map +1 -1
  31. package/dist/Cause.d.ts +82 -0
  32. package/dist/Cause.d.ts.map +1 -1
  33. package/dist/Cause.js +60 -0
  34. package/dist/Cause.js.map +1 -1
  35. package/dist/Channel.d.ts +327 -4
  36. package/dist/Channel.d.ts.map +1 -1
  37. package/dist/Channel.js +168 -8
  38. package/dist/Channel.js.map +1 -1
  39. package/dist/ChannelSchema.d.ts +11 -0
  40. package/dist/ChannelSchema.d.ts.map +1 -1
  41. package/dist/ChannelSchema.js +6 -0
  42. package/dist/ChannelSchema.js.map +1 -1
  43. package/dist/Chunk.d.ts +192 -0
  44. package/dist/Chunk.d.ts.map +1 -1
  45. package/dist/Chunk.js +78 -0
  46. package/dist/Chunk.js.map +1 -1
  47. package/dist/Clock.d.ts +7 -0
  48. package/dist/Clock.d.ts.map +1 -1
  49. package/dist/Clock.js +5 -0
  50. package/dist/Clock.js.map +1 -1
  51. package/dist/Combiner.d.ts +10 -0
  52. package/dist/Combiner.d.ts.map +1 -1
  53. package/dist/Combiner.js +8 -0
  54. package/dist/Combiner.js.map +1 -1
  55. package/dist/Config.d.ts +52 -12
  56. package/dist/Config.d.ts.map +1 -1
  57. package/dist/Config.js +55 -5
  58. package/dist/Config.js.map +1 -1
  59. package/dist/ConfigProvider.d.ts +28 -0
  60. package/dist/ConfigProvider.d.ts.map +1 -1
  61. package/dist/ConfigProvider.js +19 -0
  62. package/dist/ConfigProvider.js.map +1 -1
  63. package/dist/Console.d.ts +22 -0
  64. package/dist/Console.d.ts.map +1 -1
  65. package/dist/Console.js +20 -0
  66. package/dist/Console.js.map +1 -1
  67. package/dist/Context.d.ts +50 -0
  68. package/dist/Context.d.ts.map +1 -1
  69. package/dist/Context.js +24 -3
  70. package/dist/Context.js.map +1 -1
  71. package/dist/Cron.d.ts +16 -0
  72. package/dist/Cron.d.ts.map +1 -1
  73. package/dist/Cron.js +26 -1
  74. package/dist/Cron.js.map +1 -1
  75. package/dist/Crypto.d.ts +38 -5
  76. package/dist/Crypto.d.ts.map +1 -1
  77. package/dist/Crypto.js +11 -2
  78. package/dist/Crypto.js.map +1 -1
  79. package/dist/Data.d.ts +13 -0
  80. package/dist/Data.d.ts.map +1 -1
  81. package/dist/Data.js +5 -0
  82. package/dist/Data.js.map +1 -1
  83. package/dist/DateTime.d.ts +180 -6
  84. package/dist/DateTime.d.ts.map +1 -1
  85. package/dist/DateTime.js +98 -6
  86. package/dist/DateTime.js.map +1 -1
  87. package/dist/Deferred.d.ts +51 -0
  88. package/dist/Deferred.d.ts.map +1 -1
  89. package/dist/Deferred.js +22 -0
  90. package/dist/Deferred.js.map +1 -1
  91. package/dist/Differ.d.ts +2 -0
  92. package/dist/Differ.d.ts.map +1 -1
  93. package/dist/Differ.js +1 -0
  94. package/dist/Duration.d.ts +96 -6
  95. package/dist/Duration.d.ts.map +1 -1
  96. package/dist/Duration.js +80 -8
  97. package/dist/Duration.js.map +1 -1
  98. package/dist/Effect.d.ts +527 -0
  99. package/dist/Effect.d.ts.map +1 -1
  100. package/dist/Effect.js +240 -5
  101. package/dist/Effect.js.map +1 -1
  102. package/dist/Effectable.d.ts +4 -0
  103. package/dist/Effectable.d.ts.map +1 -1
  104. package/dist/Effectable.js +3 -0
  105. package/dist/Effectable.js.map +1 -1
  106. package/dist/Equal.d.ts +8 -0
  107. package/dist/Equal.d.ts.map +1 -1
  108. package/dist/Equal.js +9 -1
  109. package/dist/Equal.js.map +1 -1
  110. package/dist/Equivalence.d.ts +21 -0
  111. package/dist/Equivalence.d.ts.map +1 -1
  112. package/dist/Equivalence.js +16 -0
  113. package/dist/Equivalence.js.map +1 -1
  114. package/dist/ErrorReporter.d.ts +36 -0
  115. package/dist/ErrorReporter.d.ts.map +1 -1
  116. package/dist/ErrorReporter.js +11 -0
  117. package/dist/ErrorReporter.js.map +1 -1
  118. package/dist/ExecutionPlan.d.ts +49 -8
  119. package/dist/ExecutionPlan.d.ts.map +1 -1
  120. package/dist/ExecutionPlan.js +7 -0
  121. package/dist/ExecutionPlan.js.map +1 -1
  122. package/dist/Exit.d.ts +40 -0
  123. package/dist/Exit.d.ts.map +1 -1
  124. package/dist/Exit.js +27 -0
  125. package/dist/Exit.js.map +1 -1
  126. package/dist/Fiber.d.ts +20 -0
  127. package/dist/Fiber.d.ts.map +1 -1
  128. package/dist/Fiber.js +11 -0
  129. package/dist/Fiber.js.map +1 -1
  130. package/dist/FiberHandle.d.ts +21 -0
  131. package/dist/FiberHandle.d.ts.map +1 -1
  132. package/dist/FiberHandle.js +21 -4
  133. package/dist/FiberHandle.js.map +1 -1
  134. package/dist/FiberMap.d.ts +35 -0
  135. package/dist/FiberMap.d.ts.map +1 -1
  136. package/dist/FiberMap.js +19 -0
  137. package/dist/FiberMap.js.map +1 -1
  138. package/dist/FiberSet.d.ts +20 -0
  139. package/dist/FiberSet.d.ts.map +1 -1
  140. package/dist/FiberSet.js +14 -0
  141. package/dist/FiberSet.js.map +1 -1
  142. package/dist/FileSystem.d.ts +59 -2
  143. package/dist/FileSystem.d.ts.map +1 -1
  144. package/dist/FileSystem.js +8 -0
  145. package/dist/FileSystem.js.map +1 -1
  146. package/dist/Filter.d.ts +55 -0
  147. package/dist/Filter.d.ts.map +1 -1
  148. package/dist/Filter.js +28 -0
  149. package/dist/Filter.js.map +1 -1
  150. package/dist/Formatter.d.ts +3 -0
  151. package/dist/Formatter.d.ts.map +1 -1
  152. package/dist/Formatter.js +39 -1
  153. package/dist/Formatter.js.map +1 -1
  154. package/dist/Function.d.ts +30 -0
  155. package/dist/Function.d.ts.map +1 -1
  156. package/dist/Function.js +20 -0
  157. package/dist/Function.js.map +1 -1
  158. package/dist/Graph.d.ts +247 -12
  159. package/dist/Graph.d.ts.map +1 -1
  160. package/dist/Graph.js +149 -28
  161. package/dist/Graph.js.map +1 -1
  162. package/dist/HKT.d.ts +5 -0
  163. package/dist/HKT.d.ts.map +1 -1
  164. package/dist/Hash.d.ts +14 -0
  165. package/dist/Hash.d.ts.map +1 -1
  166. package/dist/Hash.js +12 -0
  167. package/dist/Hash.js.map +1 -1
  168. package/dist/HashMap.d.ts +91 -0
  169. package/dist/HashMap.d.ts.map +1 -1
  170. package/dist/HashMap.js +39 -0
  171. package/dist/HashMap.js.map +1 -1
  172. package/dist/HashRing.d.ts +17 -0
  173. package/dist/HashRing.d.ts.map +1 -1
  174. package/dist/HashRing.js +9 -0
  175. package/dist/HashRing.js.map +1 -1
  176. package/dist/HashSet.d.ts +49 -0
  177. package/dist/HashSet.d.ts.map +1 -1
  178. package/dist/HashSet.js +19 -0
  179. package/dist/HashSet.js.map +1 -1
  180. package/dist/Inspectable.d.ts +7 -0
  181. package/dist/Inspectable.d.ts.map +1 -1
  182. package/dist/Inspectable.js +6 -0
  183. package/dist/Inspectable.js.map +1 -1
  184. package/dist/Iterable.d.ts +127 -0
  185. package/dist/Iterable.d.ts.map +1 -1
  186. package/dist/Iterable.js +51 -0
  187. package/dist/Iterable.js.map +1 -1
  188. package/dist/JsonPatch.d.ts +4 -0
  189. package/dist/JsonPatch.d.ts.map +1 -1
  190. package/dist/JsonPatch.js +3 -0
  191. package/dist/JsonPatch.js.map +1 -1
  192. package/dist/JsonPointer.d.ts +5 -0
  193. package/dist/JsonPointer.d.ts.map +1 -1
  194. package/dist/JsonPointer.js +5 -0
  195. package/dist/JsonPointer.js.map +1 -1
  196. package/dist/JsonSchema.d.ts +16 -0
  197. package/dist/JsonSchema.d.ts.map +1 -1
  198. package/dist/JsonSchema.js +11 -0
  199. package/dist/JsonSchema.js.map +1 -1
  200. package/dist/Latch.d.ts +14 -0
  201. package/dist/Latch.d.ts.map +1 -1
  202. package/dist/Latch.js +10 -0
  203. package/dist/Latch.js.map +1 -1
  204. package/dist/Layer.d.ts +100 -0
  205. package/dist/Layer.d.ts.map +1 -1
  206. package/dist/Layer.js +45 -1
  207. package/dist/Layer.js.map +1 -1
  208. package/dist/LayerMap.d.ts +7 -0
  209. package/dist/LayerMap.d.ts.map +1 -1
  210. package/dist/LayerMap.js +4 -0
  211. package/dist/LayerMap.js.map +1 -1
  212. package/dist/LayerRef.d.ts +5 -0
  213. package/dist/LayerRef.d.ts.map +1 -1
  214. package/dist/LayerRef.js +3 -0
  215. package/dist/LayerRef.js.map +1 -1
  216. package/dist/LogLevel.d.ts +20 -0
  217. package/dist/LogLevel.d.ts.map +1 -1
  218. package/dist/LogLevel.js +9 -0
  219. package/dist/LogLevel.js.map +1 -1
  220. package/dist/Logger.d.ts +25 -0
  221. package/dist/Logger.d.ts.map +1 -1
  222. package/dist/Logger.js +30 -4
  223. package/dist/Logger.js.map +1 -1
  224. package/dist/ManagedRuntime.d.ts +5 -0
  225. package/dist/ManagedRuntime.d.ts.map +1 -1
  226. package/dist/ManagedRuntime.js +9 -1
  227. package/dist/ManagedRuntime.js.map +1 -1
  228. package/dist/Match.d.ts +51 -0
  229. package/dist/Match.d.ts.map +1 -1
  230. package/dist/Match.js +39 -0
  231. package/dist/Match.js.map +1 -1
  232. package/dist/Metric.d.ts +59 -0
  233. package/dist/Metric.d.ts.map +1 -1
  234. package/dist/Metric.js +31 -0
  235. package/dist/Metric.js.map +1 -1
  236. package/dist/MutableHashMap.d.ts +32 -0
  237. package/dist/MutableHashMap.d.ts.map +1 -1
  238. package/dist/MutableHashMap.js +16 -0
  239. package/dist/MutableHashMap.js.map +1 -1
  240. package/dist/MutableHashSet.d.ts +16 -0
  241. package/dist/MutableHashSet.d.ts.map +1 -1
  242. package/dist/MutableHashSet.js +10 -0
  243. package/dist/MutableHashSet.js.map +1 -1
  244. package/dist/MutableList.d.ts +20 -0
  245. package/dist/MutableList.d.ts.map +1 -1
  246. package/dist/MutableList.js +18 -0
  247. package/dist/MutableList.js.map +1 -1
  248. package/dist/MutableRef.d.ts +31 -0
  249. package/dist/MutableRef.d.ts.map +1 -1
  250. package/dist/MutableRef.js +17 -0
  251. package/dist/MutableRef.js.map +1 -1
  252. package/dist/Newtype.d.ts +9 -0
  253. package/dist/Newtype.d.ts.map +1 -1
  254. package/dist/Newtype.js +6 -0
  255. package/dist/Newtype.js.map +1 -1
  256. package/dist/NonEmptyIterable.d.ts +4 -0
  257. package/dist/NonEmptyIterable.d.ts.map +1 -1
  258. package/dist/NonEmptyIterable.js +2 -0
  259. package/dist/NonEmptyIterable.js.map +1 -1
  260. package/dist/Number.d.ts +61 -0
  261. package/dist/Number.d.ts.map +1 -1
  262. package/dist/Number.js +31 -0
  263. package/dist/Number.js.map +1 -1
  264. package/dist/Optic.d.ts +41 -0
  265. package/dist/Optic.d.ts.map +1 -1
  266. package/dist/Optic.js +20 -0
  267. package/dist/Optic.js.map +1 -1
  268. package/dist/Option.d.ts +134 -0
  269. package/dist/Option.d.ts.map +1 -1
  270. package/dist/Option.js +61 -0
  271. package/dist/Option.js.map +1 -1
  272. package/dist/Order.d.ts +29 -0
  273. package/dist/Order.d.ts.map +1 -1
  274. package/dist/Order.js +24 -0
  275. package/dist/Order.js.map +1 -1
  276. package/dist/Ordering.d.ts +7 -0
  277. package/dist/Ordering.d.ts.map +1 -1
  278. package/dist/Ordering.js +3 -0
  279. package/dist/Ordering.js.map +1 -1
  280. package/dist/PartitionedSemaphore.d.ts +24 -0
  281. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  282. package/dist/PartitionedSemaphore.js +47 -21
  283. package/dist/PartitionedSemaphore.js.map +1 -1
  284. package/dist/Path.d.ts +6 -0
  285. package/dist/Path.d.ts.map +1 -1
  286. package/dist/Path.js +4 -0
  287. package/dist/Path.js.map +1 -1
  288. package/dist/Pipeable.d.ts +7 -0
  289. package/dist/Pipeable.d.ts.map +1 -1
  290. package/dist/Pipeable.js +5 -0
  291. package/dist/Pipeable.js.map +1 -1
  292. package/dist/PlatformError.d.ts +8 -0
  293. package/dist/PlatformError.d.ts.map +1 -1
  294. package/dist/PlatformError.js +7 -0
  295. package/dist/PlatformError.js.map +1 -1
  296. package/dist/Pool.d.ts +19 -0
  297. package/dist/Pool.d.ts.map +1 -1
  298. package/dist/Pool.js +8 -1
  299. package/dist/Pool.js.map +1 -1
  300. package/dist/Predicate.d.ts +84 -0
  301. package/dist/Predicate.d.ts.map +1 -1
  302. package/dist/Predicate.js +48 -0
  303. package/dist/Predicate.js.map +1 -1
  304. package/dist/PrimaryKey.d.ts +5 -0
  305. package/dist/PrimaryKey.d.ts.map +1 -1
  306. package/dist/PrimaryKey.js +4 -0
  307. package/dist/PrimaryKey.js.map +1 -1
  308. package/dist/PubSub.d.ts +67 -5
  309. package/dist/PubSub.d.ts.map +1 -1
  310. package/dist/PubSub.js +60 -8
  311. package/dist/PubSub.js.map +1 -1
  312. package/dist/Pull.d.ts +20 -0
  313. package/dist/Pull.d.ts.map +1 -1
  314. package/dist/Pull.js +10 -0
  315. package/dist/Pull.js.map +1 -1
  316. package/dist/Queue.d.ts +60 -0
  317. package/dist/Queue.d.ts.map +1 -1
  318. package/dist/Queue.js +58 -8
  319. package/dist/Queue.js.map +1 -1
  320. package/dist/Random.d.ts +13 -0
  321. package/dist/Random.d.ts.map +1 -1
  322. package/dist/Random.js +9 -0
  323. package/dist/Random.js.map +1 -1
  324. package/dist/RcMap.d.ts +23 -0
  325. package/dist/RcMap.d.ts.map +1 -1
  326. package/dist/RcMap.js +8 -0
  327. package/dist/RcMap.js.map +1 -1
  328. package/dist/RcRef.d.ts +6 -0
  329. package/dist/RcRef.d.ts.map +1 -1
  330. package/dist/RcRef.js +3 -0
  331. package/dist/RcRef.js.map +1 -1
  332. package/dist/Record.d.ts +100 -0
  333. package/dist/Record.d.ts.map +1 -1
  334. package/dist/Record.js +43 -0
  335. package/dist/Record.js.map +1 -1
  336. package/dist/Redactable.d.ts +6 -0
  337. package/dist/Redactable.d.ts.map +1 -1
  338. package/dist/Redactable.js +4 -0
  339. package/dist/Redactable.js.map +1 -1
  340. package/dist/Redacted.d.ts +8 -0
  341. package/dist/Redacted.d.ts.map +1 -1
  342. package/dist/Redacted.js +6 -0
  343. package/dist/Redacted.js.map +1 -1
  344. package/dist/Reducer.d.ts +4 -0
  345. package/dist/Reducer.d.ts.map +1 -1
  346. package/dist/Reducer.js +3 -0
  347. package/dist/Reducer.js.map +1 -1
  348. package/dist/Ref.d.ts +20 -0
  349. package/dist/Ref.d.ts.map +1 -1
  350. package/dist/Ref.js +16 -0
  351. package/dist/Ref.js.map +1 -1
  352. package/dist/References.d.ts +21 -0
  353. package/dist/References.d.ts.map +1 -1
  354. package/dist/References.js +19 -0
  355. package/dist/References.js.map +1 -1
  356. package/dist/RegExp.d.ts +3 -0
  357. package/dist/RegExp.d.ts.map +1 -1
  358. package/dist/RegExp.js +4 -0
  359. package/dist/RegExp.js.map +1 -1
  360. package/dist/Request.d.ts +32 -0
  361. package/dist/Request.d.ts.map +1 -1
  362. package/dist/Request.js +12 -0
  363. package/dist/Request.js.map +1 -1
  364. package/dist/RequestResolver.d.ts +42 -0
  365. package/dist/RequestResolver.d.ts.map +1 -1
  366. package/dist/RequestResolver.js +27 -6
  367. package/dist/RequestResolver.js.map +1 -1
  368. package/dist/Resource.d.ts +6 -0
  369. package/dist/Resource.d.ts.map +1 -1
  370. package/dist/Resource.js +6 -0
  371. package/dist/Resource.js.map +1 -1
  372. package/dist/Result.d.ts +91 -0
  373. package/dist/Result.d.ts.map +1 -1
  374. package/dist/Result.js +41 -0
  375. package/dist/Result.js.map +1 -1
  376. package/dist/Runtime.d.ts +9 -0
  377. package/dist/Runtime.d.ts.map +1 -1
  378. package/dist/Runtime.js +7 -0
  379. package/dist/Runtime.js.map +1 -1
  380. package/dist/Schedule.d.ts +57 -0
  381. package/dist/Schedule.d.ts.map +1 -1
  382. package/dist/Schedule.js +32 -0
  383. package/dist/Schedule.js.map +1 -1
  384. package/dist/Scheduler.d.ts +7 -0
  385. package/dist/Scheduler.d.ts.map +1 -1
  386. package/dist/Scheduler.js +5 -0
  387. package/dist/Scheduler.js.map +1 -1
  388. package/dist/Schema.d.ts +969 -2
  389. package/dist/Schema.d.ts.map +1 -1
  390. package/dist/Schema.js +635 -5
  391. package/dist/Schema.js.map +1 -1
  392. package/dist/SchemaAST.d.ts +107 -0
  393. package/dist/SchemaAST.d.ts.map +1 -1
  394. package/dist/SchemaAST.js +81 -1
  395. package/dist/SchemaAST.js.map +1 -1
  396. package/dist/SchemaGetter.d.ts +69 -2
  397. package/dist/SchemaGetter.d.ts.map +1 -1
  398. package/dist/SchemaGetter.js +63 -4
  399. package/dist/SchemaGetter.js.map +1 -1
  400. package/dist/SchemaIssue.d.ts +33 -0
  401. package/dist/SchemaIssue.d.ts.map +1 -1
  402. package/dist/SchemaIssue.js +18 -0
  403. package/dist/SchemaIssue.js.map +1 -1
  404. package/dist/SchemaParser.d.ts +25 -0
  405. package/dist/SchemaParser.d.ts.map +1 -1
  406. package/dist/SchemaParser.js +26 -0
  407. package/dist/SchemaParser.js.map +1 -1
  408. package/dist/SchemaRepresentation.d.ts +147 -0
  409. package/dist/SchemaRepresentation.d.ts.map +1 -1
  410. package/dist/SchemaRepresentation.js +99 -0
  411. package/dist/SchemaRepresentation.js.map +1 -1
  412. package/dist/SchemaTransformation.d.ts +53 -0
  413. package/dist/SchemaTransformation.d.ts.map +1 -1
  414. package/dist/SchemaTransformation.js +46 -0
  415. package/dist/SchemaTransformation.js.map +1 -1
  416. package/dist/Scope.d.ts +19 -0
  417. package/dist/Scope.d.ts.map +1 -1
  418. package/dist/Scope.js +12 -0
  419. package/dist/Scope.js.map +1 -1
  420. package/dist/ScopedCache.d.ts +34 -0
  421. package/dist/ScopedCache.d.ts.map +1 -1
  422. package/dist/ScopedCache.js +26 -3
  423. package/dist/ScopedCache.js.map +1 -1
  424. package/dist/ScopedRef.d.ts +9 -0
  425. package/dist/ScopedRef.d.ts.map +1 -1
  426. package/dist/ScopedRef.js +6 -0
  427. package/dist/ScopedRef.js.map +1 -1
  428. package/dist/Semaphore.d.ts +26 -0
  429. package/dist/Semaphore.d.ts.map +1 -1
  430. package/dist/Semaphore.js +10 -0
  431. package/dist/Semaphore.js.map +1 -1
  432. package/dist/Sink.d.ts +125 -1
  433. package/dist/Sink.d.ts.map +1 -1
  434. package/dist/Sink.js +75 -1
  435. package/dist/Sink.js.map +1 -1
  436. package/dist/StandardSchema.d.ts +1 -0
  437. package/dist/StandardSchema.d.ts.map +1 -1
  438. package/dist/StandardSchema.js +1 -0
  439. package/dist/Stdio.d.ts +14 -1
  440. package/dist/Stdio.d.ts.map +1 -1
  441. package/dist/Stdio.js +6 -0
  442. package/dist/Stdio.js.map +1 -1
  443. package/dist/Stream.d.ts +569 -11
  444. package/dist/Stream.d.ts.map +1 -1
  445. package/dist/Stream.js +266 -18
  446. package/dist/Stream.js.map +1 -1
  447. package/dist/String.d.ts +87 -0
  448. package/dist/String.d.ts.map +1 -1
  449. package/dist/String.js +61 -0
  450. package/dist/String.js.map +1 -1
  451. package/dist/Struct.d.ts +46 -0
  452. package/dist/Struct.d.ts.map +1 -1
  453. package/dist/Struct.js +19 -0
  454. package/dist/Struct.js.map +1 -1
  455. package/dist/SubscriptionRef.d.ts +65 -0
  456. package/dist/SubscriptionRef.d.ts.map +1 -1
  457. package/dist/SubscriptionRef.js +25 -0
  458. package/dist/SubscriptionRef.js.map +1 -1
  459. package/dist/Symbol.d.ts +2 -0
  460. package/dist/Symbol.d.ts.map +1 -1
  461. package/dist/Symbol.js +2 -0
  462. package/dist/Symbol.js.map +1 -1
  463. package/dist/SynchronizedRef.d.ts +63 -0
  464. package/dist/SynchronizedRef.d.ts.map +1 -1
  465. package/dist/SynchronizedRef.js +24 -0
  466. package/dist/SynchronizedRef.js.map +1 -1
  467. package/dist/Take.d.ts +3 -0
  468. package/dist/Take.d.ts.map +1 -1
  469. package/dist/Take.js +1 -0
  470. package/dist/Take.js.map +1 -1
  471. package/dist/Terminal.d.ts +8 -0
  472. package/dist/Terminal.d.ts.map +1 -1
  473. package/dist/Terminal.js +4 -0
  474. package/dist/Terminal.js.map +1 -1
  475. package/dist/Tracer.d.ts +23 -0
  476. package/dist/Tracer.d.ts.map +1 -1
  477. package/dist/Tracer.js +12 -0
  478. package/dist/Tracer.js.map +1 -1
  479. package/dist/Trie.d.ts +68 -0
  480. package/dist/Trie.d.ts.map +1 -1
  481. package/dist/Trie.js +28 -0
  482. package/dist/Trie.js.map +1 -1
  483. package/dist/Tuple.d.ts +38 -0
  484. package/dist/Tuple.d.ts.map +1 -1
  485. package/dist/Tuple.js +18 -0
  486. package/dist/Tuple.js.map +1 -1
  487. package/dist/TxChunk.d.ts +52 -0
  488. package/dist/TxChunk.d.ts.map +1 -1
  489. package/dist/TxChunk.js +23 -0
  490. package/dist/TxChunk.js.map +1 -1
  491. package/dist/TxDeferred.d.ts +15 -0
  492. package/dist/TxDeferred.d.ts.map +1 -1
  493. package/dist/TxDeferred.js +8 -0
  494. package/dist/TxDeferred.js.map +1 -1
  495. package/dist/TxHashMap.d.ts +83 -0
  496. package/dist/TxHashMap.d.ts.map +1 -1
  497. package/dist/TxHashMap.js +52 -7
  498. package/dist/TxHashMap.js.map +1 -1
  499. package/dist/TxHashSet.d.ts +51 -0
  500. package/dist/TxHashSet.d.ts.map +1 -1
  501. package/dist/TxHashSet.js +29 -4
  502. package/dist/TxHashSet.js.map +1 -1
  503. package/dist/TxPriorityQueue.d.ts +30 -0
  504. package/dist/TxPriorityQueue.d.ts.map +1 -1
  505. package/dist/TxPriorityQueue.js +22 -1
  506. package/dist/TxPriorityQueue.js.map +1 -1
  507. package/dist/TxPubSub.d.ts +25 -0
  508. package/dist/TxPubSub.d.ts.map +1 -1
  509. package/dist/TxPubSub.js +19 -0
  510. package/dist/TxPubSub.js.map +1 -1
  511. package/dist/TxQueue.d.ts +51 -0
  512. package/dist/TxQueue.d.ts.map +1 -1
  513. package/dist/TxQueue.js +30 -0
  514. package/dist/TxQueue.js.map +1 -1
  515. package/dist/TxReentrantLock.d.ts +24 -0
  516. package/dist/TxReentrantLock.d.ts.map +1 -1
  517. package/dist/TxReentrantLock.js +32 -18
  518. package/dist/TxReentrantLock.js.map +1 -1
  519. package/dist/TxRef.d.ts +14 -0
  520. package/dist/TxRef.d.ts.map +1 -1
  521. package/dist/TxRef.js +7 -0
  522. package/dist/TxRef.js.map +1 -1
  523. package/dist/TxSemaphore.d.ts +25 -0
  524. package/dist/TxSemaphore.d.ts.map +1 -1
  525. package/dist/TxSemaphore.js +29 -13
  526. package/dist/TxSemaphore.js.map +1 -1
  527. package/dist/TxSubscriptionRef.d.ts +25 -0
  528. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  529. package/dist/TxSubscriptionRef.js +12 -0
  530. package/dist/TxSubscriptionRef.js.map +1 -1
  531. package/dist/Types.d.ts +36 -0
  532. package/dist/Types.d.ts.map +1 -1
  533. package/dist/Types.js +1 -0
  534. package/dist/UndefinedOr.d.ts +15 -0
  535. package/dist/UndefinedOr.d.ts.map +1 -1
  536. package/dist/UndefinedOr.js +9 -0
  537. package/dist/UndefinedOr.js.map +1 -1
  538. package/dist/Unify.d.ts +15 -0
  539. package/dist/Unify.d.ts.map +1 -1
  540. package/dist/Unify.js +2 -0
  541. package/dist/Unify.js.map +1 -1
  542. package/dist/Utils.d.ts +4 -0
  543. package/dist/Utils.d.ts.map +1 -1
  544. package/dist/Utils.js +1 -0
  545. package/dist/Utils.js.map +1 -1
  546. package/dist/Version.d.ts +26 -0
  547. package/dist/Version.d.ts.map +1 -0
  548. package/dist/Version.js +36 -0
  549. package/dist/Version.js.map +1 -0
  550. package/dist/ai/Chat.js +1 -1
  551. package/dist/ai/Chat.js.map +1 -1
  552. package/dist/ai/DecisionModel.d.ts +22 -0
  553. package/dist/ai/DecisionModel.d.ts.map +1 -1
  554. package/dist/ai/DecisionModel.js +22 -4
  555. package/dist/ai/DecisionModel.js.map +1 -1
  556. package/dist/ai/LanguageModel.d.ts.map +1 -1
  557. package/dist/ai/LanguageModel.js +14 -13
  558. package/dist/ai/LanguageModel.js.map +1 -1
  559. package/dist/ai/McpServer.d.ts +38 -11
  560. package/dist/ai/McpServer.d.ts.map +1 -1
  561. package/dist/ai/McpServer.js +276 -190
  562. package/dist/ai/McpServer.js.map +1 -1
  563. package/dist/ai/Telemetry.d.ts +49 -41
  564. package/dist/ai/Telemetry.d.ts.map +1 -1
  565. package/dist/ai/Telemetry.js +6 -8
  566. package/dist/ai/Telemetry.js.map +1 -1
  567. package/dist/ai/internal/mcpProtocol/v2026_07_28.js +5 -0
  568. package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
  569. package/dist/ai/internal/mcpProtocol.js.map +1 -1
  570. package/dist/ai/internal/mcpRuntime.js +80 -46
  571. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  572. package/dist/ai/internal/mcpStatefulRuntime.js +1 -0
  573. package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
  574. package/dist/cli/CliOutput.d.ts +27 -0
  575. package/dist/cli/CliOutput.d.ts.map +1 -1
  576. package/dist/cli/CliOutput.js +33 -10
  577. package/dist/cli/CliOutput.js.map +1 -1
  578. package/dist/cli/Command.d.ts.map +1 -1
  579. package/dist/cli/Command.js +6 -3
  580. package/dist/cli/Command.js.map +1 -1
  581. package/dist/cli/Completions.d.ts +3 -3
  582. package/dist/cli/Completions.d.ts.map +1 -1
  583. package/dist/cli/Completions.js +8 -5
  584. package/dist/cli/Completions.js.map +1 -1
  585. package/dist/cli/GlobalFlag.d.ts +5 -4
  586. package/dist/cli/GlobalFlag.d.ts.map +1 -1
  587. package/dist/cli/GlobalFlag.js +3 -3
  588. package/dist/cli/GlobalFlag.js.map +1 -1
  589. package/dist/cli/Prompt.d.ts +17 -1
  590. package/dist/cli/Prompt.d.ts.map +1 -1
  591. package/dist/cli/Prompt.js +119 -114
  592. package/dist/cli/Prompt.js.map +1 -1
  593. package/dist/cli/internal/ansi.d.ts +0 -1
  594. package/dist/cli/internal/ansi.d.ts.map +1 -1
  595. package/dist/cli/internal/ansi.js +20 -3
  596. package/dist/cli/internal/ansi.js.map +1 -1
  597. package/dist/cli/internal/completions/powershell.d.ts +2 -0
  598. package/dist/cli/internal/completions/powershell.d.ts.map +1 -0
  599. package/dist/cli/internal/completions/powershell.js +273 -0
  600. package/dist/cli/internal/completions/powershell.js.map +1 -0
  601. package/dist/cli/internal/completions/zsh.js +3 -2
  602. package/dist/cli/internal/completions/zsh.js.map +1 -1
  603. package/dist/cli/internal/wizard.d.ts +3 -3
  604. package/dist/cli/internal/wizard.d.ts.map +1 -1
  605. package/dist/cli/internal/wizard.js +21 -18
  606. package/dist/cli/internal/wizard.js.map +1 -1
  607. package/dist/cluster/ClusterSchema.d.ts +28 -0
  608. package/dist/cluster/ClusterSchema.d.ts.map +1 -1
  609. package/dist/cluster/ClusterSchema.js +30 -0
  610. package/dist/cluster/ClusterSchema.js.map +1 -1
  611. package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  612. package/dist/cluster/ClusterWorkflowEngine.js +10 -18
  613. package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
  614. package/dist/cluster/K8sHttpClient.d.ts.map +1 -1
  615. package/dist/cluster/K8sHttpClient.js +5 -2
  616. package/dist/cluster/K8sHttpClient.js.map +1 -1
  617. package/dist/cluster/MessageStorage.d.ts +18 -3
  618. package/dist/cluster/MessageStorage.d.ts.map +1 -1
  619. package/dist/cluster/MessageStorage.js +31 -11
  620. package/dist/cluster/MessageStorage.js.map +1 -1
  621. package/dist/cluster/Runners.d.ts.map +1 -1
  622. package/dist/cluster/Runners.js +8 -2
  623. package/dist/cluster/Runners.js.map +1 -1
  624. package/dist/cluster/Sharding.d.ts.map +1 -1
  625. package/dist/cluster/Sharding.js +181 -62
  626. package/dist/cluster/Sharding.js.map +1 -1
  627. package/dist/cluster/SqlMessageStorage.d.ts +59 -19
  628. package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
  629. package/dist/cluster/SqlMessageStorage.js +84 -55
  630. package/dist/cluster/SqlMessageStorage.js.map +1 -1
  631. package/dist/cluster/SqlRunnerStorage.d.ts +68 -19
  632. package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
  633. package/dist/cluster/SqlRunnerStorage.js +191 -113
  634. package/dist/cluster/SqlRunnerStorage.js.map +1 -1
  635. package/dist/cluster/internal/entityManager.js +104 -37
  636. package/dist/cluster/internal/entityManager.js.map +1 -1
  637. package/dist/encoding/Base64.d.ts +4 -0
  638. package/dist/encoding/Base64.d.ts.map +1 -1
  639. package/dist/encoding/Base64.js +4 -0
  640. package/dist/encoding/Base64.js.map +1 -1
  641. package/dist/encoding/Base64Url.d.ts +4 -0
  642. package/dist/encoding/Base64Url.d.ts.map +1 -1
  643. package/dist/encoding/Base64Url.js +4 -0
  644. package/dist/encoding/Base64Url.js.map +1 -1
  645. package/dist/encoding/EncodingError.d.ts +4 -0
  646. package/dist/encoding/EncodingError.d.ts.map +1 -1
  647. package/dist/encoding/EncodingError.js +4 -0
  648. package/dist/encoding/EncodingError.js.map +1 -1
  649. package/dist/encoding/Hex.d.ts +5 -0
  650. package/dist/encoding/Hex.d.ts.map +1 -1
  651. package/dist/encoding/Hex.js +5 -0
  652. package/dist/encoding/Hex.js.map +1 -1
  653. package/dist/encoding/Toml.js +2 -2
  654. package/dist/encoding/Toml.js.map +1 -1
  655. package/dist/encoding/Yaml.d.ts.map +1 -1
  656. package/dist/encoding/Yaml.js +6 -4
  657. package/dist/encoding/Yaml.js.map +1 -1
  658. package/dist/encoding/index.d.ts +4 -0
  659. package/dist/encoding/index.d.ts.map +1 -1
  660. package/dist/encoding/index.js +4 -0
  661. package/dist/encoding/index.js.map +1 -1
  662. package/dist/eventlog/SqlEventJournal.js +8 -4
  663. package/dist/eventlog/SqlEventJournal.js.map +1 -1
  664. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +27 -10
  665. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  666. package/dist/eventlog/SqlEventLogServerUnencrypted.js +49 -7
  667. package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  668. package/dist/http/FindMyWay/internal/router.js +3 -6
  669. package/dist/http/FindMyWay/internal/router.js.map +1 -1
  670. package/dist/http/Headers.d.ts +3 -1
  671. package/dist/http/Headers.d.ts.map +1 -1
  672. package/dist/http/Headers.js +4 -2
  673. package/dist/http/Headers.js.map +1 -1
  674. package/dist/http/HttpClient.d.ts +15 -0
  675. package/dist/http/HttpClient.d.ts.map +1 -1
  676. package/dist/http/HttpClient.js +79 -23
  677. package/dist/http/HttpClient.js.map +1 -1
  678. package/dist/http/HttpClientResponse.js +3 -1
  679. package/dist/http/HttpClientResponse.js.map +1 -1
  680. package/dist/http/HttpEffect.d.ts +3 -0
  681. package/dist/http/HttpEffect.d.ts.map +1 -1
  682. package/dist/http/HttpEffect.js +5 -2
  683. package/dist/http/HttpEffect.js.map +1 -1
  684. package/dist/http/HttpMiddleware.d.ts +17 -0
  685. package/dist/http/HttpMiddleware.d.ts.map +1 -1
  686. package/dist/http/HttpMiddleware.js +56 -39
  687. package/dist/http/HttpMiddleware.js.map +1 -1
  688. package/dist/http/HttpServer.d.ts +1 -1
  689. package/dist/http/HttpServer.d.ts.map +1 -1
  690. package/dist/http/HttpTraceContext.d.ts.map +1 -1
  691. package/dist/http/HttpTraceContext.js +4 -2
  692. package/dist/http/HttpTraceContext.js.map +1 -1
  693. package/dist/http/internal/tracing.d.ts +2 -0
  694. package/dist/http/internal/tracing.d.ts.map +1 -0
  695. package/dist/http/internal/tracing.js +37 -0
  696. package/dist/http/internal/tracing.js.map +1 -0
  697. package/dist/http-api/HttpApiBuilder.js +2 -1
  698. package/dist/http-api/HttpApiBuilder.js.map +1 -1
  699. package/dist/http-api/HttpApiClient.d.ts +12 -3
  700. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  701. package/dist/http-api/HttpApiClient.js.map +1 -1
  702. package/dist/http-api/HttpApiError.d.ts +4 -3
  703. package/dist/http-api/HttpApiError.d.ts.map +1 -1
  704. package/dist/http-api/HttpApiError.js +7 -4
  705. package/dist/http-api/HttpApiError.js.map +1 -1
  706. package/dist/http-api/HttpApiSecurity.d.ts +8 -8
  707. package/dist/http-api/HttpApiSecurity.js +8 -8
  708. package/dist/index.d.ts +155 -0
  709. package/dist/index.d.ts.map +1 -1
  710. package/dist/index.js +155 -0
  711. package/dist/index.js.map +1 -1
  712. package/dist/internal/arbitrary/array.js +3 -3
  713. package/dist/internal/arbitrary/array.js.map +1 -1
  714. package/dist/internal/arbitrary/model.js +26 -11
  715. package/dist/internal/arbitrary/model.js.map +1 -1
  716. package/dist/internal/arbitrary/runner.js +8 -8
  717. package/dist/internal/arbitrary/runner.js.map +1 -1
  718. package/dist/internal/arbitrary/schema.js +4 -5
  719. package/dist/internal/arbitrary/schema.js.map +1 -1
  720. package/dist/internal/effect.js +53 -46
  721. package/dist/internal/effect.js.map +1 -1
  722. package/dist/internal/schedule.js +7 -5
  723. package/dist/internal/schedule.js.map +1 -1
  724. package/dist/internal/schema/standardSchema.js +2 -2
  725. package/dist/internal/schema/standardSchema.js.map +1 -1
  726. package/dist/internal/version.d.ts +2 -0
  727. package/dist/internal/version.d.ts.map +1 -0
  728. package/dist/internal/version.js +3 -0
  729. package/dist/internal/version.js.map +1 -0
  730. package/dist/net/AddressResolver.d.ts +145 -0
  731. package/dist/net/AddressResolver.d.ts.map +1 -0
  732. package/dist/net/AddressResolver.js +114 -0
  733. package/dist/net/AddressResolver.js.map +1 -0
  734. package/dist/net/Dns.d.ts +596 -0
  735. package/dist/net/Dns.d.ts.map +1 -0
  736. package/dist/net/Dns.js +549 -0
  737. package/dist/net/Dns.js.map +1 -0
  738. package/dist/net/Host.d.ts +320 -0
  739. package/dist/net/Host.d.ts.map +1 -0
  740. package/dist/net/Host.js +342 -0
  741. package/dist/net/Host.js.map +1 -0
  742. package/dist/net/IpInterface.d.ts +76 -3
  743. package/dist/net/IpInterface.d.ts.map +1 -1
  744. package/dist/net/IpInterface.js +53 -4
  745. package/dist/net/IpInterface.js.map +1 -1
  746. package/dist/net/IpNetwork.d.ts +82 -8
  747. package/dist/net/IpNetwork.d.ts.map +1 -1
  748. package/dist/net/IpNetwork.js +60 -4
  749. package/dist/net/IpNetwork.js.map +1 -1
  750. package/dist/net/NetAddress.d.ts +388 -35
  751. package/dist/net/NetAddress.d.ts.map +1 -1
  752. package/dist/net/NetAddress.js +350 -34
  753. package/dist/net/NetAddress.js.map +1 -1
  754. package/dist/net/index.d.ts +15 -0
  755. package/dist/net/index.d.ts.map +1 -1
  756. package/dist/net/index.js +15 -0
  757. package/dist/net/index.js.map +1 -1
  758. package/dist/observability/OtlpExporter.d.ts.map +1 -1
  759. package/dist/observability/OtlpExporter.js +5 -6
  760. package/dist/observability/OtlpExporter.js.map +1 -1
  761. package/dist/observability/OtlpLogger.d.ts.map +1 -1
  762. package/dist/observability/OtlpLogger.js +23 -27
  763. package/dist/observability/OtlpLogger.js.map +1 -1
  764. package/dist/observability/OtlpMetrics.d.ts +5 -3
  765. package/dist/observability/OtlpMetrics.d.ts.map +1 -1
  766. package/dist/observability/OtlpMetrics.js +36 -115
  767. package/dist/observability/OtlpMetrics.js.map +1 -1
  768. package/dist/observability/OtlpResource.d.ts +4 -3
  769. package/dist/observability/OtlpResource.d.ts.map +1 -1
  770. package/dist/observability/OtlpResource.js +20 -23
  771. package/dist/observability/OtlpResource.js.map +1 -1
  772. package/dist/observability/OtlpTracer.d.ts +1 -0
  773. package/dist/observability/OtlpTracer.d.ts.map +1 -1
  774. package/dist/observability/OtlpTracer.js +32 -36
  775. package/dist/observability/OtlpTracer.js.map +1 -1
  776. package/dist/observability/PrometheusMetrics.js +1 -0
  777. package/dist/observability/PrometheusMetrics.js.map +1 -1
  778. package/dist/observability/internal/otlpProtobuf.js +32 -1
  779. package/dist/observability/internal/otlpProtobuf.js.map +1 -1
  780. package/dist/persistence/PersistedQueue.d.ts +32 -3
  781. package/dist/persistence/PersistedQueue.d.ts.map +1 -1
  782. package/dist/persistence/PersistedQueue.js +75 -16
  783. package/dist/persistence/PersistedQueue.js.map +1 -1
  784. package/dist/reactivity/AsyncResult.d.ts +1 -1
  785. package/dist/reactivity/Atom.d.ts +5 -5
  786. package/dist/reactivity/Atom.d.ts.map +1 -1
  787. package/dist/reactivity/Atom.js +9 -5
  788. package/dist/reactivity/Atom.js.map +1 -1
  789. package/dist/reactivity/AtomHttpApi.d.ts +2 -2
  790. package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
  791. package/dist/reactivity/AtomRegistry.d.ts +8 -0
  792. package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
  793. package/dist/reactivity/AtomRegistry.js.map +1 -1
  794. package/dist/rpc/RpcClient.d.ts +41 -7
  795. package/dist/rpc/RpcClient.d.ts.map +1 -1
  796. package/dist/rpc/RpcClient.js +50 -25
  797. package/dist/rpc/RpcClient.js.map +1 -1
  798. package/dist/rpc/RpcServer.d.ts +6 -0
  799. package/dist/rpc/RpcServer.d.ts.map +1 -1
  800. package/dist/rpc/RpcServer.js +59 -40
  801. package/dist/rpc/RpcServer.js.map +1 -1
  802. package/dist/rpc/internal/tracing.d.ts +2 -0
  803. package/dist/rpc/internal/tracing.d.ts.map +1 -0
  804. package/dist/rpc/internal/tracing.js +18 -0
  805. package/dist/rpc/internal/tracing.js.map +1 -0
  806. package/dist/schema/SchemaCompiler/runtime.js +9 -1
  807. package/dist/schema/SchemaCompiler/runtime.js.map +1 -1
  808. package/dist/socket/DatagramSocket.d.ts +456 -0
  809. package/dist/socket/DatagramSocket.d.ts.map +1 -0
  810. package/dist/socket/DatagramSocket.js +535 -0
  811. package/dist/socket/DatagramSocket.js.map +1 -0
  812. package/dist/socket/Socket.d.ts +14 -1
  813. package/dist/socket/Socket.d.ts.map +1 -1
  814. package/dist/socket/Socket.js +9 -1
  815. package/dist/socket/Socket.js.map +1 -1
  816. package/dist/socket/index.d.ts +5 -0
  817. package/dist/socket/index.d.ts.map +1 -1
  818. package/dist/socket/index.js +5 -0
  819. package/dist/socket/index.js.map +1 -1
  820. package/dist/sql/Migrator.d.ts.map +1 -1
  821. package/dist/sql/Migrator.js +7 -2
  822. package/dist/sql/Migrator.js.map +1 -1
  823. package/dist/sql/SqlClient.d.ts +7 -1
  824. package/dist/sql/SqlClient.d.ts.map +1 -1
  825. package/dist/sql/SqlClient.js +35 -10
  826. package/dist/sql/SqlClient.js.map +1 -1
  827. package/dist/sql/Statement.d.ts +21 -1
  828. package/dist/sql/Statement.d.ts.map +1 -1
  829. package/dist/sql/Statement.js +55 -7
  830. package/dist/sql/Statement.js.map +1 -1
  831. package/dist/testing/TestClock.d.ts +8 -0
  832. package/dist/testing/TestClock.d.ts.map +1 -1
  833. package/dist/testing/TestClock.js +7 -0
  834. package/dist/testing/TestClock.js.map +1 -1
  835. package/dist/testing/TestConsole.d.ts +7 -0
  836. package/dist/testing/TestConsole.d.ts.map +1 -1
  837. package/dist/testing/TestConsole.js +6 -0
  838. package/dist/testing/TestConsole.js.map +1 -1
  839. package/dist/testing/TestCrypto.d.ts +73 -0
  840. package/dist/testing/TestCrypto.d.ts.map +1 -0
  841. package/dist/testing/TestCrypto.js +87 -0
  842. package/dist/testing/TestCrypto.js.map +1 -0
  843. package/dist/testing/index.d.ts +8 -0
  844. package/dist/testing/index.d.ts.map +1 -1
  845. package/dist/testing/index.js +8 -0
  846. package/dist/testing/index.js.map +1 -1
  847. package/dist/workflow/DurableDeferred.d.ts +54 -0
  848. package/dist/workflow/DurableDeferred.d.ts.map +1 -1
  849. package/dist/workflow/DurableDeferred.js +78 -49
  850. package/dist/workflow/DurableDeferred.js.map +1 -1
  851. package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
  852. package/dist/workflow/WorkflowEngine.js +2 -1
  853. package/dist/workflow/WorkflowEngine.js.map +1 -1
  854. package/package.json +3 -3
  855. package/src/Array.ts +351 -3
  856. package/src/BigDecimal.ts +88 -0
  857. package/src/BigInt.ts +68 -0
  858. package/src/Boolean.ts +34 -0
  859. package/src/Brand.ts +10 -0
  860. package/src/ByteSize.ts +87 -0
  861. package/src/Cache.ts +50 -8
  862. package/src/Cause.ts +82 -0
  863. package/src/Channel.ts +368 -18
  864. package/src/ChannelSchema.ts +13 -0
  865. package/src/Chunk.ts +193 -0
  866. package/src/Clock.ts +7 -0
  867. package/src/Combiner.ts +10 -0
  868. package/src/Config.ts +82 -8
  869. package/src/ConfigProvider.ts +28 -0
  870. package/src/Console.ts +26 -0
  871. package/src/Context.ts +53 -3
  872. package/src/Cron.ts +32 -1
  873. package/src/Crypto.ts +48 -9
  874. package/src/Data.ts +13 -0
  875. package/src/DateTime.ts +180 -6
  876. package/src/Deferred.ts +51 -0
  877. package/src/Differ.ts +2 -0
  878. package/src/Duration.ts +126 -16
  879. package/src/Effect.ts +539 -5
  880. package/src/Effectable.ts +4 -0
  881. package/src/Equal.ts +12 -1
  882. package/src/Equivalence.ts +22 -0
  883. package/src/ErrorReporter.ts +36 -0
  884. package/src/ExecutionPlan.ts +58 -14
  885. package/src/Exit.ts +40 -0
  886. package/src/Fiber.ts +20 -0
  887. package/src/FiberHandle.ts +29 -4
  888. package/src/FiberMap.ts +38 -0
  889. package/src/FiberSet.ts +21 -0
  890. package/src/FileSystem.ts +64 -2
  891. package/src/Filter.ts +55 -0
  892. package/src/Formatter.ts +42 -1
  893. package/src/Function.ts +30 -0
  894. package/src/Graph.ts +317 -36
  895. package/src/HKT.ts +5 -0
  896. package/src/Hash.ts +15 -0
  897. package/src/HashMap.ts +91 -0
  898. package/src/HashRing.ts +18 -0
  899. package/src/HashSet.ts +53 -0
  900. package/src/Inspectable.ts +8 -0
  901. package/src/Iterable.ts +127 -0
  902. package/src/JsonPatch.ts +5 -0
  903. package/src/JsonPointer.ts +5 -0
  904. package/src/JsonSchema.ts +17 -0
  905. package/src/Latch.ts +14 -0
  906. package/src/Layer.ts +101 -1
  907. package/src/LayerMap.ts +7 -0
  908. package/src/LayerRef.ts +5 -0
  909. package/src/LogLevel.ts +20 -0
  910. package/src/Logger.ts +41 -5
  911. package/src/ManagedRuntime.ts +12 -1
  912. package/src/Match.ts +52 -0
  913. package/src/Metric.ts +69 -0
  914. package/src/MutableHashMap.ts +44 -0
  915. package/src/MutableHashSet.ts +17 -0
  916. package/src/MutableList.ts +21 -0
  917. package/src/MutableRef.ts +32 -0
  918. package/src/Newtype.ts +9 -0
  919. package/src/NonEmptyIterable.ts +4 -0
  920. package/src/Number.ts +61 -0
  921. package/src/Optic.ts +57 -0
  922. package/src/Option.ts +134 -0
  923. package/src/Order.ts +30 -0
  924. package/src/Ordering.ts +7 -0
  925. package/src/PartitionedSemaphore.ts +61 -22
  926. package/src/Path.ts +6 -0
  927. package/src/Pipeable.ts +7 -0
  928. package/src/PlatformError.ts +8 -0
  929. package/src/Pool.ts +20 -1
  930. package/src/Predicate.ts +85 -0
  931. package/src/PrimaryKey.ts +5 -0
  932. package/src/PubSub.ts +90 -9
  933. package/src/Pull.ts +20 -0
  934. package/src/Queue.ts +80 -10
  935. package/src/Random.ts +13 -0
  936. package/src/RcMap.ts +23 -0
  937. package/src/RcRef.ts +6 -0
  938. package/src/Record.ts +100 -0
  939. package/src/Redactable.ts +6 -0
  940. package/src/Redacted.ts +8 -0
  941. package/src/Reducer.ts +4 -0
  942. package/src/Ref.ts +42 -0
  943. package/src/References.ts +21 -0
  944. package/src/RegExp.ts +4 -0
  945. package/src/Request.ts +32 -0
  946. package/src/RequestResolver.ts +59 -10
  947. package/src/Resource.ts +7 -0
  948. package/src/Result.ts +93 -0
  949. package/src/Runtime.ts +10 -0
  950. package/src/Schedule.ts +61 -0
  951. package/src/Scheduler.ts +7 -0
  952. package/src/Schema.ts +1168 -9
  953. package/src/SchemaAST.ts +115 -1
  954. package/src/SchemaGetter.ts +80 -4
  955. package/src/SchemaIssue.ts +34 -0
  956. package/src/SchemaParser.ts +26 -0
  957. package/src/SchemaRepresentation.ts +148 -0
  958. package/src/SchemaTransformation.ts +53 -0
  959. package/src/Scope.ts +19 -0
  960. package/src/ScopedCache.ts +55 -3
  961. package/src/ScopedRef.ts +9 -0
  962. package/src/Semaphore.ts +26 -0
  963. package/src/Sink.ts +126 -2
  964. package/src/StandardSchema.ts +1 -0
  965. package/src/Stdio.ts +16 -2
  966. package/src/Stream.ts +633 -26
  967. package/src/String.ts +87 -0
  968. package/src/Struct.ts +46 -0
  969. package/src/SubscriptionRef.ts +65 -0
  970. package/src/Symbol.ts +2 -0
  971. package/src/SynchronizedRef.ts +63 -0
  972. package/src/Take.ts +3 -0
  973. package/src/Terminal.ts +8 -0
  974. package/src/Tracer.ts +23 -0
  975. package/src/Trie.ts +68 -0
  976. package/src/Tuple.ts +38 -0
  977. package/src/TxChunk.ts +52 -0
  978. package/src/TxDeferred.ts +15 -0
  979. package/src/TxHashMap.ts +97 -6
  980. package/src/TxHashSet.ts +83 -3
  981. package/src/TxPriorityQueue.ts +34 -2
  982. package/src/TxPubSub.ts +26 -0
  983. package/src/TxQueue.ts +51 -0
  984. package/src/TxReentrantLock.ts +53 -36
  985. package/src/TxRef.ts +14 -0
  986. package/src/TxSemaphore.ts +47 -31
  987. package/src/TxSubscriptionRef.ts +25 -0
  988. package/src/Types.ts +36 -0
  989. package/src/UndefinedOr.ts +15 -0
  990. package/src/Unify.ts +15 -0
  991. package/src/Utils.ts +4 -0
  992. package/src/Version.ts +38 -0
  993. package/src/ai/Chat.ts +1 -1
  994. package/src/ai/DecisionModel.ts +42 -1
  995. package/src/ai/LanguageModel.ts +16 -19
  996. package/src/ai/McpServer.ts +169 -58
  997. package/src/ai/Telemetry.ts +62 -58
  998. package/src/ai/internal/mcpProtocol/v2026_07_28.ts +5 -0
  999. package/src/ai/internal/mcpProtocol.ts +3 -0
  1000. package/src/ai/internal/mcpRuntime.ts +86 -43
  1001. package/src/ai/internal/mcpStatefulRuntime.ts +2 -0
  1002. package/src/cli/CliOutput.ts +33 -16
  1003. package/src/cli/Command.ts +4 -3
  1004. package/src/cli/Completions.ts +9 -6
  1005. package/src/cli/GlobalFlag.ts +19 -11
  1006. package/src/cli/Prompt.ts +159 -149
  1007. package/src/cli/internal/ansi.ts +26 -3
  1008. package/src/cli/internal/completions/powershell.ts +322 -0
  1009. package/src/cli/internal/completions/zsh.ts +4 -2
  1010. package/src/cli/internal/wizard.ts +34 -26
  1011. package/src/cluster/ClusterSchema.ts +32 -0
  1012. package/src/cluster/ClusterWorkflowEngine.ts +13 -24
  1013. package/src/cluster/K8sHttpClient.ts +12 -2
  1014. package/src/cluster/MessageStorage.ts +45 -14
  1015. package/src/cluster/Runners.ts +8 -2
  1016. package/src/cluster/Sharding.ts +207 -49
  1017. package/src/cluster/SqlMessageStorage.ts +118 -84
  1018. package/src/cluster/SqlRunnerStorage.ts +224 -128
  1019. package/src/cluster/internal/entityManager.ts +151 -55
  1020. package/src/encoding/Base64.ts +4 -0
  1021. package/src/encoding/Base64Url.ts +4 -0
  1022. package/src/encoding/EncodingError.ts +5 -0
  1023. package/src/encoding/Hex.ts +5 -0
  1024. package/src/encoding/Toml.ts +2 -2
  1025. package/src/encoding/Yaml.ts +8 -4
  1026. package/src/encoding/index.ts +4 -0
  1027. package/src/eventlog/SqlEventJournal.ts +18 -4
  1028. package/src/eventlog/SqlEventLogServerUnencrypted.ts +282 -235
  1029. package/src/http/FindMyWay/internal/router.ts +4 -7
  1030. package/src/http/Headers.ts +8 -2
  1031. package/src/http/HttpClient.ts +100 -29
  1032. package/src/http/HttpClientResponse.ts +3 -1
  1033. package/src/http/HttpEffect.ts +11 -2
  1034. package/src/http/HttpMiddleware.ts +60 -45
  1035. package/src/http/HttpServer.ts +1 -1
  1036. package/src/http/HttpTraceContext.ts +8 -2
  1037. package/src/http/internal/tracing.ts +52 -0
  1038. package/src/http-api/HttpApiBuilder.ts +5 -1
  1039. package/src/http-api/HttpApiClient.ts +13 -4
  1040. package/src/http-api/HttpApiError.ts +8 -4
  1041. package/src/http-api/HttpApiSecurity.ts +8 -8
  1042. package/src/index.ts +156 -0
  1043. package/src/internal/arbitrary/array.ts +3 -3
  1044. package/src/internal/arbitrary/model.ts +37 -14
  1045. package/src/internal/arbitrary/runner.ts +7 -7
  1046. package/src/internal/arbitrary/schema.ts +4 -3
  1047. package/src/internal/effect.ts +62 -58
  1048. package/src/internal/schedule.ts +23 -17
  1049. package/src/internal/schema/standardSchema.ts +2 -2
  1050. package/src/internal/version.ts +2 -0
  1051. package/src/net/AddressResolver.ts +222 -0
  1052. package/src/net/Dns.ts +1035 -0
  1053. package/src/net/Host.ts +472 -0
  1054. package/src/net/IpInterface.ts +117 -7
  1055. package/src/net/IpNetwork.ts +116 -17
  1056. package/src/net/NetAddress.ts +611 -76
  1057. package/src/net/index.ts +18 -0
  1058. package/src/observability/OtlpExporter.ts +9 -6
  1059. package/src/observability/OtlpLogger.ts +20 -21
  1060. package/src/observability/OtlpMetrics.ts +46 -116
  1061. package/src/observability/OtlpResource.ts +18 -27
  1062. package/src/observability/OtlpTracer.ts +34 -40
  1063. package/src/observability/PrometheusMetrics.ts +1 -0
  1064. package/src/observability/internal/otlpProtobuf.ts +60 -0
  1065. package/src/persistence/PersistedQueue.ts +146 -53
  1066. package/src/reactivity/AsyncResult.ts +1 -1
  1067. package/src/reactivity/Atom.ts +10 -6
  1068. package/src/reactivity/AtomHttpApi.ts +2 -4
  1069. package/src/reactivity/AtomRegistry.ts +7 -0
  1070. package/src/rpc/RpcClient.ts +87 -41
  1071. package/src/rpc/RpcServer.ts +85 -48
  1072. package/src/rpc/internal/tracing.ts +22 -0
  1073. package/src/schema/SchemaCompiler/runtime.ts +4 -1
  1074. package/src/socket/DatagramSocket.ts +919 -0
  1075. package/src/socket/Socket.ts +22 -2
  1076. package/src/socket/index.ts +6 -0
  1077. package/src/sql/Migrator.ts +21 -5
  1078. package/src/sql/SqlClient.ts +43 -19
  1079. package/src/sql/Statement.ts +59 -7
  1080. package/src/testing/TestClock.ts +9 -0
  1081. package/src/testing/TestConsole.ts +8 -0
  1082. package/src/testing/TestCrypto.ts +94 -0
  1083. package/src/testing/index.ts +9 -0
  1084. package/src/workflow/DurableDeferred.ts +123 -48
  1085. package/src/workflow/WorkflowEngine.ts +2 -1
package/dist/Graph.js CHANGED
@@ -6,6 +6,7 @@
6
6
  * both nodes and edges. The module includes traversal, analysis, path-finding,
7
7
  * transformation, and diagram export utilities.
8
8
  *
9
+ * @stability unstable
9
10
  * @since 4.0.0
10
11
  */
11
12
  import * as Data from "./Data.js";
@@ -37,6 +38,7 @@ const copyEdge = edge => ({
37
38
  * Use when handling failures thrown by graph operations that reject invalid
38
39
  * graph structure or unsupported algorithm inputs.
39
40
  *
41
+ * @stability unstable
40
42
  * @category errors
41
43
  * @since 3.18.0
42
44
  */
@@ -93,6 +95,7 @@ const withMutationGuard = (graph, evaluate) => graph.mutable ? internal.withTran
93
95
  * distinguish immutable graphs from mutable graphs or directed graphs from
94
96
  * undirected graphs.
95
97
  *
98
+ * @stability unstable
96
99
  * @category guards
97
100
  * @since 4.0.0
98
101
  */
@@ -128,6 +131,7 @@ export const isGraph = internal.isGraph;
128
131
  * ```
129
132
  *
130
133
  * @see {@link toSnapshot} for capturing a graph snapshot
134
+ * @stability unstable
131
135
  * @category constructors
132
136
  * @since 4.0.0
133
137
  */
@@ -236,6 +240,7 @@ export const fromSnapshot = snapshot => {
236
240
  * ```
237
241
  *
238
242
  * @see {@link fromSnapshot} for reconstructing an immutable graph
243
+ * @stability unstable
239
244
  * @category converting
240
245
  * @since 4.0.0
241
246
  */
@@ -278,6 +283,7 @@ export const toSnapshot = graph => {
278
283
  *
279
284
  * @see {@link directed} for constructing a directed graph directly
280
285
  * @see {@link undirected} for constructing an undirected graph directly
286
+ * @stability unstable
281
287
  * @category constructors
282
288
  * @since 4.0.0
283
289
  */
@@ -323,6 +329,7 @@ export const make = type => mutate => {
323
329
  * Array.of(Graph.nodeCount(graph), Graph.edgeCount(graph)) // => [3, 2]
324
330
  * ```
325
331
  *
332
+ * @stability unstable
326
333
  * @category constructors
327
334
  * @since 3.18.0
328
335
  */
@@ -356,6 +363,7 @@ export const directed = /*#__PURE__*/make("directed");
356
363
  * Array.of(Graph.nodeCount(graph), Graph.edgeCount(graph)) // => [3, 2]
357
364
  * ```
358
365
  *
366
+ * @stability unstable
359
367
  * @category constructors
360
368
  * @since 3.18.0
361
369
  */
@@ -390,6 +398,7 @@ export const undirected = /*#__PURE__*/make("undirected");
390
398
  *
391
399
  * @see {@link endMutation} for finalizing the mutable graph
392
400
  * @see {@link mutate} for automatically scoped mutation
401
+ * @stability unstable
393
402
  * @category mutations
394
403
  * @since 3.18.0
395
404
  */
@@ -423,6 +432,7 @@ export const beginMutation = graph => {
423
432
  *
424
433
  * @see {@link beginMutation} for opening a manual mutation scope
425
434
  * @see {@link mutate} for automatically scoped mutation
435
+ * @stability unstable
426
436
  * @category mutations
427
437
  * @since 3.18.0
428
438
  */
@@ -488,6 +498,7 @@ const mutateScoped = (mutable, f) => {
488
498
  *
489
499
  * @see {@link beginMutation} for opening a manual mutation scope
490
500
  * @see {@link endMutation} for finalizing a manual mutation scope
501
+ * @stability unstable
491
502
  * @category mutations
492
503
  * @since 3.18.0
493
504
  */
@@ -626,6 +637,7 @@ const assertSameKind = (self, that) => {
626
637
  * ```
627
638
  *
628
639
  * @see {@link sum} for combining graphs without merging equal nodes
640
+ * @stability unstable
629
641
  * @category set operations
630
642
  * @since 4.0.0
631
643
  */
@@ -701,6 +713,7 @@ export const compose = /*#__PURE__*/dual(args => isGraph(args[0]) && isGraph(arg
701
713
  * ```
702
714
  *
703
715
  * @see {@link compose} for identity-based graph union
716
+ * @stability unstable
704
717
  * @category set operations
705
718
  * @since 4.0.0
706
719
  */
@@ -786,6 +799,7 @@ export const intersection = /*#__PURE__*/dual(args => isGraph(args[0]) && isGrap
786
799
  * ```
787
800
  *
788
801
  * @see {@link symmetricDifference} for retaining edges unique to either graph
802
+ * @stability unstable
789
803
  * @category set operations
790
804
  * @since 4.0.0
791
805
  */
@@ -862,6 +876,7 @@ export const difference = /*#__PURE__*/dual(args => isGraph(args[0]) && isGraph(
862
876
  * ```
863
877
  *
864
878
  * @see {@link difference} for removing only the edges found in another graph
879
+ * @stability unstable
865
880
  * @category set operations
866
881
  * @since 4.0.0
867
882
  */
@@ -933,6 +948,7 @@ export const symmetricDifference = /*#__PURE__*/dual(args => isGraph(args[0]) &&
933
948
  * ```
934
949
  *
935
950
  * @see {@link hasEdge} for testing one relationship
951
+ * @stability unstable
936
952
  * @category set operations
937
953
  * @since 4.0.0
938
954
  */
@@ -1001,6 +1017,7 @@ export const complement = /*#__PURE__*/dual(2, (self, createEdge) => {
1001
1017
  * ```
1002
1018
  *
1003
1019
  * @see {@link inducedSubgraph} for selecting nodes while preserving identifiers
1020
+ * @stability unstable
1004
1021
  * @category set operations
1005
1022
  * @since 4.0.0
1006
1023
  */
@@ -1052,6 +1069,7 @@ export const neighborhood = /*#__PURE__*/dual(args => isGraph(args[0]), (self, n
1052
1069
  *
1053
1070
  * @see {@link neighborhood} for selecting nodes by traversal distance
1054
1071
  *
1072
+ * @stability unstable
1055
1073
  * @category set operations
1056
1074
  * @since 4.0.0
1057
1075
  */
@@ -1112,6 +1130,7 @@ export const inducedSubgraph = /*#__PURE__*/dual(2, (self, nodeIndices) => {
1112
1130
  *
1113
1131
  * @see {@link compose} for merging overlapping logical nodes by identity
1114
1132
  *
1133
+ * @stability unstable
1115
1134
  * @category set operations
1116
1135
  * @since 4.0.0
1117
1136
  */
@@ -1171,6 +1190,7 @@ export const sum = /*#__PURE__*/dual(2, (self, that) => {
1171
1190
  * @see {@link mutate} for obtaining a mutable graph from an immutable graph
1172
1191
  * @see {@link addEdge} for connecting existing nodes
1173
1192
  *
1193
+ * @stability unstable
1174
1194
  * @category mutations
1175
1195
  * @since 3.18.0
1176
1196
  */
@@ -1206,6 +1226,7 @@ export const addNode = (mutable, data) => {
1206
1226
  * Graph.getNode(graph, 0) // => Option.some("Node A")
1207
1227
  * ```
1208
1228
  *
1229
+ * @stability unstable
1209
1230
  * @category getters
1210
1231
  * @since 3.18.0
1211
1232
  */
@@ -1229,6 +1250,7 @@ export const getNode = /*#__PURE__*/dual(2, (graph, nodeIndex) => {
1229
1250
  * Graph.hasNode(graph, 999) // => false
1230
1251
  * ```
1231
1252
  *
1253
+ * @stability unstable
1232
1254
  * @category predicates
1233
1255
  * @since 3.18.0
1234
1256
  */
@@ -1253,6 +1275,7 @@ export const hasNode = /*#__PURE__*/dual(2, (graph, nodeIndex) => internal.toImp
1253
1275
  * Graph.nodeCount(graphWithNodes) // => 3
1254
1276
  * ```
1255
1277
  *
1278
+ * @stability unstable
1256
1279
  * @category getters
1257
1280
  * @since 3.18.0
1258
1281
  */
@@ -1275,6 +1298,7 @@ export const nodeCount = graph => internal.toImpl(graph).nodes.size;
1275
1298
  * Graph.findNode(graph, (data) => data === "Node D") // => Option.none()
1276
1299
  * ```
1277
1300
  *
1301
+ * @stability unstable
1278
1302
  * @category getters
1279
1303
  * @since 3.18.0
1280
1304
  */
@@ -1307,6 +1331,7 @@ export const findNode = /*#__PURE__*/dual(2, (graph, predicate) => {
1307
1331
  * Graph.findNodes(graph, (data) => data === "Not Found") // => []
1308
1332
  * ```
1309
1333
  *
1334
+ * @stability unstable
1310
1335
  * @category getters
1311
1336
  * @since 3.18.0
1312
1337
  */
@@ -1342,6 +1367,7 @@ export const findNodes = /*#__PURE__*/dual(2, (graph, predicate) => {
1342
1367
  * Graph.findEdge(graph, (data) => data > 100) // => Option.none()
1343
1368
  * ```
1344
1369
  *
1370
+ * @stability unstable
1345
1371
  * @category getters
1346
1372
  * @since 3.18.0
1347
1373
  */
@@ -1377,6 +1403,7 @@ export const findEdge = /*#__PURE__*/dual(2, (graph, predicate) => {
1377
1403
  * Graph.findEdges(graph, (data) => data > 100) // => []
1378
1404
  * ```
1379
1405
  *
1406
+ * @stability unstable
1380
1407
  * @category getters
1381
1408
  * @since 3.18.0
1382
1409
  */
@@ -1419,6 +1446,7 @@ export const findEdges = /*#__PURE__*/dual(2, (graph, predicate) => {
1419
1446
  * Graph.getNode(graph, 0) // => Option.some("NODE A")
1420
1447
  * ```
1421
1448
  *
1449
+ * @stability unstable
1422
1450
  * @category transforming
1423
1451
  * @since 3.18.0
1424
1452
  */
@@ -1461,6 +1489,7 @@ export const updateNode = (mutable, index, f) => {
1461
1489
  * Option.map(Graph.getEdge(result, 0), (edge) => edge.data) // => Option.some(20)
1462
1490
  * ```
1463
1491
  *
1492
+ * @stability unstable
1464
1493
  * @category transforming
1465
1494
  * @since 3.18.0
1466
1495
  */
@@ -1514,6 +1543,7 @@ export const updateEdge = (mutable, edgeIndex, f) => {
1514
1543
  *
1515
1544
  * @see {@link updateNode} for updating one node
1516
1545
  * @see {@link filterMapNodes} for mapping while removing nodes
1546
+ * @stability unstable
1517
1547
  * @category mapping
1518
1548
  * @since 3.18.0
1519
1549
  */
@@ -1563,6 +1593,7 @@ export const mapNodes = (mutable, f) => {
1563
1593
  *
1564
1594
  * @see {@link updateEdge} for updating one edge
1565
1595
  * @see {@link filterMapEdges} for mapping while removing edges
1596
+ * @stability unstable
1566
1597
  * @category mapping
1567
1598
  * @since 3.18.0
1568
1599
  */
@@ -1613,6 +1644,7 @@ export const mapEdges = (mutable, f) => {
1613
1644
  * Option.map(Graph.getEdge(graph, 0), (edge) => edge.source) // => Option.some(1)
1614
1645
  * ```
1615
1646
  *
1647
+ * @stability unstable
1616
1648
  * @category transforming
1617
1649
  * @since 3.18.0
1618
1650
  */
@@ -1667,6 +1699,7 @@ export const reverse = mutable => {
1667
1699
  * Graph.nodeCount(graph) // => 2
1668
1700
  * ```
1669
1701
  *
1702
+ * @stability unstable
1670
1703
  * @category filtering
1671
1704
  * @since 3.18.0
1672
1705
  */
@@ -1721,6 +1754,7 @@ export const filterMapNodes = (mutable, f) => {
1721
1754
  * Graph.edgeCount(graph) // => 2
1722
1755
  * ```
1723
1756
  *
1757
+ * @stability unstable
1724
1758
  * @category filtering
1725
1759
  * @since 3.18.0
1726
1760
  */
@@ -1776,6 +1810,7 @@ export const filterMapEdges = (mutable, f) => {
1776
1810
  * Graph.nodeCount(graph) // => 2
1777
1811
  * ```
1778
1812
  *
1813
+ * @stability unstable
1779
1814
  * @category filtering
1780
1815
  * @since 3.18.0
1781
1816
  */
@@ -1824,6 +1859,7 @@ export const filterNodes = (mutable, predicate) => {
1824
1859
  * Graph.edgeCount(graph) // => 2
1825
1860
  * ```
1826
1861
  *
1862
+ * @stability unstable
1827
1863
  * @category filtering
1828
1864
  * @since 3.18.0
1829
1865
  */
@@ -1895,6 +1931,7 @@ const invalidateCycleFlagOnAddition = mutable => {
1895
1931
  * @see {@link mutate} for obtaining a mutable graph from an immutable graph
1896
1932
  * @see {@link addNode} for creating node indexes before connecting them
1897
1933
  *
1934
+ * @stability unstable
1898
1935
  * @category mutations
1899
1936
  * @since 3.18.0
1900
1937
  */
@@ -1970,6 +2007,7 @@ export const addEdge = (mutable, source, target, data) => {
1970
2007
  * Array.of(Graph.nodeCount(result), Graph.edgeCount(result)) // => [1, 0]
1971
2008
  * ```
1972
2009
  *
2010
+ * @stability unstable
1973
2011
  * @category mutations
1974
2012
  * @since 3.18.0
1975
2013
  */
@@ -1998,6 +2036,7 @@ export const removeNode = (mutable, nodeIndex) => {
1998
2036
  *
1999
2037
  * @see {@link removeNode} for removing one node
2000
2038
  *
2039
+ * @stability unstable
2001
2040
  * @category mutations
2002
2041
  * @since 4.0.0
2003
2042
  */
@@ -2079,6 +2118,7 @@ const removeNodeInternal = (impl, nodeIndex) => {
2079
2118
  * Array.of(Graph.nodeCount(result), Graph.edgeCount(result)) // => [2, 0]
2080
2119
  * ```
2081
2120
  *
2121
+ * @stability unstable
2082
2122
  * @category mutations
2083
2123
  * @since 3.18.0
2084
2124
  */
@@ -2108,6 +2148,7 @@ export const removeEdge = (mutable, edgeIndex) => {
2108
2148
  *
2109
2149
  * @see {@link removeEdge} for removing one edge
2110
2150
  *
2151
+ * @stability unstable
2111
2152
  * @category mutations
2112
2153
  * @since 4.0.0
2113
2154
  */
@@ -2197,6 +2238,7 @@ const removeEdgeInternal = (mutable, edgeIndex) => {
2197
2238
  * Graph.getEdge(graph, 0) // => Option.some({ source: 0, target: 1, data: 42 })
2198
2239
  * ```
2199
2240
  *
2241
+ * @stability unstable
2200
2242
  * @category getters
2201
2243
  * @since 3.18.0
2202
2244
  */
@@ -2233,6 +2275,7 @@ export const getEdge = /*#__PURE__*/dual(2, (graph, edgeIndex) => {
2233
2275
  * ```
2234
2276
  *
2235
2277
  * @see {@link edgesBetween} for all matching edge identifiers
2278
+ * @stability unstable
2236
2279
  * @category predicates
2237
2280
  * @since 3.18.0
2238
2281
  */
@@ -2277,6 +2320,7 @@ export const hasEdge = /*#__PURE__*/dual(3, (graph, source, target) => {
2277
2320
  * Graph.edgeCount(graphWithEdges) // => 3
2278
2321
  * ```
2279
2322
  *
2323
+ * @stability unstable
2280
2324
  * @category getters
2281
2325
  * @since 3.18.0
2282
2326
  */
@@ -2289,6 +2333,7 @@ export const edgeCount = graph => internal.toImpl(graph).edges.size;
2289
2333
  * Each edge is returned once in graph edge order, including self-loops.
2290
2334
  * Throws a `GraphError` when the node does not exist.
2291
2335
  *
2336
+ * @stability unstable
2292
2337
  * @category getters
2293
2338
  * @since 4.0.0
2294
2339
  */
@@ -2340,6 +2385,7 @@ export const incidentEdges = /*#__PURE__*/dual(2, (graph, nodeIndex) => {
2340
2385
  * Parallel edges and self-loops are returned separately in adjacency order.
2341
2386
  * Throws a `GraphError` for an undirected graph or missing node.
2342
2387
  *
2388
+ * @stability unstable
2343
2389
  * @category getters
2344
2390
  * @since 4.0.0
2345
2391
  */
@@ -2363,6 +2409,7 @@ export const outgoingEdges = /*#__PURE__*/dual(2, (graph, nodeIndex) => {
2363
2409
  * Parallel edges and self-loops are returned separately in reverse-adjacency
2364
2410
  * order. Throws a `GraphError` for an undirected graph or missing node.
2365
2411
  *
2412
+ * @stability unstable
2366
2413
  * @category getters
2367
2414
  * @since 4.0.0
2368
2415
  */
@@ -2387,6 +2434,7 @@ export const incomingEdges = /*#__PURE__*/dual(2, (graph, nodeIndex) => {
2387
2434
  * graphs include either stored orientation. Parallel edges are retained.
2388
2435
  * Throws a `GraphError` when either node does not exist.
2389
2436
  *
2437
+ * @stability unstable
2390
2438
  * @category getters
2391
2439
  * @since 4.0.0
2392
2440
  */
@@ -2421,6 +2469,7 @@ export const edgesBetween = /*#__PURE__*/dual(3, (graph, source, target) => {
2421
2469
  * Parallel edges count separately and a self-loop contributes two. Throws a
2422
2470
  * `GraphError` for a directed graph or missing node.
2423
2471
  *
2472
+ * @stability unstable
2424
2473
  * @category getters
2425
2474
  * @since 4.0.0
2426
2475
  */
@@ -2444,6 +2493,7 @@ export const degree = /*#__PURE__*/dual(2, (graph, nodeIndex) => {
2444
2493
  * Parallel edges count separately and a self-loop contributes one. Throws a
2445
2494
  * `GraphError` for an undirected graph or missing node.
2446
2495
  *
2496
+ * @stability unstable
2447
2497
  * @category getters
2448
2498
  * @since 4.0.0
2449
2499
  */
@@ -2467,6 +2517,7 @@ export const outDegree = /*#__PURE__*/dual(2, (graph, nodeIndex) => {
2467
2517
  * Parallel edges count separately and a self-loop contributes one. Throws a
2468
2518
  * `GraphError` for an undirected graph or missing node.
2469
2519
  *
2520
+ * @stability unstable
2470
2521
  * @category getters
2471
2522
  * @since 4.0.0
2472
2523
  */
@@ -2563,6 +2614,7 @@ const ScanDegreeLimit = 32;
2563
2614
  * Graph.neighbors(graph, 1) // => []
2564
2615
  * ```
2565
2616
  *
2617
+ * @stability unstable
2566
2618
  * @category getters
2567
2619
  * @since 3.18.0
2568
2620
  */
@@ -2592,6 +2644,7 @@ export const neighbors = /*#__PURE__*/dual(2, (graph, nodeIndex) => {
2592
2644
  * @see {@link predecessors} for incoming neighbors in a directed graph
2593
2645
  * @see {@link neighbors} for generic neighbor lookup across graph kinds
2594
2646
  *
2647
+ * @stability unstable
2595
2648
  * @category getters
2596
2649
  * @since 4.0.0
2597
2650
  */
@@ -2622,6 +2675,7 @@ export const successors = /*#__PURE__*/dual(2, (graph, nodeIndex) => {
2622
2675
  * @see {@link successors} for outgoing neighbors in a directed graph
2623
2676
  * @see {@link neighbors} for generic neighbor lookup across graph kinds
2624
2677
  *
2678
+ * @stability unstable
2625
2679
  * @category getters
2626
2680
  * @since 4.0.0
2627
2681
  */
@@ -2672,6 +2726,7 @@ export const predecessors = /*#__PURE__*/dual(2, (graph, nodeIndex) => {
2672
2726
  * @deprecated Use {@link successors} for outgoing neighbors or {@link predecessors} for incoming neighbors.
2673
2727
  * @see {@link successors} for outgoing neighbors in a directed graph
2674
2728
  * @see {@link predecessors} for incoming neighbors in a directed graph
2729
+ * @stability unstable
2675
2730
  * @category getters
2676
2731
  * @since 3.18.0
2677
2732
  */
@@ -2710,6 +2765,7 @@ const escapeGraphVizString = value => value.replace(/\\/g, "\\\\").replace(/"/g,
2710
2765
  * ```
2711
2766
  *
2712
2767
  * @see {@link toMermaid} for Mermaid diagram output
2768
+ * @stability unstable
2713
2769
  * @category converting
2714
2770
  * @since 3.18.0
2715
2771
  */
@@ -2804,6 +2860,7 @@ const formatMermaidNode = (nodeId, label, shape) => {
2804
2860
  * ```
2805
2861
  *
2806
2862
  * @see {@link toGraphViz} for GraphViz DOT output
2863
+ * @stability unstable
2807
2864
  * @category converting
2808
2865
  * @since 3.18.0
2809
2866
  */
@@ -2860,6 +2917,7 @@ export const toMermaid = /*#__PURE__*/dual(args => isGraph(args[0]), (graph, opt
2860
2917
  * one-edge cycle, and two parallel undirected edges form a two-edge cycle.
2861
2918
  *
2862
2919
  * @see {@link isAcyclic} when only a boolean cycle check is needed
2920
+ * @stability unstable
2863
2921
  * @category algorithms
2864
2922
  * @since 4.0.0
2865
2923
  */
@@ -2966,6 +3024,7 @@ export const findCycle = graph => {
2966
3024
  *
2967
3025
  * @see {@link findCycle} for retrieving one cycle witness
2968
3026
  * @see {@link topo} for ordering a directed acyclic graph
3027
+ * @stability unstable
2969
3028
  * @category algorithms
2970
3029
  * @since 3.18.0
2971
3030
  */
@@ -3090,6 +3149,7 @@ export const isAcyclic = graph => {
3090
3149
  * ```
3091
3150
  *
3092
3151
  * @see {@link maximumBipartiteMatching} for matching nodes after validation
3152
+ * @stability unstable
3093
3153
  * @category algorithms
3094
3154
  * @since 3.18.0
3095
3155
  */
@@ -3207,6 +3267,7 @@ const bipartiteColors = graph => {
3207
3267
  * ```
3208
3268
  *
3209
3269
  * @see {@link isBipartite} for validating the graph without computing a matching
3270
+ * @stability unstable
3210
3271
  * @category algorithms
3211
3272
  * @since 4.0.0
3212
3273
  */
@@ -3424,6 +3485,7 @@ const getUnweightedDistances = (graph, source, direction) => {
3424
3485
  * @see {@link bfs} for lazy traversal in increasing hop distance
3425
3486
  * @see {@link dijkstra} for weighted shortest paths
3426
3487
  *
3488
+ * @stability unstable
3427
3489
  * @category algorithms
3428
3490
  * @since 4.0.0
3429
3491
  */
@@ -3448,6 +3510,7 @@ export const unweightedDistances = /*#__PURE__*/dual(args => isGraph(args[0]), (
3448
3510
  * @see {@link unweightedDistances} for hop distances to all reachable nodes
3449
3511
  * @see {@link dijkstra} for a minimum-cost path
3450
3512
  *
3513
+ * @stability unstable
3451
3514
  * @category predicates
3452
3515
  * @since 4.0.0
3453
3516
  */
@@ -3537,6 +3600,7 @@ export const hasPath = /*#__PURE__*/dual(args => isGraph(args[0]), (graph, sourc
3537
3600
  * @see {@link isConnected} when only a boolean connectivity check is needed
3538
3601
  * @see {@link weaklyConnectedComponents} for directed graphs with orientation ignored
3539
3602
  * @see {@link stronglyConnectedComponents} for mutual directed reachability
3603
+ * @stability unstable
3540
3604
  * @category algorithms
3541
3605
  * @since 3.18.0
3542
3606
  */
@@ -3743,6 +3807,7 @@ const analyzeLowLinks = graph => {
3743
3807
  *
3744
3808
  * @see {@link articulationPoints} for single-node failure points
3745
3809
  * @see {@link biconnectedComponents} for maximal regions without an articulation split
3810
+ * @stability unstable
3746
3811
  * @category algorithms
3747
3812
  * @since 4.0.0
3748
3813
  */
@@ -3780,6 +3845,7 @@ export const bridges = graph => analyzeLowLinks(graph).bridges;
3780
3845
  *
3781
3846
  * @see {@link bridges} for single-edge failure points
3782
3847
  * @see {@link biconnectedComponents} for the regions joined at articulation points
3848
+ * @stability unstable
3783
3849
  * @category algorithms
3784
3850
  * @since 4.0.0
3785
3851
  */
@@ -3824,6 +3890,7 @@ export const articulationPoints = graph => analyzeLowLinks(graph).articulationPo
3824
3890
  *
3825
3891
  * @see {@link articulationPoints} for the nodes shared between components
3826
3892
  * @see {@link bridges} for edges whose removal disconnects the graph
3893
+ * @stability unstable
3827
3894
  * @category algorithms
3828
3895
  * @since 4.0.0
3829
3896
  */
@@ -4011,6 +4078,7 @@ const solveMaximumFlow = (graph, config) => {
4011
4078
  * ```
4012
4079
  *
4013
4080
  * @see {@link minimumCut} for the residual-reachability partition
4081
+ * @stability unstable
4014
4082
  * @category algorithms
4015
4083
  * @since 4.0.0
4016
4084
  */
@@ -4062,6 +4130,7 @@ export const maximumFlow = /*#__PURE__*/dual(2, (graph, config) => {
4062
4130
  * ```
4063
4131
  *
4064
4132
  * @see {@link maximumFlow} for per-edge flow values
4133
+ * @stability unstable
4065
4134
  * @category algorithms
4066
4135
  * @since 4.0.0
4067
4136
  */
@@ -4100,6 +4169,7 @@ export const minimumCut = /*#__PURE__*/dual(2, (graph, config) => {
4100
4169
  * @see {@link isWeaklyConnected} when only a boolean check is needed
4101
4170
  * @see {@link stronglyConnectedComponents} for mutual directed reachability
4102
4171
  *
4172
+ * @stability unstable
4103
4173
  * @category algorithms
4104
4174
  * @since 4.0.0
4105
4175
  */
@@ -4185,6 +4255,7 @@ export const weaklyConnectedComponents = graph => {
4185
4255
  *
4186
4256
  * @see {@link isStronglyConnected} when only a boolean check is needed
4187
4257
  * @see {@link weaklyConnectedComponents} when edge orientation should be ignored
4258
+ * @stability unstable
4188
4259
  * @category algorithms
4189
4260
  * @since 3.18.0
4190
4261
  */
@@ -4303,6 +4374,7 @@ const csrReachesAll = (nodeCount, primary, secondary) => {
4303
4374
  *
4304
4375
  * @see {@link connectedComponents} for the component partition
4305
4376
  *
4377
+ * @stability unstable
4306
4378
  * @category predicates
4307
4379
  * @since 4.0.0
4308
4380
  */
@@ -4330,6 +4402,7 @@ export const isConnected = graph => {
4330
4402
  *
4331
4403
  * @see {@link isStronglyConnected} when edge orientation must be respected
4332
4404
  *
4405
+ * @stability unstable
4333
4406
  * @category predicates
4334
4407
  * @since 4.0.0
4335
4408
  */
@@ -4361,6 +4434,7 @@ export const isWeaklyConnected = graph => {
4361
4434
  *
4362
4435
  * @see {@link isWeaklyConnected} when edge orientation should be ignored
4363
4436
  *
4437
+ * @stability unstable
4364
4438
  * @category predicates
4365
4439
  * @since 4.0.0
4366
4440
  */
@@ -4385,6 +4459,7 @@ export const isStronglyConnected = graph => {
4385
4459
  * The empty graph is not a tree. Parallel edges and self-loops prevent a graph
4386
4460
  * from being a tree. Throws a `GraphError` when used with a directed graph.
4387
4461
  *
4462
+ * @stability unstable
4388
4463
  * @category predicates
4389
4464
  * @since 4.0.0
4390
4465
  */
@@ -4418,6 +4493,7 @@ export const isTree = graph => {
4418
4493
  * Throws a `GraphError` for a directed graph or when a weight is `NaN` or
4419
4494
  * `-Infinity`. Edges weighted `Infinity` are omitted.
4420
4495
  *
4496
+ * @stability unstable
4421
4497
  * @category algorithms
4422
4498
  * @since 4.0.0
4423
4499
  */
@@ -4527,6 +4603,7 @@ export const minimumSpanningForest = /*#__PURE__*/dual(2, (graph, cost) => {
4527
4603
  * coalesced by retaining the first edge for each required pair. Throws a
4528
4604
  * `GraphError` for an undirected graph or cyclic input.
4529
4605
  *
4606
+ * @stability unstable
4530
4607
  * @category algorithms
4531
4608
  * @since 4.0.0
4532
4609
  */
@@ -4747,6 +4824,7 @@ const denseMinHeapPop = heap => {
4747
4824
  * @see {@link astar} when a useful heuristic can guide the search
4748
4825
  * @see {@link bellmanFord} when edge costs may be negative
4749
4826
  * @see {@link floydWarshall} when shortest paths are needed for all pairs
4827
+ * @stability unstable
4750
4828
  * @category algorithms
4751
4829
  * @since 3.18.0
4752
4830
  */
@@ -4860,14 +4938,16 @@ export const dijkstra = /*#__PURE__*/dual(2, (graph, config) => {
4860
4938
  *
4861
4939
  * **When to use**
4862
4940
  *
4863
- * Use when many or all node pairs will be queried and cubic computation plus
4864
- * quadratic result storage is acceptable.
4941
+ * Use when many or all node pairs will be queried and cubic distance computation
4942
+ * plus storage for reconstructed paths is acceptable.
4865
4943
  *
4866
4944
  * **Details**
4867
4945
  *
4868
4946
  * Computes distances, reconstructed node paths, and edge-data paths for every
4869
- * source and target pair in O(V^3) time. Negative edge weights are allowed, and
4870
- * `Infinity` behaves like an impassable edge.
4947
+ * source and target pair. Distance computation takes O(V^3) time. Negative edge
4948
+ * weights are allowed, and `Infinity` behaves like an impassable edge. Immutable
4949
+ * path witnesses can require O(V^3) working storage; reconstructed paths have
4950
+ * repeated nodes removed.
4871
4951
  *
4872
4952
  * **Gotchas**
4873
4953
  *
@@ -4896,6 +4976,7 @@ export const dijkstra = /*#__PURE__*/dual(2, (graph, config) => {
4896
4976
  *
4897
4977
  * @see {@link dijkstra} for one query with non-negative edge costs
4898
4978
  * @see {@link bellmanFord} for one query that may include negative edge costs
4979
+ * @stability unstable
4899
4980
  * @category algorithms
4900
4981
  * @since 3.18.0
4901
4982
  */
@@ -4905,13 +4986,10 @@ export const floydWarshall = /*#__PURE__*/dual(2, (graph, cost) => {
4905
4986
  const edgeIds = csr.getEdgeIds(cache);
4906
4987
  const edgeCache = csr.getEdgeEndpoints(cache);
4907
4988
  const size = cache.nodeIds.length;
4908
- // Flat matrices keep the O(N^2) working set contiguous and avoid nested map lookups in the O(N^3) loop.
4989
+ const witnesses = new Array(size * size);
4990
+ // The flat distance matrix avoids nested map lookups in the O(N^3) loop.
4909
4991
  const distancesMatrix = new Float64Array(size * size);
4910
- const nextMatrix = new Int32Array(size * size);
4911
- const edgeMatrix = new Int32Array(size * size);
4912
4992
  distancesMatrix.fill(Infinity);
4913
- nextMatrix.fill(-1);
4914
- edgeMatrix.fill(-1);
4915
4993
  for (let i = 0; i < size; i++) {
4916
4994
  distancesMatrix[i * size + i] = 0;
4917
4995
  }
@@ -4928,15 +5006,19 @@ export const floydWarshall = /*#__PURE__*/dual(2, (graph, cost) => {
4928
5006
  const position = source * size + target;
4929
5007
  if (weight < distancesMatrix[position]) {
4930
5008
  distancesMatrix[position] = weight;
4931
- nextMatrix[position] = target;
4932
- edgeMatrix[position] = edge;
5009
+ witnesses[position] = {
5010
+ target,
5011
+ edge
5012
+ };
4933
5013
  }
4934
5014
  if (graph.type === "undirected") {
4935
5015
  const reverse = target * size + source;
4936
5016
  if (weight < distancesMatrix[reverse]) {
4937
5017
  distancesMatrix[reverse] = weight;
4938
- nextMatrix[reverse] = source;
4939
- edgeMatrix[reverse] = edge;
5018
+ witnesses[reverse] = {
5019
+ target: source,
5020
+ edge
5021
+ };
4940
5022
  }
4941
5023
  }
4942
5024
  }
@@ -4949,7 +5031,7 @@ export const floydWarshall = /*#__PURE__*/dual(2, (graph, cost) => {
4949
5031
  if (distanceIK === Infinity) {
4950
5032
  continue;
4951
5033
  }
4952
- const nextIK = nextMatrix[iRow + k];
5034
+ const left = witnesses[iRow + k];
4953
5035
  for (let j = 0; j < size; j++) {
4954
5036
  const distanceKJ = distancesMatrix[kRow + j];
4955
5037
  if (distanceKJ === Infinity) {
@@ -4961,9 +5043,14 @@ export const floydWarshall = /*#__PURE__*/dual(2, (graph, cost) => {
4961
5043
  message: "Floyd-Warshall distance calculation exceeded the finite number range"
4962
5044
  });
4963
5045
  }
4964
- if (candidate < distancesMatrix[iRow + j] && nextIK !== -1) {
5046
+ if (candidate < distancesMatrix[iRow + j]) {
4965
5047
  distancesMatrix[iRow + j] = candidate;
4966
- nextMatrix[iRow + j] = nextIK;
5048
+ const right = witnesses[kRow + j];
5049
+ witnesses[iRow + j] = left === undefined ? right : right === undefined ? left : {
5050
+ target: j,
5051
+ left,
5052
+ right
5053
+ };
4967
5054
  }
4968
5055
  }
4969
5056
  }
@@ -4979,6 +5066,9 @@ export const floydWarshall = /*#__PURE__*/dual(2, (graph, cost) => {
4979
5066
  const paths = new Map();
4980
5067
  const edgePaths = new Map();
4981
5068
  const costs = new Map();
5069
+ // Reuse scratch storage; erased suffixes and completed paths clear only touched entries.
5070
+ const positions = new Int32Array(size);
5071
+ positions.fill(-1);
4982
5072
  for (let i = 0; i < size; i++) {
4983
5073
  const source = cache.nodeIds[i];
4984
5074
  const distanceRow = new Map();
@@ -5005,19 +5095,35 @@ export const floydWarshall = /*#__PURE__*/dual(2, (graph, cost) => {
5005
5095
  const path = [source];
5006
5096
  const pathEdges = [];
5007
5097
  const pathCosts = [];
5008
- let current = i;
5009
- while (current !== j) {
5010
- const next = nextMatrix[current * size + j];
5011
- if (next === -1) {
5012
- break;
5013
- }
5014
- const edge = edgeMatrix[current * size + next];
5015
- if (edge !== -1) {
5016
- pathEdges.push(edgeIds[edge]);
5017
- pathCosts.push(edges[edge].data);
5098
+ positions[i] = 0;
5099
+ const nodes = [i];
5100
+ const stack = [witnesses[i * size + j]];
5101
+ // Witnesses only reference older witnesses, so this traversal cannot
5102
+ // follow a cyclic pointer chain. Erase closed walks rather than return
5103
+ // a truncated route or reject a valid zero-cost cycle.
5104
+ while (stack.length > 0) {
5105
+ const witness = stack.pop();
5106
+ const position = positions[witness.target];
5107
+ if (position !== -1) {
5108
+ for (let p = position + 1; p < nodes.length; p++) {
5109
+ positions[nodes[p]] = -1;
5110
+ }
5111
+ nodes.length = position + 1;
5112
+ path.length = position + 1;
5113
+ pathEdges.length = position;
5114
+ pathCosts.length = position;
5115
+ } else if ("edge" in witness) {
5116
+ positions[witness.target] = nodes.length;
5117
+ nodes.push(witness.target);
5118
+ path.push(cache.nodeIds[witness.target]);
5119
+ pathEdges.push(edgeIds[witness.edge]);
5120
+ pathCosts.push(edges[witness.edge].data);
5121
+ } else {
5122
+ stack.push(witness.right, witness.left);
5018
5123
  }
5019
- current = next;
5020
- path.push(cache.nodeIds[current]);
5124
+ }
5125
+ for (const node of nodes) {
5126
+ positions[node] = -1;
5021
5127
  }
5022
5128
  pathRow.set(target, path);
5023
5129
  edgePathRow.set(target, pathEdges);
@@ -5084,6 +5190,7 @@ export const floydWarshall = /*#__PURE__*/dual(2, (graph, cost) => {
5084
5190
  *
5085
5191
  * @see {@link dijkstra} when no useful heuristic is available
5086
5192
  * @see {@link bellmanFord} when edge costs may be negative
5193
+ * @stability unstable
5087
5194
  * @category algorithms
5088
5195
  * @since 3.18.0
5089
5196
  */
@@ -5261,6 +5368,7 @@ export const astar = /*#__PURE__*/dual(2, (graph, config) => {
5261
5368
  * ```
5262
5369
  *
5263
5370
  * @see {@link dijkstra} for non-negative edge costs
5371
+ * @stability unstable
5264
5372
  * @category algorithms
5265
5373
  * @since 3.18.0
5266
5374
  */
@@ -5442,6 +5550,7 @@ const pathWalker = iterator => ({
5442
5550
  *
5443
5551
  * @see {@link allShortestPaths} for enumerating only minimum-cost routes
5444
5552
  *
5553
+ * @stability unstable
5445
5554
  * @category algorithms
5446
5555
  * @since 4.0.0
5447
5556
  */
@@ -5544,6 +5653,7 @@ export const simplePaths = /*#__PURE__*/dual(2, (graph, config) => {
5544
5653
  * @see {@link dijkstra} when one shortest path is sufficient
5545
5654
  * @see {@link simplePaths} for routes regardless of cost
5546
5655
  *
5656
+ * @stability unstable
5547
5657
  * @category algorithms
5548
5658
  * @since 4.0.0
5549
5659
  */
@@ -5720,6 +5830,7 @@ export const allShortestPaths = /*#__PURE__*/dual(2, (graph, config) => {
5720
5830
  * Array.from(Graph.entries(allNodes)) // => [[0, "A"], [1, "B"]]
5721
5831
  * ```
5722
5832
  *
5833
+ * @stability unstable
5723
5834
  * @category models
5724
5835
  * @since 3.18.0
5725
5836
  */
@@ -5808,6 +5919,7 @@ const traversalStartPositions = (cache, start) => {
5808
5919
  * Array.from(Graph.indices(dfs)) // => [0, 1]
5809
5920
  * ```
5810
5921
  *
5922
+ * @stability unstable
5811
5923
  * @category iterators
5812
5924
  * @since 3.18.0
5813
5925
  */
@@ -5830,6 +5942,7 @@ export const indices = walker => walker.visit((index, _) => index);
5830
5942
  * Array.from(Graph.values(dfs)) // => ["A", "B"]
5831
5943
  * ```
5832
5944
  *
5945
+ * @stability unstable
5833
5946
  * @category iterators
5834
5947
  * @since 3.18.0
5835
5948
  */
@@ -5852,6 +5965,7 @@ export const values = walker => walker.visit((_, data) => data);
5852
5965
  * Array.from(Graph.entries(dfs)) // => [[0, "A"], [1, "B"]]
5853
5966
  * ```
5854
5967
  *
5968
+ * @stability unstable
5855
5969
  * @category iterators
5856
5970
  * @since 3.18.0
5857
5971
  */
@@ -5898,6 +6012,7 @@ export const entries = walker => walker.visit((index, data) => [index, data]);
5898
6012
  *
5899
6013
  * @see {@link bfs} for traversal in increasing hop distance
5900
6014
  * @see {@link dfsPostOrder} for emitting descendants before ancestors
6015
+ * @stability unstable
5901
6016
  * @category iterators
5902
6017
  * @since 3.18.0
5903
6018
  */
@@ -6058,6 +6173,7 @@ export const dfs = /*#__PURE__*/dual(args => isGraph(args[0]), (graph, config =
6058
6173
  *
6059
6174
  * @see {@link dfs} for branch-first traversal
6060
6175
  * @see {@link unweightedDistances} for collecting hop counts
6176
+ * @stability unstable
6061
6177
  * @category iterators
6062
6178
  * @since 3.18.0
6063
6179
  */
@@ -6181,6 +6297,7 @@ export const bfs = /*#__PURE__*/dual(args => isGraph(args[0]), (graph, config =
6181
6297
  * ```
6182
6298
  *
6183
6299
  * @see {@link isAcyclic} for checking the required graph property
6300
+ * @stability unstable
6184
6301
  * @category iterators
6185
6302
  * @since 3.18.0
6186
6303
  */
@@ -6314,6 +6431,7 @@ export const topo = /*#__PURE__*/dual(args => isGraph(args[0]), (graph, config =
6314
6431
  * ```
6315
6432
  *
6316
6433
  * @see {@link dfs} for emitting nodes when first visited
6434
+ * @stability unstable
6317
6435
  * @category iterators
6318
6436
  * @since 3.18.0
6319
6437
  */
@@ -6441,6 +6559,7 @@ export const dfsPostOrder = /*#__PURE__*/dual(args => isGraph(args[0]), (graph,
6441
6559
  * Array.from(Graph.indices(Graph.nodes(graph))) // => [0, 1, 2]
6442
6560
  * ```
6443
6561
  *
6562
+ * @stability unstable
6444
6563
  * @category iterators
6445
6564
  * @since 3.18.0
6446
6565
  */
@@ -6495,6 +6614,7 @@ export const nodes = graph => new Walker(f => ({
6495
6614
  * Array.from(Graph.indices(Graph.edges(graph))) // => [0, 1]
6496
6615
  * ```
6497
6616
  *
6617
+ * @stability unstable
6498
6618
  * @category iterators
6499
6619
  * @since 3.18.0
6500
6620
  */
@@ -6560,6 +6680,7 @@ export const edges = graph => new Walker(f => ({
6560
6680
  * Array.from(Graph.indices(Graph.externals(graph, { direction: "incoming" }))) // => [0, 3]
6561
6681
  * ```
6562
6682
  *
6683
+ * @stability unstable
6563
6684
  * @category iterators
6564
6685
  * @since 3.18.0
6565
6686
  */