effect 4.0.0 → 4.0.2

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 (1001) 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 +47 -23
  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 +61 -1
  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 +21 -0
  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 +5 -0
  76. package/dist/Crypto.d.ts.map +1 -1
  77. package/dist/Crypto.js +3 -0
  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 +171 -0
  84. package/dist/DateTime.d.ts.map +1 -1
  85. package/dist/DateTime.js +89 -0
  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 +90 -0
  95. package/dist/Duration.d.ts.map +1 -1
  96. package/dist/Duration.js +53 -0
  97. package/dist/Duration.js.map +1 -1
  98. package/dist/Effect.d.ts +677 -22
  99. package/dist/Effect.d.ts.map +1 -1
  100. package/dist/Effect.js +251 -10
  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 +15 -0
  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 +22 -5
  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 +28 -5
  297. package/dist/Pool.d.ts.map +1 -1
  298. package/dist/Pool.js +42 -42
  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 +24 -1
  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 +496 -1
  389. package/dist/Schema.d.ts.map +1 -1
  390. package/dist/Schema.js +280 -1
  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 +50 -19
  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 +7 -0
  440. package/dist/Stdio.d.ts.map +1 -1
  441. package/dist/Stdio.js +5 -0
  442. package/dist/Stdio.js.map +1 -1
  443. package/dist/Stream.d.ts +603 -6
  444. package/dist/Stream.d.ts.map +1 -1
  445. package/dist/Stream.js +316 -57
  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 +8 -0
  557. package/dist/ai/LanguageModel.d.ts.map +1 -1
  558. package/dist/ai/LanguageModel.js +27 -15
  559. package/dist/ai/LanguageModel.js.map +1 -1
  560. package/dist/ai/McpSchema.d.ts +508 -508
  561. package/dist/ai/McpSchema.d.ts.map +1 -1
  562. package/dist/ai/McpSchema.js +1 -1
  563. package/dist/ai/McpSchema.js.map +1 -1
  564. package/dist/ai/McpServer.d.ts +32 -11
  565. package/dist/ai/McpServer.d.ts.map +1 -1
  566. package/dist/ai/McpServer.js +224 -172
  567. package/dist/ai/McpServer.js.map +1 -1
  568. package/dist/ai/Response.d.ts.map +1 -1
  569. package/dist/ai/Response.js +22 -12
  570. package/dist/ai/Response.js.map +1 -1
  571. package/dist/ai/Telemetry.d.ts +49 -41
  572. package/dist/ai/Telemetry.d.ts.map +1 -1
  573. package/dist/ai/Telemetry.js +6 -8
  574. package/dist/ai/Telemetry.js.map +1 -1
  575. package/dist/ai/internal/mcpProtocol/v2024_11_05.js +1 -0
  576. package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
  577. package/dist/ai/internal/mcpProtocol/v2025_03_26.js +1 -0
  578. package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
  579. package/dist/ai/internal/mcpProtocol/v2025_06_18.js +1 -0
  580. package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
  581. package/dist/ai/internal/mcpProtocol/v2025_11_25.js +1 -0
  582. package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
  583. package/dist/ai/internal/mcpRuntime.js +79 -46
  584. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  585. package/dist/ai/internal/mcpSchema/v2024_11_05.js +3 -1
  586. package/dist/ai/internal/mcpSchema/v2024_11_05.js.map +1 -1
  587. package/dist/ai/internal/mcpStatefulRuntime.js +1 -0
  588. package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
  589. package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  590. package/dist/cluster/ClusterWorkflowEngine.js +11 -2
  591. package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
  592. package/dist/cluster/K8sHttpClient.d.ts.map +1 -1
  593. package/dist/cluster/K8sHttpClient.js +5 -2
  594. package/dist/cluster/K8sHttpClient.js.map +1 -1
  595. package/dist/cluster/Sharding.d.ts.map +1 -1
  596. package/dist/cluster/Sharding.js +14 -7
  597. package/dist/cluster/Sharding.js.map +1 -1
  598. package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
  599. package/dist/cluster/SqlMessageStorage.js +21 -12
  600. package/dist/cluster/SqlMessageStorage.js.map +1 -1
  601. package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
  602. package/dist/cluster/SqlRunnerStorage.js +30 -44
  603. package/dist/cluster/SqlRunnerStorage.js.map +1 -1
  604. package/dist/cluster/internal/entityManager.js +63 -62
  605. package/dist/cluster/internal/entityManager.js.map +1 -1
  606. package/dist/cluster/internal/interruptors.js +8 -0
  607. package/dist/cluster/internal/interruptors.js.map +1 -1
  608. package/dist/cluster/internal/resourceMap.js +39 -14
  609. package/dist/cluster/internal/resourceMap.js.map +1 -1
  610. package/dist/cluster/internal/resourceRef.js +168 -87
  611. package/dist/cluster/internal/resourceRef.js.map +1 -1
  612. package/dist/encoding/Base64.d.ts +4 -0
  613. package/dist/encoding/Base64.d.ts.map +1 -1
  614. package/dist/encoding/Base64.js +4 -0
  615. package/dist/encoding/Base64.js.map +1 -1
  616. package/dist/encoding/Base64Url.d.ts +4 -0
  617. package/dist/encoding/Base64Url.d.ts.map +1 -1
  618. package/dist/encoding/Base64Url.js +4 -0
  619. package/dist/encoding/Base64Url.js.map +1 -1
  620. package/dist/encoding/EncodingError.d.ts +4 -0
  621. package/dist/encoding/EncodingError.d.ts.map +1 -1
  622. package/dist/encoding/EncodingError.js +4 -0
  623. package/dist/encoding/EncodingError.js.map +1 -1
  624. package/dist/encoding/Hex.d.ts +5 -0
  625. package/dist/encoding/Hex.d.ts.map +1 -1
  626. package/dist/encoding/Hex.js +5 -0
  627. package/dist/encoding/Hex.js.map +1 -1
  628. package/dist/encoding/Toml.js +2 -2
  629. package/dist/encoding/Toml.js.map +1 -1
  630. package/dist/encoding/Yaml.d.ts.map +1 -1
  631. package/dist/encoding/Yaml.js +6 -4
  632. package/dist/encoding/Yaml.js.map +1 -1
  633. package/dist/encoding/index.d.ts +4 -0
  634. package/dist/encoding/index.d.ts.map +1 -1
  635. package/dist/encoding/index.js +4 -0
  636. package/dist/encoding/index.js.map +1 -1
  637. package/dist/eventlog/SqlEventJournal.js +8 -4
  638. package/dist/eventlog/SqlEventJournal.js.map +1 -1
  639. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +27 -10
  640. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  641. package/dist/eventlog/SqlEventLogServerUnencrypted.js +49 -7
  642. package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  643. package/dist/http/Headers.d.ts +3 -1
  644. package/dist/http/Headers.d.ts.map +1 -1
  645. package/dist/http/Headers.js +4 -2
  646. package/dist/http/Headers.js.map +1 -1
  647. package/dist/http/HttpClient.d.ts +9 -0
  648. package/dist/http/HttpClient.d.ts.map +1 -1
  649. package/dist/http/HttpClient.js +40 -21
  650. package/dist/http/HttpClient.js.map +1 -1
  651. package/dist/http/HttpClientResponse.js +3 -1
  652. package/dist/http/HttpClientResponse.js.map +1 -1
  653. package/dist/http/HttpEffect.d.ts +3 -0
  654. package/dist/http/HttpEffect.d.ts.map +1 -1
  655. package/dist/http/HttpEffect.js +5 -2
  656. package/dist/http/HttpEffect.js.map +1 -1
  657. package/dist/http/HttpMiddleware.d.ts +17 -0
  658. package/dist/http/HttpMiddleware.d.ts.map +1 -1
  659. package/dist/http/HttpMiddleware.js +58 -40
  660. package/dist/http/HttpMiddleware.js.map +1 -1
  661. package/dist/http/HttpServer.d.ts +1 -1
  662. package/dist/http/HttpServer.d.ts.map +1 -1
  663. package/dist/http/HttpStaticServer.d.ts.map +1 -1
  664. package/dist/http/HttpStaticServer.js +14 -0
  665. package/dist/http/HttpStaticServer.js.map +1 -1
  666. package/dist/http/HttpTraceContext.d.ts +1 -1
  667. package/dist/http/HttpTraceContext.d.ts.map +1 -1
  668. package/dist/http/HttpTraceContext.js +4 -4
  669. package/dist/http/HttpTraceContext.js.map +1 -1
  670. package/dist/http/internal/tracing.d.ts +2 -0
  671. package/dist/http/internal/tracing.d.ts.map +1 -0
  672. package/dist/http/internal/tracing.js +37 -0
  673. package/dist/http/internal/tracing.js.map +1 -0
  674. package/dist/http-api/HttpApiBuilder.js +2 -1
  675. package/dist/http-api/HttpApiBuilder.js.map +1 -1
  676. package/dist/http-api/HttpApiClient.d.ts +12 -3
  677. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  678. package/dist/http-api/HttpApiClient.js.map +1 -1
  679. package/dist/http-api/HttpApiError.d.ts +4 -2
  680. package/dist/http-api/HttpApiError.d.ts.map +1 -1
  681. package/dist/http-api/HttpApiError.js +7 -3
  682. package/dist/http-api/HttpApiError.js.map +1 -1
  683. package/dist/http-api/HttpApiSecurity.d.ts +8 -8
  684. package/dist/http-api/HttpApiSecurity.js +8 -8
  685. package/dist/index.d.ts +155 -0
  686. package/dist/index.d.ts.map +1 -1
  687. package/dist/index.js +155 -0
  688. package/dist/index.js.map +1 -1
  689. package/dist/internal/arbitrary/array.js +3 -3
  690. package/dist/internal/arbitrary/array.js.map +1 -1
  691. package/dist/internal/arbitrary/model.js +26 -11
  692. package/dist/internal/arbitrary/model.js.map +1 -1
  693. package/dist/internal/arbitrary/runner.js +8 -8
  694. package/dist/internal/arbitrary/runner.js.map +1 -1
  695. package/dist/internal/arbitrary/schema.js +4 -5
  696. package/dist/internal/arbitrary/schema.js.map +1 -1
  697. package/dist/internal/core.js +43 -2
  698. package/dist/internal/core.js.map +1 -1
  699. package/dist/internal/dateTime.js +1 -1
  700. package/dist/internal/dateTime.js.map +1 -1
  701. package/dist/internal/effect.js +104 -120
  702. package/dist/internal/effect.js.map +1 -1
  703. package/dist/internal/rcRef.js +59 -23
  704. package/dist/internal/rcRef.js.map +1 -1
  705. package/dist/internal/schedule.js +7 -5
  706. package/dist/internal/schedule.js.map +1 -1
  707. package/dist/internal/schema/fromJsonSchemaDocument.js +11 -8
  708. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
  709. package/dist/internal/schema/standardSchema.js +2 -2
  710. package/dist/internal/schema/standardSchema.js.map +1 -1
  711. package/dist/internal/version.d.ts +2 -0
  712. package/dist/internal/version.d.ts.map +1 -0
  713. package/dist/internal/version.js +3 -0
  714. package/dist/internal/version.js.map +1 -0
  715. package/dist/observability/OtlpExporter.d.ts.map +1 -1
  716. package/dist/observability/OtlpExporter.js +5 -6
  717. package/dist/observability/OtlpExporter.js.map +1 -1
  718. package/dist/observability/OtlpLogger.d.ts.map +1 -1
  719. package/dist/observability/OtlpLogger.js +23 -27
  720. package/dist/observability/OtlpLogger.js.map +1 -1
  721. package/dist/observability/OtlpMetrics.d.ts +5 -3
  722. package/dist/observability/OtlpMetrics.d.ts.map +1 -1
  723. package/dist/observability/OtlpMetrics.js +21 -94
  724. package/dist/observability/OtlpMetrics.js.map +1 -1
  725. package/dist/observability/OtlpResource.d.ts +4 -3
  726. package/dist/observability/OtlpResource.d.ts.map +1 -1
  727. package/dist/observability/OtlpResource.js +20 -23
  728. package/dist/observability/OtlpResource.js.map +1 -1
  729. package/dist/observability/OtlpTracer.d.ts +1 -0
  730. package/dist/observability/OtlpTracer.d.ts.map +1 -1
  731. package/dist/observability/OtlpTracer.js +32 -36
  732. package/dist/observability/OtlpTracer.js.map +1 -1
  733. package/dist/observability/internal/otlpProtobuf.js +32 -1
  734. package/dist/observability/internal/otlpProtobuf.js.map +1 -1
  735. package/dist/reactivity/AsyncResult.d.ts +1 -1
  736. package/dist/reactivity/Atom.d.ts +5 -5
  737. package/dist/reactivity/Atom.d.ts.map +1 -1
  738. package/dist/reactivity/Atom.js +9 -5
  739. package/dist/reactivity/Atom.js.map +1 -1
  740. package/dist/reactivity/AtomHttpApi.d.ts +2 -2
  741. package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
  742. package/dist/reactivity/AtomRegistry.d.ts +8 -0
  743. package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
  744. package/dist/reactivity/AtomRegistry.js.map +1 -1
  745. package/dist/rpc/RpcClient.d.ts +21 -3
  746. package/dist/rpc/RpcClient.d.ts.map +1 -1
  747. package/dist/rpc/RpcClient.js +58 -34
  748. package/dist/rpc/RpcClient.js.map +1 -1
  749. package/dist/rpc/RpcServer.d.ts.map +1 -1
  750. package/dist/rpc/RpcServer.js +20 -23
  751. package/dist/rpc/RpcServer.js.map +1 -1
  752. package/dist/rpc/Utils.d.ts +2 -3
  753. package/dist/rpc/Utils.d.ts.map +1 -1
  754. package/dist/rpc/Utils.js +3 -4
  755. package/dist/rpc/Utils.js.map +1 -1
  756. package/dist/rpc/internal/tracing.d.ts +2 -0
  757. package/dist/rpc/internal/tracing.d.ts.map +1 -0
  758. package/dist/rpc/internal/tracing.js +18 -0
  759. package/dist/rpc/internal/tracing.js.map +1 -0
  760. package/dist/schema/SchemaCompiler/runtime.js +9 -1
  761. package/dist/schema/SchemaCompiler/runtime.js.map +1 -1
  762. package/dist/sql/SqlClient.js +4 -4
  763. package/dist/sql/SqlClient.js.map +1 -1
  764. package/dist/sql/Statement.d.ts +21 -1
  765. package/dist/sql/Statement.d.ts.map +1 -1
  766. package/dist/sql/Statement.js +55 -7
  767. package/dist/sql/Statement.js.map +1 -1
  768. package/dist/testing/TestClock.d.ts +8 -0
  769. package/dist/testing/TestClock.d.ts.map +1 -1
  770. package/dist/testing/TestClock.js +7 -0
  771. package/dist/testing/TestClock.js.map +1 -1
  772. package/dist/testing/TestConsole.d.ts +7 -0
  773. package/dist/testing/TestConsole.d.ts.map +1 -1
  774. package/dist/testing/TestConsole.js +6 -0
  775. package/dist/testing/TestConsole.js.map +1 -1
  776. package/dist/testing/index.d.ts +3 -0
  777. package/dist/testing/index.d.ts.map +1 -1
  778. package/dist/testing/index.js +3 -0
  779. package/dist/testing/index.js.map +1 -1
  780. package/dist/workflow/WorkflowEngine.d.ts +2 -0
  781. package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
  782. package/dist/workflow/WorkflowEngine.js +1 -0
  783. package/dist/workflow/WorkflowEngine.js.map +1 -1
  784. package/package.json +3 -3
  785. package/src/Array.ts +351 -3
  786. package/src/BigDecimal.ts +88 -0
  787. package/src/BigInt.ts +68 -0
  788. package/src/Boolean.ts +34 -0
  789. package/src/Brand.ts +10 -0
  790. package/src/ByteSize.ts +87 -0
  791. package/src/Cache.ts +72 -24
  792. package/src/Cause.ts +83 -1
  793. package/src/Channel.ts +368 -18
  794. package/src/ChannelSchema.ts +13 -0
  795. package/src/Chunk.ts +193 -0
  796. package/src/Clock.ts +7 -0
  797. package/src/Combiner.ts +10 -0
  798. package/src/Config.ts +82 -8
  799. package/src/ConfigProvider.ts +28 -0
  800. package/src/Console.ts +26 -0
  801. package/src/Context.ts +50 -0
  802. package/src/Cron.ts +32 -1
  803. package/src/Crypto.ts +5 -0
  804. package/src/Data.ts +13 -0
  805. package/src/DateTime.ts +171 -0
  806. package/src/Deferred.ts +51 -0
  807. package/src/Differ.ts +2 -0
  808. package/src/Duration.ts +90 -0
  809. package/src/Effect.ts +692 -27
  810. package/src/Effectable.ts +4 -0
  811. package/src/Equal.ts +12 -1
  812. package/src/Equivalence.ts +22 -0
  813. package/src/ErrorReporter.ts +36 -0
  814. package/src/ExecutionPlan.ts +58 -14
  815. package/src/Exit.ts +40 -0
  816. package/src/Fiber.ts +20 -0
  817. package/src/FiberHandle.ts +29 -4
  818. package/src/FiberMap.ts +38 -0
  819. package/src/FiberSet.ts +21 -0
  820. package/src/FileSystem.ts +16 -0
  821. package/src/Filter.ts +55 -0
  822. package/src/Formatter.ts +42 -1
  823. package/src/Function.ts +30 -0
  824. package/src/Graph.ts +317 -36
  825. package/src/HKT.ts +5 -0
  826. package/src/Hash.ts +15 -0
  827. package/src/HashMap.ts +91 -0
  828. package/src/HashRing.ts +32 -5
  829. package/src/HashSet.ts +53 -0
  830. package/src/Inspectable.ts +8 -0
  831. package/src/Iterable.ts +127 -0
  832. package/src/JsonPatch.ts +5 -0
  833. package/src/JsonPointer.ts +5 -0
  834. package/src/JsonSchema.ts +17 -0
  835. package/src/Latch.ts +14 -0
  836. package/src/Layer.ts +101 -1
  837. package/src/LayerMap.ts +7 -0
  838. package/src/LayerRef.ts +5 -0
  839. package/src/LogLevel.ts +20 -0
  840. package/src/Logger.ts +41 -5
  841. package/src/ManagedRuntime.ts +12 -1
  842. package/src/Match.ts +52 -0
  843. package/src/Metric.ts +69 -0
  844. package/src/MutableHashMap.ts +44 -0
  845. package/src/MutableHashSet.ts +17 -0
  846. package/src/MutableList.ts +21 -0
  847. package/src/MutableRef.ts +32 -0
  848. package/src/Newtype.ts +9 -0
  849. package/src/NonEmptyIterable.ts +4 -0
  850. package/src/Number.ts +61 -0
  851. package/src/Optic.ts +57 -0
  852. package/src/Option.ts +134 -0
  853. package/src/Order.ts +30 -0
  854. package/src/Ordering.ts +7 -0
  855. package/src/PartitionedSemaphore.ts +61 -22
  856. package/src/Path.ts +6 -0
  857. package/src/Pipeable.ts +7 -0
  858. package/src/PlatformError.ts +8 -0
  859. package/src/Pool.ts +48 -37
  860. package/src/Predicate.ts +85 -0
  861. package/src/PrimaryKey.ts +5 -0
  862. package/src/PubSub.ts +90 -9
  863. package/src/Pull.ts +20 -0
  864. package/src/Queue.ts +80 -10
  865. package/src/Random.ts +13 -0
  866. package/src/RcMap.ts +49 -2
  867. package/src/RcRef.ts +6 -0
  868. package/src/Record.ts +100 -0
  869. package/src/Redactable.ts +6 -0
  870. package/src/Redacted.ts +8 -0
  871. package/src/Reducer.ts +4 -0
  872. package/src/Ref.ts +42 -0
  873. package/src/References.ts +21 -0
  874. package/src/RegExp.ts +4 -0
  875. package/src/Request.ts +32 -0
  876. package/src/RequestResolver.ts +59 -10
  877. package/src/Resource.ts +7 -0
  878. package/src/Result.ts +93 -0
  879. package/src/Runtime.ts +10 -0
  880. package/src/Schedule.ts +61 -0
  881. package/src/Scheduler.ts +7 -0
  882. package/src/Schema.ts +499 -4
  883. package/src/SchemaAST.ts +115 -1
  884. package/src/SchemaGetter.ts +80 -4
  885. package/src/SchemaIssue.ts +34 -0
  886. package/src/SchemaParser.ts +26 -0
  887. package/src/SchemaRepresentation.ts +148 -0
  888. package/src/SchemaTransformation.ts +53 -0
  889. package/src/Scope.ts +19 -0
  890. package/src/ScopedCache.ts +82 -19
  891. package/src/ScopedRef.ts +9 -0
  892. package/src/Semaphore.ts +26 -0
  893. package/src/Sink.ts +126 -2
  894. package/src/StandardSchema.ts +1 -0
  895. package/src/Stdio.ts +7 -0
  896. package/src/Stream.ts +780 -103
  897. package/src/String.ts +87 -0
  898. package/src/Struct.ts +46 -0
  899. package/src/SubscriptionRef.ts +65 -0
  900. package/src/Symbol.ts +2 -0
  901. package/src/SynchronizedRef.ts +63 -0
  902. package/src/Take.ts +3 -0
  903. package/src/Terminal.ts +8 -0
  904. package/src/Tracer.ts +23 -0
  905. package/src/Trie.ts +68 -0
  906. package/src/Tuple.ts +38 -0
  907. package/src/TxChunk.ts +52 -0
  908. package/src/TxDeferred.ts +15 -0
  909. package/src/TxHashMap.ts +97 -6
  910. package/src/TxHashSet.ts +83 -3
  911. package/src/TxPriorityQueue.ts +34 -2
  912. package/src/TxPubSub.ts +26 -0
  913. package/src/TxQueue.ts +51 -0
  914. package/src/TxReentrantLock.ts +53 -36
  915. package/src/TxRef.ts +14 -0
  916. package/src/TxSemaphore.ts +47 -31
  917. package/src/TxSubscriptionRef.ts +25 -0
  918. package/src/Types.ts +36 -0
  919. package/src/UndefinedOr.ts +15 -0
  920. package/src/Unify.ts +15 -0
  921. package/src/Utils.ts +4 -0
  922. package/src/Version.ts +38 -0
  923. package/src/ai/Chat.ts +1 -1
  924. package/src/ai/DecisionModel.ts +42 -1
  925. package/src/ai/LanguageModel.ts +43 -21
  926. package/src/ai/McpSchema.ts +3 -3
  927. package/src/ai/McpServer.ts +119 -39
  928. package/src/ai/Response.ts +27 -12
  929. package/src/ai/Telemetry.ts +62 -58
  930. package/src/ai/internal/mcpProtocol/v2024_11_05.ts +1 -0
  931. package/src/ai/internal/mcpProtocol/v2025_03_26.ts +1 -0
  932. package/src/ai/internal/mcpProtocol/v2025_06_18.ts +1 -0
  933. package/src/ai/internal/mcpProtocol/v2025_11_25.ts +1 -0
  934. package/src/ai/internal/mcpRuntime.ts +84 -43
  935. package/src/ai/internal/mcpSchema/v2024_11_05.ts +4 -2
  936. package/src/ai/internal/mcpStatefulRuntime.ts +2 -0
  937. package/src/cluster/ClusterWorkflowEngine.ts +18 -4
  938. package/src/cluster/K8sHttpClient.ts +12 -2
  939. package/src/cluster/Sharding.ts +24 -24
  940. package/src/cluster/SqlMessageStorage.ts +26 -13
  941. package/src/cluster/SqlRunnerStorage.ts +85 -113
  942. package/src/cluster/internal/entityManager.ts +68 -80
  943. package/src/cluster/internal/interruptors.ts +13 -0
  944. package/src/cluster/internal/resourceMap.ts +55 -17
  945. package/src/cluster/internal/resourceRef.ts +189 -96
  946. package/src/encoding/Base64.ts +4 -0
  947. package/src/encoding/Base64Url.ts +4 -0
  948. package/src/encoding/EncodingError.ts +5 -0
  949. package/src/encoding/Hex.ts +5 -0
  950. package/src/encoding/Toml.ts +2 -2
  951. package/src/encoding/Yaml.ts +8 -4
  952. package/src/encoding/index.ts +4 -0
  953. package/src/eventlog/SqlEventJournal.ts +18 -4
  954. package/src/eventlog/SqlEventLogServerUnencrypted.ts +282 -235
  955. package/src/http/Headers.ts +8 -2
  956. package/src/http/HttpClient.ts +44 -27
  957. package/src/http/HttpClientResponse.ts +3 -1
  958. package/src/http/HttpEffect.ts +11 -2
  959. package/src/http/HttpMiddleware.ts +67 -46
  960. package/src/http/HttpServer.ts +1 -1
  961. package/src/http/HttpStaticServer.ts +16 -0
  962. package/src/http/HttpTraceContext.ts +8 -4
  963. package/src/http/internal/tracing.ts +52 -0
  964. package/src/http-api/HttpApiBuilder.ts +5 -1
  965. package/src/http-api/HttpApiClient.ts +13 -4
  966. package/src/http-api/HttpApiError.ts +8 -3
  967. package/src/http-api/HttpApiSecurity.ts +8 -8
  968. package/src/index.ts +156 -0
  969. package/src/internal/arbitrary/array.ts +3 -3
  970. package/src/internal/arbitrary/model.ts +37 -14
  971. package/src/internal/arbitrary/runner.ts +7 -7
  972. package/src/internal/arbitrary/schema.ts +4 -3
  973. package/src/internal/core.ts +56 -2
  974. package/src/internal/dateTime.ts +3 -1
  975. package/src/internal/effect.ts +156 -156
  976. package/src/internal/rcRef.ts +83 -33
  977. package/src/internal/schedule.ts +23 -17
  978. package/src/internal/schema/fromJsonSchemaDocument.ts +5 -3
  979. package/src/internal/schema/standardSchema.ts +2 -2
  980. package/src/internal/version.ts +2 -0
  981. package/src/observability/OtlpExporter.ts +9 -6
  982. package/src/observability/OtlpLogger.ts +20 -21
  983. package/src/observability/OtlpMetrics.ts +34 -93
  984. package/src/observability/OtlpResource.ts +18 -27
  985. package/src/observability/OtlpTracer.ts +34 -40
  986. package/src/observability/internal/otlpProtobuf.ts +60 -0
  987. package/src/reactivity/AsyncResult.ts +1 -1
  988. package/src/reactivity/Atom.ts +10 -6
  989. package/src/reactivity/AtomHttpApi.ts +2 -4
  990. package/src/reactivity/AtomRegistry.ts +7 -0
  991. package/src/rpc/RpcClient.ts +74 -46
  992. package/src/rpc/RpcServer.ts +28 -25
  993. package/src/rpc/Utils.ts +4 -10
  994. package/src/rpc/internal/tracing.ts +22 -0
  995. package/src/schema/SchemaCompiler/runtime.ts +4 -1
  996. package/src/sql/SqlClient.ts +4 -4
  997. package/src/sql/Statement.ts +59 -7
  998. package/src/testing/TestClock.ts +9 -0
  999. package/src/testing/TestConsole.ts +8 -0
  1000. package/src/testing/index.ts +3 -0
  1001. package/src/workflow/WorkflowEngine.ts +4 -0
package/src/Graph.ts 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
 
@@ -42,6 +43,7 @@ const TypeId = internal.TypeId
42
43
  *
43
44
  * @see {@link EdgeIndex} for edge identifiers instead of node identifiers
44
45
  *
46
+ * @stability unstable
45
47
  * @category models
46
48
  * @since 3.18.0
47
49
  */
@@ -62,6 +64,7 @@ export type NodeIndex = number
62
64
  *
63
65
  * @see {@link NodeIndex} for node identifiers instead of edge identifiers
64
66
  *
67
+ * @stability unstable
65
68
  * @category models
66
69
  * @since 3.18.0
67
70
  */
@@ -75,6 +78,7 @@ export type EdgeIndex = number
75
78
  * Use as the graph edge value that carries source node, target node, and stored
76
79
  * edge data together.
77
80
  *
81
+ * @stability unstable
78
82
  * @category models
79
83
  * @since 3.18.0
80
84
  */
@@ -92,6 +96,7 @@ export interface Edge<out E> {
92
96
  * Use when writing graph-polymorphic types or helpers that need to preserve
93
97
  * whether a graph is directed or undirected.
94
98
  *
99
+ * @stability unstable
95
100
  * @category models
96
101
  * @since 3.18.0
97
102
  */
@@ -100,6 +105,7 @@ export type Kind = "directed" | "undirected"
100
105
  /**
101
106
  * A node and its stable index in a graph snapshot.
102
107
  *
108
+ * @stability unstable
103
109
  * @category models
104
110
  * @since 4.0.0
105
111
  */
@@ -111,6 +117,7 @@ export interface IndexedNode<out N> {
111
117
  /**
112
118
  * An edge and its stable index in a graph snapshot.
113
119
  *
120
+ * @stability unstable
114
121
  * @category models
115
122
  * @since 4.0.0
116
123
  */
@@ -137,6 +144,7 @@ export interface IndexedEdge<out E> extends Edge<E> {
137
144
  * reconstruction, new identifiers continue after the greatest active index.
138
145
  *
139
146
  * @see {@link fromSnapshot} for reconstructing a graph
147
+ * @stability unstable
140
148
  * @category models
141
149
  * @since 4.0.0
142
150
  */
@@ -161,6 +169,7 @@ export interface Snapshot<out N, out E, out T extends Kind> {
161
169
  *
162
170
  * @see {@link MutableGraph} for the mutable counterpart used inside mutation scopes
163
171
  *
172
+ * @stability unstable
164
173
  * @category models
165
174
  * @since 3.18.0
166
175
  */
@@ -175,6 +184,7 @@ export interface Graph<out N, out E, T extends Kind = "directed">
175
184
  /**
176
185
  * Companion namespace containing type-level metadata for immutable graphs.
177
186
  *
187
+ * @stability unstable
178
188
  * @category models
179
189
  * @since 4.0.0
180
190
  */
@@ -208,6 +218,7 @@ export declare namespace Graph {
208
218
  * @see {@link Graph} for the immutable graph interface
209
219
  * @see {@link mutate} for scoped mutation of an immutable graph
210
220
  *
221
+ * @stability unstable
211
222
  * @category models
212
223
  * @since 3.18.0
213
224
  */
@@ -222,6 +233,7 @@ export interface MutableGraph<in out N, in out E, T extends Kind = "directed">
222
233
  /**
223
234
  * Companion namespace containing type-level metadata for scoped mutable graphs.
224
235
  *
236
+ * @stability unstable
225
237
  * @category models
226
238
  * @since 4.0.0
227
239
  */
@@ -261,6 +273,7 @@ const copyEdge = <E>(edge: Edge<E>): Edge<E> => ({
261
273
  * @see {@link directed} for constructing directed graphs
262
274
  * @see {@link UndirectedGraph} for graphs whose edges connect both endpoints
263
275
  *
276
+ * @stability unstable
264
277
  * @category models
265
278
  * @since 3.18.0
266
279
  */
@@ -281,6 +294,7 @@ export type DirectedGraph<N, E> = Graph<N, E, "directed">
281
294
  * @see {@link undirected} for constructing undirected graphs
282
295
  * @see {@link DirectedGraph} for graphs whose edges have source-to-target direction
283
296
  *
297
+ * @stability unstable
284
298
  * @category models
285
299
  * @since 3.18.0
286
300
  */
@@ -297,6 +311,7 @@ export type UndirectedGraph<N, E> = Graph<N, E, "undirected">
297
311
  * @see {@link MutableGraph} for the generic mutable graph type
298
312
  * @see {@link MutableUndirectedGraph} for mutable graphs without edge direction
299
313
  *
314
+ * @stability unstable
300
315
  * @category models
301
316
  * @since 3.18.0
302
317
  */
@@ -313,6 +328,7 @@ export type MutableDirectedGraph<N, E> = MutableGraph<N, E, "directed">
313
328
  * @see {@link MutableDirectedGraph} for mutable graphs with directed edges
314
329
  * @see {@link MutableGraph} for the generic mutable graph type
315
330
  *
331
+ * @stability unstable
316
332
  * @category models
317
333
  * @since 3.18.0
318
334
  */
@@ -334,6 +350,7 @@ export type MutableUndirectedGraph<N, E> = MutableGraph<N, E, "undirected">
334
350
  * Use when handling failures thrown by graph operations that reject invalid
335
351
  * graph structure or unsupported algorithm inputs.
336
352
  *
353
+ * @stability unstable
337
354
  * @category errors
338
355
  * @since 3.18.0
339
356
  */
@@ -398,6 +415,7 @@ const withMutationGuard = <N, E, T extends Kind, A>(
398
415
  * distinguish immutable graphs from mutable graphs or directed graphs from
399
416
  * undirected graphs.
400
417
  *
418
+ * @stability unstable
401
419
  * @category guards
402
420
  * @since 4.0.0
403
421
  */
@@ -436,6 +454,7 @@ export const isGraph: <N = unknown, E = unknown, T extends Kind = Kind, U = neve
436
454
  * ```
437
455
  *
438
456
  * @see {@link toSnapshot} for capturing a graph snapshot
457
+ * @stability unstable
439
458
  * @category constructors
440
459
  * @since 4.0.0
441
460
  */
@@ -526,6 +545,7 @@ export const fromSnapshot = <N, E, T extends Kind>(snapshot: Snapshot<N, E, T>):
526
545
  * ```
527
546
  *
528
547
  * @see {@link fromSnapshot} for reconstructing an immutable graph
548
+ * @stability unstable
529
549
  * @category converting
530
550
  * @since 4.0.0
531
551
  */
@@ -568,6 +588,7 @@ export const toSnapshot = <N, E, T extends Kind = "directed">(
568
588
  *
569
589
  * @see {@link directed} for constructing a directed graph directly
570
590
  * @see {@link undirected} for constructing an undirected graph directly
591
+ * @stability unstable
571
592
  * @category constructors
572
593
  * @since 4.0.0
573
594
  */
@@ -614,6 +635,7 @@ export const make =
614
635
  * Array.of(Graph.nodeCount(graph), Graph.edgeCount(graph)) // => [3, 2]
615
636
  * ```
616
637
  *
638
+ * @stability unstable
617
639
  * @category constructors
618
640
  * @since 3.18.0
619
641
  */
@@ -650,6 +672,7 @@ export const directed: <N, E>(
650
672
  * Array.of(Graph.nodeCount(graph), Graph.edgeCount(graph)) // => [3, 2]
651
673
  * ```
652
674
  *
675
+ * @stability unstable
653
676
  * @category constructors
654
677
  * @since 3.18.0
655
678
  */
@@ -688,6 +711,7 @@ export const undirected: <N, E>(
688
711
  *
689
712
  * @see {@link endMutation} for finalizing the mutable graph
690
713
  * @see {@link mutate} for automatically scoped mutation
714
+ * @stability unstable
691
715
  * @category mutations
692
716
  * @since 3.18.0
693
717
  */
@@ -724,6 +748,7 @@ export const beginMutation = <N, E, T extends Kind = "directed">(
724
748
  *
725
749
  * @see {@link beginMutation} for opening a manual mutation scope
726
750
  * @see {@link mutate} for automatically scoped mutation
751
+ * @stability unstable
727
752
  * @category mutations
728
753
  * @since 3.18.0
729
754
  */
@@ -795,6 +820,7 @@ const mutateScoped = <N, E, T extends Kind>(
795
820
  *
796
821
  * @see {@link beginMutation} for opening a manual mutation scope
797
822
  * @see {@link endMutation} for finalizing a manual mutation scope
823
+ * @stability unstable
798
824
  * @category mutations
799
825
  * @since 3.18.0
800
826
  */
@@ -836,6 +862,7 @@ export const mutate: {
836
862
  *
837
863
  * @see {@link beginMutation} for opening a manual mutation scope
838
864
  * @see {@link endMutation} for finalizing a manual mutation scope
865
+ * @stability unstable
839
866
  * @category mutations
840
867
  * @since 3.18.0
841
868
  */
@@ -877,6 +904,7 @@ export const mutate: {
877
904
  *
878
905
  * @see {@link beginMutation} for opening a manual mutation scope
879
906
  * @see {@link endMutation} for finalizing a manual mutation scope
907
+ * @stability unstable
880
908
  * @category mutations
881
909
  * @since 3.18.0
882
910
  */
@@ -962,6 +990,7 @@ class EdgeIdentity<NI, EI> implements Equal.Equal {
962
990
  * with the same endpoint identities and projected edge identity are treated as
963
991
  * the same member by graph set operations.
964
992
  *
993
+ * @stability unstable
965
994
  * @category configuration
966
995
  * @since 4.0.0
967
996
  */
@@ -1094,6 +1123,7 @@ const assertSameKind = <N, E>(self: Graph<N, E, Kind>, that: Graph<N, E, Kind>):
1094
1123
  * ```
1095
1124
  *
1096
1125
  * @see {@link sum} for combining graphs without merging equal nodes
1126
+ * @stability unstable
1097
1127
  * @category set operations
1098
1128
  * @since 4.0.0
1099
1129
  */
@@ -1148,6 +1178,7 @@ export const compose: {
1148
1178
  * ```
1149
1179
  *
1150
1180
  * @see {@link sum} for combining graphs without merging equal nodes
1181
+ * @stability unstable
1151
1182
  * @category set operations
1152
1183
  * @since 4.0.0
1153
1184
  */
@@ -1202,6 +1233,7 @@ export const compose: {
1202
1233
  * ```
1203
1234
  *
1204
1235
  * @see {@link sum} for combining graphs without merging equal nodes
1236
+ * @stability unstable
1205
1237
  * @category set operations
1206
1238
  * @since 4.0.0
1207
1239
  */
@@ -1272,6 +1304,7 @@ export const compose: {
1272
1304
  * ```
1273
1305
  *
1274
1306
  * @see {@link sum} for combining graphs without merging equal nodes
1307
+ * @stability unstable
1275
1308
  * @category set operations
1276
1309
  * @since 4.0.0
1277
1310
  */
@@ -1325,6 +1358,7 @@ export const compose: {
1325
1358
  * ```
1326
1359
  *
1327
1360
  * @see {@link sum} for combining graphs without merging equal nodes
1361
+ * @stability unstable
1328
1362
  * @category set operations
1329
1363
  * @since 4.0.0
1330
1364
  */
@@ -1392,6 +1426,7 @@ export const compose: {
1392
1426
  * ```
1393
1427
  *
1394
1428
  * @see {@link sum} for combining graphs without merging equal nodes
1429
+ * @stability unstable
1395
1430
  * @category set operations
1396
1431
  * @since 4.0.0
1397
1432
  */
@@ -1445,6 +1480,7 @@ export const compose: {
1445
1480
  * ```
1446
1481
  *
1447
1482
  * @see {@link sum} for combining graphs without merging equal nodes
1483
+ * @stability unstable
1448
1484
  * @category set operations
1449
1485
  * @since 4.0.0
1450
1486
  */
@@ -1506,6 +1542,7 @@ export const compose: {
1506
1542
  * ```
1507
1543
  *
1508
1544
  * @see {@link compose} for identity-based graph union
1545
+ * @stability unstable
1509
1546
  * @category set operations
1510
1547
  * @since 4.0.0
1511
1548
  */
@@ -1558,6 +1595,7 @@ export const intersection: {
1558
1595
  * ```
1559
1596
  *
1560
1597
  * @see {@link compose} for identity-based graph union
1598
+ * @stability unstable
1561
1599
  * @category set operations
1562
1600
  * @since 4.0.0
1563
1601
  */
@@ -1610,6 +1648,7 @@ export const intersection: {
1610
1648
  * ```
1611
1649
  *
1612
1650
  * @see {@link compose} for identity-based graph union
1651
+ * @stability unstable
1613
1652
  * @category set operations
1614
1653
  * @since 4.0.0
1615
1654
  */
@@ -1677,6 +1716,7 @@ export const intersection: {
1677
1716
  * ```
1678
1717
  *
1679
1718
  * @see {@link compose} for identity-based graph union
1719
+ * @stability unstable
1680
1720
  * @category set operations
1681
1721
  * @since 4.0.0
1682
1722
  */
@@ -1728,6 +1768,7 @@ export const intersection: {
1728
1768
  * ```
1729
1769
  *
1730
1770
  * @see {@link compose} for identity-based graph union
1771
+ * @stability unstable
1731
1772
  * @category set operations
1732
1773
  * @since 4.0.0
1733
1774
  */
@@ -1781,6 +1822,7 @@ export const intersection: {
1781
1822
  * ```
1782
1823
  *
1783
1824
  * @see {@link compose} for identity-based graph union
1825
+ * @stability unstable
1784
1826
  * @category set operations
1785
1827
  * @since 4.0.0
1786
1828
  */
@@ -1832,6 +1874,7 @@ export const intersection: {
1832
1874
  * ```
1833
1875
  *
1834
1876
  * @see {@link compose} for identity-based graph union
1877
+ * @stability unstable
1835
1878
  * @category set operations
1836
1879
  * @since 4.0.0
1837
1880
  */
@@ -1900,6 +1943,7 @@ export const intersection: {
1900
1943
  * ```
1901
1944
  *
1902
1945
  * @see {@link compose} for identity-based graph union
1946
+ * @stability unstable
1903
1947
  * @category set operations
1904
1948
  * @since 4.0.0
1905
1949
  */
@@ -1951,6 +1995,7 @@ export const intersection: {
1951
1995
  * ```
1952
1996
  *
1953
1997
  * @see {@link compose} for identity-based graph union
1998
+ * @stability unstable
1954
1999
  * @category set operations
1955
2000
  * @since 4.0.0
1956
2001
  */
@@ -2015,6 +2060,7 @@ export const intersection: {
2015
2060
  * ```
2016
2061
  *
2017
2062
  * @see {@link symmetricDifference} for retaining edges unique to either graph
2063
+ * @stability unstable
2018
2064
  * @category set operations
2019
2065
  * @since 4.0.0
2020
2066
  */
@@ -2069,6 +2115,7 @@ export const difference: {
2069
2115
  * ```
2070
2116
  *
2071
2117
  * @see {@link symmetricDifference} for retaining edges unique to either graph
2118
+ * @stability unstable
2072
2119
  * @category set operations
2073
2120
  * @since 4.0.0
2074
2121
  */
@@ -2123,6 +2170,7 @@ export const difference: {
2123
2170
  * ```
2124
2171
  *
2125
2172
  * @see {@link symmetricDifference} for retaining edges unique to either graph
2173
+ * @stability unstable
2126
2174
  * @category set operations
2127
2175
  * @since 4.0.0
2128
2176
  */
@@ -2194,6 +2242,7 @@ export const difference: {
2194
2242
  * ```
2195
2243
  *
2196
2244
  * @see {@link symmetricDifference} for retaining edges unique to either graph
2245
+ * @stability unstable
2197
2246
  * @category set operations
2198
2247
  * @since 4.0.0
2199
2248
  */
@@ -2247,6 +2296,7 @@ export const difference: {
2247
2296
  * ```
2248
2297
  *
2249
2298
  * @see {@link symmetricDifference} for retaining edges unique to either graph
2299
+ * @stability unstable
2250
2300
  * @category set operations
2251
2301
  * @since 4.0.0
2252
2302
  */
@@ -2317,6 +2367,7 @@ export const difference: {
2317
2367
  * ```
2318
2368
  *
2319
2369
  * @see {@link difference} for removing only the edges found in another graph
2370
+ * @stability unstable
2320
2371
  * @category set operations
2321
2372
  * @since 4.0.0
2322
2373
  */
@@ -2374,6 +2425,7 @@ export const symmetricDifference: {
2374
2425
  * ```
2375
2426
  *
2376
2427
  * @see {@link difference} for removing only the edges found in another graph
2428
+ * @stability unstable
2377
2429
  * @category set operations
2378
2430
  * @since 4.0.0
2379
2431
  */
@@ -2431,6 +2483,7 @@ export const symmetricDifference: {
2431
2483
  * ```
2432
2484
  *
2433
2485
  * @see {@link difference} for removing only the edges found in another graph
2486
+ * @stability unstable
2434
2487
  * @category set operations
2435
2488
  * @since 4.0.0
2436
2489
  */
@@ -2502,6 +2555,7 @@ export const symmetricDifference: {
2502
2555
  * ```
2503
2556
  *
2504
2557
  * @see {@link difference} for removing only the edges found in another graph
2558
+ * @stability unstable
2505
2559
  * @category set operations
2506
2560
  * @since 4.0.0
2507
2561
  */
@@ -2558,6 +2612,7 @@ export const symmetricDifference: {
2558
2612
  * ```
2559
2613
  *
2560
2614
  * @see {@link difference} for removing only the edges found in another graph
2615
+ * @stability unstable
2561
2616
  * @category set operations
2562
2617
  * @since 4.0.0
2563
2618
  */
@@ -2626,6 +2681,7 @@ export const symmetricDifference: {
2626
2681
  * ```
2627
2682
  *
2628
2683
  * @see {@link difference} for removing only the edges found in another graph
2684
+ * @stability unstable
2629
2685
  * @category set operations
2630
2686
  * @since 4.0.0
2631
2687
  */
@@ -2682,6 +2738,7 @@ export const symmetricDifference: {
2682
2738
  * ```
2683
2739
  *
2684
2740
  * @see {@link difference} for removing only the edges found in another graph
2741
+ * @stability unstable
2685
2742
  * @category set operations
2686
2743
  * @since 4.0.0
2687
2744
  */
@@ -2741,6 +2798,7 @@ export const symmetricDifference: {
2741
2798
  * ```
2742
2799
  *
2743
2800
  * @see {@link hasEdge} for testing one relationship
2801
+ * @stability unstable
2744
2802
  * @category set operations
2745
2803
  * @since 4.0.0
2746
2804
  */
@@ -2784,6 +2842,7 @@ export const complement: {
2784
2842
  * ```
2785
2843
  *
2786
2844
  * @see {@link hasEdge} for testing one relationship
2845
+ * @stability unstable
2787
2846
  * @category set operations
2788
2847
  * @since 4.0.0
2789
2848
  */
@@ -2827,6 +2886,7 @@ export const complement: {
2827
2886
  * ```
2828
2887
  *
2829
2888
  * @see {@link hasEdge} for testing one relationship
2889
+ * @stability unstable
2830
2890
  * @category set operations
2831
2891
  * @since 4.0.0
2832
2892
  */
@@ -2878,6 +2938,7 @@ export const complement: {
2878
2938
  * ```
2879
2939
  *
2880
2940
  * @see {@link hasEdge} for testing one relationship
2941
+ * @stability unstable
2881
2942
  * @category set operations
2882
2943
  * @since 4.0.0
2883
2944
  */
@@ -2920,6 +2981,7 @@ export const complement: {
2920
2981
  * ```
2921
2982
  *
2922
2983
  * @see {@link hasEdge} for testing one relationship
2984
+ * @stability unstable
2923
2985
  * @category set operations
2924
2986
  * @since 4.0.0
2925
2987
  */
@@ -2957,6 +3019,7 @@ export const complement: {
2957
3019
  * `direction` controls how directed edges are traversed and defaults to
2958
3020
  * `"outgoing"`.
2959
3021
  *
3022
+ * @stability unstable
2960
3023
  * @category configuration
2961
3024
  * @since 4.0.0
2962
3025
  */
@@ -3006,6 +3069,7 @@ export interface NeighborhoodConfig {
3006
3069
  * ```
3007
3070
  *
3008
3071
  * @see {@link inducedSubgraph} for selecting nodes while preserving identifiers
3072
+ * @stability unstable
3009
3073
  * @category set operations
3010
3074
  * @since 4.0.0
3011
3075
  */
@@ -3051,6 +3115,7 @@ export const neighborhood: {
3051
3115
  * ```
3052
3116
  *
3053
3117
  * @see {@link inducedSubgraph} for selecting nodes while preserving identifiers
3118
+ * @stability unstable
3054
3119
  * @category set operations
3055
3120
  * @since 4.0.0
3056
3121
  */
@@ -3096,6 +3161,7 @@ export const neighborhood: {
3096
3161
  * ```
3097
3162
  *
3098
3163
  * @see {@link inducedSubgraph} for selecting nodes while preserving identifiers
3164
+ * @stability unstable
3099
3165
  * @category set operations
3100
3166
  * @since 4.0.0
3101
3167
  */
@@ -3155,6 +3221,7 @@ export const neighborhood: {
3155
3221
  * ```
3156
3222
  *
3157
3223
  * @see {@link inducedSubgraph} for selecting nodes while preserving identifiers
3224
+ * @stability unstable
3158
3225
  * @category set operations
3159
3226
  * @since 4.0.0
3160
3227
  */
@@ -3199,6 +3266,7 @@ export const neighborhood: {
3199
3266
  * ```
3200
3267
  *
3201
3268
  * @see {@link inducedSubgraph} for selecting nodes while preserving identifiers
3269
+ * @stability unstable
3202
3270
  * @category set operations
3203
3271
  * @since 4.0.0
3204
3272
  */
@@ -3241,6 +3309,7 @@ export const neighborhood: {
3241
3309
  *
3242
3310
  * @see {@link neighborhood} for selecting nodes by traversal distance
3243
3311
  *
3312
+ * @stability unstable
3244
3313
  * @category set operations
3245
3314
  * @since 4.0.0
3246
3315
  */
@@ -3265,6 +3334,7 @@ export const inducedSubgraph: {
3265
3334
  *
3266
3335
  * @see {@link neighborhood} for selecting nodes by traversal distance
3267
3336
  *
3337
+ * @stability unstable
3268
3338
  * @category set operations
3269
3339
  * @since 4.0.0
3270
3340
  */
@@ -3289,6 +3359,7 @@ export const inducedSubgraph: {
3289
3359
  *
3290
3360
  * @see {@link neighborhood} for selecting nodes by traversal distance
3291
3361
  *
3362
+ * @stability unstable
3292
3363
  * @category set operations
3293
3364
  * @since 4.0.0
3294
3365
  */
@@ -3343,6 +3414,7 @@ export const inducedSubgraph: {
3343
3414
  *
3344
3415
  * @see {@link compose} for merging overlapping logical nodes by identity
3345
3416
  *
3417
+ * @stability unstable
3346
3418
  * @category set operations
3347
3419
  * @since 4.0.0
3348
3420
  */
@@ -3369,6 +3441,7 @@ export const sum: {
3369
3441
  *
3370
3442
  * @see {@link compose} for merging overlapping logical nodes by identity
3371
3443
  *
3444
+ * @stability unstable
3372
3445
  * @category set operations
3373
3446
  * @since 4.0.0
3374
3447
  */
@@ -3395,6 +3468,7 @@ export const sum: {
3395
3468
  *
3396
3469
  * @see {@link compose} for merging overlapping logical nodes by identity
3397
3470
  *
3471
+ * @stability unstable
3398
3472
  * @category set operations
3399
3473
  * @since 4.0.0
3400
3474
  */
@@ -3423,6 +3497,7 @@ export const sum: {
3423
3497
  *
3424
3498
  * @see {@link compose} for merging overlapping logical nodes by identity
3425
3499
  *
3500
+ * @stability unstable
3426
3501
  * @category set operations
3427
3502
  * @since 4.0.0
3428
3503
  */
@@ -3448,6 +3523,7 @@ export const sum: {
3448
3523
  *
3449
3524
  * @see {@link compose} for merging overlapping logical nodes by identity
3450
3525
  *
3526
+ * @stability unstable
3451
3527
  * @category set operations
3452
3528
  * @since 4.0.0
3453
3529
  */
@@ -3510,6 +3586,7 @@ export const sum: {
3510
3586
  * @see {@link mutate} for obtaining a mutable graph from an immutable graph
3511
3587
  * @see {@link addEdge} for connecting existing nodes
3512
3588
  *
3589
+ * @stability unstable
3513
3590
  * @category mutations
3514
3591
  * @since 3.18.0
3515
3592
  */
@@ -3551,6 +3628,7 @@ export const addNode = <N, E, T extends Kind = "directed">(
3551
3628
  * Graph.getNode(graph, 0) // => Option.some("Node A")
3552
3629
  * ```
3553
3630
  *
3631
+ * @stability unstable
3554
3632
  * @category getters
3555
3633
  * @since 3.18.0
3556
3634
  */
@@ -3570,6 +3648,7 @@ export const getNode: {
3570
3648
  * Graph.getNode(graph, 0) // => Option.some("Node A")
3571
3649
  * ```
3572
3650
  *
3651
+ * @stability unstable
3573
3652
  * @category getters
3574
3653
  * @since 3.18.0
3575
3654
  */
@@ -3591,6 +3670,7 @@ export const getNode: {
3591
3670
  * Graph.getNode(graph, 0) // => Option.some("Node A")
3592
3671
  * ```
3593
3672
  *
3673
+ * @stability unstable
3594
3674
  * @category getters
3595
3675
  * @since 3.18.0
3596
3676
  */
@@ -3619,6 +3699,7 @@ export const getNode: {
3619
3699
  * Graph.hasNode(graph, 999) // => false
3620
3700
  * ```
3621
3701
  *
3702
+ * @stability unstable
3622
3703
  * @category predicates
3623
3704
  * @since 3.18.0
3624
3705
  */
@@ -3639,6 +3720,7 @@ export const hasNode: {
3639
3720
  * Graph.hasNode(graph, 999) // => false
3640
3721
  * ```
3641
3722
  *
3723
+ * @stability unstable
3642
3724
  * @category predicates
3643
3725
  * @since 3.18.0
3644
3726
  */
@@ -3659,6 +3741,7 @@ export const hasNode: {
3659
3741
  * Graph.hasNode(graph, 999) // => false
3660
3742
  * ```
3661
3743
  *
3744
+ * @stability unstable
3662
3745
  * @category predicates
3663
3746
  * @since 3.18.0
3664
3747
  */
@@ -3688,6 +3771,7 @@ export const hasNode: {
3688
3771
  * Graph.nodeCount(graphWithNodes) // => 3
3689
3772
  * ```
3690
3773
  *
3774
+ * @stability unstable
3691
3775
  * @category getters
3692
3776
  * @since 3.18.0
3693
3777
  */
@@ -3713,6 +3797,7 @@ export const nodeCount = <N, E, T extends Kind = "directed">(
3713
3797
  * Graph.findNode(graph, (data) => data === "Node D") // => Option.none()
3714
3798
  * ```
3715
3799
  *
3800
+ * @stability unstable
3716
3801
  * @category getters
3717
3802
  * @since 3.18.0
3718
3803
  */
@@ -3735,6 +3820,7 @@ export const findNode: {
3735
3820
  * Graph.findNode(graph, (data) => data === "Node D") // => Option.none()
3736
3821
  * ```
3737
3822
  *
3823
+ * @stability unstable
3738
3824
  * @category getters
3739
3825
  * @since 3.18.0
3740
3826
  */
@@ -3757,6 +3843,7 @@ export const findNode: {
3757
3843
  * Graph.findNode(graph, (data) => data === "Node D") // => Option.none()
3758
3844
  * ```
3759
3845
  *
3846
+ * @stability unstable
3760
3847
  * @category getters
3761
3848
  * @since 3.18.0
3762
3849
  */
@@ -3797,6 +3884,7 @@ export const findNode: {
3797
3884
  * Graph.findNodes(graph, (data) => data === "Not Found") // => []
3798
3885
  * ```
3799
3886
  *
3887
+ * @stability unstable
3800
3888
  * @category getters
3801
3889
  * @since 3.18.0
3802
3890
  */
@@ -3819,6 +3907,7 @@ export const findNodes: {
3819
3907
  * Graph.findNodes(graph, (data) => data === "Not Found") // => []
3820
3908
  * ```
3821
3909
  *
3910
+ * @stability unstable
3822
3911
  * @category getters
3823
3912
  * @since 3.18.0
3824
3913
  */
@@ -3841,6 +3930,7 @@ export const findNodes: {
3841
3930
  * Graph.findNodes(graph, (data) => data === "Not Found") // => []
3842
3931
  * ```
3843
3932
  *
3933
+ * @stability unstable
3844
3934
  * @category getters
3845
3935
  * @since 3.18.0
3846
3936
  */
@@ -3884,6 +3974,7 @@ export const findNodes: {
3884
3974
  * Graph.findEdge(graph, (data) => data > 100) // => Option.none()
3885
3975
  * ```
3886
3976
  *
3977
+ * @stability unstable
3887
3978
  * @category getters
3888
3979
  * @since 3.18.0
3889
3980
  */
@@ -3908,6 +3999,7 @@ export const findEdge: {
3908
3999
  * Graph.findEdge(graph, (data) => data > 100) // => Option.none()
3909
4000
  * ```
3910
4001
  *
4002
+ * @stability unstable
3911
4003
  * @category getters
3912
4004
  * @since 3.18.0
3913
4005
  */
@@ -3932,6 +4024,7 @@ export const findEdge: {
3932
4024
  * Graph.findEdge(graph, (data) => data > 100) // => Option.none()
3933
4025
  * ```
3934
4026
  *
4027
+ * @stability unstable
3935
4028
  * @category getters
3936
4029
  * @since 3.18.0
3937
4030
  */
@@ -3975,6 +4068,7 @@ export const findEdge: {
3975
4068
  * Graph.findEdges(graph, (data) => data > 100) // => []
3976
4069
  * ```
3977
4070
  *
4071
+ * @stability unstable
3978
4072
  * @category getters
3979
4073
  * @since 3.18.0
3980
4074
  */
@@ -4000,6 +4094,7 @@ export const findEdges: {
4000
4094
  * Graph.findEdges(graph, (data) => data > 100) // => []
4001
4095
  * ```
4002
4096
  *
4097
+ * @stability unstable
4003
4098
  * @category getters
4004
4099
  * @since 3.18.0
4005
4100
  */
@@ -4025,6 +4120,7 @@ export const findEdges: {
4025
4120
  * Graph.findEdges(graph, (data) => data > 100) // => []
4026
4121
  * ```
4027
4122
  *
4123
+ * @stability unstable
4028
4124
  * @category getters
4029
4125
  * @since 3.18.0
4030
4126
  */
@@ -4075,6 +4171,7 @@ export const findEdges: {
4075
4171
  * Graph.getNode(graph, 0) // => Option.some("NODE A")
4076
4172
  * ```
4077
4173
  *
4174
+ * @stability unstable
4078
4175
  * @category transforming
4079
4176
  * @since 3.18.0
4080
4177
  */
@@ -4123,6 +4220,7 @@ export const updateNode = <N, E, T extends Kind = "directed">(
4123
4220
  * Option.map(Graph.getEdge(result, 0), (edge) => edge.data) // => Option.some(20)
4124
4221
  * ```
4125
4222
  *
4223
+ * @stability unstable
4126
4224
  * @category transforming
4127
4225
  * @since 3.18.0
4128
4226
  */
@@ -4182,6 +4280,7 @@ export const updateEdge = <N, E, T extends Kind = "directed">(
4182
4280
  *
4183
4281
  * @see {@link updateNode} for updating one node
4184
4282
  * @see {@link filterMapNodes} for mapping while removing nodes
4283
+ * @stability unstable
4185
4284
  * @category mapping
4186
4285
  * @since 3.18.0
4187
4286
  */
@@ -4235,6 +4334,7 @@ export const mapNodes = <N, E, T extends Kind = "directed">(
4235
4334
  *
4236
4335
  * @see {@link updateEdge} for updating one edge
4237
4336
  * @see {@link filterMapEdges} for mapping while removing edges
4337
+ * @stability unstable
4238
4338
  * @category mapping
4239
4339
  * @since 3.18.0
4240
4340
  */
@@ -4289,6 +4389,7 @@ export const mapEdges = <N, E, T extends Kind = "directed">(
4289
4389
  * Option.map(Graph.getEdge(graph, 0), (edge) => edge.source) // => Option.some(1)
4290
4390
  * ```
4291
4391
  *
4392
+ * @stability unstable
4292
4393
  * @category transforming
4293
4394
  * @since 3.18.0
4294
4395
  */
@@ -4349,6 +4450,7 @@ export const reverse = <N, E, T extends Kind = "directed">(
4349
4450
  * Graph.nodeCount(graph) // => 2
4350
4451
  * ```
4351
4452
  *
4453
+ * @stability unstable
4352
4454
  * @category filtering
4353
4455
  * @since 3.18.0
4354
4456
  */
@@ -4408,6 +4510,7 @@ export const filterMapNodes = <N, E, T extends Kind = "directed">(
4408
4510
  * Graph.edgeCount(graph) // => 2
4409
4511
  * ```
4410
4512
  *
4513
+ * @stability unstable
4411
4514
  * @category filtering
4412
4515
  * @since 3.18.0
4413
4516
  */
@@ -4468,6 +4571,7 @@ export const filterMapEdges = <N, E, T extends Kind = "directed">(
4468
4571
  * Graph.nodeCount(graph) // => 2
4469
4572
  * ```
4470
4573
  *
4574
+ * @stability unstable
4471
4575
  * @category filtering
4472
4576
  * @since 3.18.0
4473
4577
  */
@@ -4522,6 +4626,7 @@ export const filterNodes = <N, E, T extends Kind = "directed">(
4522
4626
  * Graph.edgeCount(graph) // => 2
4523
4627
  * ```
4524
4628
  *
4629
+ * @stability unstable
4525
4630
  * @category filtering
4526
4631
  * @since 3.18.0
4527
4632
  */
@@ -4607,6 +4712,7 @@ const invalidateCycleFlagOnAddition = <N, E, T extends Kind = "directed">(
4607
4712
  * @see {@link mutate} for obtaining a mutable graph from an immutable graph
4608
4713
  * @see {@link addNode} for creating node indexes before connecting them
4609
4714
  *
4715
+ * @stability unstable
4610
4716
  * @category mutations
4611
4717
  * @since 3.18.0
4612
4718
  */
@@ -4692,6 +4798,7 @@ export const addEdge = <N, E, T extends Kind = "directed">(
4692
4798
  * Array.of(Graph.nodeCount(result), Graph.edgeCount(result)) // => [1, 0]
4693
4799
  * ```
4694
4800
  *
4801
+ * @stability unstable
4695
4802
  * @category mutations
4696
4803
  * @since 3.18.0
4697
4804
  */
@@ -4724,6 +4831,7 @@ export const removeNode = <N, E, T extends Kind = "directed">(
4724
4831
  *
4725
4832
  * @see {@link removeNode} for removing one node
4726
4833
  *
4834
+ * @stability unstable
4727
4835
  * @category mutations
4728
4836
  * @since 4.0.0
4729
4837
  */
@@ -4817,6 +4925,7 @@ const removeNodeInternal = <N, E, T extends Kind = "directed">(
4817
4925
  * Array.of(Graph.nodeCount(result), Graph.edgeCount(result)) // => [2, 0]
4818
4926
  * ```
4819
4927
  *
4928
+ * @stability unstable
4820
4929
  * @category mutations
4821
4930
  * @since 3.18.0
4822
4931
  */
@@ -4850,6 +4959,7 @@ export const removeEdge = <N, E, T extends Kind = "directed">(
4850
4959
  *
4851
4960
  * @see {@link removeEdge} for removing one edge
4852
4961
  *
4962
+ * @stability unstable
4853
4963
  * @category mutations
4854
4964
  * @since 4.0.0
4855
4965
  */
@@ -4952,6 +5062,7 @@ const removeEdgeInternal = <N, E, T extends Kind = "directed">(
4952
5062
  * Graph.getEdge(graph, 0) // => Option.some({ source: 0, target: 1, data: 42 })
4953
5063
  * ```
4954
5064
  *
5065
+ * @stability unstable
4955
5066
  * @category getters
4956
5067
  * @since 3.18.0
4957
5068
  */
@@ -4977,6 +5088,7 @@ export const getEdge: {
4977
5088
  * Graph.getEdge(graph, 0) // => Option.some({ source: 0, target: 1, data: 42 })
4978
5089
  * ```
4979
5090
  *
5091
+ * @stability unstable
4980
5092
  * @category getters
4981
5093
  * @since 3.18.0
4982
5094
  */
@@ -5004,6 +5116,7 @@ export const getEdge: {
5004
5116
  * Graph.getEdge(graph, 0) // => Option.some({ source: 0, target: 1, data: 42 })
5005
5117
  * ```
5006
5118
  *
5119
+ * @stability unstable
5007
5120
  * @category getters
5008
5121
  * @since 3.18.0
5009
5122
  */
@@ -5045,6 +5158,7 @@ export const getEdge: {
5045
5158
  * ```
5046
5159
  *
5047
5160
  * @see {@link edgesBetween} for all matching edge identifiers
5161
+ * @stability unstable
5048
5162
  * @category predicates
5049
5163
  * @since 3.18.0
5050
5164
  */
@@ -5078,6 +5192,7 @@ export const hasEdge: {
5078
5192
  * ```
5079
5193
  *
5080
5194
  * @see {@link edgesBetween} for all matching edge identifiers
5195
+ * @stability unstable
5081
5196
  * @category predicates
5082
5197
  * @since 3.18.0
5083
5198
  */
@@ -5111,6 +5226,7 @@ export const hasEdge: {
5111
5226
  * ```
5112
5227
  *
5113
5228
  * @see {@link edgesBetween} for all matching edge identifiers
5229
+ * @stability unstable
5114
5230
  * @category predicates
5115
5231
  * @since 3.18.0
5116
5232
  */
@@ -5167,6 +5283,7 @@ export const hasEdge: {
5167
5283
  * Graph.edgeCount(graphWithEdges) // => 3
5168
5284
  * ```
5169
5285
  *
5286
+ * @stability unstable
5170
5287
  * @category getters
5171
5288
  * @since 3.18.0
5172
5289
  */
@@ -5182,6 +5299,7 @@ export const edgeCount = <N, E, T extends Kind = "directed">(
5182
5299
  * Each edge is returned once in graph edge order, including self-loops.
5183
5300
  * Throws a `GraphError` when the node does not exist.
5184
5301
  *
5302
+ * @stability unstable
5185
5303
  * @category getters
5186
5304
  * @since 4.0.0
5187
5305
  */
@@ -5194,6 +5312,7 @@ export const incidentEdges: {
5194
5312
  * Each edge is returned once in graph edge order, including self-loops.
5195
5313
  * Throws a `GraphError` when the node does not exist.
5196
5314
  *
5315
+ * @stability unstable
5197
5316
  * @category getters
5198
5317
  * @since 4.0.0
5199
5318
  */
@@ -5206,6 +5325,7 @@ export const incidentEdges: {
5206
5325
  * Each edge is returned once in graph edge order, including self-loops.
5207
5326
  * Throws a `GraphError` when the node does not exist.
5208
5327
  *
5328
+ * @stability unstable
5209
5329
  * @category getters
5210
5330
  * @since 4.0.0
5211
5331
  */
@@ -5263,6 +5383,7 @@ export const incidentEdges: {
5263
5383
  * Parallel edges and self-loops are returned separately in adjacency order.
5264
5384
  * Throws a `GraphError` for an undirected graph or missing node.
5265
5385
  *
5386
+ * @stability unstable
5266
5387
  * @category getters
5267
5388
  * @since 4.0.0
5268
5389
  */
@@ -5275,6 +5396,7 @@ export const outgoingEdges: {
5275
5396
  * Parallel edges and self-loops are returned separately in adjacency order.
5276
5397
  * Throws a `GraphError` for an undirected graph or missing node.
5277
5398
  *
5399
+ * @stability unstable
5278
5400
  * @category getters
5279
5401
  * @since 4.0.0
5280
5402
  */
@@ -5289,6 +5411,7 @@ export const outgoingEdges: {
5289
5411
  * Parallel edges and self-loops are returned separately in adjacency order.
5290
5412
  * Throws a `GraphError` for an undirected graph or missing node.
5291
5413
  *
5414
+ * @stability unstable
5292
5415
  * @category getters
5293
5416
  * @since 4.0.0
5294
5417
  */
@@ -5318,6 +5441,7 @@ export const outgoingEdges: {
5318
5441
  * Parallel edges and self-loops are returned separately in reverse-adjacency
5319
5442
  * order. Throws a `GraphError` for an undirected graph or missing node.
5320
5443
  *
5444
+ * @stability unstable
5321
5445
  * @category getters
5322
5446
  * @since 4.0.0
5323
5447
  */
@@ -5330,6 +5454,7 @@ export const incomingEdges: {
5330
5454
  * Parallel edges and self-loops are returned separately in reverse-adjacency
5331
5455
  * order. Throws a `GraphError` for an undirected graph or missing node.
5332
5456
  *
5457
+ * @stability unstable
5333
5458
  * @category getters
5334
5459
  * @since 4.0.0
5335
5460
  */
@@ -5344,6 +5469,7 @@ export const incomingEdges: {
5344
5469
  * Parallel edges and self-loops are returned separately in reverse-adjacency
5345
5470
  * order. Throws a `GraphError` for an undirected graph or missing node.
5346
5471
  *
5472
+ * @stability unstable
5347
5473
  * @category getters
5348
5474
  * @since 4.0.0
5349
5475
  */
@@ -5374,6 +5500,7 @@ export const incomingEdges: {
5374
5500
  * graphs include either stored orientation. Parallel edges are retained.
5375
5501
  * Throws a `GraphError` when either node does not exist.
5376
5502
  *
5503
+ * @stability unstable
5377
5504
  * @category getters
5378
5505
  * @since 4.0.0
5379
5506
  */
@@ -5387,6 +5514,7 @@ export const edgesBetween: {
5387
5514
  * graphs include either stored orientation. Parallel edges are retained.
5388
5515
  * Throws a `GraphError` when either node does not exist.
5389
5516
  *
5517
+ * @stability unstable
5390
5518
  * @category getters
5391
5519
  * @since 4.0.0
5392
5520
  */
@@ -5402,6 +5530,7 @@ export const edgesBetween: {
5402
5530
  * graphs include either stored orientation. Parallel edges are retained.
5403
5531
  * Throws a `GraphError` when either node does not exist.
5404
5532
  *
5533
+ * @stability unstable
5405
5534
  * @category getters
5406
5535
  * @since 4.0.0
5407
5536
  */
@@ -5446,6 +5575,7 @@ export const edgesBetween: {
5446
5575
  * Parallel edges count separately and a self-loop contributes two. Throws a
5447
5576
  * `GraphError` for a directed graph or missing node.
5448
5577
  *
5578
+ * @stability unstable
5449
5579
  * @category getters
5450
5580
  * @since 4.0.0
5451
5581
  */
@@ -5458,6 +5588,7 @@ export const degree: {
5458
5588
  * Parallel edges count separately and a self-loop contributes two. Throws a
5459
5589
  * `GraphError` for a directed graph or missing node.
5460
5590
  *
5591
+ * @stability unstable
5461
5592
  * @category getters
5462
5593
  * @since 4.0.0
5463
5594
  */
@@ -5472,6 +5603,7 @@ export const degree: {
5472
5603
  * Parallel edges count separately and a self-loop contributes two. Throws a
5473
5604
  * `GraphError` for a directed graph or missing node.
5474
5605
  *
5606
+ * @stability unstable
5475
5607
  * @category getters
5476
5608
  * @since 4.0.0
5477
5609
  */
@@ -5501,6 +5633,7 @@ export const degree: {
5501
5633
  * Parallel edges count separately and a self-loop contributes one. Throws a
5502
5634
  * `GraphError` for an undirected graph or missing node.
5503
5635
  *
5636
+ * @stability unstable
5504
5637
  * @category getters
5505
5638
  * @since 4.0.0
5506
5639
  */
@@ -5513,6 +5646,7 @@ export const outDegree: {
5513
5646
  * Parallel edges count separately and a self-loop contributes one. Throws a
5514
5647
  * `GraphError` for an undirected graph or missing node.
5515
5648
  *
5649
+ * @stability unstable
5516
5650
  * @category getters
5517
5651
  * @since 4.0.0
5518
5652
  */
@@ -5527,6 +5661,7 @@ export const outDegree: {
5527
5661
  * Parallel edges count separately and a self-loop contributes one. Throws a
5528
5662
  * `GraphError` for an undirected graph or missing node.
5529
5663
  *
5664
+ * @stability unstable
5530
5665
  * @category getters
5531
5666
  * @since 4.0.0
5532
5667
  */
@@ -5556,6 +5691,7 @@ export const outDegree: {
5556
5691
  * Parallel edges count separately and a self-loop contributes one. Throws a
5557
5692
  * `GraphError` for an undirected graph or missing node.
5558
5693
  *
5694
+ * @stability unstable
5559
5695
  * @category getters
5560
5696
  * @since 4.0.0
5561
5697
  */
@@ -5568,6 +5704,7 @@ export const inDegree: {
5568
5704
  * Parallel edges count separately and a self-loop contributes one. Throws a
5569
5705
  * `GraphError` for an undirected graph or missing node.
5570
5706
  *
5707
+ * @stability unstable
5571
5708
  * @category getters
5572
5709
  * @since 4.0.0
5573
5710
  */
@@ -5582,6 +5719,7 @@ export const inDegree: {
5582
5719
  * Parallel edges count separately and a self-loop contributes one. Throws a
5583
5720
  * `GraphError` for an undirected graph or missing node.
5584
5721
  *
5722
+ * @stability unstable
5585
5723
  * @category getters
5586
5724
  * @since 4.0.0
5587
5725
  */
@@ -5707,6 +5845,7 @@ const ScanDegreeLimit = 32
5707
5845
  * Graph.neighbors(graph, 1) // => []
5708
5846
  * ```
5709
5847
  *
5848
+ * @stability unstable
5710
5849
  * @category getters
5711
5850
  * @since 3.18.0
5712
5851
  */
@@ -5743,6 +5882,7 @@ export const neighbors: {
5743
5882
  * Graph.neighbors(graph, 1) // => []
5744
5883
  * ```
5745
5884
  *
5885
+ * @stability unstable
5746
5886
  * @category getters
5747
5887
  * @since 3.18.0
5748
5888
  */
@@ -5779,6 +5919,7 @@ export const neighbors: {
5779
5919
  * Graph.neighbors(graph, 1) // => []
5780
5920
  * ```
5781
5921
  *
5922
+ * @stability unstable
5782
5923
  * @category getters
5783
5924
  * @since 3.18.0
5784
5925
  */
@@ -5814,6 +5955,7 @@ export const neighbors: {
5814
5955
  * @see {@link predecessors} for incoming neighbors in a directed graph
5815
5956
  * @see {@link neighbors} for generic neighbor lookup across graph kinds
5816
5957
  *
5958
+ * @stability unstable
5817
5959
  * @category getters
5818
5960
  * @since 4.0.0
5819
5961
  */
@@ -5837,6 +5979,7 @@ export const successors: {
5837
5979
  * @see {@link predecessors} for incoming neighbors in a directed graph
5838
5980
  * @see {@link neighbors} for generic neighbor lookup across graph kinds
5839
5981
  *
5982
+ * @stability unstable
5840
5983
  * @category getters
5841
5984
  * @since 4.0.0
5842
5985
  */
@@ -5860,6 +6003,7 @@ export const successors: {
5860
6003
  * @see {@link predecessors} for incoming neighbors in a directed graph
5861
6004
  * @see {@link neighbors} for generic neighbor lookup across graph kinds
5862
6005
  *
6006
+ * @stability unstable
5863
6007
  * @category getters
5864
6008
  * @since 4.0.0
5865
6009
  */
@@ -5896,6 +6040,7 @@ export const successors: {
5896
6040
  * @see {@link successors} for outgoing neighbors in a directed graph
5897
6041
  * @see {@link neighbors} for generic neighbor lookup across graph kinds
5898
6042
  *
6043
+ * @stability unstable
5899
6044
  * @category getters
5900
6045
  * @since 4.0.0
5901
6046
  */
@@ -5919,6 +6064,7 @@ export const predecessors: {
5919
6064
  * @see {@link successors} for outgoing neighbors in a directed graph
5920
6065
  * @see {@link neighbors} for generic neighbor lookup across graph kinds
5921
6066
  *
6067
+ * @stability unstable
5922
6068
  * @category getters
5923
6069
  * @since 4.0.0
5924
6070
  */
@@ -5942,6 +6088,7 @@ export const predecessors: {
5942
6088
  * @see {@link successors} for outgoing neighbors in a directed graph
5943
6089
  * @see {@link neighbors} for generic neighbor lookup across graph kinds
5944
6090
  *
6091
+ * @stability unstable
5945
6092
  * @category getters
5946
6093
  * @since 4.0.0
5947
6094
  */
@@ -5998,6 +6145,7 @@ export const predecessors: {
5998
6145
  * @deprecated Use {@link successors} for outgoing neighbors or {@link predecessors} for incoming neighbors.
5999
6146
  * @see {@link successors} for outgoing neighbors in a directed graph
6000
6147
  * @see {@link predecessors} for incoming neighbors in a directed graph
6148
+ * @stability unstable
6001
6149
  * @category getters
6002
6150
  * @since 3.18.0
6003
6151
  */
@@ -6041,6 +6189,7 @@ export const neighborsDirected: {
6041
6189
  * @deprecated Use {@link successors} for outgoing neighbors or {@link predecessors} for incoming neighbors.
6042
6190
  * @see {@link successors} for outgoing neighbors in a directed graph
6043
6191
  * @see {@link predecessors} for incoming neighbors in a directed graph
6192
+ * @stability unstable
6044
6193
  * @category getters
6045
6194
  * @since 3.18.0
6046
6195
  */
@@ -6084,6 +6233,7 @@ export const neighborsDirected: {
6084
6233
  * @deprecated Use {@link successors} for outgoing neighbors or {@link predecessors} for incoming neighbors.
6085
6234
  * @see {@link successors} for outgoing neighbors in a directed graph
6086
6235
  * @see {@link predecessors} for incoming neighbors in a directed graph
6236
+ * @stability unstable
6087
6237
  * @category getters
6088
6238
  * @since 3.18.0
6089
6239
  */
@@ -6140,6 +6290,7 @@ export const neighborsDirected: {
6140
6290
  * ```
6141
6291
  *
6142
6292
  * @see {@link toGraphViz} for generating DOT output
6293
+ * @stability unstable
6143
6294
  * @category configuration
6144
6295
  * @since 3.18.0
6145
6296
  */
@@ -6192,6 +6343,7 @@ const escapeGraphVizString = (value: string): string =>
6192
6343
  * ```
6193
6344
  *
6194
6345
  * @see {@link toMermaid} for Mermaid diagram output
6346
+ * @stability unstable
6195
6347
  * @category converting
6196
6348
  * @since 3.18.0
6197
6349
  */
@@ -6222,6 +6374,7 @@ export const toGraphViz: {
6222
6374
  * ```
6223
6375
  *
6224
6376
  * @see {@link toMermaid} for Mermaid diagram output
6377
+ * @stability unstable
6225
6378
  * @category converting
6226
6379
  * @since 3.18.0
6227
6380
  */
@@ -6252,6 +6405,7 @@ export const toGraphViz: {
6252
6405
  * ```
6253
6406
  *
6254
6407
  * @see {@link toMermaid} for Mermaid diagram output
6408
+ * @stability unstable
6255
6409
  * @category converting
6256
6410
  * @since 3.18.0
6257
6411
  */
@@ -6335,6 +6489,7 @@ export const toGraphViz: {
6335
6489
  * options.nodeShape?.("decision") // => "diamond"
6336
6490
  * ```
6337
6491
  *
6492
+ * @stability unstable
6338
6493
  * @category models
6339
6494
  * @since 3.18.0
6340
6495
  */
@@ -6381,6 +6536,7 @@ export type MermaidNodeShape =
6381
6536
  * Array.of(horizontalOptions.direction, verticalOptions.direction, bottomUpOptions.direction) // => ["LR", "TB", "BT"]
6382
6537
  * ```
6383
6538
  *
6539
+ * @stability unstable
6384
6540
  * @category models
6385
6541
  * @since 3.18.0
6386
6542
  */
@@ -6423,6 +6579,7 @@ export type MermaidDirection =
6423
6579
  * Array.of(flowchartOptions.diagramType, graphOptions.diagramType, autoOptions.diagramType) // => ["flowchart", "graph", undefined]
6424
6580
  * ```
6425
6581
  *
6582
+ * @stability unstable
6426
6583
  * @category models
6427
6584
  * @since 3.18.0
6428
6585
  */
@@ -6466,6 +6623,7 @@ export type MermaidDiagramType =
6466
6623
  * ```
6467
6624
  *
6468
6625
  * @see {@link toMermaid} for generating Mermaid output
6626
+ * @stability unstable
6469
6627
  * @category configuration
6470
6628
  * @since 3.18.0
6471
6629
  */
@@ -6584,6 +6742,7 @@ const formatMermaidNode = (
6584
6742
  * ```
6585
6743
  *
6586
6744
  * @see {@link toGraphViz} for GraphViz DOT output
6745
+ * @stability unstable
6587
6746
  * @category converting
6588
6747
  * @since 3.18.0
6589
6748
  */
@@ -6617,6 +6776,7 @@ export const toMermaid: {
6617
6776
  * ```
6618
6777
  *
6619
6778
  * @see {@link toGraphViz} for GraphViz DOT output
6779
+ * @stability unstable
6620
6780
  * @category converting
6621
6781
  * @since 3.18.0
6622
6782
  */
@@ -6650,6 +6810,7 @@ export const toMermaid: {
6650
6810
  * ```
6651
6811
  *
6652
6812
  * @see {@link toGraphViz} for GraphViz DOT output
6813
+ * @stability unstable
6653
6814
  * @category converting
6654
6815
  * @since 3.18.0
6655
6816
  */
@@ -6719,6 +6880,7 @@ export const toMermaid: {
6719
6880
  * `"outgoing"` selects edges whose source is the node, while `"incoming"`
6720
6881
  * selects edges whose target is the node.
6721
6882
  *
6883
+ * @stability unstable
6722
6884
  * @category models
6723
6885
  * @since 3.18.0
6724
6886
  */
@@ -6751,6 +6913,7 @@ export type Direction = "outgoing" | "incoming"
6751
6913
  * Array.from(Graph.indices(Graph.bfs(graph, { start: [1], direction: "undirected" }))) // => [1, 0, 2]
6752
6914
  * ```
6753
6915
  *
6916
+ * @stability unstable
6754
6917
  * @category models
6755
6918
  * @since 4.0.0
6756
6919
  */
@@ -6768,6 +6931,7 @@ export type TraversalDirection = Direction | "undirected"
6768
6931
  * `path` repeats its first node at the end, so `edges.length` is always
6769
6932
  * `path.length - 1`.
6770
6933
  *
6934
+ * @stability unstable
6771
6935
  * @category models
6772
6936
  * @since 4.0.0
6773
6937
  */
@@ -6790,6 +6954,7 @@ export interface CycleResult {
6790
6954
  * one-edge cycle, and two parallel undirected edges form a two-edge cycle.
6791
6955
  *
6792
6956
  * @see {@link isAcyclic} when only a boolean cycle check is needed
6957
+ * @stability unstable
6793
6958
  * @category algorithms
6794
6959
  * @since 4.0.0
6795
6960
  */
@@ -6893,6 +7058,7 @@ export const findCycle = <N, E, T extends Kind = "directed">(
6893
7058
  *
6894
7059
  * @see {@link findCycle} for retrieving one cycle witness
6895
7060
  * @see {@link topo} for ordering a directed acyclic graph
7061
+ * @stability unstable
6896
7062
  * @category algorithms
6897
7063
  * @since 3.18.0
6898
7064
  */
@@ -7026,6 +7192,7 @@ export const isAcyclic = <N, E, T extends Kind = "directed">(
7026
7192
  * ```
7027
7193
  *
7028
7194
  * @see {@link maximumBipartiteMatching} for matching nodes after validation
7195
+ * @stability unstable
7029
7196
  * @category algorithms
7030
7197
  * @since 3.18.0
7031
7198
  */
@@ -7077,6 +7244,7 @@ export const isBipartite = <N, E>(
7077
7244
  * `left` and `right` refer to the bipartition derived by
7078
7245
  * `maximumBipartiteMatching`, not to the stored edge orientation.
7079
7246
  *
7247
+ * @stability unstable
7080
7248
  * @category models
7081
7249
  * @since 4.0.0
7082
7250
  */
@@ -7161,6 +7329,7 @@ const bipartiteColors = <N, E>(
7161
7329
  * ```
7162
7330
  *
7163
7331
  * @see {@link isBipartite} for validating the graph without computing a matching
7332
+ * @stability unstable
7164
7333
  * @category algorithms
7165
7334
  * @since 4.0.0
7166
7335
  */
@@ -7337,6 +7506,7 @@ const getTraversableNeighbor = <N, E, T extends Kind>(
7337
7506
  *
7338
7507
  * `direction` defaults to `"outgoing"` and is ignored for undirected graphs.
7339
7508
  *
7509
+ * @stability unstable
7340
7510
  * @category configuration
7341
7511
  * @since 4.0.0
7342
7512
  */
@@ -7412,6 +7582,7 @@ const getUnweightedDistances = <N, E, T extends Kind>(
7412
7582
  * @see {@link bfs} for lazy traversal in increasing hop distance
7413
7583
  * @see {@link dijkstra} for weighted shortest paths
7414
7584
  *
7585
+ * @stability unstable
7415
7586
  * @category algorithms
7416
7587
  * @since 4.0.0
7417
7588
  */
@@ -7437,6 +7608,7 @@ export const unweightedDistances: {
7437
7608
  * @see {@link bfs} for lazy traversal in increasing hop distance
7438
7609
  * @see {@link dijkstra} for weighted shortest paths
7439
7610
  *
7611
+ * @stability unstable
7440
7612
  * @category algorithms
7441
7613
  * @since 4.0.0
7442
7614
  */
@@ -7464,6 +7636,7 @@ export const unweightedDistances: {
7464
7636
  * @see {@link bfs} for lazy traversal in increasing hop distance
7465
7637
  * @see {@link dijkstra} for weighted shortest paths
7466
7638
  *
7639
+ * @stability unstable
7467
7640
  * @category algorithms
7468
7641
  * @since 4.0.0
7469
7642
  */
@@ -7498,6 +7671,7 @@ export const unweightedDistances: {
7498
7671
  * @see {@link unweightedDistances} for hop distances to all reachable nodes
7499
7672
  * @see {@link dijkstra} for a minimum-cost path
7500
7673
  *
7674
+ * @stability unstable
7501
7675
  * @category predicates
7502
7676
  * @since 4.0.0
7503
7677
  */
@@ -7522,6 +7696,7 @@ export const hasPath: {
7522
7696
  * @see {@link unweightedDistances} for hop distances to all reachable nodes
7523
7697
  * @see {@link dijkstra} for a minimum-cost path
7524
7698
  *
7699
+ * @stability unstable
7525
7700
  * @category predicates
7526
7701
  * @since 4.0.0
7527
7702
  */
@@ -7548,6 +7723,7 @@ export const hasPath: {
7548
7723
  * @see {@link unweightedDistances} for hop distances to all reachable nodes
7549
7724
  * @see {@link dijkstra} for a minimum-cost path
7550
7725
  *
7726
+ * @stability unstable
7551
7727
  * @category predicates
7552
7728
  * @since 4.0.0
7553
7729
  */
@@ -7654,6 +7830,7 @@ export const hasPath: {
7654
7830
  * @see {@link isConnected} when only a boolean connectivity check is needed
7655
7831
  * @see {@link weaklyConnectedComponents} for directed graphs with orientation ignored
7656
7832
  * @see {@link stronglyConnectedComponents} for mutual directed reachability
7833
+ * @stability unstable
7657
7834
  * @category algorithms
7658
7835
  * @since 3.18.0
7659
7836
  */
@@ -7877,6 +8054,7 @@ const analyzeLowLinks = <N, E>(
7877
8054
  *
7878
8055
  * @see {@link articulationPoints} for single-node failure points
7879
8056
  * @see {@link biconnectedComponents} for maximal regions without an articulation split
8057
+ * @stability unstable
7880
8058
  * @category algorithms
7881
8059
  * @since 4.0.0
7882
8060
  */
@@ -7917,6 +8095,7 @@ export const bridges = <N, E>(
7917
8095
  *
7918
8096
  * @see {@link bridges} for single-edge failure points
7919
8097
  * @see {@link biconnectedComponents} for the regions joined at articulation points
8098
+ * @stability unstable
7920
8099
  * @category algorithms
7921
8100
  * @since 4.0.0
7922
8101
  */
@@ -7964,6 +8143,7 @@ export const articulationPoints = <N, E>(
7964
8143
  *
7965
8144
  * @see {@link articulationPoints} for the nodes shared between components
7966
8145
  * @see {@link bridges} for edges whose removal disconnects the graph
8146
+ * @stability unstable
7967
8147
  * @category algorithms
7968
8148
  * @since 4.0.0
7969
8149
  */
@@ -7988,6 +8168,7 @@ export const biconnectedComponents = <N, E>(
7988
8168
  *
7989
8169
  * The source and target must be distinct existing nodes in a directed graph.
7990
8170
  *
8171
+ * @stability unstable
7991
8172
  * @category configuration
7992
8173
  * @since 4.0.0
7993
8174
  */
@@ -8005,6 +8186,7 @@ export interface MaximumFlowConfig<E> {
8005
8186
  * `flows` contains every original edge, including zero-flow edges. `cut`
8006
8187
  * contains the crossing edge identifiers of the corresponding minimum cut.
8007
8188
  *
8189
+ * @stability unstable
8008
8190
  * @category models
8009
8191
  * @since 4.0.0
8010
8192
  */
@@ -8022,6 +8204,7 @@ export interface MaximumFlowResult {
8022
8204
  * `source` contains nodes residual-reachable from the configured source and
8023
8205
  * `target` contains the remaining nodes.
8024
8206
  *
8207
+ * @stability unstable
8025
8208
  * @category models
8026
8209
  * @since 4.0.0
8027
8210
  */
@@ -8217,6 +8400,7 @@ const solveMaximumFlow = <N, E>(
8217
8400
  * ```
8218
8401
  *
8219
8402
  * @see {@link minimumCut} for the residual-reachability partition
8403
+ * @stability unstable
8220
8404
  * @category algorithms
8221
8405
  * @since 4.0.0
8222
8406
  */
@@ -8257,6 +8441,7 @@ export const maximumFlow: {
8257
8441
  * ```
8258
8442
  *
8259
8443
  * @see {@link minimumCut} for the residual-reachability partition
8444
+ * @stability unstable
8260
8445
  * @category algorithms
8261
8446
  * @since 4.0.0
8262
8447
  */
@@ -8299,6 +8484,7 @@ export const maximumFlow: {
8299
8484
  * ```
8300
8485
  *
8301
8486
  * @see {@link minimumCut} for the residual-reachability partition
8487
+ * @stability unstable
8302
8488
  * @category algorithms
8303
8489
  * @since 4.0.0
8304
8490
  */
@@ -8350,6 +8536,7 @@ export const maximumFlow: {
8350
8536
  * ```
8351
8537
  *
8352
8538
  * @see {@link maximumFlow} for per-edge flow values
8539
+ * @stability unstable
8353
8540
  * @category algorithms
8354
8541
  * @since 4.0.0
8355
8542
  */
@@ -8390,6 +8577,7 @@ export const minimumCut: {
8390
8577
  * ```
8391
8578
  *
8392
8579
  * @see {@link maximumFlow} for per-edge flow values
8580
+ * @stability unstable
8393
8581
  * @category algorithms
8394
8582
  * @since 4.0.0
8395
8583
  */
@@ -8432,6 +8620,7 @@ export const minimumCut: {
8432
8620
  * ```
8433
8621
  *
8434
8622
  * @see {@link maximumFlow} for per-edge flow values
8623
+ * @stability unstable
8435
8624
  * @category algorithms
8436
8625
  * @since 4.0.0
8437
8626
  */
@@ -8472,6 +8661,7 @@ export const minimumCut: {
8472
8661
  * @see {@link isWeaklyConnected} when only a boolean check is needed
8473
8662
  * @see {@link stronglyConnectedComponents} for mutual directed reachability
8474
8663
  *
8664
+ * @stability unstable
8475
8665
  * @category algorithms
8476
8666
  * @since 4.0.0
8477
8667
  */
@@ -8557,6 +8747,7 @@ export const weaklyConnectedComponents = <N, E>(
8557
8747
  *
8558
8748
  * @see {@link isStronglyConnected} when only a boolean check is needed
8559
8749
  * @see {@link weaklyConnectedComponents} when edge orientation should be ignored
8750
+ * @stability unstable
8560
8751
  * @category algorithms
8561
8752
  * @since 3.18.0
8562
8753
  */
@@ -8690,6 +8881,7 @@ const csrReachesAll = (
8690
8881
  *
8691
8882
  * @see {@link connectedComponents} for the component partition
8692
8883
  *
8884
+ * @stability unstable
8693
8885
  * @category predicates
8694
8886
  * @since 4.0.0
8695
8887
  */
@@ -8718,6 +8910,7 @@ export const isConnected = <N, E>(
8718
8910
  *
8719
8911
  * @see {@link isStronglyConnected} when edge orientation must be respected
8720
8912
  *
8913
+ * @stability unstable
8721
8914
  * @category predicates
8722
8915
  * @since 4.0.0
8723
8916
  */
@@ -8747,6 +8940,7 @@ export const isWeaklyConnected = <N, E>(
8747
8940
  *
8748
8941
  * @see {@link isWeaklyConnected} when edge orientation should be ignored
8749
8942
  *
8943
+ * @stability unstable
8750
8944
  * @category predicates
8751
8945
  * @since 4.0.0
8752
8946
  */
@@ -8773,6 +8967,7 @@ export const isStronglyConnected = <N, E>(
8773
8967
  * The empty graph is not a tree. Parallel edges and self-loops prevent a graph
8774
8968
  * from being a tree. Throws a `GraphError` when used with a directed graph.
8775
8969
  *
8970
+ * @stability unstable
8776
8971
  * @category predicates
8777
8972
  * @since 4.0.0
8778
8973
  */
@@ -8807,6 +9002,7 @@ export const isTree = <N, E>(
8807
9002
  * Throws a `GraphError` for a directed graph or when a weight is `NaN` or
8808
9003
  * `-Infinity`. Edges weighted `Infinity` are omitted.
8809
9004
  *
9005
+ * @stability unstable
8810
9006
  * @category algorithms
8811
9007
  * @since 4.0.0
8812
9008
  */
@@ -8832,6 +9028,7 @@ export const minimumSpanningForest: {
8832
9028
  * Throws a `GraphError` for a directed graph or when a weight is `NaN` or
8833
9029
  * `-Infinity`. Edges weighted `Infinity` are omitted.
8834
9030
  *
9031
+ * @stability unstable
8835
9032
  * @category algorithms
8836
9033
  * @since 4.0.0
8837
9034
  */
@@ -8859,6 +9056,7 @@ export const minimumSpanningForest: {
8859
9056
  * Throws a `GraphError` for a directed graph or when a weight is `NaN` or
8860
9057
  * `-Infinity`. Edges weighted `Infinity` are omitted.
8861
9058
  *
9059
+ * @stability unstable
8862
9060
  * @category algorithms
8863
9061
  * @since 4.0.0
8864
9062
  */
@@ -8959,6 +9157,7 @@ export const minimumSpanningForest: {
8959
9157
  * coalesced by retaining the first edge for each required pair. Throws a
8960
9158
  * `GraphError` for an undirected graph or cyclic input.
8961
9159
  *
9160
+ * @stability unstable
8962
9161
  * @category algorithms
8963
9162
  * @since 4.0.0
8964
9163
  */
@@ -9050,6 +9249,7 @@ export const transitiveReduction = <N, E>(
9050
9249
  * `costs` contains original edge data, not the numeric output of the cost
9051
9250
  * function unless the edge data is numeric.
9052
9251
  *
9252
+ * @stability unstable
9053
9253
  * @category models
9054
9254
  * @since 3.18.0
9055
9255
  */
@@ -9206,6 +9406,7 @@ const denseMinHeapPop = (heap: DenseMinHeap): boolean => {
9206
9406
  * `dijkstra` throws a `GraphError` when either endpoint does not exist or when
9207
9407
  * the cost function returns a negative weight or `NaN`.
9208
9408
  *
9409
+ * @stability unstable
9209
9410
  * @category configuration
9210
9411
  * @since 3.18.0
9211
9412
  */
@@ -9261,6 +9462,7 @@ export interface DijkstraConfig<E> {
9261
9462
  * @see {@link astar} when a useful heuristic can guide the search
9262
9463
  * @see {@link bellmanFord} when edge costs may be negative
9263
9464
  * @see {@link floydWarshall} when shortest paths are needed for all pairs
9465
+ * @stability unstable
9264
9466
  * @category algorithms
9265
9467
  * @since 3.18.0
9266
9468
  */
@@ -9311,6 +9513,7 @@ export const dijkstra: {
9311
9513
  * @see {@link astar} when a useful heuristic can guide the search
9312
9514
  * @see {@link bellmanFord} when edge costs may be negative
9313
9515
  * @see {@link floydWarshall} when shortest paths are needed for all pairs
9516
+ * @stability unstable
9314
9517
  * @category algorithms
9315
9518
  * @since 3.18.0
9316
9519
  */
@@ -9361,6 +9564,7 @@ export const dijkstra: {
9361
9564
  * @see {@link astar} when a useful heuristic can guide the search
9362
9565
  * @see {@link bellmanFord} when edge costs may be negative
9363
9566
  * @see {@link floydWarshall} when shortest paths are needed for all pairs
9567
+ * @stability unstable
9364
9568
  * @category algorithms
9365
9569
  * @since 3.18.0
9366
9570
  */
@@ -9487,6 +9691,7 @@ export const dijkstra: {
9487
9691
  * source and target node indices. Unreachable pairs have distance `Infinity`,
9488
9692
  * path `null`, and empty edge and cost arrays.
9489
9693
  *
9694
+ * @stability unstable
9490
9695
  * @category models
9491
9696
  * @since 3.18.0
9492
9697
  */
@@ -9503,14 +9708,16 @@ export interface AllPairsResult<E> {
9503
9708
  *
9504
9709
  * **When to use**
9505
9710
  *
9506
- * Use when many or all node pairs will be queried and cubic computation plus
9507
- * quadratic result storage is acceptable.
9711
+ * Use when many or all node pairs will be queried and cubic distance computation
9712
+ * plus storage for reconstructed paths is acceptable.
9508
9713
  *
9509
9714
  * **Details**
9510
9715
  *
9511
9716
  * Computes distances, reconstructed node paths, and edge-data paths for every
9512
- * source and target pair in O(V^3) time. Negative edge weights are allowed, and
9513
- * `Infinity` behaves like an impassable edge.
9717
+ * source and target pair. Distance computation takes O(V^3) time. Negative edge
9718
+ * weights are allowed, and `Infinity` behaves like an impassable edge. Immutable
9719
+ * path witnesses can require O(V^3) working storage; reconstructed paths have
9720
+ * repeated nodes removed.
9514
9721
  *
9515
9722
  * **Gotchas**
9516
9723
  *
@@ -9539,6 +9746,7 @@ export interface AllPairsResult<E> {
9539
9746
  *
9540
9747
  * @see {@link dijkstra} for one query with non-negative edge costs
9541
9748
  * @see {@link bellmanFord} for one query that may include negative edge costs
9749
+ * @stability unstable
9542
9750
  * @category algorithms
9543
9751
  * @since 3.18.0
9544
9752
  */
@@ -9549,14 +9757,16 @@ export const floydWarshall: {
9549
9757
  *
9550
9758
  * **When to use**
9551
9759
  *
9552
- * Use when many or all node pairs will be queried and cubic computation plus
9553
- * quadratic result storage is acceptable.
9760
+ * Use when many or all node pairs will be queried and cubic distance computation
9761
+ * plus storage for reconstructed paths is acceptable.
9554
9762
  *
9555
9763
  * **Details**
9556
9764
  *
9557
9765
  * Computes distances, reconstructed node paths, and edge-data paths for every
9558
- * source and target pair in O(V^3) time. Negative edge weights are allowed, and
9559
- * `Infinity` behaves like an impassable edge.
9766
+ * source and target pair. Distance computation takes O(V^3) time. Negative edge
9767
+ * weights are allowed, and `Infinity` behaves like an impassable edge. Immutable
9768
+ * path witnesses can require O(V^3) working storage; reconstructed paths have
9769
+ * repeated nodes removed.
9560
9770
  *
9561
9771
  * **Gotchas**
9562
9772
  *
@@ -9585,6 +9795,7 @@ export const floydWarshall: {
9585
9795
  *
9586
9796
  * @see {@link dijkstra} for one query with non-negative edge costs
9587
9797
  * @see {@link bellmanFord} for one query that may include negative edge costs
9798
+ * @stability unstable
9588
9799
  * @category algorithms
9589
9800
  * @since 3.18.0
9590
9801
  */
@@ -9595,14 +9806,16 @@ export const floydWarshall: {
9595
9806
  *
9596
9807
  * **When to use**
9597
9808
  *
9598
- * Use when many or all node pairs will be queried and cubic computation plus
9599
- * quadratic result storage is acceptable.
9809
+ * Use when many or all node pairs will be queried and cubic distance computation
9810
+ * plus storage for reconstructed paths is acceptable.
9600
9811
  *
9601
9812
  * **Details**
9602
9813
  *
9603
9814
  * Computes distances, reconstructed node paths, and edge-data paths for every
9604
- * source and target pair in O(V^3) time. Negative edge weights are allowed, and
9605
- * `Infinity` behaves like an impassable edge.
9815
+ * source and target pair. Distance computation takes O(V^3) time. Negative edge
9816
+ * weights are allowed, and `Infinity` behaves like an impassable edge. Immutable
9817
+ * path witnesses can require O(V^3) working storage; reconstructed paths have
9818
+ * repeated nodes removed.
9606
9819
  *
9607
9820
  * **Gotchas**
9608
9821
  *
@@ -9631,6 +9844,7 @@ export const floydWarshall: {
9631
9844
  *
9632
9845
  * @see {@link dijkstra} for one query with non-negative edge costs
9633
9846
  * @see {@link bellmanFord} for one query that may include negative edge costs
9847
+ * @stability unstable
9634
9848
  * @category algorithms
9635
9849
  * @since 3.18.0
9636
9850
  */
@@ -9647,13 +9861,15 @@ export const floydWarshall: {
9647
9861
  const edgeIds = csr.getEdgeIds(cache)
9648
9862
  const edgeCache = csr.getEdgeEndpoints(cache)
9649
9863
  const size = cache.nodeIds.length
9650
- // Flat matrices keep the O(N^2) working set contiguous and avoid nested map lookups in the O(N^3) loop.
9864
+ // Immutable witnesses retain the actual walks used by relaxation. Following
9865
+ // independently updated next-hop rows can create cycles through rounding.
9866
+ type Witness =
9867
+ | { readonly target: number; readonly edge: number }
9868
+ | { readonly target: number; readonly left: Witness; readonly right: Witness }
9869
+ const witnesses: Array<Witness | undefined> = new Array(size * size)
9870
+ // The flat distance matrix avoids nested map lookups in the O(N^3) loop.
9651
9871
  const distancesMatrix = new Float64Array(size * size)
9652
- const nextMatrix = new Int32Array(size * size)
9653
- const edgeMatrix = new Int32Array(size * size)
9654
9872
  distancesMatrix.fill(Infinity)
9655
- nextMatrix.fill(-1)
9656
- edgeMatrix.fill(-1)
9657
9873
  for (let i = 0; i < size; i++) {
9658
9874
  distancesMatrix[i * size + i] = 0
9659
9875
  }
@@ -9669,15 +9885,13 @@ export const floydWarshall: {
9669
9885
  const position = source * size + target
9670
9886
  if (weight < distancesMatrix[position]) {
9671
9887
  distancesMatrix[position] = weight
9672
- nextMatrix[position] = target
9673
- edgeMatrix[position] = edge
9888
+ witnesses[position] = { target, edge }
9674
9889
  }
9675
9890
  if (graph.type === "undirected") {
9676
9891
  const reverse = target * size + source
9677
9892
  if (weight < distancesMatrix[reverse]) {
9678
9893
  distancesMatrix[reverse] = weight
9679
- nextMatrix[reverse] = source
9680
- edgeMatrix[reverse] = edge
9894
+ witnesses[reverse] = { target: source, edge }
9681
9895
  }
9682
9896
  }
9683
9897
  }
@@ -9691,7 +9905,7 @@ export const floydWarshall: {
9691
9905
  if (distanceIK === Infinity) {
9692
9906
  continue
9693
9907
  }
9694
- const nextIK = nextMatrix[iRow + k]
9908
+ const left = witnesses[iRow + k]
9695
9909
  for (let j = 0; j < size; j++) {
9696
9910
  const distanceKJ = distancesMatrix[kRow + j]
9697
9911
  if (distanceKJ === Infinity) {
@@ -9701,9 +9915,14 @@ export const floydWarshall: {
9701
9915
  if (!Number.isFinite(candidate)) {
9702
9916
  throw new GraphError({ message: "Floyd-Warshall distance calculation exceeded the finite number range" })
9703
9917
  }
9704
- if (candidate < distancesMatrix[iRow + j] && nextIK !== -1) {
9918
+ if (candidate < distancesMatrix[iRow + j]) {
9705
9919
  distancesMatrix[iRow + j] = candidate
9706
- nextMatrix[iRow + j] = nextIK
9920
+ const right = witnesses[kRow + j]
9921
+ witnesses[iRow + j] = left === undefined
9922
+ ? right
9923
+ : right === undefined
9924
+ ? left
9925
+ : { target: j, left, right }
9707
9926
  }
9708
9927
  }
9709
9928
  }
@@ -9719,6 +9938,9 @@ export const floydWarshall: {
9719
9938
  const paths = new Map<NodeIndex, Map<NodeIndex, Array<NodeIndex> | null>>()
9720
9939
  const edgePaths = new Map<NodeIndex, Map<NodeIndex, Array<EdgeIndex>>>()
9721
9940
  const costs = new Map<NodeIndex, Map<NodeIndex, Array<E>>>()
9941
+ // Reuse scratch storage; erased suffixes and completed paths clear only touched entries.
9942
+ const positions = new Int32Array(size)
9943
+ positions.fill(-1)
9722
9944
  for (let i = 0; i < size; i++) {
9723
9945
  const source = cache.nodeIds[i]
9724
9946
  const distanceRow = new Map<NodeIndex, number>()
@@ -9746,19 +9968,35 @@ export const floydWarshall: {
9746
9968
  const path = [source]
9747
9969
  const pathEdges: Array<EdgeIndex> = []
9748
9970
  const pathCosts: Array<E> = []
9749
- let current = i
9750
- while (current !== j) {
9751
- const next = nextMatrix[current * size + j]
9752
- if (next === -1) {
9753
- break
9754
- }
9755
- const edge = edgeMatrix[current * size + next]
9756
- if (edge !== -1) {
9757
- pathEdges.push(edgeIds[edge])
9758
- pathCosts.push(edges[edge].data)
9971
+ positions[i] = 0
9972
+ const nodes = [i]
9973
+ const stack = [witnesses[i * size + j]!]
9974
+ // Witnesses only reference older witnesses, so this traversal cannot
9975
+ // follow a cyclic pointer chain. Erase closed walks rather than return
9976
+ // a truncated route or reject a valid zero-cost cycle.
9977
+ while (stack.length > 0) {
9978
+ const witness = stack.pop()!
9979
+ const position = positions[witness.target]
9980
+ if (position !== -1) {
9981
+ for (let p = position + 1; p < nodes.length; p++) {
9982
+ positions[nodes[p]] = -1
9983
+ }
9984
+ nodes.length = position + 1
9985
+ path.length = position + 1
9986
+ pathEdges.length = position
9987
+ pathCosts.length = position
9988
+ } else if ("edge" in witness) {
9989
+ positions[witness.target] = nodes.length
9990
+ nodes.push(witness.target)
9991
+ path.push(cache.nodeIds[witness.target])
9992
+ pathEdges.push(edgeIds[witness.edge])
9993
+ pathCosts.push(edges[witness.edge].data)
9994
+ } else {
9995
+ stack.push(witness.right, witness.left)
9759
9996
  }
9760
- current = next
9761
- path.push(cache.nodeIds[current])
9997
+ }
9998
+ for (const node of nodes) {
9999
+ positions[node] = -1
9762
10000
  }
9763
10001
  pathRow.set(target, path)
9764
10002
  edgePathRow.set(target, pathEdges)
@@ -9789,6 +10027,7 @@ export const floydWarshall: {
9789
10027
  * Heuristic values must be finite and the heuristic must be consistent for A*
9790
10028
  * to guarantee a shortest path.
9791
10029
  *
10030
+ * @stability unstable
9792
10031
  * @category configuration
9793
10032
  * @since 3.18.0
9794
10033
  */
@@ -9851,6 +10090,7 @@ export interface AstarConfig<E, N> {
9851
10090
  *
9852
10091
  * @see {@link dijkstra} when no useful heuristic is available
9853
10092
  * @see {@link bellmanFord} when edge costs may be negative
10093
+ * @stability unstable
9854
10094
  * @category algorithms
9855
10095
  * @since 3.18.0
9856
10096
  */
@@ -9907,6 +10147,7 @@ export const astar: {
9907
10147
  *
9908
10148
  * @see {@link dijkstra} when no useful heuristic is available
9909
10149
  * @see {@link bellmanFord} when edge costs may be negative
10150
+ * @stability unstable
9910
10151
  * @category algorithms
9911
10152
  * @since 3.18.0
9912
10153
  */
@@ -9963,6 +10204,7 @@ export const astar: {
9963
10204
  *
9964
10205
  * @see {@link dijkstra} when no useful heuristic is available
9965
10206
  * @see {@link bellmanFord} when edge costs may be negative
10207
+ * @stability unstable
9966
10208
  * @category algorithms
9967
10209
  * @since 3.18.0
9968
10210
  */
@@ -10106,6 +10348,7 @@ export const astar: {
10106
10348
  * Specifies the source and target node indices, plus a cost function that maps
10107
10349
  * each edge's data to a numeric weight.
10108
10350
  *
10351
+ * @stability unstable
10109
10352
  * @category configuration
10110
10353
  * @since 3.18.0
10111
10354
  */
@@ -10160,6 +10403,7 @@ export interface BellmanFordConfig<E> {
10160
10403
  * ```
10161
10404
  *
10162
10405
  * @see {@link dijkstra} for non-negative edge costs
10406
+ * @stability unstable
10163
10407
  * @category algorithms
10164
10408
  * @since 3.18.0
10165
10409
  */
@@ -10209,6 +10453,7 @@ export const bellmanFord: {
10209
10453
  * ```
10210
10454
  *
10211
10455
  * @see {@link dijkstra} for non-negative edge costs
10456
+ * @stability unstable
10212
10457
  * @category algorithms
10213
10458
  * @since 3.18.0
10214
10459
  */
@@ -10258,6 +10503,7 @@ export const bellmanFord: {
10258
10503
  * ```
10259
10504
  *
10260
10505
  * @see {@link dijkstra} for non-negative edge costs
10506
+ * @stability unstable
10261
10507
  * @category algorithms
10262
10508
  * @since 3.18.0
10263
10509
  */
@@ -10422,6 +10668,7 @@ export const bellmanFord: {
10422
10668
  *
10423
10669
  * Each fresh iterator repeats the path enumeration.
10424
10670
  *
10671
+ * @stability unstable
10425
10672
  * @category models
10426
10673
  * @since 4.0.0
10427
10674
  */
@@ -10442,6 +10689,7 @@ export interface PathWalker<E> extends Iterable<PathResult<E>> {}
10442
10689
  *
10443
10690
  * `limit` must be a non-negative integer or `Infinity`.
10444
10691
  *
10692
+ * @stability unstable
10445
10693
  * @category configuration
10446
10694
  * @since 4.0.0
10447
10695
  */
@@ -10467,6 +10715,7 @@ export interface SimplePathsConfig {
10467
10715
  *
10468
10716
  * Invalid costs and limits throw a `GraphError` when evaluated.
10469
10717
  *
10718
+ * @stability unstable
10470
10719
  * @category configuration
10471
10720
  * @since 4.0.0
10472
10721
  */
@@ -10507,6 +10756,7 @@ const pathWalker = <E>(iterator: () => Iterator<PathResult<E>>): PathWalker<E> =
10507
10756
  *
10508
10757
  * @see {@link allShortestPaths} for enumerating only minimum-cost routes
10509
10758
  *
10759
+ * @stability unstable
10510
10760
  * @category algorithms
10511
10761
  * @since 4.0.0
10512
10762
  */
@@ -10532,6 +10782,7 @@ export const simplePaths: {
10532
10782
  *
10533
10783
  * @see {@link allShortestPaths} for enumerating only minimum-cost routes
10534
10784
  *
10785
+ * @stability unstable
10535
10786
  * @category algorithms
10536
10787
  * @since 4.0.0
10537
10788
  */
@@ -10559,6 +10810,7 @@ export const simplePaths: {
10559
10810
  *
10560
10811
  * @see {@link allShortestPaths} for enumerating only minimum-cost routes
10561
10812
  *
10813
+ * @stability unstable
10562
10814
  * @category algorithms
10563
10815
  * @since 4.0.0
10564
10816
  */
@@ -10666,6 +10918,7 @@ export const simplePaths: {
10666
10918
  * @see {@link dijkstra} when one shortest path is sufficient
10667
10919
  * @see {@link simplePaths} for routes regardless of cost
10668
10920
  *
10921
+ * @stability unstable
10669
10922
  * @category algorithms
10670
10923
  * @since 4.0.0
10671
10924
  */
@@ -10691,6 +10944,7 @@ export const allShortestPaths: {
10691
10944
  * @see {@link dijkstra} when one shortest path is sufficient
10692
10945
  * @see {@link simplePaths} for routes regardless of cost
10693
10946
  *
10947
+ * @stability unstable
10694
10948
  * @category algorithms
10695
10949
  * @since 4.0.0
10696
10950
  */
@@ -10718,6 +10972,7 @@ export const allShortestPaths: {
10718
10972
  * @see {@link dijkstra} when one shortest path is sufficient
10719
10973
  * @see {@link simplePaths} for routes regardless of cost
10720
10974
  *
10975
+ * @stability unstable
10721
10976
  * @category algorithms
10722
10977
  * @since 4.0.0
10723
10978
  */
@@ -10887,6 +11142,7 @@ export const allShortestPaths: {
10887
11142
  * Array.from(Graph.entries(allNodes)) // => [[0, "A"], [1, "B"]]
10888
11143
  * ```
10889
11144
  *
11145
+ * @stability unstable
10890
11146
  * @category models
10891
11147
  * @since 3.18.0
10892
11148
  */
@@ -10984,6 +11240,7 @@ const traversalStartPositions = (cache: csr.Csr, start: ReadonlyArray<NodeIndex>
10984
11240
  * @see {@link Walker} for the generic lazy iterator wrapper
10985
11241
  * @see {@link EdgeWalker} for edge iterators
10986
11242
  *
11243
+ * @stability unstable
10987
11244
  * @category models
10988
11245
  * @since 3.18.0
10989
11246
  */
@@ -11003,6 +11260,7 @@ export type NodeWalker<N> = Walker<NodeIndex, N>
11003
11260
  * @see {@link NodeWalker} for node iterators
11004
11261
  * @see {@link edges} for creating edge walkers
11005
11262
  *
11263
+ * @stability unstable
11006
11264
  * @category models
11007
11265
  * @since 3.18.0
11008
11266
  */
@@ -11026,6 +11284,7 @@ export type EdgeWalker<E> = Walker<EdgeIndex, Edge<E>>
11026
11284
  * Array.from(Graph.indices(dfs)) // => [0, 1]
11027
11285
  * ```
11028
11286
  *
11287
+ * @stability unstable
11029
11288
  * @category iterators
11030
11289
  * @since 3.18.0
11031
11290
  */
@@ -11049,6 +11308,7 @@ export const indices = <T, N>(walker: Walker<T, N>): Iterable<T> => walker.visit
11049
11308
  * Array.from(Graph.values(dfs)) // => ["A", "B"]
11050
11309
  * ```
11051
11310
  *
11311
+ * @stability unstable
11052
11312
  * @category iterators
11053
11313
  * @since 3.18.0
11054
11314
  */
@@ -11072,6 +11332,7 @@ export const values = <T, N>(walker: Walker<T, N>): Iterable<N> => walker.visit(
11072
11332
  * Array.from(Graph.entries(dfs)) // => [[0, "A"], [1, "B"]]
11073
11333
  * ```
11074
11334
  *
11335
+ * @stability unstable
11075
11336
  * @category iterators
11076
11337
  * @since 3.18.0
11077
11338
  */
@@ -11102,6 +11363,7 @@ export const entries = <T, N>(walker: Walker<T, N>): Iterable<[T, N]> =>
11102
11363
  * revalidates those starts against the graph snapshot it captures. Later
11103
11364
  * mutations are not observed by an active iterator.
11104
11365
  *
11366
+ * @stability unstable
11105
11367
  * @category configuration
11106
11368
  * @since 3.18.0
11107
11369
  */
@@ -11153,6 +11415,7 @@ export interface SearchConfig {
11153
11415
  *
11154
11416
  * @see {@link bfs} for traversal in increasing hop distance
11155
11417
  * @see {@link dfsPostOrder} for emitting descendants before ancestors
11418
+ * @stability unstable
11156
11419
  * @category iterators
11157
11420
  * @since 3.18.0
11158
11421
  */
@@ -11199,6 +11462,7 @@ export const dfs: {
11199
11462
  *
11200
11463
  * @see {@link bfs} for traversal in increasing hop distance
11201
11464
  * @see {@link dfsPostOrder} for emitting descendants before ancestors
11465
+ * @stability unstable
11202
11466
  * @category iterators
11203
11467
  * @since 3.18.0
11204
11468
  */
@@ -11245,6 +11509,7 @@ export const dfs: {
11245
11509
  *
11246
11510
  * @see {@link bfs} for traversal in increasing hop distance
11247
11511
  * @see {@link dfsPostOrder} for emitting descendants before ancestors
11512
+ * @stability unstable
11248
11513
  * @category iterators
11249
11514
  * @since 3.18.0
11250
11515
  */
@@ -11415,6 +11680,7 @@ export const dfs: {
11415
11680
  *
11416
11681
  * @see {@link dfs} for branch-first traversal
11417
11682
  * @see {@link unweightedDistances} for collecting hop counts
11683
+ * @stability unstable
11418
11684
  * @category iterators
11419
11685
  * @since 3.18.0
11420
11686
  */
@@ -11462,6 +11728,7 @@ export const bfs: {
11462
11728
  *
11463
11729
  * @see {@link dfs} for branch-first traversal
11464
11730
  * @see {@link unweightedDistances} for collecting hop counts
11731
+ * @stability unstable
11465
11732
  * @category iterators
11466
11733
  * @since 3.18.0
11467
11734
  */
@@ -11509,6 +11776,7 @@ export const bfs: {
11509
11776
  *
11510
11777
  * @see {@link dfs} for branch-first traversal
11511
11778
  * @see {@link unweightedDistances} for collecting hop counts
11779
+ * @stability unstable
11512
11780
  * @category iterators
11513
11781
  * @since 3.18.0
11514
11782
  */
@@ -11630,6 +11898,7 @@ export const bfs: {
11630
11898
  *
11631
11899
  * Throws a `GraphError` when any initial node has incoming edges.
11632
11900
  *
11901
+ * @stability unstable
11633
11902
  * @category configuration
11634
11903
  * @since 3.18.0
11635
11904
  */
@@ -11674,6 +11943,7 @@ export interface TopoConfig {
11674
11943
  * ```
11675
11944
  *
11676
11945
  * @see {@link isAcyclic} for checking the required graph property
11946
+ * @stability unstable
11677
11947
  * @category iterators
11678
11948
  * @since 3.18.0
11679
11949
  */
@@ -11715,6 +11985,7 @@ export const topo: {
11715
11985
  * ```
11716
11986
  *
11717
11987
  * @see {@link isAcyclic} for checking the required graph property
11988
+ * @stability unstable
11718
11989
  * @category iterators
11719
11990
  * @since 3.18.0
11720
11991
  */
@@ -11756,6 +12027,7 @@ export const topo: {
11756
12027
  * ```
11757
12028
  *
11758
12029
  * @see {@link isAcyclic} for checking the required graph property
12030
+ * @stability unstable
11759
12031
  * @category iterators
11760
12032
  * @since 3.18.0
11761
12033
  */
@@ -11892,6 +12164,7 @@ export const topo: {
11892
12164
  * ```
11893
12165
  *
11894
12166
  * @see {@link dfs} for emitting nodes when first visited
12167
+ * @stability unstable
11895
12168
  * @category iterators
11896
12169
  * @since 3.18.0
11897
12170
  */
@@ -11939,6 +12212,7 @@ export const dfsPostOrder: {
11939
12212
  * ```
11940
12213
  *
11941
12214
  * @see {@link dfs} for emitting nodes when first visited
12215
+ * @stability unstable
11942
12216
  * @category iterators
11943
12217
  * @since 3.18.0
11944
12218
  */
@@ -11986,6 +12260,7 @@ export const dfsPostOrder: {
11986
12260
  * ```
11987
12261
  *
11988
12262
  * @see {@link dfs} for emitting nodes when first visited
12263
+ * @stability unstable
11989
12264
  * @category iterators
11990
12265
  * @since 3.18.0
11991
12266
  */
@@ -12121,6 +12396,7 @@ export const dfsPostOrder: {
12121
12396
  * Array.from(Graph.indices(Graph.nodes(graph))) // => [0, 1, 2]
12122
12397
  * ```
12123
12398
  *
12399
+ * @stability unstable
12124
12400
  * @category iterators
12125
12401
  * @since 3.18.0
12126
12402
  */
@@ -12174,6 +12450,7 @@ export const nodes = <N, E, T extends Kind = "directed">(
12174
12450
  * Array.from(Graph.indices(Graph.edges(graph))) // => [0, 1]
12175
12451
  * ```
12176
12452
  *
12453
+ * @stability unstable
12177
12454
  * @category iterators
12178
12455
  * @since 3.18.0
12179
12456
  */
@@ -12213,6 +12490,7 @@ export const edges = <N, E, T extends Kind = "directed">(
12213
12490
  * nodes with no incoming edges. If omitted, `direction` defaults to
12214
12491
  * `"outgoing"`.
12215
12492
  *
12493
+ * @stability unstable
12216
12494
  * @category configuration
12217
12495
  * @since 3.18.0
12218
12496
  */
@@ -12260,6 +12538,7 @@ export interface ExternalsConfig {
12260
12538
  * Array.from(Graph.indices(Graph.externals(graph, { direction: "incoming" }))) // => [0, 3]
12261
12539
  * ```
12262
12540
  *
12541
+ * @stability unstable
12263
12542
  * @category iterators
12264
12543
  * @since 3.18.0
12265
12544
  */
@@ -12304,6 +12583,7 @@ export const externals: {
12304
12583
  * Array.from(Graph.indices(Graph.externals(graph, { direction: "incoming" }))) // => [0, 3]
12305
12584
  * ```
12306
12585
  *
12586
+ * @stability unstable
12307
12587
  * @category iterators
12308
12588
  * @since 3.18.0
12309
12589
  */
@@ -12348,6 +12628,7 @@ export const externals: {
12348
12628
  * Array.from(Graph.indices(Graph.externals(graph, { direction: "incoming" }))) // => [0, 3]
12349
12629
  * ```
12350
12630
  *
12631
+ * @stability unstable
12351
12632
  * @category iterators
12352
12633
  * @since 3.18.0
12353
12634
  */