@graphty/graph-format 0.0.0 → 0.2.0

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 (224) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +216 -43
  3. package/dist/graph-format.d.ts +1 -0
  4. package/dist/graph-format.d.ts.map +1 -0
  5. package/dist/graph-format.js +15798 -0
  6. package/dist/graph-format.js.map +1 -0
  7. package/dist/src/builder/arena.d.ts +85 -0
  8. package/dist/src/builder/arena.d.ts.map +1 -0
  9. package/dist/src/builder/arena.js +154 -0
  10. package/dist/src/builder/arena.js.map +1 -0
  11. package/dist/src/builder/compact.d.ts +515 -0
  12. package/dist/src/builder/compact.d.ts.map +1 -0
  13. package/dist/src/builder/compact.js +1553 -0
  14. package/dist/src/builder/compact.js.map +1 -0
  15. package/dist/src/builder/counting-sort.d.ts +96 -0
  16. package/dist/src/builder/counting-sort.d.ts.map +1 -0
  17. package/dist/src/builder/counting-sort.js +430 -0
  18. package/dist/src/builder/counting-sort.js.map +1 -0
  19. package/dist/src/builder/freeze.d.ts +72 -0
  20. package/dist/src/builder/freeze.d.ts.map +1 -0
  21. package/dist/src/builder/freeze.js +548 -0
  22. package/dist/src/builder/freeze.js.map +1 -0
  23. package/dist/src/builder/graph-builder.d.ts +602 -0
  24. package/dist/src/builder/graph-builder.d.ts.map +1 -0
  25. package/dist/src/builder/graph-builder.js +1940 -0
  26. package/dist/src/builder/graph-builder.js.map +1 -0
  27. package/dist/src/builder/options.d.ts +16 -0
  28. package/dist/src/builder/options.d.ts.map +1 -0
  29. package/dist/src/builder/options.js +21 -0
  30. package/dist/src/builder/options.js.map +1 -0
  31. package/dist/src/columns/bitmap.d.ts +96 -0
  32. package/dist/src/columns/bitmap.d.ts.map +1 -0
  33. package/dist/src/columns/bitmap.js +184 -0
  34. package/dist/src/columns/bitmap.js.map +1 -0
  35. package/dist/src/columns/column.d.ts +220 -0
  36. package/dist/src/columns/column.d.ts.map +1 -0
  37. package/dist/src/columns/column.js +2109 -0
  38. package/dist/src/columns/column.js.map +1 -0
  39. package/dist/src/columns/dictionary.d.ts +60 -0
  40. package/dist/src/columns/dictionary.d.ts.map +1 -0
  41. package/dist/src/columns/dictionary.js +102 -0
  42. package/dist/src/columns/dictionary.js.map +1 -0
  43. package/dist/src/columns/growable.d.ts +198 -0
  44. package/dist/src/columns/growable.d.ts.map +1 -0
  45. package/dist/src/columns/growable.js +296 -0
  46. package/dist/src/columns/growable.js.map +1 -0
  47. package/dist/src/columns/infer.d.ts +121 -0
  48. package/dist/src/columns/infer.d.ts.map +1 -0
  49. package/dist/src/columns/infer.js +268 -0
  50. package/dist/src/columns/infer.js.map +1 -0
  51. package/dist/src/columns/remap.d.ts +143 -0
  52. package/dist/src/columns/remap.d.ts.map +1 -0
  53. package/dist/src/columns/remap.js +588 -0
  54. package/dist/src/columns/remap.js.map +1 -0
  55. package/dist/src/columns/table.d.ts +184 -0
  56. package/dist/src/columns/table.d.ts.map +1 -0
  57. package/dist/src/columns/table.js +485 -0
  58. package/dist/src/columns/table.js.map +1 -0
  59. package/dist/src/constants.d.ts +34 -0
  60. package/dist/src/constants.d.ts.map +1 -0
  61. package/dist/src/constants.js +79 -0
  62. package/dist/src/constants.js.map +1 -0
  63. package/dist/src/errors.d.ts +76 -0
  64. package/dist/src/errors.d.ts.map +1 -0
  65. package/dist/src/errors.js +32 -0
  66. package/dist/src/errors.js.map +1 -0
  67. package/dist/src/ids/edge-id-index.d.ts +77 -0
  68. package/dist/src/ids/edge-id-index.d.ts.map +1 -0
  69. package/dist/src/ids/edge-id-index.js +155 -0
  70. package/dist/src/ids/edge-id-index.js.map +1 -0
  71. package/dist/src/ids/node-id-map.d.ts +280 -0
  72. package/dist/src/ids/node-id-map.d.ts.map +1 -0
  73. package/dist/src/ids/node-id-map.js +1139 -0
  74. package/dist/src/ids/node-id-map.js.map +1 -0
  75. package/dist/src/ids/string-store.d.ts +219 -0
  76. package/dist/src/ids/string-store.d.ts.map +1 -0
  77. package/dist/src/ids/string-store.js +526 -0
  78. package/dist/src/ids/string-store.js.map +1 -0
  79. package/dist/src/index.d.ts +30 -0
  80. package/dist/src/index.d.ts.map +1 -0
  81. package/dist/src/index.js +29 -0
  82. package/dist/src/index.js.map +1 -0
  83. package/dist/src/populate/from-csr.d.ts +61 -0
  84. package/dist/src/populate/from-csr.d.ts.map +1 -0
  85. package/dist/src/populate/from-csr.js +706 -0
  86. package/dist/src/populate/from-csr.js.map +1 -0
  87. package/dist/src/populate/from-edge-arrays.d.ts +51 -0
  88. package/dist/src/populate/from-edge-arrays.d.ts.map +1 -0
  89. package/dist/src/populate/from-edge-arrays.js +217 -0
  90. package/dist/src/populate/from-edge-arrays.js.map +1 -0
  91. package/dist/src/populate/from-records.d.ts +51 -0
  92. package/dist/src/populate/from-records.d.ts.map +1 -0
  93. package/dist/src/populate/from-records.js +447 -0
  94. package/dist/src/populate/from-records.js.map +1 -0
  95. package/dist/src/snapshot/derived.d.ts +211 -0
  96. package/dist/src/snapshot/derived.d.ts.map +1 -0
  97. package/dist/src/snapshot/derived.js +1254 -0
  98. package/dist/src/snapshot/derived.js.map +1 -0
  99. package/dist/src/snapshot/graph-meta.d.ts +23 -0
  100. package/dist/src/snapshot/graph-meta.d.ts.map +1 -0
  101. package/dist/src/snapshot/graph-meta.js +159 -0
  102. package/dist/src/snapshot/graph-meta.js.map +1 -0
  103. package/dist/src/snapshot/graph-snapshot.d.ts +509 -0
  104. package/dist/src/snapshot/graph-snapshot.d.ts.map +1 -0
  105. package/dist/src/snapshot/graph-snapshot.js +1247 -0
  106. package/dist/src/snapshot/graph-snapshot.js.map +1 -0
  107. package/dist/src/snapshot/hash.d.ts +90 -0
  108. package/dist/src/snapshot/hash.d.ts.map +1 -0
  109. package/dist/src/snapshot/hash.js +228 -0
  110. package/dist/src/snapshot/hash.js.map +1 -0
  111. package/dist/src/snapshot/queries.d.ts +74 -0
  112. package/dist/src/snapshot/queries.d.ts.map +1 -0
  113. package/dist/src/snapshot/queries.js +131 -0
  114. package/dist/src/snapshot/queries.js.map +1 -0
  115. package/dist/src/snapshot/validate.d.ts +192 -0
  116. package/dist/src/snapshot/validate.d.ts.map +1 -0
  117. package/dist/src/snapshot/validate.js +990 -0
  118. package/dist/src/snapshot/validate.js.map +1 -0
  119. package/dist/src/snapshot/views.d.ts +274 -0
  120. package/dist/src/snapshot/views.d.ts.map +1 -0
  121. package/dist/src/snapshot/views.js +856 -0
  122. package/dist/src/snapshot/views.js.map +1 -0
  123. package/dist/src/types/builder.d.ts +456 -0
  124. package/dist/src/types/builder.d.ts.map +1 -0
  125. package/dist/src/types/builder.js +11 -0
  126. package/dist/src/types/builder.js.map +1 -0
  127. package/dist/src/types/columns.d.ts +615 -0
  128. package/dist/src/types/columns.d.ts.map +1 -0
  129. package/dist/src/types/columns.js +14 -0
  130. package/dist/src/types/columns.js.map +1 -0
  131. package/dist/src/types/index.d.ts +14 -0
  132. package/dist/src/types/index.d.ts.map +1 -0
  133. package/dist/src/types/index.js +11 -0
  134. package/dist/src/types/index.js.map +1 -0
  135. package/dist/src/types/internal.d.ts +172 -0
  136. package/dist/src/types/internal.d.ts.map +1 -0
  137. package/dist/src/types/internal.js +13 -0
  138. package/dist/src/types/internal.js.map +1 -0
  139. package/dist/src/types/snapshot.d.ts +801 -0
  140. package/dist/src/types/snapshot.d.ts.map +1 -0
  141. package/dist/src/types/snapshot.js +14 -0
  142. package/dist/src/types/snapshot.js.map +1 -0
  143. package/dist/src/types/wire.d.ts +196 -0
  144. package/dist/src/types/wire.d.ts.map +1 -0
  145. package/dist/src/types/wire.js +8 -0
  146. package/dist/src/types/wire.js.map +1 -0
  147. package/dist/src/util/mask.d.ts +55 -0
  148. package/dist/src/util/mask.d.ts.map +1 -0
  149. package/dist/src/util/mask.js +71 -0
  150. package/dist/src/util/mask.js.map +1 -0
  151. package/dist/src/util/options.d.ts +22 -0
  152. package/dist/src/util/options.d.ts.map +1 -0
  153. package/dist/src/util/options.js +49 -0
  154. package/dist/src/util/options.js.map +1 -0
  155. package/dist/src/util/shared-buffers.d.ts +42 -0
  156. package/dist/src/util/shared-buffers.d.ts.map +1 -0
  157. package/dist/src/util/shared-buffers.js +52 -0
  158. package/dist/src/util/shared-buffers.js.map +1 -0
  159. package/dist/src/util/typed-array.d.ts +205 -0
  160. package/dist/src/util/typed-array.d.ts.map +1 -0
  161. package/dist/src/util/typed-array.js +289 -0
  162. package/dist/src/util/typed-array.js.map +1 -0
  163. package/dist/src/wire/bytes.d.ts +69 -0
  164. package/dist/src/wire/bytes.d.ts.map +1 -0
  165. package/dist/src/wire/bytes.js +361 -0
  166. package/dist/src/wire/bytes.js.map +1 -0
  167. package/dist/src/wire/carried-views.d.ts +111 -0
  168. package/dist/src/wire/carried-views.d.ts.map +1 -0
  169. package/dist/src/wire/carried-views.js +286 -0
  170. package/dist/src/wire/carried-views.js.map +1 -0
  171. package/dist/src/wire/from-wire.d.ts +144 -0
  172. package/dist/src/wire/from-wire.d.ts.map +1 -0
  173. package/dist/src/wire/from-wire.js +1425 -0
  174. package/dist/src/wire/from-wire.js.map +1 -0
  175. package/dist/src/wire/to-wire.d.ts +171 -0
  176. package/dist/src/wire/to-wire.d.ts.map +1 -0
  177. package/dist/src/wire/to-wire.js +652 -0
  178. package/dist/src/wire/to-wire.js.map +1 -0
  179. package/dist/tsconfig.build.tsbuildinfo +1 -0
  180. package/package.json +72 -7
  181. package/src/builder/arena.ts +192 -0
  182. package/src/builder/compact.ts +1811 -0
  183. package/src/builder/counting-sort.ts +506 -0
  184. package/src/builder/freeze.ts +689 -0
  185. package/src/builder/graph-builder.ts +2264 -0
  186. package/src/builder/options.ts +29 -0
  187. package/src/columns/bitmap.ts +196 -0
  188. package/src/columns/column.ts +2574 -0
  189. package/src/columns/dictionary.ts +114 -0
  190. package/src/columns/growable.ts +350 -0
  191. package/src/columns/infer.ts +285 -0
  192. package/src/columns/remap.ts +663 -0
  193. package/src/columns/table.ts +568 -0
  194. package/src/constants.ts +89 -0
  195. package/src/errors.ts +115 -0
  196. package/src/ids/edge-id-index.ts +179 -0
  197. package/src/ids/node-id-map.ts +1340 -0
  198. package/src/ids/string-store.ts +589 -0
  199. package/src/index.ts +139 -0
  200. package/src/lib-resizable-array-buffer.d.ts +34 -0
  201. package/src/populate/from-csr.ts +802 -0
  202. package/src/populate/from-edge-arrays.ts +257 -0
  203. package/src/populate/from-records.ts +536 -0
  204. package/src/snapshot/derived.ts +1486 -0
  205. package/src/snapshot/graph-meta.ts +167 -0
  206. package/src/snapshot/graph-snapshot.ts +1503 -0
  207. package/src/snapshot/hash.ts +241 -0
  208. package/src/snapshot/queries.ts +136 -0
  209. package/src/snapshot/validate.ts +1108 -0
  210. package/src/snapshot/views.ts +943 -0
  211. package/src/types/builder.ts +480 -0
  212. package/src/types/columns.ts +727 -0
  213. package/src/types/index.ts +14 -0
  214. package/src/types/internal.ts +195 -0
  215. package/src/types/snapshot.ts +886 -0
  216. package/src/types/wire.ts +207 -0
  217. package/src/util/mask.ts +89 -0
  218. package/src/util/options.ts +57 -0
  219. package/src/util/shared-buffers.ts +56 -0
  220. package/src/util/typed-array.ts +371 -0
  221. package/src/wire/bytes.ts +440 -0
  222. package/src/wire/carried-views.ts +327 -0
  223. package/src/wire/from-wire.ts +1690 -0
  224. package/src/wire/to-wire.ts +755 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"views.js","sourceRoot":"","sources":["../../../src/snapshot/views.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,456 @@
1
+ /**
2
+ * The builder surface (design sections 6, 8.3 and 12.2): options, freeze options and report, the
3
+ * branded handles, the GraphSink contract importers program against, and the GraphBuilder contract.
4
+ *
5
+ * GraphBuilderContract is the instance contract of the GraphBuilder class implemented in
6
+ * src/builder/graph-builder.ts, which adds `constructor(options)` and `static from(snapshot,
7
+ * options?)` (design section 12.2). The public name GraphBuilder is the class itself, exported by
8
+ * the barrel; nothing on this surface needs to name it (the factories return GraphSnapshot).
9
+ */
10
+ import { type ColumnDecl, type ColumnDeclPatch, type ColumnDomain, type Dtype, type DuplicatePolicy, type F32, type F64, type GraphMetaPatch, type Loose, type NodeId, type TypedArrayData, type U32 } from "./columns.js";
11
+ import { type GraphSnapshot, type ViewName } from "./snapshot.js";
12
+ /** Constructor options of GraphBuilder (design sections 3.6, 3.7, 6.5 and 12.2). */
13
+ export interface GraphBuilderOptions {
14
+ /** REQUIRED; no default; changeable later via setDirected() (design section 6.6). */
15
+ directed: boolean;
16
+ /**
17
+ * Default "auto": weighted if any addEdge supplied a weight; true allocates the array even when every value is 1.
18
+ */
19
+ weighted?: boolean | "auto" | undefined;
20
+ /** Staging precision; default "f32" (design section 3.7); importers pass "f64". */
21
+ weightDtype?: "f32" | "f64" | undefined;
22
+ /** Default "keep". */
23
+ duplicateEdges?: DuplicatePolicy | undefined;
24
+ /** Default "keep". */
25
+ selfLoops?: "keep" | "drop" | "error" | undefined;
26
+ /** Default true: addEdge creates unknown endpoints; false throws E_UNKNOWN_NODE. */
27
+ addMissingNodes?: boolean | undefined;
28
+ /** Staging capacity hint. */
29
+ expectedNodes?: number | undefined;
30
+ /** Staging capacity hint. */
31
+ expectedEdges?: number | undefined;
32
+ }
33
+ /** Patch form of GraphBuilderOptions, accepted by the factories and by GraphBuilder.from(). */
34
+ export type BuilderOptionsPatch = Loose<GraphBuilderOptions>;
35
+ /** The builder's options after defaults were applied; the same shape under every compiler flag. */
36
+ export interface ResolvedBuilderOptions {
37
+ /** The CURRENT value (setDirected() updates it). */
38
+ readonly directed: boolean;
39
+ /** The weighted policy. */
40
+ readonly weighted: boolean | "auto";
41
+ /** The staging weight precision. */
42
+ readonly weightDtype: "f32" | "f64";
43
+ /** The default duplicate policy of freeze(). */
44
+ readonly duplicateEdges: DuplicatePolicy;
45
+ /** The self-loop policy. */
46
+ readonly selfLoops: "keep" | "drop" | "error";
47
+ /** Whether addEdge creates unknown endpoints. */
48
+ readonly addMissingNodes: boolean;
49
+ /** Capacity hint, or null. */
50
+ readonly expectedNodes: number | null;
51
+ /** Capacity hint, or null. */
52
+ readonly expectedEdges: number | null;
53
+ }
54
+ /** Options of freeze() and freezeWithReport() (design section 6.7). */
55
+ export interface FreezeOptions {
56
+ /** Debugging label carried by the snapshot. */
57
+ label?: string | undefined;
58
+ /** Views computed eagerly inside freeze. */
59
+ prepare?: readonly ViewName[] | undefined;
60
+ /** Default true: core arrays share one 256-aligned arena (design section 10.3). */
61
+ arena?: boolean | undefined;
62
+ /** Default false; true empties staging after freezing (Arrow flush semantics). */
63
+ release?: boolean | undefined;
64
+ /** Overrides the builder default for this freeze; a merge policy REWRITES THE BUILDER (design section 6.5). */
65
+ duplicateEdges?: DuplicatePolicy | undefined;
66
+ /** Fills FreezeReport.timings. */
67
+ profile?: boolean | undefined;
68
+ /** Records FNV-1a checksums for validate({ checksum: true }) (design section 5.8). */
69
+ checksum?: boolean | undefined;
70
+ }
71
+ /**
72
+ * What freezeWithReport() returns next to the snapshot (design sections 4.4 and 6.6). The remaps
73
+ * are relative to the previous freeze of the same builder, or to the builder's own index space on
74
+ * the first freeze (invariant I16); each is null exactly when nothing was renumbered, and the two
75
+ * are independent.
76
+ */
77
+ export interface FreezeReport {
78
+ /** Previous freeze's node index space -> new index or INVALID_INDEX; null when nodes were not renumbered (I16). */
79
+ readonly nodeRemap: U32 | null;
80
+ /** Same for edges (a merged edge: its survivor); null when edges were not renumbered; independent of nodeRemap. */
81
+ readonly edgeRemap: U32 | null;
82
+ /** Whether step 1 of the freeze pipeline compacted tombstones. */
83
+ readonly compacted: boolean;
84
+ /** Self-loops removed under selfLoops "drop". */
85
+ readonly droppedSelfLoops: number;
86
+ /** Parallel edges collapsed by duplicateEdges. */
87
+ readonly mergedEdges: number;
88
+ /** Tombstoned + dropped loops + merged. */
89
+ readonly droppedEdges: number;
90
+ /** Columns whose inferred dtype widened during staging (design section 5.1), so importers can fix headers. */
91
+ readonly widened: readonly {
92
+ readonly column: string;
93
+ readonly domain: ColumnDomain;
94
+ readonly from: Dtype;
95
+ readonly to: Dtype;
96
+ }[];
97
+ /** ms per phase; empty unless profile. */
98
+ readonly timings: Readonly<Record<string, number>>;
99
+ }
100
+ /**
101
+ * Branded index into the builder's column list for its domain; INVALID_INDEX when absent (design
102
+ * section 12.1). Handles never come out of a typed array, and the brand stops
103
+ * setNodeValue(index, handle, v) with the arguments swapped from type-checking.
104
+ */
105
+ export type ColumnHandle = number & {
106
+ readonly __brand: "ColumnHandle";
107
+ };
108
+ /** Branded index of an extension table in the builder (design section 5.10). */
109
+ export type ExtensionHandle = number & {
110
+ readonly __brand: "ExtensionHandle";
111
+ };
112
+ /** Options of setDirected() (design section 6.6). */
113
+ export interface SetDirectedOptions {
114
+ /**
115
+ * Convert a non-empty undirected builder to directed by appending a mirror edge per existing edge and writing the
116
+ * graphty.directed / graphty.pair columns (design section 3.6).
117
+ */
118
+ readonly expand?: boolean | undefined;
119
+ }
120
+ /**
121
+ * The subset of GraphBuilder that importers may call (design section 8.3). Importers push scalars,
122
+ * never objects; the record methods exist for the transitional element path and JSON. GraphBuilder
123
+ * implements it, and tests can pass a recording sink.
124
+ */
125
+ export interface GraphSink {
126
+ /** The resolved options; `directed` is the current value. */
127
+ readonly options: ResolvedBuilderOptions;
128
+ /** The current direction. */
129
+ readonly directed: boolean;
130
+ /** Whether lockDirected() was called. */
131
+ readonly directedLocked: boolean;
132
+ /** Live edge count. */
133
+ readonly edgeCount: number;
134
+ /**
135
+ * Change the direction (design section 6.6): free while the builder holds no edges; with edges,
136
+ * only undirected -> directed with expand. E_DIRECTED when refused or locked.
137
+ * @param directed - the new value
138
+ * @param options - expansion of an undirected builder
139
+ */
140
+ setDirected(directed: boolean, options?: SetDirectedOptions): void;
141
+ /**
142
+ * Grow staging capacity ahead of a bulk push.
143
+ * @param nodes - expected node count
144
+ * @param edges - expected edge count
145
+ */
146
+ reserve(nodes?: number, edges?: number): void;
147
+ /**
148
+ * Add a node or return the index of an existing live one (idempotent); revives a tombstoned id before the next
149
+ * freeze.
150
+ * @param id - the node id; E_INVALID_ID when not a legal id
151
+ * @returns the node index
152
+ */
153
+ addNode(id: NodeId): number;
154
+ /**
155
+ * Add many nodes.
156
+ * @param ids - the node ids
157
+ * @param out - receives the index of every id (allocated when omitted)
158
+ * @returns `out`
159
+ */
160
+ addNodes(ids: Iterable<NodeId>, out?: U32): U32;
161
+ /**
162
+ * Add a logical edge; unknown endpoints are created when addMissingNodes is true, else E_UNKNOWN_NODE. NaN weight
163
+ * is E_INVALID_WEIGHT.
164
+ * @param source - source node id
165
+ * @param target - target node id
166
+ * @param weight - the weight; 1 when omitted
167
+ * @returns the logical edge index
168
+ */
169
+ addEdge(source: NodeId, target: NodeId, weight?: number): number;
170
+ /**
171
+ * Bulk add edges by node index (the index-space path used with addAnonymousNodes).
172
+ * @param src - source node indices
173
+ * @param dst - target node indices
174
+ * @param weights - per-edge weights; 1 when omitted
175
+ * @returns the first new logical edge index
176
+ */
177
+ addEdges(src: U32, dst: U32, weights?: F32 | F64): number;
178
+ /**
179
+ * Set the weight of a live edge (allocates the weight array on first use).
180
+ * @param edge - the logical edge index
181
+ * @param weight - the weight; E_INVALID_WEIGHT for NaN
182
+ */
183
+ setEdgeWeight(edge: number, weight: number): void;
184
+ /**
185
+ * Read a live edge's endpoints back.
186
+ * @param edge - the logical edge index
187
+ * @returns [source index, target index] in declared orientation
188
+ */
189
+ edgeEndpoints(edge: number): readonly [source: number, target: number];
190
+ /**
191
+ * Read a live edge's weight back.
192
+ * @param edge - the logical edge index
193
+ * @returns the weight (1 when unweighted)
194
+ */
195
+ edgeWeight(edge: number): number;
196
+ /**
197
+ * Total lookup of a live node by id.
198
+ * @param id - the node id
199
+ * @returns the node index, or INVALID_INDEX
200
+ */
201
+ indexOf(id: NodeId): number;
202
+ /**
203
+ * Declare a node column; the same declaration again returns the existing handle, a different one is
204
+ * E_COLUMN_EXISTS.
205
+ * @param decl - the declaration
206
+ * @returns the column handle
207
+ */
208
+ declareNodeColumn(decl: ColumnDecl): ColumnHandle;
209
+ /**
210
+ * Declare an edge column; the same declaration again returns the existing handle, a different one is
211
+ * E_COLUMN_EXISTS.
212
+ * @param decl - the declaration
213
+ * @returns the column handle
214
+ */
215
+ declareEdgeColumn(decl: ColumnDecl): ColumnHandle;
216
+ /**
217
+ * Look up a node column handle.
218
+ * @param name - the column name
219
+ * @returns the handle, or INVALID_INDEX when absent
220
+ */
221
+ nodeColumn(name: string): ColumnHandle;
222
+ /**
223
+ * Look up an edge column handle.
224
+ * @param name - the column name
225
+ * @returns the handle, or INVALID_INDEX when absent
226
+ */
227
+ edgeColumn(name: string): ColumnHandle;
228
+ /**
229
+ * Widen an inferred node column to a wider dtype of the design section 5.1 order without
230
+ * changing any value (a text importer that knows from the lexical grammar that `2.0` cells
231
+ * are f64 although every value so far was integral). Optional: a sink without it makes such an
232
+ * importer report the dtype it could not widen.
233
+ * @param column - the handle or name
234
+ * @param dtype - the dtype to widen to
235
+ */
236
+ widenNodeColumn?(column: ColumnHandle | string, dtype: Dtype): void;
237
+ /**
238
+ * Widen an inferred edge column; see widenNodeColumn().
239
+ * @param column - the handle or name
240
+ * @param dtype - the dtype to widen to
241
+ */
242
+ widenEdgeColumn?(column: ColumnHandle | string, dtype: Dtype): void;
243
+ /**
244
+ * Set one node cell; a string column name auto-declares with inference (design section 5.1).
245
+ * @param column - the handle or name
246
+ * @param index - the node index
247
+ * @param value - the value
248
+ */
249
+ setNodeValue(column: ColumnHandle | string, index: number, value: unknown): void;
250
+ /**
251
+ * Set one edge cell; a string column name auto-declares with inference.
252
+ * @param column - the handle or name
253
+ * @param edge - the logical edge index
254
+ * @param value - the value
255
+ */
256
+ setEdgeValue(column: ColumnHandle | string, edge: number, value: unknown): void;
257
+ /**
258
+ * Set a graph-level attribute (the graph table's single row).
259
+ * @param name - the column name
260
+ * @param value - the value
261
+ * @param decl - declaration fields for a new column
262
+ */
263
+ setGraphValue(name: string, value: unknown, decl?: ColumnDeclPatch): void;
264
+ /**
265
+ * Merge fields into the graph metadata; non-JSON extra values are E_COLUMN_TYPE.
266
+ * @param meta - the fields to set
267
+ */
268
+ setMeta(meta: GraphMetaPatch): void;
269
+ /**
270
+ * Create an extension table (design section 5.10).
271
+ * @param name - the table name, e.g. "temporal:node:price"
272
+ * @param decls - its columns
273
+ * @returns the table handle
274
+ */
275
+ addExtensionTable(name: string, decls: readonly ColumnDecl[]): ExtensionHandle;
276
+ /**
277
+ * Append a row to an extension table.
278
+ * @param table - the table handle
279
+ * @param values - one value per declared column
280
+ * @returns the new row index
281
+ */
282
+ addExtensionRow(table: ExtensionHandle, values: readonly unknown[]): number;
283
+ /**
284
+ * Add a node from a record; on an existing live id every key present overwrites that row (last-write-wins per
285
+ * attribute).
286
+ * @param id - the node id
287
+ * @param attrs - attribute values keyed by column name
288
+ * @returns the node index
289
+ */
290
+ addNodeRecord(id: NodeId, attrs: Readonly<Record<string, unknown>>): number;
291
+ /**
292
+ * Add an edge from a record; always creates a new edge (parallels are kept).
293
+ * @param source - source node id
294
+ * @param target - target node id
295
+ * @param attrs - attribute values keyed by column name
296
+ * @param weightKey - the key holding the weight; default "weight"; null = no weight
297
+ * @returns the logical edge index
298
+ */
299
+ addEdgeRecord(source: NodeId, target: NodeId, attrs: Readonly<Record<string, unknown>>, weightKey?: string | null): number;
300
+ }
301
+ /**
302
+ * The only mutable object in the package and the producer of snapshots (design section 6): a
303
+ * long-lived, structure-of-arrays accumulator that can be frozen repeatedly. freeze() never shares
304
+ * core arrays or columns with the snapshot it returns (invariant I18; the id Map and ids array are
305
+ * shared by design), is deterministic (I15), and preserves index prefixes between freezes with only
306
+ * appends in between (I16). Indices are never reused while the builder lives except through a
307
+ * compacting freeze, after which builder indices equal the new snapshot's (decision C7).
308
+ *
309
+ * Instance contract of the GraphBuilder class in src/builder/graph-builder.ts, which implements it
310
+ * and adds `constructor(options: GraphBuilderOptions)` and `static from(snapshot, options?)`; the
311
+ * public barrel exports the class and every public type names the class.
312
+ */
313
+ export interface GraphBuilderContract extends GraphSink {
314
+ /** Live node count. */
315
+ readonly nodeCount: number;
316
+ /** Next node index to be assigned. */
317
+ readonly nodeBound: number;
318
+ /** Next logical edge index to be assigned. */
319
+ readonly edgeBound: number;
320
+ /** Increments on every topology or weight mutation; column writes and freeze() do not count. */
321
+ readonly mutationCount: number;
322
+ /** Mutated since the last freeze(). */
323
+ readonly dirty: boolean;
324
+ /** Fix the direction so importers cannot change it; every later changing setDirected() is E_DIRECTED. */
325
+ lockDirected(): void;
326
+ /**
327
+ * Append nodes whose ids are their own indices, never touching the id Map while every node is anonymous.
328
+ * @param count - how many
329
+ * @returns the first new index
330
+ */
331
+ addAnonymousNodes(count: number): number;
332
+ /**
333
+ * Whether a live node has this id.
334
+ * @param id - the node id
335
+ * @returns true when present and alive
336
+ */
337
+ hasNode(id: NodeId): boolean;
338
+ /**
339
+ * The id of a live node index.
340
+ * @param index - the node index
341
+ * @returns the id; E_INDEX_RANGE when out of range or dead
342
+ */
343
+ idOf(index: number): NodeId;
344
+ /**
345
+ * Tombstone a node and every live incident edge (both directions); O(degree); bumps mutationCount.
346
+ * @param id - the node id
347
+ * @returns the removed live incident edge indices
348
+ */
349
+ removeNode(id: NodeId): U32;
350
+ /**
351
+ * Tombstone a node by index and every live incident edge.
352
+ * @param index - the node index
353
+ * @returns the removed live incident edge indices
354
+ */
355
+ removeNodeByIndex(index: number): U32;
356
+ /**
357
+ * Add a logical edge by node index; E_UNKNOWN_NODE (details.index) for a dead or out-of-range index.
358
+ * @param u - source node index
359
+ * @param v - target node index
360
+ * @param weight - the weight; 1 when omitted
361
+ * @returns the logical edge index
362
+ */
363
+ addEdgeByIndex(u: number, v: number, weight?: number): number;
364
+ /**
365
+ * Bulk add edges by id.
366
+ * @param src - source node ids
367
+ * @param dst - target node ids
368
+ * @param weights - per-edge weights; 1 when omitted
369
+ * @returns the first new logical edge index
370
+ */
371
+ addEdgesByIds(src: ArrayLike<NodeId>, dst: ArrayLike<NodeId>, weights?: ArrayLike<number>): number;
372
+ /**
373
+ * Tombstone an edge; O(1); bumps mutationCount.
374
+ * @param edge - the logical edge index
375
+ * @returns true when a live edge was removed
376
+ */
377
+ removeEdge(edge: number): boolean;
378
+ /**
379
+ * Whether an edge index is live.
380
+ * @param edge - the logical edge index
381
+ * @returns true when live
382
+ */
383
+ hasEdge(edge: number): boolean;
384
+ /**
385
+ * Live edges leaving a node, read from the incidence lists (O(degree)). On an undirected
386
+ * builder every incident edge leaves the node (invariant I7: the snapshot's row holds both
387
+ * orientations), so the declared orientation is ignored and a self-loop is listed once.
388
+ * @param index - the node index
389
+ * @returns a fresh ascending array of live edge indices
390
+ */
391
+ outEdgesOf(index: number): U32;
392
+ /**
393
+ * Live edges entering a node (O(degree)); on an undirected builder the same set as outEdgesOf
394
+ * (the alias rule of inDegree === outDegree).
395
+ * @param index - the node index
396
+ * @returns a fresh ascending array of live edge indices
397
+ */
398
+ inEdgesOf(index: number): U32;
399
+ /**
400
+ * Live edges u -> v (undirected: either orientation), for answering "is there an edge" before a freeze.
401
+ * @param u - source node index
402
+ * @param v - target node index
403
+ * @returns a fresh array of live edge indices
404
+ */
405
+ findEdges(u: number, v: number): U32;
406
+ /**
407
+ * Bulk-set a node column; length must equal nodeBound.
408
+ * @param name - the column name
409
+ * @param data - the values
410
+ * @param decl - declaration fields
411
+ */
412
+ setNodeColumn(name: string, data: TypedArrayData, decl?: ColumnDeclPatch): void;
413
+ /**
414
+ * Bulk-set an edge column; length must equal edgeBound.
415
+ * @param name - the column name
416
+ * @param data - the values
417
+ * @param decl - declaration fields
418
+ */
419
+ setEdgeColumn(name: string, data: TypedArrayData, decl?: ColumnDeclPatch): void;
420
+ /**
421
+ * Append another snapshot (disjoint union, or merge by id), re-interning dictionaries (design section 6.6).
422
+ * @param snapshot - the snapshot to append
423
+ * @param options - duplicate-id handling
424
+ * @param options.onDuplicateNode - "merge" (default) overwrites set rows of existing ids; "error" throws
425
+ * E_DUPLICATE_ID
426
+ */
427
+ addGraph(snapshot: GraphSnapshot, options?: {
428
+ readonly onDuplicateNode?: "merge" | "error" | undefined;
429
+ }): void;
430
+ /**
431
+ * Run the freeze pipeline of design section 6.3 and return a snapshot; the builder keeps its staging unless release
432
+ * is set.
433
+ * @param options - freeze options
434
+ * @returns the frozen snapshot
435
+ */
436
+ freeze(options?: FreezeOptions): GraphSnapshot;
437
+ /**
438
+ * freeze() plus the report of what was renumbered, merged, dropped and widened.
439
+ * @param options - freeze options
440
+ * @returns the snapshot and its report
441
+ */
442
+ freezeWithReport(options?: FreezeOptions): {
443
+ snapshot: GraphSnapshot;
444
+ report: FreezeReport;
445
+ };
446
+ /** Empty the builder (nodes, edges, columns, meta) while keeping its options. */
447
+ clear(): void;
448
+ /** Release everything; every further call throws E_BUILDER_DISPOSED. */
449
+ dispose(): void;
450
+ /**
451
+ * Bytes of staging currently held.
452
+ * @returns the byte count
453
+ */
454
+ byteLength(): number;
455
+ }
456
+ //# sourceMappingURL=builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/types/builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The builder surface (design sections 6, 8.3 and 12.2): options, freeze options and report, the
3
+ * branded handles, the GraphSink contract importers program against, and the GraphBuilder contract.
4
+ *
5
+ * GraphBuilderContract is the instance contract of the GraphBuilder class implemented in
6
+ * src/builder/graph-builder.ts, which adds `constructor(options)` and `static from(snapshot,
7
+ * options?)` (design section 12.2). The public name GraphBuilder is the class itself, exported by
8
+ * the barrel; nothing on this surface needs to name it (the factories return GraphSnapshot).
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/types/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}