@f-inverse/jammi-client 0.49.1 → 0.51.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 (51) hide show
  1. package/README.md +6 -2
  2. package/dist/gen/jammi/v1/audit_pb.d.ts +1 -1
  3. package/dist/gen/jammi/v1/audit_pb.js +1 -1
  4. package/dist/gen/jammi/v1/catalog_pb.d.ts +306 -29
  5. package/dist/gen/jammi/v1/catalog_pb.d.ts.map +1 -1
  6. package/dist/gen/jammi/v1/catalog_pb.js +65 -37
  7. package/dist/gen/jammi/v1/catalog_pb.js.map +1 -1
  8. package/dist/gen/jammi/v1/embedding_pb.d.ts +401 -43
  9. package/dist/gen/jammi/v1/embedding_pb.d.ts.map +1 -1
  10. package/dist/gen/jammi/v1/embedding_pb.js +128 -9
  11. package/dist/gen/jammi/v1/embedding_pb.js.map +1 -1
  12. package/dist/gen/jammi/v1/error_pb.d.ts +809 -24
  13. package/dist/gen/jammi/v1/error_pb.d.ts.map +1 -1
  14. package/dist/gen/jammi/v1/error_pb.js +154 -24
  15. package/dist/gen/jammi/v1/error_pb.js.map +1 -1
  16. package/dist/gen/jammi/v1/eval_pb.d.ts +1 -1
  17. package/dist/gen/jammi/v1/eval_pb.js +1 -1
  18. package/dist/gen/jammi/v1/gang_pb.d.ts +730 -0
  19. package/dist/gen/jammi/v1/gang_pb.d.ts.map +1 -0
  20. package/dist/gen/jammi/v1/gang_pb.js +268 -0
  21. package/dist/gen/jammi/v1/gang_pb.js.map +1 -0
  22. package/dist/gen/jammi/v1/inference_pb.d.ts +69 -32
  23. package/dist/gen/jammi/v1/inference_pb.d.ts.map +1 -1
  24. package/dist/gen/jammi/v1/inference_pb.js +23 -43
  25. package/dist/gen/jammi/v1/inference_pb.js.map +1 -1
  26. package/dist/gen/jammi/v1/job_pb.d.ts +773 -0
  27. package/dist/gen/jammi/v1/job_pb.d.ts.map +1 -0
  28. package/dist/gen/jammi/v1/job_pb.js +154 -0
  29. package/dist/gen/jammi/v1/job_pb.js.map +1 -0
  30. package/dist/gen/jammi/v1/lifecycle_pb.d.ts +1 -1
  31. package/dist/gen/jammi/v1/lifecycle_pb.js +1 -1
  32. package/dist/gen/jammi/v1/peer_pb.d.ts +325 -0
  33. package/dist/gen/jammi/v1/peer_pb.d.ts.map +1 -0
  34. package/dist/gen/jammi/v1/peer_pb.js +138 -0
  35. package/dist/gen/jammi/v1/peer_pb.js.map +1 -0
  36. package/dist/gen/jammi/v1/pipeline_pb.d.ts +218 -10
  37. package/dist/gen/jammi/v1/pipeline_pb.d.ts.map +1 -1
  38. package/dist/gen/jammi/v1/pipeline_pb.js +57 -11
  39. package/dist/gen/jammi/v1/pipeline_pb.js.map +1 -1
  40. package/dist/gen/jammi/v1/training_pb.d.ts +91 -345
  41. package/dist/gen/jammi/v1/training_pb.d.ts.map +1 -1
  42. package/dist/gen/jammi/v1/training_pb.js +18 -76
  43. package/dist/gen/jammi/v1/training_pb.js.map +1 -1
  44. package/dist/gen/jammi/v1/trigger_pb.d.ts +3 -1
  45. package/dist/gen/jammi/v1/trigger_pb.d.ts.map +1 -1
  46. package/dist/gen/jammi/v1/trigger_pb.js.map +1 -1
  47. package/dist/index.d.ts +6 -2
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +3 -2
  50. package/dist/index.js.map +1 -1
  51. package/package.json +1 -1
@@ -55,9 +55,9 @@ export declare const RpcStatusSchema: GenMessage<RpcStatus>;
55
55
  *
56
56
  * The standard gRPC code set is insufficient to distinguish the engine's
57
57
  * failure modes — `invalid_argument` alone collapses Source / Model / Tenant /
58
- * Config / Schema / Eval into one code — so a typed detail payload is the
59
- * ADR-01 §5.3-sanctioned mechanism for "structured error information when the
60
- * standard gRPC code set is insufficient". A typed `oneof` (not a
58
+ * Config / Schema / Eval into one code — so a typed detail payload carries
59
+ * the structured error information the standard code set cannot. A typed
60
+ * `oneof` (not a
61
61
  * `google.rpc.Any`) keeps it type-driven: each engine variant reachable on the
62
62
  * embedding/search verb surface has its own message carrying exactly the
63
63
  * fields needed to reconstruct it.
@@ -181,10 +181,188 @@ export type JammiErrorDetail = Message<"jammi.v1.error.JammiErrorDetail"> & {
181
181
  case: "modelReferenced";
182
182
  } | {
183
183
  /**
184
- * @generated from field: jammi.v1.error.ModelNotFoundError model_not_found = 18;
184
+ * @generated from field: jammi.v1.error.RowGoneError row_gone = 19;
185
185
  */
186
- value: ModelNotFoundError;
187
- case: "modelNotFound";
186
+ value: RowGoneError;
187
+ case: "rowGone";
188
+ } | {
189
+ /**
190
+ * @generated from field: jammi.v1.error.TenantMismatchError tenant_mismatch = 20;
191
+ */
192
+ value: TenantMismatchError;
193
+ case: "tenantMismatch";
194
+ } | {
195
+ /**
196
+ * @generated from field: jammi.v1.error.LeaseLostError lease_lost = 21;
197
+ */
198
+ value: LeaseLostError;
199
+ case: "leaseLost";
200
+ } | {
201
+ /**
202
+ * @generated from field: jammi.v1.error.CasFailedError cas_failed = 22;
203
+ */
204
+ value: CasFailedError;
205
+ case: "casFailed";
206
+ } | {
207
+ /**
208
+ * @generated from field: jammi.v1.error.SourceBusyError source_busy = 23;
209
+ */
210
+ value: SourceBusyError;
211
+ case: "sourceBusy";
212
+ } | {
213
+ /**
214
+ * @generated from field: jammi.v1.error.JobAttemptSupersededError job_attempt_superseded = 24;
215
+ */
216
+ value: JobAttemptSupersededError;
217
+ case: "jobAttemptSuperseded";
218
+ } | {
219
+ /**
220
+ * @generated from field: jammi.v1.error.JobCancelledError job_cancelled = 25;
221
+ */
222
+ value: JobCancelledError;
223
+ case: "jobCancelled";
224
+ } | {
225
+ /**
226
+ * `JammiError::Lexical(String)` — a single human-readable message like
227
+ * `inference`/`catalog`/`config`, so it reuses `StringError` rather than
228
+ * a dedicated message.
229
+ *
230
+ * @generated from field: jammi.v1.error.StringError lexical = 26;
231
+ */
232
+ value: StringError;
233
+ case: "lexical";
234
+ } | {
235
+ /**
236
+ * @generated from field: jammi.v1.error.IncompatibleFormatError incompatible_format = 27;
237
+ */
238
+ value: IncompatibleFormatError;
239
+ case: "incompatibleFormat";
240
+ } | {
241
+ /**
242
+ * @generated from field: jammi.v1.error.DependencyCycleError dependency_cycle = 28;
243
+ */
244
+ value: DependencyCycleError;
245
+ case: "dependencyCycle";
246
+ } | {
247
+ /**
248
+ * @generated from field: jammi.v1.error.NotRecomputableError not_recomputable = 29;
249
+ */
250
+ value: NotRecomputableError;
251
+ case: "notRecomputable";
252
+ } | {
253
+ /**
254
+ * `JammiError::Unavailable { resource, reason }` — a placed segment whose
255
+ * owner, retry candidate and local load all failed. Maps to gRPC
256
+ * `UNAVAILABLE`.
257
+ *
258
+ * @generated from field: jammi.v1.error.UnavailableError unavailable = 30;
259
+ */
260
+ value: UnavailableError;
261
+ case: "unavailable";
262
+ } | {
263
+ /**
264
+ * @generated from field: jammi.v1.error.InvalidKeyError invalid_key = 32;
265
+ */
266
+ value: InvalidKeyError;
267
+ case: "invalidKey";
268
+ } | {
269
+ /**
270
+ * @generated from field: jammi.v1.error.VersionUnavailableError version_unavailable = 33;
271
+ */
272
+ value: VersionUnavailableError;
273
+ case: "versionUnavailable";
274
+ } | {
275
+ /**
276
+ * @generated from field: jammi.v1.error.NotRefreshableError not_refreshable = 34;
277
+ */
278
+ value: NotRefreshableError;
279
+ case: "notRefreshable";
280
+ } | {
281
+ /**
282
+ * @generated from field: jammi.v1.error.DefinitionDriftError definition_drift = 35;
283
+ */
284
+ value: DefinitionDriftError;
285
+ case: "definitionDrift";
286
+ } | {
287
+ /**
288
+ * @generated from field: jammi.v1.error.NonUniqueKeyError non_unique_key = 36;
289
+ */
290
+ value: NonUniqueKeyError;
291
+ case: "nonUniqueKey";
292
+ } | {
293
+ /**
294
+ * `JammiError::ParentMoved { table, expected, found }` — a parent-pinned
295
+ * version CAS (allocation or publish) lost a race against a concurrent
296
+ * refresh/compaction that published first. Maps to `Aborted`, the same
297
+ * retryable-conflict code as `CasFailed`/`LeaseLost`.
298
+ *
299
+ * Tags 37 and 38 are intentionally vacant and must not be reused: builds
300
+ * that never shipped assigned them.
301
+ *
302
+ * @generated from field: jammi.v1.error.ParentMovedError parent_moved = 39;
303
+ */
304
+ value: ParentMovedError;
305
+ case: "parentMoved";
306
+ } | {
307
+ /**
308
+ * `JammiError::EmptyTrainingSet { source_query }` — a training set whose
309
+ * source projection yielded zero rows. Maps to `InvalidArgument`, the
310
+ * caller-input convention `InvalidKey`/`NonUniqueKey` carry.
311
+ *
312
+ * @generated from field: jammi.v1.error.EmptyTrainingSetError empty_training_set = 40;
313
+ */
314
+ value: EmptyTrainingSetError;
315
+ case: "emptyTrainingSet";
316
+ } | {
317
+ /**
318
+ * `JammiError::ResourcesExhausted { limit_bytes, detail }` — a
319
+ * DataFusion plan operator or an engine-side memory reservation tried
320
+ * to grow past the session's `[engine] memory_limit`-bounded pool.
321
+ * Maps to `RESOURCE_EXHAUSTED`.
322
+ *
323
+ * @generated from field: jammi.v1.error.ResourcesExhaustedError resources_exhausted = 41;
324
+ */
325
+ value: ResourcesExhaustedError;
326
+ case: "resourcesExhausted";
327
+ } | {
328
+ /**
329
+ * `JammiError::MissingManifest { table }` — a read of a result table's
330
+ * recorded materialization found no sidecar. The absent-resource
331
+ * convention `VersionUnavailable` follows: maps to `NOT_FOUND`.
332
+ *
333
+ * @generated from field: jammi.v1.error.MissingManifestError missing_manifest = 47;
334
+ */
335
+ value: MissingManifestError;
336
+ case: "missingManifest";
337
+ } | {
338
+ /**
339
+ * `JammiError::NoQueryEncoder { table, producer }` — a query could not be
340
+ * encoded into a table whose vectors no engine encoder produced. The
341
+ * caller's request names an impossible encode: `INVALID_ARGUMENT`.
342
+ *
343
+ * @generated from field: jammi.v1.error.NoQueryEncoderError no_query_encoder = 48;
344
+ */
345
+ value: NoQueryEncoderError;
346
+ case: "noQueryEncoder";
347
+ } | {
348
+ /**
349
+ * `JammiError::NotFound(Missing)` — a catalog row the call names or
350
+ * needs does not exist for the caller's tenant. Maps to `NOT_FOUND`.
351
+ *
352
+ * @generated from field: jammi.v1.error.NotFoundError not_found = 49;
353
+ */
354
+ value: NotFoundError;
355
+ case: "notFound";
356
+ } | {
357
+ /**
358
+ * `JammiError::AmbiguousAsofMatch { instant }` — an as-of join found
359
+ * several facts at a matched instant and was given no tie-break column.
360
+ * Maps to `INVALID_ARGUMENT`.
361
+ *
362
+ * @generated from field: jammi.v1.error.AmbiguousAsofMatchError ambiguous_asof_match = 50;
363
+ */
364
+ value: AmbiguousAsofMatchError;
365
+ case: "ambiguousAsofMatch";
188
366
  } | {
189
367
  case: undefined;
190
368
  value?: undefined;
@@ -195,6 +373,497 @@ export type JammiErrorDetail = Message<"jammi.v1.error.JammiErrorDetail"> & {
195
373
  * Use `create(JammiErrorDetailSchema)` to create a new message.
196
374
  */
197
375
  export declare const JammiErrorDetailSchema: GenMessage<JammiErrorDetail>;
376
+ /**
377
+ * `JammiError::RowGone { table }`. A building-row compare-and-set matched no
378
+ * row because the row is gone; deletes nothing. Maps to `NotFound`.
379
+ *
380
+ * @generated from message jammi.v1.error.RowGoneError
381
+ */
382
+ export type RowGoneError = Message<"jammi.v1.error.RowGoneError"> & {
383
+ /**
384
+ * @generated from field: string table = 1;
385
+ */
386
+ table: string;
387
+ };
388
+ /**
389
+ * Describes the message jammi.v1.error.RowGoneError.
390
+ * Use `create(RowGoneErrorSchema)` to create a new message.
391
+ */
392
+ export declare const RowGoneErrorSchema: GenMessage<RowGoneError>;
393
+ /**
394
+ * `JammiError::TenantMismatch { table }`. A building-row compare-and-set
395
+ * matched no row because the row belongs to another tenant (only possible
396
+ * under a non-admin binding); never deletes. Maps to `PermissionDenied`.
397
+ *
398
+ * @generated from message jammi.v1.error.TenantMismatchError
399
+ */
400
+ export type TenantMismatchError = Message<"jammi.v1.error.TenantMismatchError"> & {
401
+ /**
402
+ * @generated from field: string table = 1;
403
+ */
404
+ table: string;
405
+ };
406
+ /**
407
+ * Describes the message jammi.v1.error.TenantMismatchError.
408
+ * Use `create(TenantMismatchErrorSchema)` to create a new message.
409
+ */
410
+ export declare const TenantMismatchErrorSchema: GenMessage<TenantMismatchError>;
411
+ /**
412
+ * `JammiError::LeaseLost { table }`. A building-row compare-and-set matched
413
+ * no row because the row's lease was claimed by another writer; the caller
414
+ * deletes nothing. Maps to `Aborted` (a retryable conflict, not a permanent
415
+ * precondition failure).
416
+ *
417
+ * @generated from message jammi.v1.error.LeaseLostError
418
+ */
419
+ export type LeaseLostError = Message<"jammi.v1.error.LeaseLostError"> & {
420
+ /**
421
+ * @generated from field: string table = 1;
422
+ */
423
+ table: string;
424
+ };
425
+ /**
426
+ * Describes the message jammi.v1.error.LeaseLostError.
427
+ * Use `create(LeaseLostErrorSchema)` to create a new message.
428
+ */
429
+ export declare const LeaseLostErrorSchema: GenMessage<LeaseLostError>;
430
+ /**
431
+ * `JammiError::CasFailed { table, status }`. A building-row compare-and-set
432
+ * matched no row because the row already left `building`; never re-promotes,
433
+ * never deletes. Maps to `Aborted` (the same retryable-conflict family as
434
+ * `LeaseLost` — the caller's view of the row was stale).
435
+ *
436
+ * @generated from message jammi.v1.error.CasFailedError
437
+ */
438
+ export type CasFailedError = Message<"jammi.v1.error.CasFailedError"> & {
439
+ /**
440
+ * @generated from field: string table = 1;
441
+ */
442
+ table: string;
443
+ /**
444
+ * @generated from field: string status = 2;
445
+ */
446
+ status: string;
447
+ };
448
+ /**
449
+ * Describes the message jammi.v1.error.CasFailedError.
450
+ * Use `create(CasFailedErrorSchema)` to create a new message.
451
+ */
452
+ export declare const CasFailedErrorSchema: GenMessage<CasFailedError>;
453
+ /**
454
+ * `JammiError::ParentMoved { table, expected, found }`. A parent-pinned
455
+ * version CAS (the allocation UPDATE or the publish table-row swap) matched
456
+ * no row because `current_version` no longer equals the parent the caller's
457
+ * delta was derived from — a concurrent refresh/compaction published first.
458
+ * The ONE classification for both the allocation miss and the publish
459
+ * table-row miss. Maps to `Aborted` (the same retryable-conflict family as
460
+ * `CasFailed`/`LeaseLost`). `expected`/`found` are absent only for the base
461
+ * publish's `current_version IS NULL` CAS.
462
+ *
463
+ * @generated from message jammi.v1.error.ParentMovedError
464
+ */
465
+ export type ParentMovedError = Message<"jammi.v1.error.ParentMovedError"> & {
466
+ /**
467
+ * @generated from field: string table = 1;
468
+ */
469
+ table: string;
470
+ /**
471
+ * @generated from field: optional int64 expected = 2;
472
+ */
473
+ expected?: bigint | undefined;
474
+ /**
475
+ * @generated from field: optional int64 found = 3;
476
+ */
477
+ found?: bigint | undefined;
478
+ };
479
+ /**
480
+ * Describes the message jammi.v1.error.ParentMovedError.
481
+ * Use `create(ParentMovedErrorSchema)` to create a new message.
482
+ */
483
+ export declare const ParentMovedErrorSchema: GenMessage<ParentMovedError>;
484
+ /**
485
+ * `JammiError::SourceBusy { source_id, table }`. A source delete was refused
486
+ * because a live-lease `building` row still references it. Maps to
487
+ * `FailedPrecondition` — a retry once the writer finishes or its lease
488
+ * expires.
489
+ *
490
+ * @generated from message jammi.v1.error.SourceBusyError
491
+ */
492
+ export type SourceBusyError = Message<"jammi.v1.error.SourceBusyError"> & {
493
+ /**
494
+ * @generated from field: string source_id = 1;
495
+ */
496
+ sourceId: string;
497
+ /**
498
+ * @generated from field: string table = 2;
499
+ */
500
+ table: string;
501
+ };
502
+ /**
503
+ * Describes the message jammi.v1.error.SourceBusyError.
504
+ * Use `create(SourceBusyErrorSchema)` to create a new message.
505
+ */
506
+ export declare const SourceBusyErrorSchema: GenMessage<SourceBusyError>;
507
+ /**
508
+ * `JammiError::JobAttemptSuperseded { job_id }`. A `create_result_table`
509
+ * call's `jobs.partial_result` compare-and-set matched zero rows: the job is
510
+ * either not `running` (a peer reclaimed it) or another attempt already
511
+ * recorded a `partial_result` for it first. Maps to `Aborted` (the same
512
+ * retryable-conflict family as `LeaseLost`/`CasFailed` — the caller's view of
513
+ * the job's attempt was stale).
514
+ *
515
+ * @generated from message jammi.v1.error.JobAttemptSupersededError
516
+ */
517
+ export type JobAttemptSupersededError = Message<"jammi.v1.error.JobAttemptSupersededError"> & {
518
+ /**
519
+ * @generated from field: string job_id = 1;
520
+ */
521
+ jobId: string;
522
+ };
523
+ /**
524
+ * Describes the message jammi.v1.error.JobAttemptSupersededError.
525
+ * Use `create(JobAttemptSupersededErrorSchema)` to create a new message.
526
+ */
527
+ export declare const JobAttemptSupersededErrorSchema: GenMessage<JobAttemptSupersededError>;
528
+ /**
529
+ * `JammiError::JobCancelled { job_id }`. A job's executor observed
530
+ * `jobs.cancel_requested` at a checkpoint boundary and stopped; the job is
531
+ * recorded `failed` with this message. Maps to `Cancelled` — the caller
532
+ * asked for exactly this outcome, so it is not a fault, but it is also not
533
+ * the terminal state the caller's own request expected without checking
534
+ * status.
535
+ *
536
+ * @generated from message jammi.v1.error.JobCancelledError
537
+ */
538
+ export type JobCancelledError = Message<"jammi.v1.error.JobCancelledError"> & {
539
+ /**
540
+ * @generated from field: string job_id = 1;
541
+ */
542
+ jobId: string;
543
+ };
544
+ /**
545
+ * Describes the message jammi.v1.error.JobCancelledError.
546
+ * Use `create(JobCancelledErrorSchema)` to create a new message.
547
+ */
548
+ export declare const JobCancelledErrorSchema: GenMessage<JobCancelledError>;
549
+ /**
550
+ * `JammiError::IncompatibleFormat { artifact, found, supported }`. A
551
+ * persisted artifact carries a format stamp this build cannot read (the
552
+ * `.rowmap`, the ANN `.manifest.json` version, or the USearch graph's
553
+ * `backend_version`).
554
+ *
555
+ * @generated from message jammi.v1.error.IncompatibleFormatError
556
+ */
557
+ export type IncompatibleFormatError = Message<"jammi.v1.error.IncompatibleFormatError"> & {
558
+ /**
559
+ * @generated from field: string artifact = 1;
560
+ */
561
+ artifact: string;
562
+ /**
563
+ * @generated from field: string found = 2;
564
+ */
565
+ found: string;
566
+ /**
567
+ * @generated from field: string supported = 3;
568
+ */
569
+ supported: string;
570
+ };
571
+ /**
572
+ * Describes the message jammi.v1.error.IncompatibleFormatError.
573
+ * Use `create(IncompatibleFormatErrorSchema)` to create a new message.
574
+ */
575
+ export declare const IncompatibleFormatErrorSchema: GenMessage<IncompatibleFormatError>;
576
+ /**
577
+ * `JammiError::DependencyCycle { table }`. A `derives-from` lineage walk
578
+ * revisited a table it was already descending through — a corruption of the
579
+ * recorded `input_anchors_json`, not a caller condition.
580
+ *
581
+ * @generated from message jammi.v1.error.DependencyCycleError
582
+ */
583
+ export type DependencyCycleError = Message<"jammi.v1.error.DependencyCycleError"> & {
584
+ /**
585
+ * @generated from field: string table = 1;
586
+ */
587
+ table: string;
588
+ };
589
+ /**
590
+ * Describes the message jammi.v1.error.DependencyCycleError.
591
+ * Use `create(DependencyCycleErrorSchema)` to create a new message.
592
+ */
593
+ export declare const DependencyCycleErrorSchema: GenMessage<DependencyCycleError>;
594
+ /**
595
+ * `JammiError::NotRecomputable { table }`. A `recompute` was asked to
596
+ * re-produce a table the engine has no faithful replay for (a table with no
597
+ * recorded descriptor, or an `External`-producer table).
598
+ *
599
+ * @generated from message jammi.v1.error.NotRecomputableError
600
+ */
601
+ export type NotRecomputableError = Message<"jammi.v1.error.NotRecomputableError"> & {
602
+ /**
603
+ * @generated from field: string table = 1;
604
+ */
605
+ table: string;
606
+ };
607
+ /**
608
+ * Describes the message jammi.v1.error.NotRecomputableError.
609
+ * Use `create(NotRecomputableErrorSchema)` to create a new message.
610
+ */
611
+ export declare const NotRecomputableErrorSchema: GenMessage<NotRecomputableError>;
612
+ /**
613
+ * `JammiError::MissingManifest { table }`. The table carries no
614
+ * `.materialization.json` sidecar, so it has no recorded definition to
615
+ * describe.
616
+ *
617
+ * @generated from message jammi.v1.error.MissingManifestError
618
+ */
619
+ export type MissingManifestError = Message<"jammi.v1.error.MissingManifestError"> & {
620
+ /**
621
+ * @generated from field: string table = 1;
622
+ */
623
+ table: string;
624
+ };
625
+ /**
626
+ * Describes the message jammi.v1.error.MissingManifestError.
627
+ * Use `create(MissingManifestErrorSchema)` to create a new message.
628
+ */
629
+ export declare const MissingManifestErrorSchema: GenMessage<MissingManifestError>;
630
+ /**
631
+ * `JammiError::NoQueryEncoder { table, producer }`.
632
+ *
633
+ * @generated from message jammi.v1.error.NoQueryEncoderError
634
+ */
635
+ export type NoQueryEncoderError = Message<"jammi.v1.error.NoQueryEncoderError"> & {
636
+ /**
637
+ * @generated from field: string table = 1;
638
+ */
639
+ table: string;
640
+ /**
641
+ * @generated from field: string producer = 2;
642
+ */
643
+ producer: string;
644
+ };
645
+ /**
646
+ * Describes the message jammi.v1.error.NoQueryEncoderError.
647
+ * Use `create(NoQueryEncoderErrorSchema)` to create a new message.
648
+ */
649
+ export declare const NoQueryEncoderErrorSchema: GenMessage<NoQueryEncoderError>;
650
+ /**
651
+ * `JammiError::Unavailable`: the resource that could not be served (`segment
652
+ * {table}/{id}`) and why the last rung of the failure ladder failed.
653
+ *
654
+ * @generated from message jammi.v1.error.UnavailableError
655
+ */
656
+ export type UnavailableError = Message<"jammi.v1.error.UnavailableError"> & {
657
+ /**
658
+ * @generated from field: string resource = 1;
659
+ */
660
+ resource: string;
661
+ /**
662
+ * @generated from field: string reason = 2;
663
+ */
664
+ reason: string;
665
+ };
666
+ /**
667
+ * Describes the message jammi.v1.error.UnavailableError.
668
+ * Use `create(UnavailableErrorSchema)` to create a new message.
669
+ */
670
+ export declare const UnavailableErrorSchema: GenMessage<UnavailableError>;
671
+ /**
672
+ * `JammiError::InvalidKey { column, null_count }`. A `NULL` in the key column
673
+ * of a source scanned for embedding / inference / refresh — refused typed at
674
+ * the input edge before any model call, with the exact null count. A
675
+ * data-shape fault, so it maps to `InvalidArgument`.
676
+ *
677
+ * @generated from message jammi.v1.error.InvalidKeyError
678
+ */
679
+ export type InvalidKeyError = Message<"jammi.v1.error.InvalidKeyError"> & {
680
+ /**
681
+ * @generated from field: string column = 1;
682
+ */
683
+ column: string;
684
+ /**
685
+ * @generated from field: uint64 null_count = 2;
686
+ */
687
+ nullCount: bigint;
688
+ };
689
+ /**
690
+ * Describes the message jammi.v1.error.InvalidKeyError.
691
+ * Use `create(InvalidKeyErrorSchema)` to create a new message.
692
+ */
693
+ export declare const InvalidKeyErrorSchema: GenMessage<InvalidKeyError>;
694
+ /**
695
+ * `JammiError::VersionUnavailable { table, version }`. A versioned result
696
+ * table whose CURRENT version cannot be served (its version row is `failed`
697
+ * or its manifest is definitively absent). The absent-resource convention:
698
+ * maps to `NotFound`.
699
+ *
700
+ * @generated from message jammi.v1.error.VersionUnavailableError
701
+ */
702
+ export type VersionUnavailableError = Message<"jammi.v1.error.VersionUnavailableError"> & {
703
+ /**
704
+ * @generated from field: string table = 1;
705
+ */
706
+ table: string;
707
+ /**
708
+ * @generated from field: int64 version = 2;
709
+ */
710
+ version: bigint;
711
+ };
712
+ /**
713
+ * Describes the message jammi.v1.error.VersionUnavailableError.
714
+ * Use `create(VersionUnavailableErrorSchema)` to create a new message.
715
+ */
716
+ export declare const VersionUnavailableErrorSchema: GenMessage<VersionUnavailableError>;
717
+ /**
718
+ * `JammiError::NotRefreshable { table, reason }`. A refresh/compaction of a
719
+ * table it cannot serve incrementally; `reason` is the engine's stable token
720
+ * (`missing_content_hash` / `current_version_unavailable` / `not_ready` /
721
+ * `not_embedding_table`). "Fix state, then retry" → `FailedPrecondition`.
722
+ *
723
+ * @generated from message jammi.v1.error.NotRefreshableError
724
+ */
725
+ export type NotRefreshableError = Message<"jammi.v1.error.NotRefreshableError"> & {
726
+ /**
727
+ * @generated from field: string table = 1;
728
+ */
729
+ table: string;
730
+ /**
731
+ * @generated from field: string reason = 2;
732
+ */
733
+ reason: string;
734
+ };
735
+ /**
736
+ * Describes the message jammi.v1.error.NotRefreshableError.
737
+ * Use `create(NotRefreshableErrorSchema)` to create a new message.
738
+ */
739
+ export declare const NotRefreshableErrorSchema: GenMessage<NotRefreshableError>;
740
+ /**
741
+ * `JammiError::DefinitionDrift { table, recorded, current }`. The definition
742
+ * a refresh would run under no longer hashes to the table's recorded
743
+ * `definition_hash` (a model or environment change). The environment, not the
744
+ * argument, must change before a retry → `FailedPrecondition`.
745
+ *
746
+ * @generated from message jammi.v1.error.DefinitionDriftError
747
+ */
748
+ export type DefinitionDriftError = Message<"jammi.v1.error.DefinitionDriftError"> & {
749
+ /**
750
+ * @generated from field: string table = 1;
751
+ */
752
+ table: string;
753
+ /**
754
+ * @generated from field: string recorded = 2;
755
+ */
756
+ recorded: string;
757
+ /**
758
+ * @generated from field: string current = 3;
759
+ */
760
+ current: string;
761
+ };
762
+ /**
763
+ * Describes the message jammi.v1.error.DefinitionDriftError.
764
+ * Use `create(DefinitionDriftErrorSchema)` to create a new message.
765
+ */
766
+ export declare const DefinitionDriftErrorSchema: GenMessage<DefinitionDriftError>;
767
+ /**
768
+ * One duplicated key and its exact count.
769
+ *
770
+ * @generated from message jammi.v1.error.KeyCount
771
+ */
772
+ export type KeyCount = Message<"jammi.v1.error.KeyCount"> & {
773
+ /**
774
+ * @generated from field: string key = 1;
775
+ */
776
+ key: string;
777
+ /**
778
+ * @generated from field: uint64 count = 2;
779
+ */
780
+ count: bigint;
781
+ };
782
+ /**
783
+ * Describes the message jammi.v1.error.KeyCount.
784
+ * Use `create(KeyCountSchema)` to create a new message.
785
+ */
786
+ export declare const KeyCountSchema: GenMessage<KeyCount>;
787
+ /**
788
+ * `JammiError::NonUniqueKey { table, scan, keys, total }`. A refresh found
789
+ * the same key more than once on a complete scan (`scan` is `source` or
790
+ * `parent`); `keys` carries at most ten. A data-shape fault →
791
+ * `InvalidArgument`.
792
+ *
793
+ * @generated from message jammi.v1.error.NonUniqueKeyError
794
+ */
795
+ export type NonUniqueKeyError = Message<"jammi.v1.error.NonUniqueKeyError"> & {
796
+ /**
797
+ * @generated from field: string table = 1;
798
+ */
799
+ table: string;
800
+ /**
801
+ * @generated from field: string scan = 2;
802
+ */
803
+ scan: string;
804
+ /**
805
+ * @generated from field: repeated jammi.v1.error.KeyCount keys = 3;
806
+ */
807
+ keys: KeyCount[];
808
+ /**
809
+ * @generated from field: uint64 total = 4;
810
+ */
811
+ total: bigint;
812
+ };
813
+ /**
814
+ * Describes the message jammi.v1.error.NonUniqueKeyError.
815
+ * Use `create(NonUniqueKeyErrorSchema)` to create a new message.
816
+ */
817
+ export declare const NonUniqueKeyErrorSchema: GenMessage<NonUniqueKeyError>;
818
+ /**
819
+ * `JammiError::EmptyTrainingSet { source_query }`. A training set's source
820
+ * projection yielded zero rows, so the producer refuses before any catalog row
821
+ * or byte exists. A degenerate input the caller must change →
822
+ * `InvalidArgument`, the same convention `InvalidKey`/`NonUniqueKey` follow.
823
+ *
824
+ * @generated from message jammi.v1.error.EmptyTrainingSetError
825
+ */
826
+ export type EmptyTrainingSetError = Message<"jammi.v1.error.EmptyTrainingSetError"> & {
827
+ /**
828
+ * The producer's query text that yielded no rows. `source_query`, not
829
+ * `source`: the engine variant's field carries that name so `thiserror` does
830
+ * not read it as the error's `std::error::Error::source()`.
831
+ *
832
+ * @generated from field: string source_query = 1;
833
+ */
834
+ sourceQuery: string;
835
+ };
836
+ /**
837
+ * Describes the message jammi.v1.error.EmptyTrainingSetError.
838
+ * Use `create(EmptyTrainingSetErrorSchema)` to create a new message.
839
+ */
840
+ export declare const EmptyTrainingSetErrorSchema: GenMessage<EmptyTrainingSetError>;
841
+ /**
842
+ * `JammiError::ResourcesExhausted { limit_bytes, detail }`. A DataFusion plan
843
+ * operator (a `SortPreservingMergeExec`'s per-partition reservation, an
844
+ * external sorter's spill buffer) or an engine-side consumer registered
845
+ * directly against the session's memory pool tried to grow past `[engine]
846
+ * memory_limit`'s bound. `limit_bytes` is best-effort (0 when the raising
847
+ * message carried no recoverable pool size); `detail` is the raising
848
+ * operator's/consumer's own message, verbatim. Maps to `RESOURCE_EXHAUSTED`.
849
+ *
850
+ * @generated from message jammi.v1.error.ResourcesExhaustedError
851
+ */
852
+ export type ResourcesExhaustedError = Message<"jammi.v1.error.ResourcesExhaustedError"> & {
853
+ /**
854
+ * @generated from field: uint64 limit_bytes = 1;
855
+ */
856
+ limitBytes: bigint;
857
+ /**
858
+ * @generated from field: string detail = 2;
859
+ */
860
+ detail: string;
861
+ };
862
+ /**
863
+ * Describes the message jammi.v1.error.ResourcesExhaustedError.
864
+ * Use `create(ResourcesExhaustedErrorSchema)` to create a new message.
865
+ */
866
+ export declare const ResourcesExhaustedErrorSchema: GenMessage<ResourcesExhaustedError>;
198
867
  /**
199
868
  * `JammiError::ChannelCatalog(ChannelCatalogError)`. The inner taxonomy is
200
869
  * engine-owned and every variant's fields reconstruct, so it crosses the wire
@@ -336,25 +1005,93 @@ export type ModelReferencedError = Message<"jammi.v1.error.ModelReferencedError"
336
1005
  */
337
1006
  export declare const ModelReferencedErrorSchema: GenMessage<ModelReferencedError>;
338
1007
  /**
339
- * `JammiError::ModelNotFound { model_id }`. A `delete_model` call resolved no
340
- * model row for the caller's tenant. Distinct from
341
- * `ModelError` (a bad-argument model fault → `InvalidArgument`): an absent row
342
- * is a NotFound → `NotFound`, so it carries its own variant rather than folding
343
- * onto the generic model error.
1008
+ * `JammiError::NotFound(Missing)`: which catalog row is absent. A row the
1009
+ * caller named carries its id; a source's ready index carries the source and
1010
+ * the index kind (`embedding` / `lexical`), which names the verb that builds
1011
+ * one.
344
1012
  *
345
- * @generated from message jammi.v1.error.ModelNotFoundError
1013
+ * @generated from message jammi.v1.error.NotFoundError
346
1014
  */
347
- export type ModelNotFoundError = Message<"jammi.v1.error.ModelNotFoundError"> & {
1015
+ export type NotFoundError = Message<"jammi.v1.error.NotFoundError"> & {
348
1016
  /**
349
- * @generated from field: string model_id = 1;
1017
+ * @generated from oneof jammi.v1.error.NotFoundError.missing
350
1018
  */
351
- modelId: string;
1019
+ missing: {
1020
+ /**
1021
+ * @generated from field: string source_id = 1;
1022
+ */
1023
+ value: string;
1024
+ case: "sourceId";
1025
+ } | {
1026
+ /**
1027
+ * @generated from field: string model_id = 2;
1028
+ */
1029
+ value: string;
1030
+ case: "modelId";
1031
+ } | {
1032
+ /**
1033
+ * @generated from field: string job_id = 3;
1034
+ */
1035
+ value: string;
1036
+ case: "jobId";
1037
+ } | {
1038
+ /**
1039
+ * @generated from field: string result_table = 4;
1040
+ */
1041
+ value: string;
1042
+ case: "resultTable";
1043
+ } | {
1044
+ /**
1045
+ * @generated from field: jammi.v1.error.ReadyIndexMissing ready_index = 5;
1046
+ */
1047
+ value: ReadyIndexMissing;
1048
+ case: "readyIndex";
1049
+ } | {
1050
+ case: undefined;
1051
+ value?: undefined;
1052
+ };
352
1053
  };
353
1054
  /**
354
- * Describes the message jammi.v1.error.ModelNotFoundError.
355
- * Use `create(ModelNotFoundErrorSchema)` to create a new message.
1055
+ * Describes the message jammi.v1.error.NotFoundError.
1056
+ * Use `create(NotFoundErrorSchema)` to create a new message.
356
1057
  */
357
- export declare const ModelNotFoundErrorSchema: GenMessage<ModelNotFoundError>;
1058
+ export declare const NotFoundErrorSchema: GenMessage<NotFoundError>;
1059
+ /**
1060
+ * `JammiError::AmbiguousAsofMatch { instant }`.
1061
+ *
1062
+ * @generated from message jammi.v1.error.AmbiguousAsofMatchError
1063
+ */
1064
+ export type AmbiguousAsofMatchError = Message<"jammi.v1.error.AmbiguousAsofMatchError"> & {
1065
+ /**
1066
+ * @generated from field: string instant = 1;
1067
+ */
1068
+ instant: string;
1069
+ };
1070
+ /**
1071
+ * Describes the message jammi.v1.error.AmbiguousAsofMatchError.
1072
+ * Use `create(AmbiguousAsofMatchErrorSchema)` to create a new message.
1073
+ */
1074
+ export declare const AmbiguousAsofMatchErrorSchema: GenMessage<AmbiguousAsofMatchError>;
1075
+ /**
1076
+ * `Missing::ReadyIndex { source_id, index }`.
1077
+ *
1078
+ * @generated from message jammi.v1.error.ReadyIndexMissing
1079
+ */
1080
+ export type ReadyIndexMissing = Message<"jammi.v1.error.ReadyIndexMissing"> & {
1081
+ /**
1082
+ * @generated from field: string source_id = 1;
1083
+ */
1084
+ sourceId: string;
1085
+ /**
1086
+ * @generated from field: string index = 2;
1087
+ */
1088
+ index: string;
1089
+ };
1090
+ /**
1091
+ * Describes the message jammi.v1.error.ReadyIndexMissing.
1092
+ * Use `create(ReadyIndexMissingSchema)` to create a new message.
1093
+ */
1094
+ export declare const ReadyIndexMissingSchema: GenMessage<ReadyIndexMissing>;
358
1095
  /**
359
1096
  * `JammiError::MutableTable(MutableTableError)`. The inner taxonomy is
360
1097
  * engine-owned and every variant's fields reconstruct, so it crosses the wire
@@ -419,6 +1156,18 @@ export type MutableTableErrorDetail = Message<"jammi.v1.error.MutableTableErrorD
419
1156
  */
420
1157
  value: BackendErrorDetail;
421
1158
  case: "backend";
1159
+ } | {
1160
+ /**
1161
+ * @generated from field: jammi.v1.error.MutableWriteConflict write_conflict = 9;
1162
+ */
1163
+ value: MutableWriteConflict;
1164
+ case: "writeConflict";
1165
+ } | {
1166
+ /**
1167
+ * @generated from field: jammi.v1.error.MutableAmbiguousUpdate ambiguous_update = 10;
1168
+ */
1169
+ value: MutableAmbiguousUpdate;
1170
+ case: "ambiguousUpdate";
422
1171
  } | {
423
1172
  case: undefined;
424
1173
  value?: undefined;
@@ -429,6 +1178,48 @@ export type MutableTableErrorDetail = Message<"jammi.v1.error.MutableTableErrorD
429
1178
  * Use `create(MutableTableErrorDetailSchema)` to create a new message.
430
1179
  */
431
1180
  export declare const MutableTableErrorDetailSchema: GenMessage<MutableTableErrorDetail>;
1181
+ /**
1182
+ * `MutableTableError::WriteConflict { table, rows }`: rows an UPDATE / DELETE
1183
+ * selected changed before its write; nothing was written.
1184
+ *
1185
+ * @generated from message jammi.v1.error.MutableWriteConflict
1186
+ */
1187
+ export type MutableWriteConflict = Message<"jammi.v1.error.MutableWriteConflict"> & {
1188
+ /**
1189
+ * @generated from field: string table = 1;
1190
+ */
1191
+ table: string;
1192
+ /**
1193
+ * @generated from field: uint64 rows = 2;
1194
+ */
1195
+ rows: bigint;
1196
+ };
1197
+ /**
1198
+ * Describes the message jammi.v1.error.MutableWriteConflict.
1199
+ * Use `create(MutableWriteConflictSchema)` to create a new message.
1200
+ */
1201
+ export declare const MutableWriteConflictSchema: GenMessage<MutableWriteConflict>;
1202
+ /**
1203
+ * `MutableTableError::AmbiguousUpdate { table, key }`: an UPDATE gave one row
1204
+ * more than one new value.
1205
+ *
1206
+ * @generated from message jammi.v1.error.MutableAmbiguousUpdate
1207
+ */
1208
+ export type MutableAmbiguousUpdate = Message<"jammi.v1.error.MutableAmbiguousUpdate"> & {
1209
+ /**
1210
+ * @generated from field: string table = 1;
1211
+ */
1212
+ table: string;
1213
+ /**
1214
+ * @generated from field: string key = 2;
1215
+ */
1216
+ key: string;
1217
+ };
1218
+ /**
1219
+ * Describes the message jammi.v1.error.MutableAmbiguousUpdate.
1220
+ * Use `create(MutableAmbiguousUpdateSchema)` to create a new message.
1221
+ */
1222
+ export declare const MutableAmbiguousUpdateSchema: GenMessage<MutableAmbiguousUpdate>;
432
1223
  /**
433
1224
  * `MutableTableError::Backend(BackendError)`. The backend taxonomy is
434
1225
  * engine-owned; every variant but `Sqlx` reconstructs field-for-field. A raw
@@ -721,12 +1512,6 @@ export type TriggerErrorDetail = Message<"jammi.v1.error.TriggerErrorDetail"> &
721
1512
  */
722
1513
  value: string;
723
1514
  case: "predicateUnsupported";
724
- } | {
725
- /**
726
- * @generated from field: uint64 offset_evicted = 9;
727
- */
728
- value: bigint;
729
- case: "offsetEvicted";
730
1515
  } | {
731
1516
  /**
732
1517
  * `TriggerError::BackingTable(MutableTableError)` — engine-owned, nested