@query-farm/vgi 0.29.0 → 0.29.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.
Files changed (90) hide show
  1. package/README.md +26 -1
  2. package/dist/arguments/argument-spec.d.ts +4 -2
  3. package/dist/catalog/composite.d.ts +13 -13
  4. package/dist/catalog/descriptors.d.ts +7 -3
  5. package/dist/catalog/interface.d.ts +67 -40
  6. package/dist/catalog/read-only.d.ts +32 -15
  7. package/dist/client/client.d.ts +36 -29
  8. package/dist/client/types.d.ts +2 -0
  9. package/dist/client-entry.d.ts +1 -1
  10. package/dist/client-entry.js +441 -279
  11. package/dist/client-entry.js.map +12 -11
  12. package/dist/filter-pushdown/capabilities.d.ts +3 -0
  13. package/dist/filter-pushdown/deserialize.d.ts +14 -15
  14. package/dist/filter-pushdown/evaluate.d.ts +14 -44
  15. package/dist/filter-pushdown/index.d.ts +2 -2
  16. package/dist/filter-pushdown/types.d.ts +120 -68
  17. package/dist/functions/aggregate.d.ts +4 -0
  18. package/dist/functions/registry.d.ts +5 -5
  19. package/dist/functions/scalar.d.ts +6 -1
  20. package/dist/functions/table-buffering.d.ts +9 -0
  21. package/dist/functions/table-in-out.d.ts +13 -0
  22. package/dist/functions/table.d.ts +9 -2
  23. package/dist/functions/types.d.ts +22 -2
  24. package/dist/generated/vgi-client.d.ts +56 -27
  25. package/dist/generated/vgi-protocol-schemas.d.ts +15 -0
  26. package/dist/http/fetch.d.ts +7 -1
  27. package/dist/index.core.d.ts +2 -1
  28. package/dist/index.js +2317 -1354
  29. package/dist/index.js.map +43 -40
  30. package/dist/metadata/types.d.ts +15 -2
  31. package/dist/protocol/handlers/shared.d.ts +3 -1
  32. package/dist/protocol/serializers/splits.d.ts +1 -1
  33. package/dist/protocol/types.d.ts +9 -3
  34. package/dist/schema-path.d.ts +7 -0
  35. package/dist/serve-entry.d.ts +22 -1
  36. package/dist/serve-entry.js +412 -238
  37. package/dist/serve-entry.js.map +27 -26
  38. package/dist/split-token.d.ts +1 -1
  39. package/dist/types.d.ts +8 -0
  40. package/dist/worker-cf-entry.js +2030 -1201
  41. package/dist/worker-cf-entry.js.map +40 -36
  42. package/dist/worker.d.ts +1 -1
  43. package/package.json +3 -3
  44. package/src/arguments/argument-spec.ts +12 -4
  45. package/src/catalog/composite.ts +26 -26
  46. package/src/catalog/descriptors.ts +12 -3
  47. package/src/catalog/interface.ts +98 -48
  48. package/src/catalog/read-only.ts +124 -67
  49. package/src/client/client.ts +92 -72
  50. package/src/client/types.ts +2 -0
  51. package/src/client-entry.ts +2 -1
  52. package/src/filter-pushdown/capabilities.ts +13 -0
  53. package/src/filter-pushdown/collector.ts +22 -35
  54. package/src/filter-pushdown/deserialize.ts +657 -221
  55. package/src/filter-pushdown/evaluate.ts +410 -499
  56. package/src/filter-pushdown/index.ts +16 -2
  57. package/src/filter-pushdown/types.ts +88 -71
  58. package/src/functions/aggregate.ts +9 -1
  59. package/src/functions/registry.ts +24 -22
  60. package/src/functions/scalar.ts +26 -0
  61. package/src/functions/table-buffering.ts +46 -7
  62. package/src/functions/table-in-out.ts +187 -30
  63. package/src/functions/table.ts +58 -20
  64. package/src/functions/types.ts +24 -1
  65. package/src/generated/vgi-client.ts +61 -29
  66. package/src/generated/vgi-protocol-schemas.ts +225 -54
  67. package/src/http/fetch.ts +12 -0
  68. package/src/index.core.ts +2 -0
  69. package/src/metadata/resolve.ts +43 -1
  70. package/src/metadata/serialize.ts +43 -5
  71. package/src/metadata/types.ts +17 -1
  72. package/src/protocol/dispatch.ts +1 -1
  73. package/src/protocol/handlers/aggregate.ts +13 -7
  74. package/src/protocol/handlers/catalog/admin.ts +6 -6
  75. package/src/protocol/handlers/catalog/index_methods.ts +2 -2
  76. package/src/protocol/handlers/catalog/macro.ts +4 -4
  77. package/src/protocol/handlers/catalog/shared.ts +2 -0
  78. package/src/protocol/handlers/catalog/table.ts +16 -16
  79. package/src/protocol/handlers/catalog/view.ts +5 -5
  80. package/src/protocol/handlers/function.ts +2 -2
  81. package/src/protocol/handlers/shared.ts +12 -3
  82. package/src/protocol/handlers/table-buffering.ts +4 -4
  83. package/src/protocol/serializers/bind.ts +15 -6
  84. package/src/protocol/serializers/splits.ts +4 -2
  85. package/src/protocol/types.ts +9 -3
  86. package/src/schema-path.ts +25 -0
  87. package/src/serve-entry.ts +65 -3
  88. package/src/split-token.ts +2 -2
  89. package/src/types.ts +9 -0
  90. package/src/worker.ts +49 -4
@@ -1,3 +1,4 @@
1
+ export type ArgumentMonotonicity = "UNKNOWN" | "CONSTANT" | "NON_DECREASING" | "STRICTLY_INCREASING" | "NON_INCREASING" | "STRICTLY_DECREASING";
1
2
  export type DistinctDependence = "DISTINCT_DEPENDENT" | "NOT_DISTINCT_DEPENDENT";
2
3
  export type FunctionStability = "CONSISTENT" | "VOLATILE" | "CONSISTENT_WITHIN_QUERY";
3
4
  export type FunctionType = "SCALAR" | "TABLE" | "TABLE_BUFFERING" | "AGGREGATE";
@@ -31,14 +32,14 @@ export interface SchemaInfo {
31
32
  comment?: string | null;
32
33
  tags: Record<string, string>;
33
34
  attach_opaque_data: Uint8Array;
34
- name: string;
35
+ path: string[];
35
36
  estimated_object_count?: Record<string, number> | null;
36
37
  }
37
38
  export interface TableInfo {
38
39
  comment?: string | null;
39
40
  tags: Record<string, string>;
40
41
  name: string;
41
- schema_name: string;
42
+ schema_path: string[];
42
43
  columns: Uint8Array;
43
44
  not_null_constraints: number[];
44
45
  unique_constraints: number[][];
@@ -64,7 +65,7 @@ export interface ViewInfo {
64
65
  comment?: string | null;
65
66
  tags: Record<string, string>;
66
67
  name: string;
67
- schema_name: string;
68
+ schema_path: string[];
68
69
  definition: string;
69
70
  column_comments: Record<string, string>;
70
71
  }
@@ -73,6 +74,20 @@ export interface CatalogExample {
73
74
  description: string;
74
75
  expected_output?: string | null;
75
76
  }
77
+ export interface FilterFunctionCapability {
78
+ namespace: string;
79
+ name: string;
80
+ version: number;
81
+ }
82
+ export interface RuntimeFilterAlgorithmCapability {
83
+ namespace: string;
84
+ name: string;
85
+ version: number;
86
+ }
87
+ export interface EvaluationContextCapability {
88
+ profile: string;
89
+ provider_fingerprint?: string | null;
90
+ }
76
91
  export interface SecretLookupEntry {
77
92
  secret_type: string;
78
93
  scope?: string | null;
@@ -82,12 +97,14 @@ export interface FunctionInfo {
82
97
  comment?: string | null;
83
98
  tags: Record<string, string>;
84
99
  name: string;
85
- schema_name: string;
100
+ schema_path: string[];
86
101
  function_type: FunctionType;
87
102
  arguments: Uint8Array;
88
103
  output_schema: Uint8Array;
104
+ parameter_default_values?: /** @record-batch */ Uint8Array | null;
89
105
  stability?: FunctionStability | null;
90
106
  null_handling?: NullHandling | null;
107
+ argument_monotonicity?: ArgumentMonotonicity[] | null;
91
108
  description: string;
92
109
  examples: CatalogExample[];
93
110
  categories: string[];
@@ -95,7 +112,10 @@ export interface FunctionInfo {
95
112
  filter_pushdown?: boolean | null;
96
113
  sampling_pushdown?: boolean | null;
97
114
  late_materialization?: boolean | null;
98
- supported_expression_filters: string[];
115
+ filter_semantic_profiles: string[];
116
+ additional_filter_functions: FilterFunctionCapability[];
117
+ runtime_filter_algorithms: RuntimeFilterAlgorithmCapability[];
118
+ filter_evaluation_contexts: EvaluationContextCapability[];
99
119
  order_preservation?: OrderPreservation | null;
100
120
  max_workers?: number | null;
101
121
  supports_batch_index: boolean;
@@ -120,7 +140,7 @@ export interface MacroInfo {
120
140
  comment?: string | null;
121
141
  tags: Record<string, string>;
122
142
  name: string;
123
- schema_name: string;
143
+ schema_path: string[];
124
144
  macro_type: MacroType;
125
145
  parameters: string[];
126
146
  parameter_default_values?: /** @record-batch */ Uint8Array | null;
@@ -131,7 +151,7 @@ export interface IndexInfo {
131
151
  comment?: string | null;
132
152
  tags: Record<string, string>;
133
153
  name: string;
134
- schema_name: string;
154
+ schema_path: string[];
135
155
  table_name: string;
136
156
  index_type: string;
137
157
  constraint_type: IndexConstraintType;
@@ -145,7 +165,8 @@ export interface AggregateBindRequest {
145
165
  settings?: /** @record-batch */ Uint8Array | null;
146
166
  secrets?: /** @record-batch */ Uint8Array | null;
147
167
  attach_opaque_data?: Uint8Array | null;
148
- schema_name?: string | null;
168
+ schema_path?: string[] | null;
169
+ argument_names?: (string | null)[] | null;
149
170
  }
150
171
  export interface AggregateBindResponse {
151
172
  output_schema: Uint8Array;
@@ -156,7 +177,7 @@ export interface AggregateCombineRequest {
156
177
  execution_id: Uint8Array;
157
178
  merge_batch: Uint8Array;
158
179
  attach_opaque_data?: Uint8Array | null;
159
- schema_name?: string | null;
180
+ schema_path?: string[] | null;
160
181
  }
161
182
  export interface AggregateCombineResponse {
162
183
  }
@@ -165,7 +186,7 @@ export interface AggregateDestructorRequest {
165
186
  execution_id: Uint8Array;
166
187
  group_ids_batch: Uint8Array;
167
188
  attach_opaque_data?: Uint8Array | null;
168
- schema_name?: string | null;
189
+ schema_path?: string[] | null;
169
190
  }
170
191
  export interface AggregateDestructorResponse {
171
192
  }
@@ -175,7 +196,7 @@ export interface AggregateFinalizeRequest {
175
196
  group_ids_batch: Uint8Array;
176
197
  output_schema: Uint8Array;
177
198
  attach_opaque_data?: Uint8Array | null;
178
- schema_name?: string | null;
199
+ schema_path?: string[] | null;
179
200
  }
180
201
  export interface AggregateFinalizeResponse {
181
202
  result_batch: Uint8Array;
@@ -185,7 +206,7 @@ export interface AggregateStreamingChunkRequest {
185
206
  execution_id: Uint8Array;
186
207
  input_batch: Uint8Array;
187
208
  attach_opaque_data?: Uint8Array | null;
188
- schema_name?: string | null;
209
+ schema_path?: string[] | null;
189
210
  }
190
211
  export interface AggregateStreamingChunkResponse {
191
212
  result_batch: Uint8Array;
@@ -194,7 +215,7 @@ export interface AggregateStreamingCloseRequest {
194
215
  function_name: string;
195
216
  execution_id: Uint8Array;
196
217
  attach_opaque_data?: Uint8Array | null;
197
- schema_name?: string | null;
218
+ schema_path?: string[] | null;
198
219
  }
199
220
  export interface AggregateStreamingCloseResponse {
200
221
  }
@@ -208,7 +229,7 @@ export interface AggregateStreamingOpenRequest {
208
229
  settings?: /** @record-batch */ Uint8Array | null;
209
230
  secrets?: /** @record-batch */ Uint8Array | null;
210
231
  attach_opaque_data?: Uint8Array | null;
211
- schema_name?: string | null;
232
+ schema_path?: string[] | null;
212
233
  }
213
234
  export interface AggregateStreamingOpenResponse {
214
235
  execution_id: Uint8Array;
@@ -218,7 +239,7 @@ export interface AggregateUpdateRequest {
218
239
  execution_id: Uint8Array;
219
240
  input_batch: Uint8Array;
220
241
  attach_opaque_data?: Uint8Array | null;
221
- schema_name?: string | null;
242
+ schema_path?: string[] | null;
222
243
  }
223
244
  export interface AggregateUpdateResponse {
224
245
  }
@@ -230,7 +251,7 @@ export interface AggregateWindowRequest {
230
251
  frame_starts: number[];
231
252
  frame_ends: number[];
232
253
  attach_opaque_data?: Uint8Array | null;
233
- schema_name?: string | null;
254
+ schema_path?: string[] | null;
234
255
  }
235
256
  export interface AggregateWindowResponse {
236
257
  result_batch: Uint8Array;
@@ -245,7 +266,7 @@ export interface AggregateWindowBatchRequest {
245
266
  frame_starts: number[];
246
267
  frame_ends: number[];
247
268
  attach_opaque_data?: Uint8Array | null;
248
- schema_name?: string | null;
269
+ schema_path?: string[] | null;
249
270
  }
250
271
  export interface AggregateWindowBatchResponse {
251
272
  result_batch: Uint8Array;
@@ -255,7 +276,7 @@ export interface AggregateWindowDestructorRequest {
255
276
  execution_id: Uint8Array;
256
277
  partition_id: number;
257
278
  attach_opaque_data?: Uint8Array | null;
258
- schema_name?: string | null;
279
+ schema_path?: string[] | null;
259
280
  }
260
281
  export interface AggregateWindowDestructorResponse {
261
282
  }
@@ -270,7 +291,7 @@ export interface AggregateWindowInitRequest {
270
291
  frame_stats: Uint8Array;
271
292
  all_valid: Uint8Array;
272
293
  attach_opaque_data?: Uint8Array | null;
273
- schema_name?: string | null;
294
+ schema_path?: string[] | null;
274
295
  }
275
296
  export interface AggregateWindowInitResponse {
276
297
  }
@@ -297,7 +318,8 @@ export interface BindRequest {
297
318
  at_value?: string | null;
298
319
  copy_from?: CopyFromContext | null;
299
320
  copy_to?: CopyToContext | null;
300
- schema_name?: string | null;
321
+ schema_path?: string[] | null;
322
+ argument_names?: (string | null)[] | null;
301
323
  }
302
324
  export interface BindResponse {
303
325
  output_schema: Uint8Array;
@@ -306,12 +328,19 @@ export interface BindResponse {
306
328
  lookup_scopes: string[];
307
329
  lookup_names: string[];
308
330
  }
331
+ export interface ClientCapabilities {
332
+ engine: string;
333
+ native_formats: string[];
334
+ catalogs: string[];
335
+ can_stream: boolean;
336
+ filter_encodings: string[];
337
+ }
309
338
  export interface CatalogAttachRequest {
310
339
  name: string;
311
340
  options?: /** @record-batch */ Uint8Array | null;
312
341
  data_version_spec?: string | null;
313
342
  implementation_version?: string | null;
314
- client_capabilities?: Uint8Array | null;
343
+ client_capabilities?: ClientCapabilities | null;
315
344
  }
316
345
  export interface CatalogAttachResult {
317
346
  attach_opaque_data: Uint8Array;
@@ -345,7 +374,7 @@ export interface CatalogCreateRequest {
345
374
  }
346
375
  export interface IndexCreateRequest {
347
376
  attach_opaque_data: Uint8Array;
348
- schema_name: string;
377
+ schema_path: string[];
349
378
  name: string;
350
379
  table_name: string;
351
380
  index_type: string;
@@ -360,7 +389,7 @@ export interface IndexesResponse {
360
389
  }
361
390
  export interface MacroCreateRequest {
362
391
  attach_opaque_data: Uint8Array;
363
- schema_name: string;
392
+ schema_path: string[];
364
393
  name: string;
365
394
  macro_type: MacroType;
366
395
  parameters: string[];
@@ -387,7 +416,7 @@ export interface SchemasResponse {
387
416
  }
388
417
  export interface TableCreateRequest {
389
418
  attach_opaque_data: Uint8Array;
390
- schema_name: string;
419
+ schema_path: string[];
391
420
  name: string;
392
421
  columns: Uint8Array;
393
422
  on_conflict: OnConflict;
@@ -431,7 +460,7 @@ export interface TableBufferingCombineRequest {
431
460
  state_ids: Uint8Array[];
432
461
  attach_opaque_data?: Uint8Array | null;
433
462
  transaction_id?: Uint8Array | null;
434
- schema_name?: string | null;
463
+ schema_path?: string[] | null;
435
464
  }
436
465
  export interface TableBufferingCombineResponse {
437
466
  finalize_state_ids: Uint8Array[];
@@ -441,7 +470,7 @@ export interface TableBufferingDestructorRequest {
441
470
  execution_id: Uint8Array;
442
471
  attach_opaque_data?: Uint8Array | null;
443
472
  transaction_id?: Uint8Array | null;
444
- schema_name?: string | null;
473
+ schema_path?: string[] | null;
445
474
  }
446
475
  export interface TableBufferingDestructorResponse {
447
476
  }
@@ -452,7 +481,7 @@ export interface TableBufferingProcessRequest {
452
481
  attach_opaque_data?: Uint8Array | null;
453
482
  transaction_id?: Uint8Array | null;
454
483
  batch_index?: number | null;
455
- schema_name?: string | null;
484
+ schema_path?: string[] | null;
456
485
  }
457
486
  export interface TableBufferingProcessResponse {
458
487
  state_id: Uint8Array;
@@ -11,22 +11,37 @@ export declare const ScanBranchesResultSchema: import("../index.core.js").VgiSch
11
11
  export declare const ScanBranchSchema: import("../index.core.js").VgiSchema;
12
12
  export declare const ScanSplitSchema: import("../index.core.js").VgiSchema;
13
13
  export declare const AttachCatalogInfoSchema: import("../index.core.js").VgiSchema;
14
+ export declare const ForeignKeyInfoSchema: import("../index.core.js").VgiSchema;
14
15
  export declare const AggregateBindRequestSchema: import("../index.core.js").VgiSchema;
15
16
  export declare const AggregateCombineRequestSchema: import("../index.core.js").VgiSchema;
16
17
  export declare const AggregateDestructorRequestSchema: import("../index.core.js").VgiSchema;
17
18
  export declare const AggregateFinalizeRequestSchema: import("../index.core.js").VgiSchema;
19
+ export declare const AggregateStreamingChunkRequestSchema: import("../index.core.js").VgiSchema;
20
+ export declare const AggregateStreamingCloseRequestSchema: import("../index.core.js").VgiSchema;
21
+ export declare const AggregateStreamingOpenRequestSchema: import("../index.core.js").VgiSchema;
18
22
  export declare const AggregateUpdateRequestSchema: import("../index.core.js").VgiSchema;
23
+ export declare const AggregateWindowBatchRequestSchema: import("../index.core.js").VgiSchema;
24
+ export declare const AggregateWindowDestructorRequestSchema: import("../index.core.js").VgiSchema;
25
+ export declare const AggregateWindowInitRequestSchema: import("../index.core.js").VgiSchema;
26
+ export declare const AggregateWindowRequestSchema: import("../index.core.js").VgiSchema;
19
27
  export declare const BindRequestSchema: import("../index.core.js").VgiSchema;
20
28
  export declare const CatalogAttachRequestSchema: import("../index.core.js").VgiSchema;
29
+ export declare const CatalogCreateRequestSchema: import("../index.core.js").VgiSchema;
30
+ export declare const ClientCapabilitiesSchema: import("../index.core.js").VgiSchema;
21
31
  export declare const CopyFromContextSchema: import("../index.core.js").VgiSchema;
22
32
  export declare const CopyToContextSchema: import("../index.core.js").VgiSchema;
23
33
  export declare const GlobalInitResponseSchema: import("../index.core.js").VgiSchema;
34
+ export declare const IndexCreateRequestSchema: import("../index.core.js").VgiSchema;
24
35
  export declare const InitRequestSchema: import("../index.core.js").VgiSchema;
36
+ export declare const MacroCreateRequestSchema: import("../index.core.js").VgiSchema;
37
+ export declare const TableCreateRequestSchema: import("../index.core.js").VgiSchema;
25
38
  export declare const TableBufferingCombineRequestSchema: import("../index.core.js").VgiSchema;
26
39
  export declare const TableBufferingDestructorRequestSchema: import("../index.core.js").VgiSchema;
27
40
  export declare const TableBufferingProcessRequestSchema: import("../index.core.js").VgiSchema;
28
41
  export declare const TableFunctionCardinalityRequestSchema: import("../index.core.js").VgiSchema;
42
+ export declare const TableFunctionDynamicToStringRequestSchema: import("../index.core.js").VgiSchema;
29
43
  export declare const TableFunctionPlanRequestSchema: import("../index.core.js").VgiSchema;
44
+ export declare const TableFunctionStatisticsRequestSchema: import("../index.core.js").VgiSchema;
30
45
  export declare const AggregateBindResultSchema: import("../index.core.js").VgiSchema;
31
46
  export declare const AggregateCombineResultSchema: import("../index.core.js").VgiSchema;
32
47
  export declare const AggregateDestructorResultSchema: import("../index.core.js").VgiSchema;
@@ -1,4 +1,4 @@
1
- import { type AuthenticateFn } from "@query-farm/vgi-rpc";
1
+ import { type AuthenticateFn, type PeerAuthenticationPolicy, type PeerIdentityProvider, type PeerResolutionOptions } from "@query-farm/vgi-rpc";
2
2
  import { type ProtocolConfig } from "../protocol/dispatch.js";
3
3
  import { type LandingInfo } from "./landing.js";
4
4
  export interface VgiFetchOptions {
@@ -52,6 +52,12 @@ export interface VgiFetchOptions {
52
52
  * and the identity it returns is the one the worker seals `attach_opaque_data`
53
53
  * and split tokens under. */
54
54
  authenticate?: AuthenticateFn;
55
+ /** Off-wire transport identities, including a trusted Iroh HTTP bridge. */
56
+ peerIdentityProviders?: readonly PeerIdentityProvider[];
57
+ /** Policy composing peer evidence with application authentication. */
58
+ peerAuthenticationPolicy?: PeerAuthenticationPolicy;
59
+ /** Host adapter supplying the physical peer and multiplicity-preserving headers. */
60
+ peerResolutionContext?: (request: Request) => PeerResolutionOptions | Promise<PeerResolutionOptions>;
55
61
  }
56
62
  /**
57
63
  * Build a fetch handler suitable for `export default { fetch }` in a CF
@@ -12,7 +12,7 @@ export type { CatalogDescriptor, SchemaDescriptor, TableDescriptor, ViewDescript
12
12
  export { ReadOnlyCatalogInterface } from "./catalog/read-only.js";
13
13
  export { CompositeCatalogInterface } from "./catalog/composite.js";
14
14
  export { FunctionRegistry } from "./functions/registry.js";
15
- export { FunctionType, FunctionStability, NullHandling, OrderPreservation, OrderDependence, DistinctDependence, TableInOutPhase, DEFAULT_MAX_WORKERS, } from "./types.js";
15
+ export { FunctionType, FunctionStability, NullHandling, ArgumentMonotonicity, OrderPreservation, OrderDependence, DistinctDependence, TableInOutPhase, DEFAULT_MAX_WORKERS, } from "./types.js";
16
16
  export type { BindRequest, BindResponse, CopyFromContext, CopyToContext, InitRequest, GlobalInitResponse, TableCardinality, } from "./protocol/types.js";
17
17
  export { Arguments } from "./arguments/arguments.js";
18
18
  export { type ArgumentSpec, type ArgumentConstraints, argumentSpecsToSchema, schemaToArgumentSpecs, macroArgumentsSchema, macroParameterDocsFromSchema, formatRange, constraintSpecFields } from "./arguments/argument-spec.js";
@@ -43,3 +43,4 @@ export type { VgiClientOptions, TableFunctionOptions, ScalarFunctionOptions, Tab
43
43
  export { str, bytes, int, int32, float, float32, bool, toSchema, OutputCollector, AuthContext } from "@query-farm/vgi-rpc";
44
44
  export { subprocessConnect, httpConnect, tcpConnect } from "@query-farm/vgi-rpc";
45
45
  export type { RpcClient, StreamSession, LogMessage } from "@query-farm/vgi-rpc";
46
+ export { normalizeSchemaPath, schemaPathDisplay, schemaPathKey, schemaPathsEqual, type SchemaPath } from "./schema-path.js";