graphwise 1.11.0 → 1.12.1
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.
- package/README.md +17 -17
- package/dist/__test__/fixtures/graphs/linear-chain.d.ts +3 -3
- package/dist/__test__/fixtures/helpers.d.ts +12 -12
- package/dist/__test__/fixtures/helpers.d.ts.map +1 -1
- package/dist/__test__/fixtures/index.d.ts +1 -1
- package/dist/__test__/fixtures/metrics.d.ts +10 -10
- package/dist/__test__/fixtures/metrics.d.ts.map +1 -1
- package/dist/__test__/fixtures/types.d.ts +2 -2
- package/dist/__test__/fixtures/types.d.ts.map +1 -1
- package/dist/async/protocol.d.ts +1 -1
- package/dist/async/protocol.d.ts.map +1 -1
- package/dist/{expansion → exploration}/base-core.d.ts +5 -5
- package/dist/exploration/base-core.d.ts.map +1 -0
- package/dist/exploration/base-core.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/base-helpers.d.ts +11 -11
- package/dist/exploration/base-helpers.d.ts.map +1 -0
- package/dist/{expansion → exploration}/base.d.ts +11 -11
- package/dist/exploration/base.d.ts.map +1 -0
- package/dist/exploration/base.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/comparison.integration.test.d.ts +2 -2
- package/dist/exploration/comparison.integration.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/dfs-priority.d.ts +8 -8
- package/dist/exploration/dfs-priority.d.ts.map +1 -0
- package/dist/exploration/dfs-priority.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/dome.d.ts +13 -13
- package/dist/exploration/dome.d.ts.map +1 -0
- package/dist/{expansion → exploration}/dome.integration.test.d.ts +2 -2
- package/dist/exploration/dome.integration.test.d.ts.map +1 -0
- package/dist/exploration/dome.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/edge.d.ts +8 -8
- package/dist/exploration/edge.d.ts.map +1 -0
- package/dist/{expansion → exploration}/edge.integration.test.d.ts +1 -1
- package/dist/exploration/edge.integration.test.d.ts.map +1 -0
- package/dist/exploration/edge.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/flux.d.ts +11 -11
- package/dist/exploration/flux.d.ts.map +1 -0
- package/dist/{expansion → exploration}/flux.integration.test.d.ts +1 -1
- package/dist/exploration/flux.integration.test.d.ts.map +1 -0
- package/dist/exploration/flux.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/frontier-balanced.d.ts +8 -8
- package/dist/exploration/frontier-balanced.d.ts.map +1 -0
- package/dist/exploration/frontier-balanced.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/fuse.d.ts +10 -10
- package/dist/exploration/fuse.d.ts.map +1 -0
- package/dist/{expansion → exploration}/fuse.integration.test.d.ts +1 -1
- package/dist/exploration/fuse.integration.test.d.ts.map +1 -0
- package/dist/exploration/fuse.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/hae.d.ts +10 -10
- package/dist/exploration/hae.d.ts.map +1 -0
- package/dist/{expansion → exploration}/hae.integration.test.d.ts +2 -2
- package/dist/exploration/hae.integration.test.d.ts.map +1 -0
- package/dist/exploration/hae.unit.test.d.ts.map +1 -0
- package/dist/exploration/index.cjs +51 -0
- package/dist/{expansion → exploration}/index.d.ts +3 -3
- package/dist/exploration/index.d.ts.map +1 -0
- package/dist/{expansion → exploration}/index.js +1 -1
- package/dist/{expansion → exploration}/k-hop.d.ts +6 -6
- package/dist/exploration/k-hop.d.ts.map +1 -0
- package/dist/exploration/k-hop.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/lace.d.ts +11 -11
- package/dist/exploration/lace.d.ts.map +1 -0
- package/dist/{expansion → exploration}/lace.integration.test.d.ts +1 -1
- package/dist/exploration/lace.integration.test.d.ts.map +1 -0
- package/dist/exploration/lace.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/maze.d.ts +9 -9
- package/dist/exploration/maze.d.ts.map +1 -0
- package/dist/{expansion → exploration}/maze.integration.test.d.ts +1 -1
- package/dist/exploration/maze.integration.test.d.ts.map +1 -0
- package/dist/exploration/maze.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/pipe.d.ts +8 -8
- package/dist/exploration/pipe.d.ts.map +1 -0
- package/dist/{expansion → exploration}/pipe.integration.test.d.ts +2 -2
- package/dist/exploration/pipe.integration.test.d.ts.map +1 -0
- package/dist/exploration/pipe.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/priority-helpers.d.ts +2 -2
- package/dist/exploration/priority-helpers.d.ts.map +1 -0
- package/dist/{expansion → exploration}/random-priority.d.ts +11 -11
- package/dist/exploration/random-priority.d.ts.map +1 -0
- package/dist/exploration/random-priority.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/random-walk.d.ts +6 -6
- package/dist/exploration/random-walk.d.ts.map +1 -0
- package/dist/exploration/random-walk.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/reach.d.ts +9 -9
- package/dist/exploration/reach.d.ts.map +1 -0
- package/dist/{expansion → exploration}/reach.integration.test.d.ts +1 -1
- package/dist/exploration/reach.integration.test.d.ts.map +1 -0
- package/dist/exploration/reach.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/sage.d.ts +9 -9
- package/dist/exploration/sage.d.ts.map +1 -0
- package/dist/{expansion → exploration}/sage.integration.test.d.ts +1 -1
- package/dist/exploration/sage.integration.test.d.ts.map +1 -0
- package/dist/exploration/sage.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/sift.d.ts +12 -12
- package/dist/exploration/sift.d.ts.map +1 -0
- package/dist/{expansion → exploration}/sift.integration.test.d.ts +1 -1
- package/dist/exploration/sift.integration.test.d.ts.map +1 -0
- package/dist/exploration/sift.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/standard-bfs.d.ts +8 -8
- package/dist/exploration/standard-bfs.d.ts.map +1 -0
- package/dist/exploration/standard-bfs.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/tide.d.ts +8 -8
- package/dist/exploration/tide.d.ts.map +1 -0
- package/dist/{expansion → exploration}/tide.integration.test.d.ts +1 -1
- package/dist/exploration/tide.integration.test.d.ts.map +1 -0
- package/dist/exploration/tide.unit.test.d.ts.map +1 -0
- package/dist/{expansion → exploration}/types.d.ts +17 -17
- package/dist/exploration/types.d.ts.map +1 -0
- package/dist/{expansion → exploration}/warp.d.ts +8 -8
- package/dist/exploration/warp.d.ts.map +1 -0
- package/dist/{expansion → exploration}/warp.integration.test.d.ts +1 -1
- package/dist/exploration/warp.integration.test.d.ts.map +1 -0
- package/dist/exploration/warp.unit.test.d.ts.map +1 -0
- package/dist/{expansion--UuRowv-.cjs → exploration-BfDi17av.cjs} +136 -136
- package/dist/exploration-BfDi17av.cjs.map +1 -0
- package/dist/{expansion-CZLNK6Pr.js → exploration-DKjRNxS5.js} +136 -136
- package/dist/exploration-DKjRNxS5.js.map +1 -0
- package/dist/gpu/index.cjs +1 -1
- package/dist/gpu/index.js +1 -1
- package/dist/index/index.cjs +57 -53
- package/dist/index/index.js +5 -5
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/{kernel-CigCjrts.js → kernel-BLwhyVSV.js} +1 -1
- package/dist/{kernel-CigCjrts.js.map → kernel-BLwhyVSV.js.map} +1 -1
- package/dist/{kernel-2oH4Cn32.cjs → kernel-BffKjhZS.cjs} +1 -1
- package/dist/{kernel-2oH4Cn32.cjs.map → kernel-BffKjhZS.cjs.map} +1 -1
- package/dist/{kernel-CXeGBH3s.cjs → kernel-CbP715Sq.cjs} +1 -1
- package/dist/{kernel-CXeGBH3s.cjs.map → kernel-CbP715Sq.cjs.map} +1 -1
- package/dist/{kernel-CvnRsF7E.js → kernel-DolEKSSx.js} +1 -1
- package/dist/{kernel-CvnRsF7E.js.map → kernel-DolEKSSx.js.map} +1 -1
- package/dist/{kernel-DukrXtVb.cjs → kernel-E_h47HjZ.cjs} +1 -1
- package/dist/{kernel-DukrXtVb.cjs.map → kernel-E_h47HjZ.cjs.map} +1 -1
- package/dist/{kernel-6deK9fh1.js → kernel-lYa4TYth.js} +1 -1
- package/dist/{kernel-6deK9fh1.js.map → kernel-lYa4TYth.js.map} +1 -1
- package/dist/{operations-D-RB67WP.cjs → operations-CSU0yFPr.cjs} +4 -4
- package/dist/{operations-D-RB67WP.cjs.map → operations-CSU0yFPr.cjs.map} +1 -1
- package/dist/{operations-D9otVlIH.js → operations-CdrA87Au.js} +4 -4
- package/dist/{operations-D9otVlIH.js.map → operations-CdrA87Au.js.map} +1 -1
- package/dist/ranking/baselines/betweenness.d.ts +2 -2
- package/dist/ranking/baselines/betweenness.d.ts.map +1 -1
- package/dist/ranking/baselines/communicability.d.ts +3 -3
- package/dist/ranking/baselines/communicability.d.ts.map +1 -1
- package/dist/ranking/baselines/degree-sum.d.ts +2 -2
- package/dist/ranking/baselines/degree-sum.d.ts.map +1 -1
- package/dist/ranking/baselines/hitting-time.d.ts +2 -2
- package/dist/ranking/baselines/hitting-time.d.ts.map +1 -1
- package/dist/ranking/baselines/jaccard-arithmetic.d.ts +2 -2
- package/dist/ranking/baselines/jaccard-arithmetic.d.ts.map +1 -1
- package/dist/ranking/baselines/katz.d.ts +3 -3
- package/dist/ranking/baselines/katz.d.ts.map +1 -1
- package/dist/ranking/baselines/pagerank.d.ts +3 -3
- package/dist/ranking/baselines/pagerank.d.ts.map +1 -1
- package/dist/ranking/baselines/random-ranking.d.ts +2 -2
- package/dist/ranking/baselines/random-ranking.d.ts.map +1 -1
- package/dist/ranking/baselines/resistance-distance.d.ts +2 -2
- package/dist/ranking/baselines/resistance-distance.d.ts.map +1 -1
- package/dist/ranking/baselines/shortest.d.ts +2 -2
- package/dist/ranking/baselines/shortest.d.ts.map +1 -1
- package/dist/ranking/baselines/types.d.ts +3 -3
- package/dist/ranking/baselines/types.d.ts.map +1 -1
- package/dist/ranking/baselines/utils.d.ts +3 -3
- package/dist/ranking/baselines/utils.d.ts.map +1 -1
- package/dist/ranking/baselines/widest-path.d.ts +2 -2
- package/dist/ranking/baselines/widest-path.d.ts.map +1 -1
- package/dist/ranking/index.cjs +1 -1
- package/dist/ranking/index.js +1 -1
- package/dist/ranking/parse-gpu.d.ts +2 -2
- package/dist/ranking/parse-gpu.d.ts.map +1 -1
- package/dist/ranking/parse.d.ts +4 -4
- package/dist/ranking/parse.d.ts.map +1 -1
- package/dist/{ranking-pe5UaxKg.cjs → ranking-BQqrH26-.cjs} +2 -2
- package/dist/ranking-BQqrH26-.cjs.map +1 -0
- package/dist/{ranking-DOKDBcIR.js → ranking-B_KdM8Wq.js} +2 -2
- package/dist/ranking-B_KdM8Wq.js.map +1 -0
- package/dist/schemas/graph.d.ts +1 -1
- package/dist/schemas/index.cjs +1 -1
- package/dist/schemas/index.cjs.map +1 -1
- package/dist/schemas/index.js +1 -1
- package/dist/schemas/index.js.map +1 -1
- package/dist/seeds/basil.d.ts +12 -0
- package/dist/seeds/basil.d.ts.map +1 -0
- package/dist/seeds/brisk.d.ts +18 -0
- package/dist/seeds/brisk.d.ts.map +1 -0
- package/dist/seeds/hybrid-core.d.ts +32 -0
- package/dist/seeds/hybrid-core.d.ts.map +1 -0
- package/dist/seeds/hybrid-ensembles.unit.test.d.ts +2 -0
- package/dist/seeds/hybrid-ensembles.unit.test.d.ts.map +1 -0
- package/dist/seeds/index.cjs +11 -1108
- package/dist/seeds/index.d.ts +4 -0
- package/dist/seeds/index.d.ts.map +1 -1
- package/dist/seeds/index.js +2 -1103
- package/dist/seeds/omnia.d.ts +12 -0
- package/dist/seeds/omnia.d.ts.map +1 -0
- package/dist/seeds/prism.d.ts +12 -0
- package/dist/seeds/prism.d.ts.map +1 -0
- package/dist/seeds--fLhoBaG.cjs +1762 -0
- package/dist/seeds--fLhoBaG.cjs.map +1 -0
- package/dist/seeds-ihozTw4J.js +1703 -0
- package/dist/seeds-ihozTw4J.js.map +1 -0
- package/dist/utils/entropy.d.ts +1 -1
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +7 -7
- package/dist/expansion/base-core.d.ts.map +0 -1
- package/dist/expansion/base-core.unit.test.d.ts.map +0 -1
- package/dist/expansion/base-helpers.d.ts.map +0 -1
- package/dist/expansion/base.d.ts.map +0 -1
- package/dist/expansion/base.unit.test.d.ts.map +0 -1
- package/dist/expansion/comparison.integration.test.d.ts.map +0 -1
- package/dist/expansion/dfs-priority.d.ts.map +0 -1
- package/dist/expansion/dfs-priority.unit.test.d.ts.map +0 -1
- package/dist/expansion/dome.d.ts.map +0 -1
- package/dist/expansion/dome.integration.test.d.ts.map +0 -1
- package/dist/expansion/dome.unit.test.d.ts.map +0 -1
- package/dist/expansion/edge.d.ts.map +0 -1
- package/dist/expansion/edge.integration.test.d.ts.map +0 -1
- package/dist/expansion/edge.unit.test.d.ts.map +0 -1
- package/dist/expansion/flux.d.ts.map +0 -1
- package/dist/expansion/flux.integration.test.d.ts.map +0 -1
- package/dist/expansion/flux.unit.test.d.ts.map +0 -1
- package/dist/expansion/frontier-balanced.d.ts.map +0 -1
- package/dist/expansion/frontier-balanced.unit.test.d.ts.map +0 -1
- package/dist/expansion/fuse.d.ts.map +0 -1
- package/dist/expansion/fuse.integration.test.d.ts.map +0 -1
- package/dist/expansion/fuse.unit.test.d.ts.map +0 -1
- package/dist/expansion/hae.d.ts.map +0 -1
- package/dist/expansion/hae.integration.test.d.ts.map +0 -1
- package/dist/expansion/hae.unit.test.d.ts.map +0 -1
- package/dist/expansion/index.cjs +0 -51
- package/dist/expansion/index.d.ts.map +0 -1
- package/dist/expansion/k-hop.d.ts.map +0 -1
- package/dist/expansion/k-hop.unit.test.d.ts.map +0 -1
- package/dist/expansion/lace.d.ts.map +0 -1
- package/dist/expansion/lace.integration.test.d.ts.map +0 -1
- package/dist/expansion/lace.unit.test.d.ts.map +0 -1
- package/dist/expansion/maze.d.ts.map +0 -1
- package/dist/expansion/maze.integration.test.d.ts.map +0 -1
- package/dist/expansion/maze.unit.test.d.ts.map +0 -1
- package/dist/expansion/pipe.d.ts.map +0 -1
- package/dist/expansion/pipe.integration.test.d.ts.map +0 -1
- package/dist/expansion/pipe.unit.test.d.ts.map +0 -1
- package/dist/expansion/priority-helpers.d.ts.map +0 -1
- package/dist/expansion/random-priority.d.ts.map +0 -1
- package/dist/expansion/random-priority.unit.test.d.ts.map +0 -1
- package/dist/expansion/random-walk.d.ts.map +0 -1
- package/dist/expansion/random-walk.unit.test.d.ts.map +0 -1
- package/dist/expansion/reach.d.ts.map +0 -1
- package/dist/expansion/reach.integration.test.d.ts.map +0 -1
- package/dist/expansion/reach.unit.test.d.ts.map +0 -1
- package/dist/expansion/sage.d.ts.map +0 -1
- package/dist/expansion/sage.integration.test.d.ts.map +0 -1
- package/dist/expansion/sage.unit.test.d.ts.map +0 -1
- package/dist/expansion/sift.d.ts.map +0 -1
- package/dist/expansion/sift.integration.test.d.ts.map +0 -1
- package/dist/expansion/sift.unit.test.d.ts.map +0 -1
- package/dist/expansion/standard-bfs.d.ts.map +0 -1
- package/dist/expansion/standard-bfs.unit.test.d.ts.map +0 -1
- package/dist/expansion/tide.d.ts.map +0 -1
- package/dist/expansion/tide.integration.test.d.ts.map +0 -1
- package/dist/expansion/tide.unit.test.d.ts.map +0 -1
- package/dist/expansion/types.d.ts.map +0 -1
- package/dist/expansion/warp.d.ts.map +0 -1
- package/dist/expansion/warp.integration.test.d.ts.map +0 -1
- package/dist/expansion/warp.unit.test.d.ts.map +0 -1
- package/dist/expansion--UuRowv-.cjs.map +0 -1
- package/dist/expansion-CZLNK6Pr.js.map +0 -1
- package/dist/ranking-DOKDBcIR.js.map +0 -1
- package/dist/ranking-pe5UaxKg.cjs.map +0 -1
- package/dist/seeds/index.cjs.map +0 -1
- package/dist/seeds/index.js.map +0 -1
- /package/dist/{expansion → exploration}/base-core.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/base.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/dfs-priority.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/dome.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/edge.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/flux.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/frontier-balanced.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/fuse.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/hae.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/k-hop.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/lace.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/maze.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/pipe.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/random-priority.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/random-walk.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/reach.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/sage.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/sift.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/standard-bfs.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/tide.unit.test.d.ts +0 -0
- /package/dist/{expansion → exploration}/warp.unit.test.d.ts +0 -0
|
@@ -2,11 +2,11 @@ import { ComputeBackend } from '../gpu/types';
|
|
|
2
2
|
import { GraphwiseGPURoot } from '../gpu/root';
|
|
3
3
|
import { NodeId, NodeData, EdgeData, ReadableGraph } from '../graph';
|
|
4
4
|
/**
|
|
5
|
-
* Role of a seed node in
|
|
5
|
+
* Role of a seed node in exploration.
|
|
6
6
|
*/
|
|
7
7
|
export type SeedRole = "source" | "target" | "bidirectional";
|
|
8
8
|
/**
|
|
9
|
-
* A seed node for
|
|
9
|
+
* A seed node for exploration.
|
|
10
10
|
*/
|
|
11
11
|
export interface Seed {
|
|
12
12
|
/** Node identifier */
|
|
@@ -29,14 +29,14 @@ export interface PriorityContext<N extends NodeData = NodeData, E extends EdgeDa
|
|
|
29
29
|
/** Set of all visited nodes */
|
|
30
30
|
readonly allVisited: ReadonlySet<NodeId>;
|
|
31
31
|
/** Paths discovered so far */
|
|
32
|
-
readonly discoveredPaths: readonly
|
|
32
|
+
readonly discoveredPaths: readonly ExplorationPath[];
|
|
33
33
|
/** Current iteration number */
|
|
34
34
|
readonly iteration: number;
|
|
35
35
|
/** Optional MI score (for REACH phase 2) */
|
|
36
36
|
readonly mi?: number;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
* Function that computes
|
|
39
|
+
* Function that computes exploration priority for a node.
|
|
40
40
|
* Lower values = higher priority (expanded first).
|
|
41
41
|
*/
|
|
42
42
|
export type PriorityFunction<N extends NodeData = NodeData, E extends EdgeData = EdgeData> = (nodeId: NodeId, context: PriorityContext<N, E>) => number;
|
|
@@ -53,7 +53,7 @@ export interface BatchPriorityContext<N extends NodeData = NodeData, E extends E
|
|
|
53
53
|
/** Frontier ID for the current batch */
|
|
54
54
|
readonly frontierId: number;
|
|
55
55
|
/** Paths discovered so far (for REACH-style algorithms) */
|
|
56
|
-
readonly discoveredPaths: readonly
|
|
56
|
+
readonly discoveredPaths: readonly ExplorationPath[];
|
|
57
57
|
/** Optional GPU backend selection */
|
|
58
58
|
readonly backend?: ComputeBackend;
|
|
59
59
|
/** Optional TypeGPU root for GPU acceleration */
|
|
@@ -65,9 +65,9 @@ export interface BatchPriorityContext<N extends NodeData = NodeData, E extends E
|
|
|
65
65
|
*/
|
|
66
66
|
export type BatchPriorityFunction<N extends NodeData = NodeData, E extends EdgeData = EdgeData> = (candidates: readonly NodeId[], context: BatchPriorityContext<N, E>) => ReadonlyMap<NodeId, number>;
|
|
67
67
|
/**
|
|
68
|
-
* A path discovered by bidirectional
|
|
68
|
+
* A path discovered by bidirectional exploration.
|
|
69
69
|
*/
|
|
70
|
-
export interface
|
|
70
|
+
export interface ExplorationPath {
|
|
71
71
|
/** Source seed */
|
|
72
72
|
readonly fromSeed: Seed;
|
|
73
73
|
/** Target seed */
|
|
@@ -78,9 +78,9 @@ export interface ExpansionPath {
|
|
|
78
78
|
readonly salience?: number;
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
81
|
-
* Statistics from
|
|
81
|
+
* Statistics from exploration.
|
|
82
82
|
*/
|
|
83
|
-
export interface
|
|
83
|
+
export interface ExplorationStats {
|
|
84
84
|
/** Total iterations */
|
|
85
85
|
readonly iterations: number;
|
|
86
86
|
/** Total nodes visited */
|
|
@@ -97,24 +97,24 @@ export interface ExpansionStats {
|
|
|
97
97
|
readonly termination: "exhausted" | "limit" | "collision" | "error";
|
|
98
98
|
}
|
|
99
99
|
/**
|
|
100
|
-
* Result of an
|
|
100
|
+
* Result of an exploration algorithm.
|
|
101
101
|
*/
|
|
102
|
-
export interface
|
|
102
|
+
export interface ExplorationResult {
|
|
103
103
|
/** All discovered paths */
|
|
104
|
-
readonly paths: readonly
|
|
105
|
-
/** Nodes sampled during
|
|
104
|
+
readonly paths: readonly ExplorationPath[];
|
|
105
|
+
/** Nodes sampled during exploration */
|
|
106
106
|
readonly sampledNodes: ReadonlySet<NodeId>;
|
|
107
|
-
/** Edges sampled during
|
|
107
|
+
/** Edges sampled during exploration */
|
|
108
108
|
readonly sampledEdges: ReadonlySet<readonly [NodeId, NodeId]>;
|
|
109
109
|
/** Nodes visited per frontier */
|
|
110
110
|
readonly visitedPerFrontier: readonly ReadonlySet<NodeId>[];
|
|
111
111
|
/** Expansion statistics */
|
|
112
|
-
readonly stats:
|
|
112
|
+
readonly stats: ExplorationStats;
|
|
113
113
|
}
|
|
114
114
|
/**
|
|
115
|
-
* Configuration for
|
|
115
|
+
* Configuration for exploration algorithms.
|
|
116
116
|
*/
|
|
117
|
-
export interface
|
|
117
|
+
export interface ExplorationConfig<N extends NodeData = NodeData, E extends EdgeData = EdgeData> {
|
|
118
118
|
/** Maximum number of nodes to visit (0 = unlimited) */
|
|
119
119
|
readonly maxNodes?: number;
|
|
120
120
|
/** Maximum number of iterations (0 = unlimited) */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/exploration/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { NodeData, EdgeData, ReadableGraph } from '../graph';
|
|
2
2
|
import { AsyncReadableGraph } from '../graph/async-interfaces';
|
|
3
|
-
import { Seed,
|
|
3
|
+
import { Seed, ExplorationResult, ExplorationConfig } from './types';
|
|
4
4
|
import { AsyncExpansionConfig } from './base';
|
|
5
5
|
/**
|
|
6
|
-
* Run WARP
|
|
6
|
+
* Run WARP exploration algorithm.
|
|
7
7
|
*
|
|
8
8
|
* Expands from seeds prioritising bridge nodes.
|
|
9
9
|
* Useful for finding paths through structurally important nodes.
|
|
10
10
|
*
|
|
11
11
|
* @param graph - Source graph
|
|
12
|
-
* @param seeds - Seed nodes for
|
|
12
|
+
* @param seeds - Seed nodes for exploration
|
|
13
13
|
* @param config - Expansion configuration
|
|
14
14
|
* @returns Expansion result with discovered paths
|
|
15
15
|
*/
|
|
16
|
-
export declare function warp<N extends NodeData, E extends EdgeData>(graph: ReadableGraph<N, E>, seeds: readonly Seed[], config?:
|
|
16
|
+
export declare function warp<N extends NodeData, E extends EdgeData>(graph: ReadableGraph<N, E>, seeds: readonly Seed[], config?: ExplorationConfig<N, E>): ExplorationResult;
|
|
17
17
|
/**
|
|
18
|
-
* Run WARP
|
|
18
|
+
* Run WARP exploration asynchronously.
|
|
19
19
|
*
|
|
20
20
|
* Note: the WARP priority function accesses `context.graph` via
|
|
21
21
|
* `countCrossFrontierNeighbours`. Full async equivalence requires
|
|
@@ -23,9 +23,9 @@ export declare function warp<N extends NodeData, E extends EdgeData>(graph: Read
|
|
|
23
23
|
* establishes the async API surface.
|
|
24
24
|
*
|
|
25
25
|
* @param graph - Async source graph
|
|
26
|
-
* @param seeds - Seed nodes for
|
|
26
|
+
* @param seeds - Seed nodes for exploration
|
|
27
27
|
* @param config - Expansion and async runner configuration
|
|
28
|
-
* @returns Promise resolving to the
|
|
28
|
+
* @returns Promise resolving to the exploration result
|
|
29
29
|
*/
|
|
30
|
-
export declare function warpAsync<N extends NodeData, E extends EdgeData>(graph: AsyncReadableGraph<N, E>, seeds: readonly Seed[], config?: AsyncExpansionConfig<N, E>): Promise<
|
|
30
|
+
export declare function warpAsync<N extends NodeData, E extends EdgeData>(graph: AsyncReadableGraph<N, E>, seeds: readonly Seed[], config?: AsyncExpansionConfig<N, E>): Promise<ExplorationResult>;
|
|
31
31
|
//# sourceMappingURL=warp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../src/exploration/warp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EACX,IAAI,EACJ,iBAAiB,EACjB,iBAAiB,EAEjB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAkCnD;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,QAAQ,EAC1D,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC9B,iBAAiB,CAKnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,SAAS,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,QAAQ,EACrE,KAAK,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC/B,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,GACjC,OAAO,CAAC,iBAAiB,CAAC,CAK5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp.integration.test.d.ts","sourceRoot":"","sources":["../../src/exploration/warp.integration.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp.unit.test.d.ts","sourceRoot":"","sources":["../../src/exploration/warp.unit.test.ts"],"names":[],"mappings":""}
|