@littlebigbrain/client 0.9.1 → 0.10.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.
package/dist/client.d.ts CHANGED
@@ -400,19 +400,22 @@ export declare class LbbClient {
400
400
  fullTextSearch(body: Schemas["FullTextSearchRequest"], opts?: ReadConsistencyOptions): Promise<Schemas["FullTextSearchResponse"]>;
401
401
  /** ANN/vector search. */
402
402
  embeddingSearch(body: Schemas["EmbeddingSearchRequest"], opts?: ReadConsistencyOptions): Promise<Schemas["EmbeddingSearchResponse"]>;
403
- /** Bounded k-hop graph traversal. */
404
- traverse(body: Schemas["TraverseRequest"]): Promise<Schemas["TraverseResponse"]>;
405
- /** Resolve a query to seed entities, then return bounded paths. */
406
- semanticTraverse(body: Schemas["SemanticTraverseRequest"]): Promise<Schemas["SemanticTraverseResponse"]>;
407
- /** Ranked incoming/outgoing neighborhood for a graph entity. */
403
+ /**
404
+ * Ranked incoming/outgoing neighborhood for a graph entity.
405
+ *
406
+ * `edges` caps the edges returned per direction (default 1000, maximum
407
+ * 10000). When a cap cuts a direction the response carries a `truncation`
408
+ * block; an uncut response omits it entirely.
409
+ */
408
410
  entityNeighborhood(opts: {
409
411
  id?: string;
410
412
  type?: string;
411
413
  name?: string;
412
414
  relations?: string[];
413
415
  asOf?: string;
416
+ edges?: number;
414
417
  }): Promise<Schemas["EntityNeighborhoodResponse"]>;
415
- /** Exact type cardinality plus a bounded deterministic sample from ranged adjacency. */
418
+ /** Exact type cardinality plus a bounded deterministic sample from Base. */
416
419
  entityTypeSample(opts: {
417
420
  type: string;
418
421
  limit?: number;
package/dist/client.js CHANGED
@@ -560,6 +560,7 @@ export class LbbClient {
560
560
  blank_node_scope: opts.blankNodeScope,
561
561
  resource_type: opts.resourceType,
562
562
  edge_idempotency: opts.edgeIdempotency,
563
+ build: opts.build,
563
564
  },
564
565
  idempotencyKey: opts.idempotencyKey ?? this.idempotencyKey("import-rdf"),
565
566
  });
@@ -953,16 +954,13 @@ export class LbbClient {
953
954
  body: this.mergeReadConsistency(body, opts),
954
955
  });
955
956
  }
956
- // --- traversal ---
957
- /** Bounded k-hop graph traversal. */
958
- traverse(body) {
959
- return this.request("POST", "/v1/graph/traverse", { body });
960
- }
961
- /** Resolve a query to seed entities, then return bounded paths. */
962
- semanticTraverse(body) {
963
- return this.request("POST", "/v1/graph/semantic-traverse", { body });
964
- }
965
- /** Ranked incoming/outgoing neighborhood for a graph entity. */
957
+ /**
958
+ * Ranked incoming/outgoing neighborhood for a graph entity.
959
+ *
960
+ * `edges` caps the edges returned per direction (default 1000, maximum
961
+ * 10000). When a cap cuts a direction the response carries a `truncation`
962
+ * block; an uncut response omits it entirely.
963
+ */
966
964
  entityNeighborhood(opts) {
967
965
  return this.request("GET", "/v1/graph/entity/neighborhood", {
968
966
  query: {
@@ -971,10 +969,11 @@ export class LbbClient {
971
969
  name: opts.name,
972
970
  relations: opts.relations?.join(","),
973
971
  as_of: opts.asOf,
972
+ edges: opts.edges,
974
973
  },
975
974
  });
976
975
  }
977
- /** Exact type cardinality plus a bounded deterministic sample from ranged adjacency. */
976
+ /** Exact type cardinality plus a bounded deterministic sample from Base. */
978
977
  entityTypeSample(opts) {
979
978
  const { type, limit, ...request } = opts;
980
979
  return this.request("GET", "/v1/graph/entities/sample", {
@@ -1167,9 +1166,7 @@ export class LbbClient {
1167
1166
  lineage.bm25_indexed_commit_seq != null &&
1168
1167
  lineage.bm25_indexed_commit_seq >= targetSeq &&
1169
1168
  lineage.ann_indexed_commit_seq != null &&
1170
- lineage.ann_indexed_commit_seq >= targetSeq &&
1171
- lineage.adjacency_indexed_commit_seq != null &&
1172
- lineage.adjacency_indexed_commit_seq >= targetSeq) {
1169
+ lineage.ann_indexed_commit_seq >= targetSeq) {
1173
1170
  return {
1174
1171
  metadata: last.data,
1175
1172
  lineage,
@@ -99,8 +99,7 @@ export declare class EntityNamespace {
99
99
  constructor(client: LbbClient);
100
100
  /**
101
101
  * Return the exact type cardinality and a bounded deterministic sample from
102
- * the ranged adjacency family pinned by the published generation. A missing
103
- * family fails closed rather than falling back to an exhaustive scan.
102
+ * the Base family pinned by the published generation.
104
103
  */
105
104
  sample(opts: {
106
105
  type: string;
@@ -162,7 +162,7 @@ export class FactsNamespace {
162
162
  * predicates and literal term details are preserved as edge metadata.
163
163
  */
164
164
  importRdf(rdf, opts = {}) {
165
- const { format = "ntriples", baseIri, graphUri, blankNodeScope, batch, strict, observedAt, resourceType, edgeIdempotency, ...request } = opts;
165
+ const { format = "ntriples", baseIri, graphUri, blankNodeScope, batch, strict, observedAt, resourceType, edgeIdempotency, build, ...request } = opts;
166
166
  return this.client.request("POST", "/v1/graph/import/rdf", {
167
167
  ...request,
168
168
  idempotencyKey: request.idempotencyKey ?? this.client.idempotencyKey("import-rdf"),
@@ -183,6 +183,7 @@ export class FactsNamespace {
183
183
  blank_node_scope: blankNodeScope,
184
184
  resource_type: resourceType,
185
185
  edge_idempotency: edgeIdempotency,
186
+ build,
186
187
  },
187
188
  });
188
189
  }
@@ -261,8 +262,7 @@ export class EntityNamespace {
261
262
  }
262
263
  /**
263
264
  * Return the exact type cardinality and a bounded deterministic sample from
264
- * the ranged adjacency family pinned by the published generation. A missing
265
- * family fails closed rather than falling back to an exhaustive scan.
265
+ * the Base family pinned by the published generation.
266
266
  */
267
267
  sample(opts) {
268
268
  return this.client.entityTypeSample(opts);
package/dist/schema.d.ts CHANGED
@@ -337,7 +337,7 @@ export interface paths {
337
337
  path?: never;
338
338
  cookie?: never;
339
339
  };
340
- /** Bounded class sample from the ranged adjacency index */
340
+ /** Bounded class sample from the published Base family */
341
341
  get: operations["get_v1_graph_entities_sample"];
342
342
  put?: never;
343
343
  post?: never;
@@ -605,23 +605,6 @@ export interface paths {
605
605
  patch?: never;
606
606
  trace?: never;
607
607
  };
608
- "/v1/graph/semantic-traverse": {
609
- parameters: {
610
- query?: never;
611
- header?: never;
612
- path?: never;
613
- cookie?: never;
614
- };
615
- get?: never;
616
- put?: never;
617
- /** Resolve a query to seeds, then return bounded paths */
618
- post: operations["post_v1_graph_semantic_traverse"];
619
- delete?: never;
620
- options?: never;
621
- head?: never;
622
- patch?: never;
623
- trace?: never;
624
- };
625
608
  "/v1/graph/summary": {
626
609
  parameters: {
627
610
  query?: never;
@@ -639,24 +622,6 @@ export interface paths {
639
622
  patch?: never;
640
623
  trace?: never;
641
624
  };
642
- "/v1/graph/traverse": {
643
- parameters: {
644
- query?: never;
645
- header?: never;
646
- path?: never;
647
- cookie?: never;
648
- };
649
- /** Bounded graph traversal (query-string convenience) */
650
- get: operations["get_v1_graph_traverse"];
651
- put?: never;
652
- /** Bounded graph traversal */
653
- post: operations["post_v1_graph_traverse"];
654
- delete?: never;
655
- options?: never;
656
- head?: never;
657
- patch?: never;
658
- trace?: never;
659
- };
660
625
  "/v1/graphs": {
661
626
  parameters: {
662
627
  query?: never;
@@ -1179,7 +1144,7 @@ export interface paths {
1179
1144
  };
1180
1145
  get?: never;
1181
1146
  put?: never;
1182
- /** Basic-graph-pattern (BGP) analytic query over the permutation view */
1147
+ /** Basic-graph-pattern (BGP) analytic query over the published RDF dataset */
1183
1148
  post: operations["post_v1_query_analytics"];
1184
1149
  delete?: never;
1185
1150
  options?: never;
@@ -1807,7 +1772,7 @@ export interface components {
1807
1772
  /**
1808
1773
  * @description A basic-graph-pattern query: a conjunction of triple patterns evaluated over
1809
1774
  * the graph's current edges (joined on shared variables), served from the
1810
- * object-storage permutation view.
1775
+ * conformant published RDF dataset.
1811
1776
  */
1812
1777
  AnalyticQueryRequest: {
1813
1778
  /**
@@ -2430,6 +2395,22 @@ export interface components {
2430
2395
  observations: components["schemas"]["ObservationRow"][];
2431
2396
  outgoing: components["schemas"]["GraphEdgeRow"][];
2432
2397
  snapshot: components["schemas"]["SnapshotView"];
2398
+ truncation?: null | components["schemas"]["EntityDetailTruncation"];
2399
+ };
2400
+ /**
2401
+ * @description Which of an entity read's degree-proportional collections were cut, and by
2402
+ * how much. Only the cut collections appear.
2403
+ */
2404
+ EntityDetailTruncation: {
2405
+ edges?: null | components["schemas"]["TruncatedCollection"];
2406
+ history?: null | components["schemas"]["TruncatedCollection"];
2407
+ observations?: null | components["schemas"]["TruncatedCollection"];
2408
+ /**
2409
+ * @description True when the request's object-read budget stopped the read before its
2410
+ * row caps did, so the counts below are floors for a different reason:
2411
+ * the read gave up rather than the collection being full.
2412
+ */
2413
+ truncated_by_read_budget?: boolean;
2433
2414
  };
2434
2415
  EntityEmbeddingInput: {
2435
2416
  /**
@@ -2512,7 +2493,6 @@ export interface components {
2512
2493
  };
2513
2494
  EntityId: string;
2514
2495
  EntityMetadataResponse: {
2515
- adjacency_indexed_commit_seq?: null | components["schemas"]["CommitSeq"];
2516
2496
  ann_indexed_commit_seq?: null | components["schemas"]["CommitSeq"];
2517
2497
  bm25_indexed_commit_seq?: null | components["schemas"]["CommitSeq"];
2518
2498
  entity: components["schemas"]["EntityView"];
@@ -2535,25 +2515,43 @@ export interface components {
2535
2515
  as_of_commit_seq?: number | null;
2536
2516
  as_of_valid_time?: string | null;
2537
2517
  entity: components["schemas"]["EntitySelector"];
2518
+ /**
2519
+ * @description Maximum edges returned **per direction**, clamped by the engine to
2520
+ * [`MAX_NEIGHBORHOOD_EDGES_PER_DIRECTION`] and defaulting to
2521
+ * [`DEFAULT_NEIGHBORHOOD_EDGES_PER_DIRECTION`]. Both read paths are scoped
2522
+ * to the entity's degree, but a supernode's degree is itself unbounded, so
2523
+ * this is the backstop that keeps one hub read from costing a serving node
2524
+ * its whole request budget.
2525
+ *
2526
+ * The budget is per-direction rather than shared: a shared one is spent
2527
+ * entirely on whichever direction is walked first, so a hub's out-edges
2528
+ * consume it and the read reports no incoming edges at all.
2529
+ */
2530
+ max_edges_per_direction?: number | null;
2538
2531
  relations?: string[] | null;
2539
2532
  };
2540
2533
  /**
2541
2534
  * @description Result of an entity point lookup: the entity plus its out/in neighborhood.
2542
- * Public reads use adjacency for the published watermark and the same
2543
- * generation's Base family for historical pins; both paths cost the entity's
2544
- * degree rather than the whole graph.
2535
+ * Public reads use the generation's Base family and cost the entity's degree
2536
+ * rather than the whole graph.
2545
2537
  */
2546
2538
  EntityNeighborhoodResponse: {
2547
2539
  entity: components["schemas"]["EntityView"];
2548
2540
  incoming: components["schemas"]["NeighborhoodEdge"][];
2549
2541
  outgoing: components["schemas"]["NeighborhoodEdge"][];
2550
- /**
2551
- * @description True when served directly from the persisted adjacency family. False
2552
- * when an exact historical pin was reduced from the same published
2553
- * generation's Base family.
2554
- */
2542
+ /** @description True when served through immutable ranged Base blocks. */
2555
2543
  served_from_ranged: boolean;
2556
2544
  snapshot: components["schemas"]["SnapshotView"];
2545
+ truncation?: null | components["schemas"]["EntityNeighborhoodTruncation"];
2546
+ };
2547
+ /**
2548
+ * @description Which directions of a neighborhood listing were cut, and by how much. Only
2549
+ * the cut directions appear. The two directions are reported separately
2550
+ * because they are budgeted separately.
2551
+ */
2552
+ EntityNeighborhoodTruncation: {
2553
+ incoming?: null | components["schemas"]["TruncatedCollection"];
2554
+ outgoing?: null | components["schemas"]["TruncatedCollection"];
2557
2555
  };
2558
2556
  /**
2559
2557
  * @description Literal property values to attach to one entity (matched by type + name).
@@ -2638,8 +2636,7 @@ export interface components {
2638
2636
  };
2639
2637
  /**
2640
2638
  * @description Exact class cardinality plus a bounded deterministic sample served from the
2641
- * ranged adjacency meta. `indexed_commit_seq` makes index lag explicit while
2642
- * `snapshot.commit_seq` reports the current graph head.
2639
+ * published Base family. `indexed_commit_seq` makes publication lag explicit.
2643
2640
  */
2644
2641
  EntityTypeSampleResponse: {
2645
2642
  entities: components["schemas"]["EntityTypeSampleRow"][];
@@ -2649,10 +2646,9 @@ export interface components {
2649
2646
  total_count: number;
2650
2647
  };
2651
2648
  /**
2652
- * @description One bounded, index-backed class member for interactive graph exploration.
2653
- * Unlike [`EntityExplorerRow`], this deliberately carries only fields the
2654
- * adjacency build already knows; exhaustive attributes and observation counts
2655
- * remain on the full entity/browse reads.
2649
+ * @description One bounded class member for interactive graph exploration. Unlike
2650
+ * [`EntityExplorerRow`], this deliberately carries only identity and degree;
2651
+ * exhaustive attributes and observation counts remain on full entity reads.
2656
2652
  */
2657
2653
  EntityTypeSampleRow: {
2658
2654
  entity: components["schemas"]["EntityView"];
@@ -2681,8 +2677,6 @@ export interface components {
2681
2677
  /** Format: float */
2682
2678
  weight: number;
2683
2679
  };
2684
- /** @enum {string} */
2685
- ExpansionDirection: "out" | "in" | "both";
2686
2680
  ExportObservationView: {
2687
2681
  created_at_commit: components["schemas"]["CommitSeq"];
2688
2682
  id: components["schemas"]["ObservationId"];
@@ -2935,8 +2929,8 @@ export interface components {
2935
2929
  * is the engine-native form of the query-conditional channel routing validated
2936
2930
  * in the Stage-G ablation (quality-ledger R17) — "documents about X AND in the
2937
2931
  * same group as Y" becomes one snapshot-consistent search rather than a blind
2938
- * list fusion. The neighborhood is computed by a bounded, snapshot-reduced
2939
- * traversal; final candidates are still re-verified against snapshot visibility.
2932
+ * list fusion. The neighborhood is computed from the snapshot-reduced Base
2933
+ * family; final candidates are still re-verified against snapshot visibility.
2940
2934
  */
2941
2935
  GraphAnchor: {
2942
2936
  /** @description The anchor entity to expand from. */
@@ -3399,7 +3393,6 @@ export interface components {
3399
3393
  targets: components["schemas"]["AnnTargetKind"][];
3400
3394
  };
3401
3395
  GraphMetadataResponse: {
3402
- adjacency_indexed_commit_seq?: null | components["schemas"]["CommitSeq"];
3403
3396
  ann_indexed_commit_seq?: null | components["schemas"]["CommitSeq"];
3404
3397
  bm25_indexed_commit_seq?: null | components["schemas"]["CommitSeq"];
3405
3398
  graph: components["schemas"]["GraphKey"];
@@ -3407,11 +3400,16 @@ export interface components {
3407
3400
  head_generation: number;
3408
3401
  /**
3409
3402
  * @description One-shot "has the published generation caught up to head?" signal, so a
3410
- * bulk-import caller does not hand-assemble the three-field predicate.
3411
- * `Some(true)` iff both the BM25 and ANN persisted runs are current to the
3412
- * head commit; `Some(false)` when publication is still
3413
- * pending or absent; `None` when indexes were not inspected
3414
- * (`include_indexes=false`).
3403
+ * bulk-import caller does not hand-assemble the predicate.
3404
+ * `Some(true)` iff the published generation is served at the head commit;
3405
+ * `Some(false)` when publication is still pending or absent; `None` when
3406
+ * indexes were not inspected (`include_indexes=false`).
3407
+ *
3408
+ * This is a **publication lag** signal, not a statement about index
3409
+ * content. A generation whose BM25/ANN families are published as empty
3410
+ * roots — the steady state when the deployment runs without the search
3411
+ * stack — is caught up while holding no documents. Read
3412
+ * `index_lineage.bm25_empty` / `ann_empty` to tell the two apart.
3415
3413
  */
3416
3414
  index_caught_up?: boolean | null;
3417
3415
  index_lineage?: null | components["schemas"]["IndexLineage"];
@@ -3743,13 +3741,31 @@ export interface components {
3743
3741
  };
3744
3742
  /** @description Typed convergence view over the persisted serving families. */
3745
3743
  IndexLineage: {
3746
- adjacency_indexed_commit_seq?: null | components["schemas"]["CommitSeq"];
3744
+ /**
3745
+ * @description True when the published ANN family is an empty root. Same meaning as
3746
+ * `bm25_empty`.
3747
+ */
3748
+ ann_empty?: boolean;
3747
3749
  ann_indexed_commit_seq?: null | components["schemas"]["CommitSeq"];
3750
+ /**
3751
+ * @description True when the published BM25 family is an empty root — the deployment
3752
+ * runs without the search stack
3753
+ * (`LBB_PUBLISH_EMPTY_INDEX_FAMILIES`), or the corpus genuinely has no
3754
+ * indexable documents at this watermark. Either way the family is current
3755
+ * *and* contains nothing, so a health check must not read `caught_up`
3756
+ * alone as "search is serving results".
3757
+ */
3758
+ bm25_empty?: boolean;
3748
3759
  bm25_indexed_commit_seq?: null | components["schemas"]["CommitSeq"];
3760
+ /**
3761
+ * @description Both families are published at the head commit. This is a *publication
3762
+ * lag* signal — it says the derived families have caught up with graph
3763
+ * truth, not that they hold data. An empty family is caught up.
3764
+ */
3749
3765
  caught_up: boolean;
3750
3766
  head_commit_seq: components["schemas"]["CommitSeq"];
3751
3767
  /**
3752
- * @description Content identity of the head generation plus the exact three manifest
3768
+ * @description Content identity of the head generation plus the exact manifest
3753
3769
  * views observed while constructing this response.
3754
3770
  */
3755
3771
  manifest_view_token: string;
@@ -3760,7 +3776,7 @@ export interface components {
3760
3776
  * @description One of the index families referenced by an atomic published read root.
3761
3777
  * @enum {string}
3762
3778
  */
3763
- IndexVisibilityFamily: "base" | "rdf" | "bm25" | "ann" | "adjacency";
3779
+ IndexVisibilityFamily: "base" | "rdf" | "bm25" | "ann";
3764
3780
  /**
3765
3781
  * @description A single inference rule (SHACL-AF `sh:TripleRule` shape): a BGP `body` (the
3766
3782
  * condition / `WHERE`) and a `head` triple template instantiated once per
@@ -4037,15 +4053,6 @@ export interface components {
4037
4053
  /** @enum {string} */
4038
4054
  kind: "temporal_state";
4039
4055
  relation: string;
4040
- } | {
4041
- from: components["schemas"]["EntitySelector"];
4042
- /** @enum {string} */
4043
- kind: "path";
4044
- /** Format: int32 */
4045
- max_hops: number;
4046
- relations?: string[] | null;
4047
- should_exist: boolean;
4048
- to: components["schemas"]["EntitySelector"];
4049
4056
  };
4050
4057
  ModelDataLineage: {
4051
4058
  /** Format: int64 */
@@ -4257,11 +4264,9 @@ export interface components {
4257
4264
  snapshot: components["schemas"]["SnapshotView"];
4258
4265
  };
4259
4266
  /**
4260
- * @description One current-edge projection touching the queried entity, materialized from
4261
- * the entity's own adjacency slice (peer stub + relation + valid time). Unlike
4267
+ * @description One current-edge projection touching the queried entity. Unlike
4262
4268
  * `StateEntry`/`TripletView` it carries no `previous`/`evidence`/single
4263
- * `edge_event_id`, because the ranged adjacency run does not store them — so
4264
- * the ranged and snapshot code paths produce identical edges.
4269
+ * `edge_event_id`, keeping the point-read representation compact.
4265
4270
  */
4266
4271
  NeighborhoodEdge: {
4267
4272
  /** Format: float */
@@ -4818,12 +4823,6 @@ export interface components {
4818
4823
  /** @description Count of surface terms (labels/synonyms) in the semantic layer. */
4819
4824
  term_count?: number;
4820
4825
  };
4821
- PathResult: {
4822
- edges: components["schemas"]["EdgeEventId"][];
4823
- nodes: components["schemas"]["EntityView"][];
4824
- /** Format: float */
4825
- score: number;
4826
- };
4827
4826
  /**
4828
4827
  * @description `GET /v1/models/planner-dataset` — the planner fine-tune's training feed:
4829
4828
  * accepted/corrected ask feedback joined to its traces (signals ≤ the split
@@ -5016,6 +5015,7 @@ export interface components {
5016
5015
  * @description That family's persisted root-codec version.
5017
5016
  */
5018
5017
  root_format_version: number;
5018
+ served_at_seq?: null | components["schemas"]["CommitSeq"];
5019
5019
  target_hash?: string | null;
5020
5020
  };
5021
5021
  /**
@@ -5032,6 +5032,7 @@ export interface components {
5032
5032
  /** Format: int64 */
5033
5033
  generation?: number | null;
5034
5034
  graph: components["schemas"]["GraphKey"];
5035
+ min_family_served_at_seq?: null | components["schemas"]["CommitSeq"];
5035
5036
  /** Format: int64 */
5036
5037
  predecessor_generation?: number | null;
5037
5038
  /** Format: int32 */
@@ -5106,43 +5107,6 @@ export interface components {
5106
5107
  */
5107
5108
  rerank_raw_bytes_fetched?: number;
5108
5109
  };
5109
- RangedTraverseStats: {
5110
- /** Format: int64 */
5111
- block_byte_budget: number;
5112
- /** Format: int64 */
5113
- block_bytes_fetched: number;
5114
- block_read_budget: number;
5115
- /** Format: int64 */
5116
- blocks_fetched: number;
5117
- /**
5118
- * Format: int64
5119
- * @description Backend ranged GETs saved by P27 coalescing: each value is one ranged
5120
- * read that pre-warmed several byte-contiguous slices at once.
5121
- */
5122
- coalesced_range_gets?: number;
5123
- /** Format: int64 */
5124
- decoded_block_bytes_retained: number;
5125
- /** Format: int64 */
5126
- directory_blocks_fetched?: number;
5127
- /**
5128
- * Format: int64
5129
- * @description Cumulative-fetched-bytes budget (P27); 0 = disabled. Distinct from
5130
- * `block_byte_budget`, which caps *resident* decoded bytes.
5131
- */
5132
- fetched_byte_budget?: number;
5133
- manifest_key: string;
5134
- /** Format: int64 */
5135
- meta_bytes_fetched: number;
5136
- /** Format: int64 */
5137
- payload_slices_fetched?: number;
5138
- /** Format: int64 */
5139
- shard_cache_hits: number;
5140
- /** Format: int64 */
5141
- topology_slices_fetched?: number;
5142
- truncated_by_block_budget: boolean;
5143
- truncated_by_block_byte_budget: boolean;
5144
- truncated_by_fetched_byte_budget?: boolean;
5145
- };
5146
5110
  /**
5147
5111
  * @description A page-region provenance anchor on a fact's evidence (region provenance
5148
5112
  * §4.1/§6.4(b) BYO import): where the evidence appears in the source
@@ -5908,7 +5872,6 @@ export interface components {
5908
5872
  };
5909
5873
  SearchFilterValue: null | boolean | number | string;
5910
5874
  SearchHitContributions: {
5911
- adjacency_indexed_commit_seq?: null | components["schemas"]["CommitSeq"];
5912
5875
  bm25: components["schemas"]["SearchChannelContribution"];
5913
5876
  bm25_indexed_commit_seq?: null | components["schemas"]["CommitSeq"];
5914
5877
  bm25_manifest_key?: string | null;
@@ -6241,64 +6204,6 @@ export interface components {
6241
6204
  };
6242
6205
  /** @enum {string} */
6243
6206
  SemanticSearchTarget: "concepts" | "entities" | "assertions" | "paths" | "observations" | "subgraph";
6244
- SemanticTraverseExplain: {
6245
- bm25_candidates: number;
6246
- /** Format: int32 */
6247
- graph_hops: number;
6248
- paths_returned: number;
6249
- search_mode: string;
6250
- seeds_considered: number;
6251
- seeds_selected: number;
6252
- vector_candidates: number;
6253
- };
6254
- SemanticTraverseRequest: {
6255
- direction: components["schemas"]["ExpansionDirection"];
6256
- explain: boolean;
6257
- /**
6258
- * @description Entity properties to project for every returned seed and path node.
6259
- * Projections are reduced from the same snapshot used for authorization
6260
- * and traversal. Requesting fields routes the operation through the exact
6261
- * snapshot path rather than ranged adjacency.
6262
- */
6263
- fields?: string[];
6264
- /**
6265
- * Format: int64
6266
- * @description Decoded adjacency-block working-set byte budget for persisted-vector
6267
- * ranged expansion. Defaults to the server/store budget. A request may
6268
- * lower the budget, but not raise it.
6269
- */
6270
- max_block_bytes?: number | null;
6271
- max_frontier_entities: number;
6272
- /** Format: int32 */
6273
- max_hops: number;
6274
- max_paths: number;
6275
- /** Format: float */
6276
- min_confidence?: number | null;
6277
- /** Format: float */
6278
- min_seed_score?: number | null;
6279
- ontology?: null | components["schemas"]["OntologySearchOptions"];
6280
- ontology_constraints?: null | components["schemas"]["OntologySearchConstraints"];
6281
- query: string;
6282
- relations?: string[] | null;
6283
- search?: null | components["schemas"]["SearchEngineOptions"];
6284
- seed_top_k: number;
6285
- };
6286
- SemanticTraverseResponse: {
6287
- explain?: null | components["schemas"]["SemanticTraverseExplain"];
6288
- paths: components["schemas"]["PathResult"][];
6289
- /**
6290
- * @description Requested properties keyed by entity id for every returned seed and
6291
- * path node. Empty when `fields` was omitted.
6292
- */
6293
- projected_nodes?: {
6294
- [key: string]: {
6295
- [key: string]: unknown;
6296
- };
6297
- };
6298
- ranged?: null | components["schemas"]["RangedTraverseStats"];
6299
- seeds: components["schemas"]["ScoredEntityView"][];
6300
- snapshot: components["schemas"]["SnapshotView"];
6301
- };
6302
6207
  /**
6303
6208
  * @description Set (or clear) the enforced allowed-value set on an **existing** property
6304
6209
  * field — the tightening path for a field already in use (e.g. constrain
@@ -6336,7 +6241,7 @@ export interface components {
6336
6241
  };
6337
6242
  /**
6338
6243
  * @description Set (or replace) a relation's inverse-relation display name, enabling
6339
- * one-hop reverse traversal (e.g. `PHASE_OF` for `HAS_PHASE`). Metadata
6244
+ * one-hop reverse lookup (e.g. `PHASE_OF` for `HAS_PHASE`). Metadata
6340
6245
  * only — never touches stored edges.
6341
6246
  */
6342
6247
  SetRelationInverseOp: {
@@ -6414,7 +6319,7 @@ export interface components {
6414
6319
  unique?: components["schemas"]["ShaclUnique"][];
6415
6320
  };
6416
6321
  /**
6417
- * @description A SHACL property path expression, evaluated as a bounded graph traversal from
6322
+ * @description A SHACL property path expression, evaluated by the bounded RDF path engine from
6418
6323
  * the focus node to a set of value-node entities. Mirrors SHACL's path grammar:
6419
6324
  * a single predicate, an inverse, a sequence, an alternative, and the
6420
6325
  * `*`/`+`/`?` closures.
@@ -6787,8 +6692,7 @@ export interface components {
6787
6692
  /**
6788
6693
  * @description The reason a read is `stale`. `"storage_degraded"` (F2),
6789
6694
  * `"eventual_consistency"` (served from the immutable published
6790
- * generation) or `"adjacency_coverage"` (served from that generation's
6791
- * bounded ranged-adjacency snapshot); omitted when not stale.
6695
+ * generation); omitted when not stale.
6792
6696
  */
6793
6697
  stale_reason?: string | null;
6794
6698
  };
@@ -6942,7 +6846,7 @@ export interface components {
6942
6846
  } | "null";
6943
6847
  /**
6944
6848
  * @description A SPARQL-subset SELECT/ASK query: a conjunctive basic graph pattern (the
6945
- * WHERE) evaluated over the object-storage permutation view, with variable
6849
+ * WHERE) evaluated over the conformant published RDF dataset, with variable
6946
6850
  * projection, DISTINCT, and LIMIT/OFFSET. Structured-request-first — the SPARQL
6947
6851
  * text syntax is a later addition behind a dialect field, and FILTER plus
6948
6852
  * aggregation arrive in later milestones.
@@ -7468,62 +7372,6 @@ export interface components {
7468
7372
  target: components["schemas"]["EntityView"];
7469
7373
  valid_time: components["schemas"]["ValidTime"];
7470
7374
  };
7471
- TraverseRequest: {
7472
- /**
7473
- * Format: int64
7474
- * @description Snapshot pin: reproduce the graph state as of this `commit_seq`, hiding
7475
- * any event committed later. Public serving reduces the bounded edge
7476
- * domains from the Base family in the one pinned published generation;
7477
- * it never discovers or assembles another snapshot. Historical entity
7478
- * filters/field projection fail explicitly because Base does not carry a
7479
- * point-indexed entity-mutation history. Omit for the latest snapshot.
7480
- */
7481
- as_of_commit_seq?: number | null;
7482
- as_of_valid_time?: string | null;
7483
- direction: components["schemas"]["ExpansionDirection"];
7484
- /**
7485
- * @description Entity fields projected for every seed/intermediate/terminal node in
7486
- * `TraverseResponse.projected_nodes`.
7487
- */
7488
- fields?: string[];
7489
- filter?: null | components["schemas"]["SearchFilterExpr"];
7490
- /**
7491
- * Format: int64
7492
- * @description Decoded adjacency-block working-set byte budget for the ranged path.
7493
- * Defaults to the server/store budget. A request may lower the budget,
7494
- * but not raise it. Ignored on the bounded Base-family reducer path.
7495
- */
7496
- max_block_bytes?: number | null;
7497
- /**
7498
- * @description Object-read budget for the ranged adjacency path; defaults to a value
7499
- * derived from `max_frontier_entities`. Ignored on the bounded Base-family
7500
- * reducer path.
7501
- */
7502
- max_block_reads?: number | null;
7503
- max_frontier_entities: number;
7504
- /** Format: int32 */
7505
- max_hops: number;
7506
- max_paths: number;
7507
- /** Format: float */
7508
- min_confidence?: number | null;
7509
- relations?: string[] | null;
7510
- start: components["schemas"]["EntitySelector"];
7511
- };
7512
- TraverseResponse: {
7513
- paths: components["schemas"]["PathResult"][];
7514
- /**
7515
- * @description Same-snapshot field evidence for every node appearing in `paths`, keyed
7516
- * by stable entity-id hex. Present as an empty map when no fields were
7517
- * requested.
7518
- */
7519
- projected_nodes?: {
7520
- [key: string]: {
7521
- [key: string]: unknown;
7522
- };
7523
- };
7524
- ranged?: null | components["schemas"]["RangedTraverseStats"];
7525
- snapshot: components["schemas"]["SnapshotView"];
7526
- };
7527
7375
  TripletCommitFile: {
7528
7376
  edge_idempotency?: null | components["schemas"]["EdgeIdempotencyMode"];
7529
7377
  /**
@@ -7580,6 +7428,17 @@ export interface components {
7580
7428
  target: components["schemas"]["EntityView"];
7581
7429
  valid_time: components["schemas"]["ValidTime"];
7582
7430
  };
7431
+ /** @description One capped collection: how many rows came back out of how many the read saw. */
7432
+ TruncatedCollection: {
7433
+ /** @description Rows present in this response. */
7434
+ returned: number;
7435
+ /**
7436
+ * @description Rows the bounded read observed. This is a **lower bound**: establishing
7437
+ * the true total means walking the entity's whole degree, which is the
7438
+ * cost the cap exists to avoid. Render it as "returned of at least total".
7439
+ */
7440
+ total_observed: number;
7441
+ };
7583
7442
  TypedAskFeedbackV1: {
7584
7443
  ask_id: string;
7585
7444
  note?: string | null;
@@ -11011,7 +10870,7 @@ export interface operations {
11011
10870
  type?: string;
11012
10871
  /** @description Max sampled rows (up to 128) */
11013
10872
  limit?: string;
11014
- /** @description Accepted as strong or eventual; adjacency serves the exact immutable base pinned by the published generation without inspecting the live WAL in either mode */
10873
+ /** @description Accepted as strong or eventual; Base serves the immutable generation without inspecting the live WAL */
11015
10874
  consistency?: string;
11016
10875
  };
11017
10876
  header?: {
@@ -11445,6 +11304,8 @@ export interface operations {
11445
11304
  relations?: string;
11446
11305
  /** @description RFC3339 as-of timestamp */
11447
11306
  as_of?: string;
11307
+ /** @description Maximum edges per direction (default 1000, maximum 10000) */
11308
+ edges?: string;
11448
11309
  };
11449
11310
  header?: {
11450
11311
  /** @description API contract version to pin. Use `2026-07-23` for this beta-breaking shape. */
@@ -12147,8 +12008,6 @@ export interface operations {
12147
12008
  strict?: string;
12148
12009
  /** @description RFC3339 backfill instant stamped on every batch */
12149
12010
  observed_at?: string;
12150
- /** @description Durably enqueue one atomic published-generation build after the final batch */
12151
- publish?: string;
12152
12011
  };
12153
12012
  header?: {
12154
12013
  /** @description API contract version to pin. Use `2026-07-23` for this beta-breaking shape. */
@@ -12727,7 +12586,7 @@ export interface operations {
12727
12586
  graph?: string;
12728
12587
  /** @description Branch name (default `main`) */
12729
12588
  branch?: string;
12730
- /** @description RDF statements per internal commit (default 1000, clamped 1-1000000) */
12589
+ /** @description RDF statements per internal commit (default 1000000, the cap: one commit per fully-buffered request; clamped 1-1000000) */
12731
12590
  batch?: string;
12732
12591
  /** @description Abort on the first malformed RDF parse error instead of reporting it */
12733
12592
  strict?: string;
@@ -12745,8 +12604,8 @@ export interface operations {
12745
12604
  blank_node_scope?: string;
12746
12605
  /** @description Entity type name for imported RDF resources (default Resource) */
12747
12606
  resource_type?: string;
12748
- /** @description Durably enqueue one atomic published-generation build after the final batch */
12749
- publish?: string;
12607
+ /** @description Set false to defer the published-generation enqueue; send build=false on every chunk except the last of a chunked bulk stream. Default true. */
12608
+ build?: string;
12750
12609
  };
12751
12610
  header?: {
12752
12611
  /** @description API contract version to pin. Use `2026-07-23` for this beta-breaking shape. */
@@ -13722,7 +13581,7 @@ export interface operations {
13722
13581
  };
13723
13582
  };
13724
13583
  };
13725
- post_v1_graph_semantic_traverse: {
13584
+ get_v1_graph_summary: {
13726
13585
  parameters: {
13727
13586
  query?: {
13728
13587
  /** @description Graph name (default `main`) */
@@ -13733,153 +13592,11 @@ export interface operations {
13733
13592
  header?: {
13734
13593
  /** @description API contract version to pin. Use `2026-07-23` for this beta-breaking shape. */
13735
13594
  "Lbb-Version"?: string;
13736
- /** @description Stable client-generated key for safely retrying mutations and supervision writes. */
13737
- "Idempotency-Key"?: string;
13738
13595
  };
13739
13596
  path?: never;
13740
13597
  cookie?: never;
13741
13598
  };
13742
- requestBody: {
13743
- content: {
13744
- "application/json": components["schemas"]["SemanticTraverseRequest"];
13745
- };
13746
- };
13747
- responses: {
13748
- /** @description OK */
13749
- 200: {
13750
- headers: {
13751
- /** @description API contract version used for the response */
13752
- "Lbb-Version"?: string;
13753
- /** @description Request correlation id */
13754
- "X-Request-Id"?: string;
13755
- [name: string]: unknown;
13756
- };
13757
- content: {
13758
- "application/json": components["schemas"]["SemanticTraverseResponse"];
13759
- };
13760
- };
13761
- /** @description Bad request */
13762
- 400: {
13763
- headers: {
13764
- /** @description API contract version used for the response */
13765
- "Lbb-Version"?: string;
13766
- /** @description Request correlation id */
13767
- "X-Request-Id"?: string;
13768
- [name: string]: unknown;
13769
- };
13770
- content: {
13771
- "application/json": components["schemas"]["LbbErrorEnvelope"];
13772
- };
13773
- };
13774
- /** @description Unauthorized */
13775
- 401: {
13776
- headers: {
13777
- /** @description API contract version used for the response */
13778
- "Lbb-Version"?: string;
13779
- /** @description Request correlation id */
13780
- "X-Request-Id"?: string;
13781
- [name: string]: unknown;
13782
- };
13783
- content: {
13784
- "application/json": components["schemas"]["LbbErrorEnvelope"];
13785
- };
13786
- };
13787
- /** @description Forbidden */
13788
- 403: {
13789
- headers: {
13790
- /** @description API contract version used for the response */
13791
- "Lbb-Version"?: string;
13792
- /** @description Request correlation id */
13793
- "X-Request-Id"?: string;
13794
- [name: string]: unknown;
13795
- };
13796
- content: {
13797
- "application/json": components["schemas"]["LbbErrorEnvelope"];
13798
- };
13799
- };
13800
- /** @description Not found */
13801
- 404: {
13802
- headers: {
13803
- /** @description API contract version used for the response */
13804
- "Lbb-Version"?: string;
13805
- /** @description Request correlation id */
13806
- "X-Request-Id"?: string;
13807
- [name: string]: unknown;
13808
- };
13809
- content: {
13810
- "application/json": components["schemas"]["LbbErrorEnvelope"];
13811
- };
13812
- };
13813
- /** @description Conflict */
13814
- 409: {
13815
- headers: {
13816
- /** @description API contract version used for the response */
13817
- "Lbb-Version"?: string;
13818
- /** @description Request correlation id */
13819
- "X-Request-Id"?: string;
13820
- [name: string]: unknown;
13821
- };
13822
- content: {
13823
- "application/json": components["schemas"]["LbbErrorEnvelope"];
13824
- };
13825
- };
13826
- /** @description Rate limit exceeded */
13827
- 429: {
13828
- headers: {
13829
- /** @description API contract version used for the response */
13830
- "Lbb-Version"?: string;
13831
- /** @description Request correlation id */
13832
- "X-Request-Id"?: string;
13833
- [name: string]: unknown;
13834
- };
13835
- content: {
13836
- "application/json": components["schemas"]["LbbErrorEnvelope"];
13837
- };
13838
- };
13839
- /** @description Internal server error */
13840
- 500: {
13841
- headers: {
13842
- /** @description API contract version used for the response */
13843
- "Lbb-Version"?: string;
13844
- /** @description Request correlation id */
13845
- "X-Request-Id"?: string;
13846
- [name: string]: unknown;
13847
- };
13848
- content: {
13849
- "application/json": components["schemas"]["LbbErrorEnvelope"];
13850
- };
13851
- };
13852
- /** @description Service unavailable */
13853
- 503: {
13854
- headers: {
13855
- /** @description API contract version used for the response */
13856
- "Lbb-Version"?: string;
13857
- /** @description Request correlation id */
13858
- "X-Request-Id"?: string;
13859
- [name: string]: unknown;
13860
- };
13861
- content: {
13862
- "application/json": components["schemas"]["LbbErrorEnvelope"];
13863
- };
13864
- };
13865
- };
13866
- };
13867
- get_v1_graph_summary: {
13868
- parameters: {
13869
- query?: {
13870
- /** @description Graph name (default `main`) */
13871
- graph?: string;
13872
- /** @description Branch name (default `main`) */
13873
- branch?: string;
13874
- };
13875
- header?: {
13876
- /** @description API contract version to pin. Use `2026-07-23` for this beta-breaking shape. */
13877
- "Lbb-Version"?: string;
13878
- };
13879
- path?: never;
13880
- cookie?: never;
13881
- };
13882
- requestBody?: never;
13599
+ requestBody?: never;
13883
13600
  responses: {
13884
13601
  /** @description OK */
13885
13602
  200: {
@@ -14000,290 +13717,6 @@ export interface operations {
14000
13717
  };
14001
13718
  };
14002
13719
  };
14003
- get_v1_graph_traverse: {
14004
- parameters: {
14005
- query?: {
14006
- /** @description Graph name (default `main`) */
14007
- graph?: string;
14008
- /** @description Branch name (default `main`) */
14009
- branch?: string;
14010
- /** @description Start entity id */
14011
- id?: string;
14012
- /** @description out, in, or both */
14013
- direction?: string;
14014
- /** @description Hop budget */
14015
- max_hops?: string;
14016
- };
14017
- header?: {
14018
- /** @description API contract version to pin. Use `2026-07-23` for this beta-breaking shape. */
14019
- "Lbb-Version"?: string;
14020
- };
14021
- path?: never;
14022
- cookie?: never;
14023
- };
14024
- requestBody?: never;
14025
- responses: {
14026
- /** @description OK */
14027
- 200: {
14028
- headers: {
14029
- /** @description API contract version used for the response */
14030
- "Lbb-Version"?: string;
14031
- /** @description Request correlation id */
14032
- "X-Request-Id"?: string;
14033
- [name: string]: unknown;
14034
- };
14035
- content: {
14036
- "application/json": components["schemas"]["TraverseResponse"];
14037
- };
14038
- };
14039
- /** @description Bad request */
14040
- 400: {
14041
- headers: {
14042
- /** @description API contract version used for the response */
14043
- "Lbb-Version"?: string;
14044
- /** @description Request correlation id */
14045
- "X-Request-Id"?: string;
14046
- [name: string]: unknown;
14047
- };
14048
- content: {
14049
- "application/json": components["schemas"]["LbbErrorEnvelope"];
14050
- };
14051
- };
14052
- /** @description Unauthorized */
14053
- 401: {
14054
- headers: {
14055
- /** @description API contract version used for the response */
14056
- "Lbb-Version"?: string;
14057
- /** @description Request correlation id */
14058
- "X-Request-Id"?: string;
14059
- [name: string]: unknown;
14060
- };
14061
- content: {
14062
- "application/json": components["schemas"]["LbbErrorEnvelope"];
14063
- };
14064
- };
14065
- /** @description Forbidden */
14066
- 403: {
14067
- headers: {
14068
- /** @description API contract version used for the response */
14069
- "Lbb-Version"?: string;
14070
- /** @description Request correlation id */
14071
- "X-Request-Id"?: string;
14072
- [name: string]: unknown;
14073
- };
14074
- content: {
14075
- "application/json": components["schemas"]["LbbErrorEnvelope"];
14076
- };
14077
- };
14078
- /** @description Not found */
14079
- 404: {
14080
- headers: {
14081
- /** @description API contract version used for the response */
14082
- "Lbb-Version"?: string;
14083
- /** @description Request correlation id */
14084
- "X-Request-Id"?: string;
14085
- [name: string]: unknown;
14086
- };
14087
- content: {
14088
- "application/json": components["schemas"]["LbbErrorEnvelope"];
14089
- };
14090
- };
14091
- /** @description Conflict */
14092
- 409: {
14093
- headers: {
14094
- /** @description API contract version used for the response */
14095
- "Lbb-Version"?: string;
14096
- /** @description Request correlation id */
14097
- "X-Request-Id"?: string;
14098
- [name: string]: unknown;
14099
- };
14100
- content: {
14101
- "application/json": components["schemas"]["LbbErrorEnvelope"];
14102
- };
14103
- };
14104
- /** @description Rate limit exceeded */
14105
- 429: {
14106
- headers: {
14107
- /** @description API contract version used for the response */
14108
- "Lbb-Version"?: string;
14109
- /** @description Request correlation id */
14110
- "X-Request-Id"?: string;
14111
- [name: string]: unknown;
14112
- };
14113
- content: {
14114
- "application/json": components["schemas"]["LbbErrorEnvelope"];
14115
- };
14116
- };
14117
- /** @description Internal server error */
14118
- 500: {
14119
- headers: {
14120
- /** @description API contract version used for the response */
14121
- "Lbb-Version"?: string;
14122
- /** @description Request correlation id */
14123
- "X-Request-Id"?: string;
14124
- [name: string]: unknown;
14125
- };
14126
- content: {
14127
- "application/json": components["schemas"]["LbbErrorEnvelope"];
14128
- };
14129
- };
14130
- /** @description Service unavailable */
14131
- 503: {
14132
- headers: {
14133
- /** @description API contract version used for the response */
14134
- "Lbb-Version"?: string;
14135
- /** @description Request correlation id */
14136
- "X-Request-Id"?: string;
14137
- [name: string]: unknown;
14138
- };
14139
- content: {
14140
- "application/json": components["schemas"]["LbbErrorEnvelope"];
14141
- };
14142
- };
14143
- };
14144
- };
14145
- post_v1_graph_traverse: {
14146
- parameters: {
14147
- query?: {
14148
- /** @description Graph name (default `main`) */
14149
- graph?: string;
14150
- /** @description Branch name (default `main`) */
14151
- branch?: string;
14152
- };
14153
- header?: {
14154
- /** @description API contract version to pin. Use `2026-07-23` for this beta-breaking shape. */
14155
- "Lbb-Version"?: string;
14156
- /** @description Stable client-generated key for safely retrying mutations and supervision writes. */
14157
- "Idempotency-Key"?: string;
14158
- };
14159
- path?: never;
14160
- cookie?: never;
14161
- };
14162
- requestBody: {
14163
- content: {
14164
- "application/json": components["schemas"]["TraverseRequest"];
14165
- };
14166
- };
14167
- responses: {
14168
- /** @description OK */
14169
- 200: {
14170
- headers: {
14171
- /** @description API contract version used for the response */
14172
- "Lbb-Version"?: string;
14173
- /** @description Request correlation id */
14174
- "X-Request-Id"?: string;
14175
- [name: string]: unknown;
14176
- };
14177
- content: {
14178
- "application/json": components["schemas"]["TraverseResponse"];
14179
- };
14180
- };
14181
- /** @description Bad request */
14182
- 400: {
14183
- headers: {
14184
- /** @description API contract version used for the response */
14185
- "Lbb-Version"?: string;
14186
- /** @description Request correlation id */
14187
- "X-Request-Id"?: string;
14188
- [name: string]: unknown;
14189
- };
14190
- content: {
14191
- "application/json": components["schemas"]["LbbErrorEnvelope"];
14192
- };
14193
- };
14194
- /** @description Unauthorized */
14195
- 401: {
14196
- headers: {
14197
- /** @description API contract version used for the response */
14198
- "Lbb-Version"?: string;
14199
- /** @description Request correlation id */
14200
- "X-Request-Id"?: string;
14201
- [name: string]: unknown;
14202
- };
14203
- content: {
14204
- "application/json": components["schemas"]["LbbErrorEnvelope"];
14205
- };
14206
- };
14207
- /** @description Forbidden */
14208
- 403: {
14209
- headers: {
14210
- /** @description API contract version used for the response */
14211
- "Lbb-Version"?: string;
14212
- /** @description Request correlation id */
14213
- "X-Request-Id"?: string;
14214
- [name: string]: unknown;
14215
- };
14216
- content: {
14217
- "application/json": components["schemas"]["LbbErrorEnvelope"];
14218
- };
14219
- };
14220
- /** @description Not found */
14221
- 404: {
14222
- headers: {
14223
- /** @description API contract version used for the response */
14224
- "Lbb-Version"?: string;
14225
- /** @description Request correlation id */
14226
- "X-Request-Id"?: string;
14227
- [name: string]: unknown;
14228
- };
14229
- content: {
14230
- "application/json": components["schemas"]["LbbErrorEnvelope"];
14231
- };
14232
- };
14233
- /** @description Conflict */
14234
- 409: {
14235
- headers: {
14236
- /** @description API contract version used for the response */
14237
- "Lbb-Version"?: string;
14238
- /** @description Request correlation id */
14239
- "X-Request-Id"?: string;
14240
- [name: string]: unknown;
14241
- };
14242
- content: {
14243
- "application/json": components["schemas"]["LbbErrorEnvelope"];
14244
- };
14245
- };
14246
- /** @description Rate limit exceeded */
14247
- 429: {
14248
- headers: {
14249
- /** @description API contract version used for the response */
14250
- "Lbb-Version"?: string;
14251
- /** @description Request correlation id */
14252
- "X-Request-Id"?: string;
14253
- [name: string]: unknown;
14254
- };
14255
- content: {
14256
- "application/json": components["schemas"]["LbbErrorEnvelope"];
14257
- };
14258
- };
14259
- /** @description Internal server error */
14260
- 500: {
14261
- headers: {
14262
- /** @description API contract version used for the response */
14263
- "Lbb-Version"?: string;
14264
- /** @description Request correlation id */
14265
- "X-Request-Id"?: string;
14266
- [name: string]: unknown;
14267
- };
14268
- content: {
14269
- "application/json": components["schemas"]["LbbErrorEnvelope"];
14270
- };
14271
- };
14272
- /** @description Service unavailable */
14273
- 503: {
14274
- headers: {
14275
- /** @description API contract version used for the response */
14276
- "Lbb-Version"?: string;
14277
- /** @description Request correlation id */
14278
- "X-Request-Id"?: string;
14279
- [name: string]: unknown;
14280
- };
14281
- content: {
14282
- "application/json": components["schemas"]["LbbErrorEnvelope"];
14283
- };
14284
- };
14285
- };
14286
- };
14287
13720
  get_v1_graphs: {
14288
13721
  parameters: {
14289
13722
  query?: {
package/dist/types.d.ts CHANGED
@@ -55,6 +55,12 @@ export interface RdfImportOptions {
55
55
  observedAt?: string;
56
56
  resourceType?: string;
57
57
  edgeIdempotency?: "append" | "skip_unchanged";
58
+ /**
59
+ * Set `false` to defer the published-generation enqueue. Send `build: false`
60
+ * on every chunk except the last of a chunked bulk stream, so derived
61
+ * families build once at the final head. Defaults to `true`.
62
+ */
63
+ build?: boolean;
58
64
  idempotencyKey?: string;
59
65
  }
60
66
  export type AttributeFilterOp = "eq" | "ne" | "lt" | "le" | "gt" | "ge";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@littlebigbrain/client",
3
- "version": "0.9.1",
3
+ "version": "0.10.0",
4
4
  "description": "TypeScript client for the little big brain graph + hybrid search HTTP API",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {