@query-farm/vgi 0.28.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 (121) hide show
  1. package/README.md +52 -8
  2. package/dist/arguments/argument-spec.d.ts +57 -2
  3. package/dist/arrow/impl-arrowjs/index.d.ts +1 -1
  4. package/dist/arrow/impl-arrowjs/iterate.d.ts +10 -1
  5. package/dist/arrow/impl-arrowjs/schema.d.ts +2 -0
  6. package/dist/arrow/impl-flechette/index.d.ts +1 -1
  7. package/dist/arrow/impl-flechette/iterate.d.ts +10 -1
  8. package/dist/arrow/impl-flechette/schema.d.ts +2 -0
  9. package/dist/arrow/index.d.ts +1 -1
  10. package/dist/arrow/schema-types.d.ts +3 -1
  11. package/dist/arrow/types.d.ts +39 -3
  12. package/dist/catalog/composite.d.ts +13 -13
  13. package/dist/catalog/descriptors.d.ts +7 -3
  14. package/dist/catalog/interface.d.ts +108 -38
  15. package/dist/catalog/read-only.d.ts +32 -15
  16. package/dist/client/client.d.ts +37 -30
  17. package/dist/client/types.d.ts +2 -0
  18. package/dist/client-entry.d.ts +1 -1
  19. package/dist/client-entry.js +791 -447
  20. package/dist/client-entry.js.map +18 -17
  21. package/dist/filter-pushdown/capabilities.d.ts +3 -0
  22. package/dist/filter-pushdown/deserialize.d.ts +14 -15
  23. package/dist/filter-pushdown/evaluate.d.ts +14 -44
  24. package/dist/filter-pushdown/index.d.ts +2 -2
  25. package/dist/filter-pushdown/types.d.ts +120 -68
  26. package/dist/functions/aggregate.d.ts +4 -0
  27. package/dist/functions/registry.d.ts +5 -5
  28. package/dist/functions/scalar.d.ts +6 -1
  29. package/dist/functions/table-buffering.d.ts +9 -0
  30. package/dist/functions/table-in-out.d.ts +13 -0
  31. package/dist/functions/table.d.ts +72 -2
  32. package/dist/functions/types.d.ts +60 -2
  33. package/dist/generated/vgi-client.d.ts +114 -26
  34. package/dist/generated/vgi-protocol-schemas.d.ts +34 -0
  35. package/dist/http/fetch.d.ts +16 -0
  36. package/dist/index.core.d.ts +4 -3
  37. package/dist/index.js +3396 -2064
  38. package/dist/index.js.map +55 -49
  39. package/dist/metadata/types.d.ts +15 -2
  40. package/dist/protocol/handlers/catalog/shared.d.ts +0 -8
  41. package/dist/protocol/handlers/function.d.ts +11 -0
  42. package/dist/protocol/handlers/shared.d.ts +3 -1
  43. package/dist/protocol/serializers/bind.d.ts +1 -2
  44. package/dist/protocol/serializers/cardinality.d.ts +1 -2
  45. package/dist/protocol/serializers/splits.d.ts +126 -0
  46. package/dist/protocol/types.d.ts +36 -3
  47. package/dist/request-auth.d.ts +28 -0
  48. package/dist/schema-path.d.ts +7 -0
  49. package/dist/serve-entry.d.ts +25 -0
  50. package/dist/serve-entry.js +1129 -569
  51. package/dist/serve-entry.js.map +36 -32
  52. package/dist/split-token.d.ts +88 -0
  53. package/dist/types.d.ts +8 -0
  54. package/dist/worker-cf-entry.js +2928 -1689
  55. package/dist/worker-cf-entry.js.map +51 -44
  56. package/dist/worker.d.ts +1 -1
  57. package/package.json +3 -3
  58. package/src/arguments/argument-spec.ts +93 -4
  59. package/src/arguments/arguments.ts +0 -1
  60. package/src/arrow/impl-arrowjs/index.ts +1 -1
  61. package/src/arrow/impl-arrowjs/iterate.ts +21 -0
  62. package/src/arrow/impl-arrowjs/schema.ts +4 -0
  63. package/src/arrow/impl-flechette/index.ts +1 -1
  64. package/src/arrow/impl-flechette/iterate.ts +24 -1
  65. package/src/arrow/impl-flechette/schema.ts +4 -0
  66. package/src/arrow/index.ts +1 -1
  67. package/src/arrow/schema-types.ts +4 -0
  68. package/src/arrow/types.ts +39 -3
  69. package/src/catalog/composite.ts +26 -26
  70. package/src/catalog/descriptors.ts +12 -3
  71. package/src/catalog/interface.ts +217 -72
  72. package/src/catalog/read-only.ts +141 -84
  73. package/src/client/client.ts +97 -73
  74. package/src/client/types.ts +2 -0
  75. package/src/client-entry.ts +2 -1
  76. package/src/filter-pushdown/capabilities.ts +13 -0
  77. package/src/filter-pushdown/collector.ts +22 -35
  78. package/src/filter-pushdown/deserialize.ts +657 -221
  79. package/src/filter-pushdown/evaluate.ts +410 -499
  80. package/src/filter-pushdown/index.ts +16 -2
  81. package/src/filter-pushdown/types.ts +88 -71
  82. package/src/functions/aggregate.ts +12 -1
  83. package/src/functions/copy-from.ts +2 -1
  84. package/src/functions/copy-to.ts +2 -1
  85. package/src/functions/registry.ts +24 -22
  86. package/src/functions/scalar.ts +37 -0
  87. package/src/functions/table-buffering.ts +48 -6
  88. package/src/functions/table-in-out.ts +194 -33
  89. package/src/functions/table.ts +187 -22
  90. package/src/functions/types.ts +64 -1
  91. package/src/generated/vgi-client.ts +122 -28
  92. package/src/generated/vgi-protocol-schemas.ts +455 -58
  93. package/src/http/fetch.ts +129 -2
  94. package/src/index.core.ts +4 -2
  95. package/src/metadata/resolve.ts +43 -1
  96. package/src/metadata/serialize.ts +43 -5
  97. package/src/metadata/types.ts +17 -1
  98. package/src/protocol/dispatch.ts +1 -1
  99. package/src/protocol/handlers/aggregate.ts +23 -12
  100. package/src/protocol/handlers/catalog/admin.ts +47 -54
  101. package/src/protocol/handlers/catalog/index_methods.ts +6 -13
  102. package/src/protocol/handlers/catalog/macro.ts +12 -20
  103. package/src/protocol/handlers/catalog/shared.ts +12 -57
  104. package/src/protocol/handlers/catalog/table.ts +49 -112
  105. package/src/protocol/handlers/catalog/view.ts +18 -22
  106. package/src/protocol/handlers/function.ts +311 -18
  107. package/src/protocol/handlers/shared.ts +12 -3
  108. package/src/protocol/handlers/table-buffering.ts +11 -8
  109. package/src/protocol/serializers/bind.ts +69 -67
  110. package/src/protocol/serializers/cardinality.ts +7 -7
  111. package/src/protocol/serializers/init.ts +52 -10
  112. package/src/protocol/serializers/splits.ts +221 -0
  113. package/src/protocol/state-serializer.ts +55 -1
  114. package/src/protocol/types.ts +36 -3
  115. package/src/request-auth.ts +73 -0
  116. package/src/schema-path.ts +25 -0
  117. package/src/serve-entry.ts +69 -2
  118. package/src/split-token.ts +297 -0
  119. package/src/types.ts +9 -0
  120. package/src/worker-cf-entry.ts +2 -1
  121. package/src/worker.ts +79 -14
@@ -2,7 +2,7 @@
2
2
  // GENERATED by vgi.codegen.ts_client. DO NOT EDIT BY HAND.
3
3
  //
4
4
  // Generator: vgi-gen-ts-client v1
5
- // Content hash: e0862da99312
5
+ // Content hash: 2833516bd990
6
6
  //
7
7
  // To regenerate:
8
8
  // uv run --project ~/Development/vgi-python vgi-gen-ts-client \
@@ -20,6 +20,7 @@ import {
20
20
  ViewInfoSchema,
21
21
  } from "./vgi-protocol-schemas.js";
22
22
 
23
+ export type ArgumentMonotonicity = "UNKNOWN" | "CONSTANT" | "NON_DECREASING" | "STRICTLY_INCREASING" | "NON_INCREASING" | "STRICTLY_DECREASING";
23
24
  export type DistinctDependence = "DISTINCT_DEPENDENT" | "NOT_DISTINCT_DEPENDENT";
24
25
  export type FunctionStability = "CONSISTENT" | "VOLATILE" | "CONSISTENT_WITHIN_QUERY";
25
26
  export type FunctionType = "SCALAR" | "TABLE" | "TABLE_BUFFERING" | "AGGREGATE";
@@ -56,7 +57,7 @@ export interface SchemaInfo {
56
57
  comment?: string | null;
57
58
  tags: Record<string, string>;
58
59
  attach_opaque_data: Uint8Array;
59
- name: string;
60
+ path: string[];
60
61
  estimated_object_count?: Record<string, number> | null;
61
62
  }
62
63
 
@@ -64,7 +65,7 @@ export interface TableInfo {
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
  columns: Uint8Array;
69
70
  not_null_constraints: number[];
70
71
  unique_constraints: number[][];
@@ -91,7 +92,7 @@ export interface ViewInfo {
91
92
  comment?: string | null;
92
93
  tags: Record<string, string>;
93
94
  name: string;
94
- schema_name: string;
95
+ schema_path: string[];
95
96
  definition: string;
96
97
  column_comments: Record<string, string>;
97
98
  }
@@ -102,6 +103,23 @@ export interface CatalogExample {
102
103
  expected_output?: string | null;
103
104
  }
104
105
 
106
+ export interface FilterFunctionCapability {
107
+ namespace: string;
108
+ name: string;
109
+ version: number;
110
+ }
111
+
112
+ export interface RuntimeFilterAlgorithmCapability {
113
+ namespace: string;
114
+ name: string;
115
+ version: number;
116
+ }
117
+
118
+ export interface EvaluationContextCapability {
119
+ profile: string;
120
+ provider_fingerprint?: string | null;
121
+ }
122
+
105
123
  export interface SecretLookupEntry {
106
124
  secret_type: string;
107
125
  scope?: string | null;
@@ -112,12 +130,14 @@ export interface FunctionInfo {
112
130
  comment?: string | null;
113
131
  tags: Record<string, string>;
114
132
  name: string;
115
- schema_name: string;
133
+ schema_path: string[];
116
134
  function_type: FunctionType;
117
135
  arguments: Uint8Array;
118
136
  output_schema: Uint8Array;
137
+ parameter_default_values?: /** @record-batch */ Uint8Array | null;
119
138
  stability?: FunctionStability | null;
120
139
  null_handling?: NullHandling | null;
140
+ argument_monotonicity?: ArgumentMonotonicity[] | null;
121
141
  description: string;
122
142
  examples: CatalogExample[];
123
143
  categories: string[];
@@ -125,10 +145,17 @@ export interface FunctionInfo {
125
145
  filter_pushdown?: boolean | null;
126
146
  sampling_pushdown?: boolean | null;
127
147
  late_materialization?: boolean | null;
128
- supported_expression_filters: string[];
148
+ filter_semantic_profiles: string[];
149
+ additional_filter_functions: FilterFunctionCapability[];
150
+ runtime_filter_algorithms: RuntimeFilterAlgorithmCapability[];
151
+ filter_evaluation_contexts: EvaluationContextCapability[];
129
152
  order_preservation?: OrderPreservation | null;
130
153
  max_workers?: number | null;
131
154
  supports_batch_index: boolean;
155
+ supports_splits: boolean;
156
+ filters_exactly_applied: boolean;
157
+ supports_positions: boolean;
158
+ split_token_ttl_seconds?: number | null;
132
159
  partition_kind: PartitionKind;
133
160
  order_dependent: OrderDependence;
134
161
  distinct_dependent: DistinctDependence;
@@ -147,7 +174,7 @@ export interface MacroInfo {
147
174
  comment?: string | null;
148
175
  tags: Record<string, string>;
149
176
  name: string;
150
- schema_name: string;
177
+ schema_path: string[];
151
178
  macro_type: MacroType;
152
179
  parameters: string[];
153
180
  parameter_default_values?: /** @record-batch */ Uint8Array | null;
@@ -159,7 +186,7 @@ export interface IndexInfo {
159
186
  comment?: string | null;
160
187
  tags: Record<string, string>;
161
188
  name: string;
162
- schema_name: string;
189
+ schema_path: string[];
163
190
  table_name: string;
164
191
  index_type: string;
165
192
  constraint_type: IndexConstraintType;
@@ -174,7 +201,8 @@ export interface AggregateBindRequest {
174
201
  settings?: /** @record-batch */ Uint8Array | null;
175
202
  secrets?: /** @record-batch */ Uint8Array | null;
176
203
  attach_opaque_data?: Uint8Array | null;
177
- schema_name?: string | null;
204
+ schema_path?: string[] | null;
205
+ argument_names?: (string | null)[] | null;
178
206
  }
179
207
 
180
208
  export interface AggregateBindResponse {
@@ -187,7 +215,7 @@ export interface AggregateCombineRequest {
187
215
  execution_id: Uint8Array;
188
216
  merge_batch: Uint8Array;
189
217
  attach_opaque_data?: Uint8Array | null;
190
- schema_name?: string | null;
218
+ schema_path?: string[] | null;
191
219
  }
192
220
 
193
221
  export interface AggregateCombineResponse {
@@ -198,7 +226,7 @@ export interface AggregateDestructorRequest {
198
226
  execution_id: Uint8Array;
199
227
  group_ids_batch: Uint8Array;
200
228
  attach_opaque_data?: Uint8Array | null;
201
- schema_name?: string | null;
229
+ schema_path?: string[] | null;
202
230
  }
203
231
 
204
232
  export interface AggregateDestructorResponse {
@@ -210,7 +238,7 @@ export interface AggregateFinalizeRequest {
210
238
  group_ids_batch: Uint8Array;
211
239
  output_schema: /** @arrow-schema */ Uint8Array;
212
240
  attach_opaque_data?: Uint8Array | null;
213
- schema_name?: string | null;
241
+ schema_path?: string[] | null;
214
242
  }
215
243
 
216
244
  export interface AggregateFinalizeResponse {
@@ -222,7 +250,7 @@ export interface AggregateStreamingChunkRequest {
222
250
  execution_id: Uint8Array;
223
251
  input_batch: Uint8Array;
224
252
  attach_opaque_data?: Uint8Array | null;
225
- schema_name?: string | null;
253
+ schema_path?: string[] | null;
226
254
  }
227
255
 
228
256
  export interface AggregateStreamingChunkResponse {
@@ -233,7 +261,7 @@ export interface AggregateStreamingCloseRequest {
233
261
  function_name: string;
234
262
  execution_id: Uint8Array;
235
263
  attach_opaque_data?: Uint8Array | null;
236
- schema_name?: string | null;
264
+ schema_path?: string[] | null;
237
265
  }
238
266
 
239
267
  export interface AggregateStreamingCloseResponse {
@@ -249,7 +277,7 @@ export interface AggregateStreamingOpenRequest {
249
277
  settings?: /** @record-batch */ Uint8Array | null;
250
278
  secrets?: /** @record-batch */ Uint8Array | null;
251
279
  attach_opaque_data?: Uint8Array | null;
252
- schema_name?: string | null;
280
+ schema_path?: string[] | null;
253
281
  }
254
282
 
255
283
  export interface AggregateStreamingOpenResponse {
@@ -261,7 +289,7 @@ export interface AggregateUpdateRequest {
261
289
  execution_id: Uint8Array;
262
290
  input_batch: Uint8Array;
263
291
  attach_opaque_data?: Uint8Array | null;
264
- schema_name?: string | null;
292
+ schema_path?: string[] | null;
265
293
  }
266
294
 
267
295
  export interface AggregateUpdateResponse {
@@ -275,7 +303,7 @@ export interface AggregateWindowRequest {
275
303
  frame_starts: number[];
276
304
  frame_ends: number[];
277
305
  attach_opaque_data?: Uint8Array | null;
278
- schema_name?: string | null;
306
+ schema_path?: string[] | null;
279
307
  }
280
308
 
281
309
  export interface AggregateWindowResponse {
@@ -292,7 +320,7 @@ export interface AggregateWindowBatchRequest {
292
320
  frame_starts: number[];
293
321
  frame_ends: number[];
294
322
  attach_opaque_data?: Uint8Array | null;
295
- schema_name?: string | null;
323
+ schema_path?: string[] | null;
296
324
  }
297
325
 
298
326
  export interface AggregateWindowBatchResponse {
@@ -304,7 +332,7 @@ export interface AggregateWindowDestructorRequest {
304
332
  execution_id: Uint8Array;
305
333
  partition_id: number;
306
334
  attach_opaque_data?: Uint8Array | null;
307
- schema_name?: string | null;
335
+ schema_path?: string[] | null;
308
336
  }
309
337
 
310
338
  export interface AggregateWindowDestructorResponse {
@@ -321,7 +349,7 @@ export interface AggregateWindowInitRequest {
321
349
  frame_stats: Uint8Array;
322
350
  all_valid: Uint8Array;
323
351
  attach_opaque_data?: Uint8Array | null;
324
- schema_name?: string | null;
352
+ schema_path?: string[] | null;
325
353
  }
326
354
 
327
355
  export interface AggregateWindowInitResponse {
@@ -352,7 +380,8 @@ export interface BindRequest {
352
380
  at_value?: string | null;
353
381
  copy_from?: CopyFromContext | null;
354
382
  copy_to?: CopyToContext | null;
355
- schema_name?: string | null;
383
+ schema_path?: string[] | null;
384
+ argument_names?: (string | null)[] | null;
356
385
  }
357
386
 
358
387
  export interface BindResponse {
@@ -363,11 +392,20 @@ export interface BindResponse {
363
392
  lookup_names: string[];
364
393
  }
365
394
 
395
+ export interface ClientCapabilities {
396
+ engine: string;
397
+ native_formats: string[];
398
+ catalogs: string[];
399
+ can_stream: boolean;
400
+ filter_encodings: string[];
401
+ }
402
+
366
403
  export interface CatalogAttachRequest {
367
404
  name: string;
368
405
  options?: /** @record-batch */ Uint8Array | null;
369
406
  data_version_spec?: string | null;
370
407
  implementation_version?: string | null;
408
+ client_capabilities?: ClientCapabilities | null;
371
409
  }
372
410
 
373
411
  export interface CatalogAttachResult {
@@ -406,7 +444,7 @@ export interface CatalogCreateRequest {
406
444
 
407
445
  export interface IndexCreateRequest {
408
446
  attach_opaque_data: Uint8Array;
409
- schema_name: string;
447
+ schema_path: string[];
410
448
  name: string;
411
449
  table_name: string;
412
450
  index_type: string;
@@ -423,7 +461,7 @@ export interface IndexesResponse {
423
461
 
424
462
  export interface MacroCreateRequest {
425
463
  attach_opaque_data: Uint8Array;
426
- schema_name: string;
464
+ schema_path: string[];
427
465
  name: string;
428
466
  macro_type: MacroType;
429
467
  parameters: string[];
@@ -456,7 +494,7 @@ export interface SchemasResponse {
456
494
 
457
495
  export interface TableCreateRequest {
458
496
  attach_opaque_data: Uint8Array;
459
- schema_name: string;
497
+ schema_path: string[];
460
498
  name: string;
461
499
  columns: Uint8Array;
462
500
  on_conflict: OnConflict;
@@ -483,6 +521,8 @@ export interface InitRequest {
483
521
  projection_ids?: number[] | null;
484
522
  pushdown_filters?: /** @record-batch */ Uint8Array | null;
485
523
  join_keys?: /** @record-batch */ Uint8Array[] | null;
524
+ split_tokens?: Uint8Array[] | null;
525
+ row_limit?: number | null;
486
526
  phase?: TableInOutFunctionInitPhase | null;
487
527
  finalize_state_id?: Uint8Array | null;
488
528
  execution_id?: Uint8Array | null;
@@ -502,7 +542,7 @@ export interface TableBufferingCombineRequest {
502
542
  state_ids: Uint8Array[];
503
543
  attach_opaque_data?: Uint8Array | null;
504
544
  transaction_id?: Uint8Array | null;
505
- schema_name?: string | null;
545
+ schema_path?: string[] | null;
506
546
  }
507
547
 
508
548
  export interface TableBufferingCombineResponse {
@@ -514,7 +554,7 @@ export interface TableBufferingDestructorRequest {
514
554
  execution_id: Uint8Array;
515
555
  attach_opaque_data?: Uint8Array | null;
516
556
  transaction_id?: Uint8Array | null;
517
- schema_name?: string | null;
557
+ schema_path?: string[] | null;
518
558
  }
519
559
 
520
560
  export interface TableBufferingDestructorResponse {
@@ -527,7 +567,7 @@ export interface TableBufferingProcessRequest {
527
567
  attach_opaque_data?: Uint8Array | null;
528
568
  transaction_id?: Uint8Array | null;
529
569
  batch_index?: number | null;
530
- schema_name?: string | null;
570
+ schema_path?: string[] | null;
531
571
  }
532
572
 
533
573
  export interface TableBufferingProcessResponse {
@@ -555,6 +595,61 @@ export interface TableFunctionDynamicToStringResponse {
555
595
  values: string[];
556
596
  }
557
597
 
598
+ export interface TableFunctionPlanRequest {
599
+ bind_call: BindRequest;
600
+ bind_opaque_data?: Uint8Array | null;
601
+ projection_ids?: number[] | null;
602
+ pushdown_filters?: /** @record-batch */ Uint8Array | null;
603
+ join_keys?: /** @record-batch */ Uint8Array[] | null;
604
+ row_limit?: number | null;
605
+ target_split_bytes?: number | null;
606
+ min_splits?: number | null;
607
+ max_splits_per_response?: number | null;
608
+ cursor?: Uint8Array | null;
609
+ refined_filters?: /** @record-batch */ Uint8Array | null;
610
+ filters_complete: boolean;
611
+ start_position?: Uint8Array | null;
612
+ end_position?: Uint8Array | null;
613
+ order_by_column_name?: string | null;
614
+ order_by_direction?: OrderByDirection | null;
615
+ order_by_null_order?: OrderByNullOrder | null;
616
+ order_by_limit?: number | null;
617
+ tablesample_percentage?: number | null;
618
+ tablesample_seed?: number | null;
619
+ }
620
+
621
+ export interface ScanSplit {
622
+ payload: Uint8Array;
623
+ token: Uint8Array;
624
+ estimated_rows?: number | null;
625
+ rows_exact: boolean;
626
+ estimated_bytes?: number | null;
627
+ partition_bounds?: /** @record-batch */ Uint8Array | null;
628
+ column_statistics?: Uint8Array | null;
629
+ location_ids?: number[] | null;
630
+ start_position?: Uint8Array | null;
631
+ end_position?: Uint8Array | null;
632
+ }
633
+
634
+ export interface PlanResponse {
635
+ splits: ScanSplit[] | Uint8Array[];
636
+ next_cursors?: Uint8Array[] | null;
637
+ execution_id?: Uint8Array | null;
638
+ init_opaque_data?: Uint8Array | null;
639
+ max_workers?: number | null;
640
+ estimated_total_splits?: number | null;
641
+ estimated_total_rows?: number | null;
642
+ estimated_total_bytes?: number | null;
643
+ catalog_version?: number | null;
644
+ scope: string;
645
+ locations?: string[] | null;
646
+ partitioning?: Uint8Array[] | null;
647
+ sort_order?: Uint8Array[] | null;
648
+ cache_max_age_seconds?: number | null;
649
+ start_position?: Uint8Array | null;
650
+ end_position?: Uint8Array | null;
651
+ }
652
+
558
653
  export interface TableFunctionStatisticsRequest {
559
654
  bind_call: BindRequest;
560
655
  bind_opaque_data?: Uint8Array | null;
@@ -578,4 +673,3 @@ export const encodeTableInfo = (v: TableInfo): Uint8Array => encodeASD(TableInfo
578
673
  export const decodeTableInfo = (b: Uint8Array): TableInfo => decodeASD<TableInfo>(TableInfoSchema, b);
579
674
  export const encodeViewInfo = (v: ViewInfo): Uint8Array => encodeASD(ViewInfoSchema, v);
580
675
  export const decodeViewInfo = (b: Uint8Array): ViewInfo => decodeASD<ViewInfo>(ViewInfoSchema, b);
581
-