@littlebigbrain/client 0.3.0 → 0.4.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/README.md CHANGED
@@ -95,13 +95,14 @@ and `elapsedMs`.
95
95
  | Area | Methods |
96
96
  | --- | --- |
97
97
  | Write | `graph("main").facts.create` |
98
+ | Managed embeddings | `graph("main").embeddingConfig`, `graph("main").setEmbeddingConfig`, `graph("main").backfillEmbeddings`, `graph("main").promoteEmbedding` |
98
99
  | Search | `search.hybrid`, `search.multi`, `search.fullText`, `search.vector` |
99
100
  | Context substrate | `context.ask`, `context.suggest`, `context.resolve`, `context.decode`, `context.groundability` |
100
101
  | Search feedback (training data) | `search.feedback`, `search.feedbackExport` |
101
102
  | Traversal | `traverse`, `semanticTraverse` |
102
103
  | Temporal / lineage / shapes | `currentState`, `history`, `why`, `shacl` |
103
104
  | Query | `query.sparql`, `query.structured`, `query.analytics`, `query.shacl`, `query.infer`, `query.premises` |
104
- | Ontology | `ontology.view`, `ontology.conformance`, `ontology.search`, `ontology.resolve`, `ontology.define`, `ontology.evolve` |
105
+ | Ontology | `ontology.view`, `ontology.conformance`, `ontology.search`, `ontology.resolve`, `ontology.define`, `ontology.evolve`, `ontology.induce` |
105
106
  | Index lifecycle | `indexes.run`, `indexes.build`, `indexes.delta`, `indexes.gc`, `compact` |
106
107
  | Inspection | `entities.list`, `entities.filterByAttributes`, `status`, `metadata`, `summary` |
107
108
  | Schema activation | `schema.view`, `schema.preview`, `schema.publish`, `schema.audit` |
package/dist/client.d.ts CHANGED
@@ -131,6 +131,17 @@ export declare class LbbClient {
131
131
  deleteGraph(opts: {
132
132
  confirm: string;
133
133
  }): Promise<unknown>;
134
+ embeddingConfig(): Promise<Schemas["ManagedEmbeddingConfigResponse"]>;
135
+ setEmbeddingConfig(body: Schemas["ManagedEmbeddingConfigRequest"]): Promise<Schemas["ManagedEmbeddingConfigResponse"]>;
136
+ backfillEmbeddings(opts?: {
137
+ batchSize?: number;
138
+ limit?: number;
139
+ full?: boolean;
140
+ }): Promise<Schemas["ManagedEmbeddingBackfillResponse"]>;
141
+ promoteEmbedding(opts: {
142
+ runId: string;
143
+ allowRegression?: boolean;
144
+ }): Promise<Schemas["ManagedEmbeddingPromoteResponse"]>;
134
145
  /**
135
146
  * The graph's grounding vocabulary as byte-sorted, deduped string sections —
136
147
  * the canonical input for a decoder-side automaton (FST/trie) and the
@@ -474,6 +485,8 @@ export declare class LbbClient {
474
485
  * migration is needed — and a request that changes nothing is a no-op.
475
486
  */
476
487
  evolveOntology(body: Schemas["OntologyEvolveRequest"]): Promise<Schemas["OntologyEvolveResponse"]>;
488
+ /** Suggest ontology additions from the current graph without mutating it. */
489
+ induceOntology(body: Schemas["OntologyInduceRequest"]): Promise<Schemas["OntologyInduceResponse"]>;
477
490
  /**
478
491
  * Build default ANN + BM25 indexes. With `{ background: true }` the build
479
492
  * runs detached on the server and the call returns immediately — use it for
package/dist/client.js CHANGED
@@ -389,6 +389,22 @@ export class LbbClient {
389
389
  query: { confirm: opts.confirm },
390
390
  });
391
391
  }
392
+ embeddingConfig() {
393
+ return this.request("GET", "/v1/graph/embedding");
394
+ }
395
+ setEmbeddingConfig(body) {
396
+ return this.request("POST", "/v1/graph/embedding", { body });
397
+ }
398
+ backfillEmbeddings(opts = {}) {
399
+ return this.request("POST", "/v1/graph/embedding/backfill", {
400
+ query: { batch_size: opts.batchSize, limit: opts.limit, full: opts.full },
401
+ });
402
+ }
403
+ promoteEmbedding(opts) {
404
+ return this.request("POST", "/v1/graph/embedding/promote", {
405
+ query: { run_id: opts.runId, allow_regression: opts.allowRegression },
406
+ });
407
+ }
392
408
  // --- models as runs (training-run registry + eval machinery) ---
393
409
  /**
394
410
  * The graph's grounding vocabulary as byte-sorted, deduped string sections —
@@ -852,6 +868,10 @@ export class LbbClient {
852
868
  evolveOntology(body) {
853
869
  return this.request("POST", "/v1/ontology/evolve", { body });
854
870
  }
871
+ /** Suggest ontology additions from the current graph without mutating it. */
872
+ induceOntology(body) {
873
+ return this.request("POST", "/v1/ontology/induce", { body, retry: true });
874
+ }
855
875
  // --- index lifecycle ---
856
876
  /**
857
877
  * Build default ANN + BM25 indexes. With `{ background: true }` the build
@@ -33,6 +33,17 @@ export declare class GraphNamespace {
33
33
  delete(opts: {
34
34
  confirm: string;
35
35
  } & CallOptions): Promise<unknown>;
36
+ embeddingConfig(opts?: CallOptions): Promise<Schemas["ManagedEmbeddingConfigResponse"]>;
37
+ setEmbeddingConfig(body: Schemas["ManagedEmbeddingConfigRequest"], opts?: CallOptions): Promise<Schemas["ManagedEmbeddingConfigResponse"]>;
38
+ backfillEmbeddings(options?: CallOptions & {
39
+ batchSize?: number;
40
+ limit?: number;
41
+ full?: boolean;
42
+ }): Promise<Schemas["ManagedEmbeddingBackfillResponse"]>;
43
+ promoteEmbedding(options: CallOptions & {
44
+ runId: string;
45
+ allowRegression?: boolean;
46
+ }): Promise<Schemas["ManagedEmbeddingPromoteResponse"]>;
36
47
  /** Retract edges/entities from the scoped graph. See {@link LbbClient.retract}. */
37
48
  retract(body: Schemas["GraphRetractRequest"], opts?: CallOptions): Promise<Schemas["GraphRetractResponse"]>;
38
49
  /** Export this graph's current snapshot as Turtle, N-Triples, TriG, or N-Quads. */
@@ -170,6 +181,7 @@ export declare class OntologyNamespace {
170
181
  resolve(body: Schemas["OntologyResolveRequest"], opts?: CallOptions): Promise<Schemas["OntologyResolveResponse"]>;
171
182
  define(body: Schemas["OntologyDefineRequest"], opts?: CallOptions): Promise<Schemas["OntologyDefineResponse"]>;
172
183
  evolve(body: Schemas["OntologyEvolveRequest"], opts?: CallOptions): Promise<Schemas["OntologyEvolveResponse"]>;
184
+ induce(body: Schemas["OntologyInduceRequest"], opts?: CallOptions): Promise<Schemas["OntologyInduceResponse"]>;
173
185
  }
174
186
  /** Structured, SPARQL-text, reasoning, and analytical query operations. */
175
187
  export declare class QueryNamespace {
@@ -43,6 +43,29 @@ export class GraphNamespace {
43
43
  query: { confirm },
44
44
  });
45
45
  }
46
+ embeddingConfig(opts = {}) {
47
+ return this.client.request("GET", "/v1/graph/embedding", opts);
48
+ }
49
+ setEmbeddingConfig(body, opts = {}) {
50
+ return this.client.request("POST", "/v1/graph/embedding", {
51
+ ...opts,
52
+ body,
53
+ });
54
+ }
55
+ backfillEmbeddings(options = {}) {
56
+ const { batchSize, limit, full, ...request } = options;
57
+ return this.client.request("POST", "/v1/graph/embedding/backfill", {
58
+ ...request,
59
+ query: { batch_size: batchSize, limit, full },
60
+ });
61
+ }
62
+ promoteEmbedding(options) {
63
+ const { runId, allowRegression, ...request } = options;
64
+ return this.client.request("POST", "/v1/graph/embedding/promote", {
65
+ ...request,
66
+ query: { run_id: runId, allow_regression: allowRegression },
67
+ });
68
+ }
46
69
  /** Retract edges/entities from the scoped graph. See {@link LbbClient.retract}. */
47
70
  retract(body, opts = {}) {
48
71
  return this.client.request("POST", "/v1/graph/retract", {
@@ -413,6 +436,13 @@ export class OntologyNamespace {
413
436
  body,
414
437
  });
415
438
  }
439
+ induce(body, opts = {}) {
440
+ return this.client.request("POST", "/v1/ontology/induce", {
441
+ ...opts,
442
+ retry: opts.retry ?? true,
443
+ body,
444
+ });
445
+ }
416
446
  }
417
447
  /** Structured, SPARQL-text, reasoning, and analytical query operations. */
418
448
  export class QueryNamespace {
package/dist/schema.d.ts CHANGED
@@ -292,6 +292,58 @@ export interface paths {
292
292
  patch?: never;
293
293
  trace?: never;
294
294
  };
295
+ "/v1/graph/embedding": {
296
+ parameters: {
297
+ query?: never;
298
+ header?: never;
299
+ path?: never;
300
+ cookie?: never;
301
+ };
302
+ /** Read the graph branch's default managed embedding configuration */
303
+ get: operations["get_v1_graph_embedding"];
304
+ put?: never;
305
+ /** Set the graph branch's default managed embedding configuration */
306
+ post: operations["post_v1_graph_embedding"];
307
+ delete?: never;
308
+ options?: never;
309
+ head?: never;
310
+ patch?: never;
311
+ trace?: never;
312
+ };
313
+ "/v1/graph/embedding/backfill": {
314
+ parameters: {
315
+ query?: never;
316
+ header?: never;
317
+ path?: never;
318
+ cookie?: never;
319
+ };
320
+ get?: never;
321
+ put?: never;
322
+ /** Embed the graph corpus with the managed model and rebuild the Stored ANN index */
323
+ post: operations["post_v1_graph_embedding_backfill"];
324
+ delete?: never;
325
+ options?: never;
326
+ head?: never;
327
+ patch?: never;
328
+ trace?: never;
329
+ };
330
+ "/v1/graph/embedding/promote": {
331
+ parameters: {
332
+ query?: never;
333
+ header?: never;
334
+ path?: never;
335
+ cookie?: never;
336
+ };
337
+ get?: never;
338
+ put?: never;
339
+ /** Promote a successful fine-tuned embedding run to the graph default */
340
+ post: operations["post_v1_graph_embedding_promote"];
341
+ delete?: never;
342
+ options?: never;
343
+ head?: never;
344
+ patch?: never;
345
+ trace?: never;
346
+ };
295
347
  "/v1/graph/entities": {
296
348
  parameters: {
297
349
  query?: never;
@@ -309,6 +361,23 @@ export interface paths {
309
361
  patch?: never;
310
362
  trace?: never;
311
363
  };
364
+ "/v1/graph/entities/filter": {
365
+ parameters: {
366
+ query?: never;
367
+ header?: never;
368
+ path?: never;
369
+ cookie?: never;
370
+ };
371
+ get?: never;
372
+ put?: never;
373
+ /** Filter entities by typed properties in one loaded snapshot */
374
+ post: operations["post_v1_graph_entities_filter"];
375
+ delete?: never;
376
+ options?: never;
377
+ head?: never;
378
+ patch?: never;
379
+ trace?: never;
380
+ };
312
381
  "/v1/graph/entity": {
313
382
  parameters: {
314
383
  query?: never;
@@ -2560,6 +2629,26 @@ export interface components {
2560
2629
  removed_fields?: string[];
2561
2630
  type: string;
2562
2631
  };
2632
+ EntityFilterRequest: {
2633
+ /**
2634
+ * @description Typed entity properties to return on each matched row. Empty keeps the
2635
+ * lean row; `"*"` or `"all"` projects every property.
2636
+ */
2637
+ fields?: string[];
2638
+ /** @description Property/metadata predicate evaluated against one loaded graph snapshot. */
2639
+ filter: components["schemas"]["SearchFilterExpr"];
2640
+ /**
2641
+ * @description Maximum rows returned. The response's `matched_count` still reports the
2642
+ * full number of matches before this limit is applied.
2643
+ */
2644
+ limit?: number;
2645
+ };
2646
+ EntityFilterResponse: {
2647
+ entities: components["schemas"]["EntityExplorerRow"][];
2648
+ /** @description Total entities satisfying the predicate before `limit` is applied. */
2649
+ matched_count: number;
2650
+ snapshot: components["schemas"]["SnapshotView"];
2651
+ };
2563
2652
  EntityId: string;
2564
2653
  EntityMetadataResponse: {
2565
2654
  ann_indexed_commit_seq?: null | components["schemas"]["CommitSeq"];
@@ -3683,6 +3772,70 @@ export interface components {
3683
3772
  LbbErrorEnvelope: {
3684
3773
  error: components["schemas"]["LbbErrorBody"];
3685
3774
  };
3775
+ /** @description Outcome of embedding the corpus and rebuilding its Stored ANN index. */
3776
+ ManagedEmbeddingBackfillResponse: {
3777
+ batches: number;
3778
+ embedded: number;
3779
+ entities_total: number;
3780
+ /** Format: int64 */
3781
+ indexed_commit_seq: number;
3782
+ model_id: string;
3783
+ skipped: number;
3784
+ truncated: boolean;
3785
+ };
3786
+ /** @description The resolved, versioned managed embedding configuration. */
3787
+ ManagedEmbeddingConfig: {
3788
+ auto_embed_query: boolean;
3789
+ base_model: string;
3790
+ /** Format: int64 */
3791
+ created_at_micros: number;
3792
+ /** Format: int32 */
3793
+ dim: number;
3794
+ metric: components["schemas"]["VectorMetric"];
3795
+ model_id: string;
3796
+ run_id?: string | null;
3797
+ source: components["schemas"]["ManagedEmbeddingSource"];
3798
+ /** Format: int64 */
3799
+ version: number;
3800
+ };
3801
+ /** @description Set the graph branch's default managed embedding model. */
3802
+ ManagedEmbeddingConfigRequest: {
3803
+ auto_embed_query?: boolean | null;
3804
+ base_model?: string | null;
3805
+ /** Format: int32 */
3806
+ dim: number;
3807
+ metric?: null | components["schemas"]["VectorMetric"];
3808
+ model_id: string;
3809
+ run_id?: string | null;
3810
+ source?: null | components["schemas"]["ManagedEmbeddingSource"];
3811
+ };
3812
+ /** @description Read/set response. Legacy hash-derived graphs return `configured=false` and no config. */
3813
+ ManagedEmbeddingConfigResponse: {
3814
+ config?: null | components["schemas"]["ManagedEmbeddingConfig"];
3815
+ configured: boolean;
3816
+ };
3817
+ /** @description Response after promoting a finished training run to the graph default. */
3818
+ ManagedEmbeddingPromoteResponse: {
3819
+ config: components["schemas"]["ManagedEmbeddingConfig"];
3820
+ configured: boolean;
3821
+ evals?: null | components["schemas"]["ManagedEmbeddingPromotionEvals"];
3822
+ promoted_run: string;
3823
+ registry?: unknown;
3824
+ };
3825
+ /** @description Quality comparison used when promoting a fine-tuned embedding run. */
3826
+ ManagedEmbeddingPromotionEvals: {
3827
+ allow_regression: boolean;
3828
+ /** Format: double */
3829
+ baseline_ndcg: number;
3830
+ tier: string;
3831
+ /** Format: double */
3832
+ trained_ndcg: number;
3833
+ };
3834
+ /**
3835
+ * @description Where a managed embedding model came from.
3836
+ * @enum {string}
3837
+ */
3838
+ ManagedEmbeddingSource: "stock" | "fine_tuned";
3686
3839
  ModelArtifact: {
3687
3840
  blake3: string;
3688
3841
  /** Format: int64 */
@@ -5173,6 +5326,13 @@ export interface components {
5173
5326
  * surface here. Absent for entities with no SAME_AS component.
5174
5327
  */
5175
5328
  aliases?: string[];
5329
+ /**
5330
+ * @description Requested entity attributes, read from the same loaded snapshot used to
5331
+ * rank this hit. Absent when the request did not ask for a projection.
5332
+ */
5333
+ attributes?: {
5334
+ [key: string]: unknown;
5335
+ } | null;
5176
5336
  entity: components["schemas"]["EntityView"];
5177
5337
  matched_concepts: string[];
5178
5338
  /** Format: float */
@@ -5693,6 +5853,12 @@ export interface components {
5693
5853
  */
5694
5854
  as_of_valid_time?: string | null;
5695
5855
  explain?: boolean;
5856
+ /**
5857
+ * @description Entity attributes to project onto each entity hit from the same graph
5858
+ * snapshot used for ranking. Omitted or empty keeps the lean response;
5859
+ * `"*"` or `"all"` returns every attribute.
5860
+ */
5861
+ fields?: string[];
5696
5862
  /** Format: int32 */
5697
5863
  max_hops?: number;
5698
5864
  ontology?: null | components["schemas"]["OntologySearchOptions"];
@@ -9523,25 +9689,13 @@ export interface operations {
9523
9689
  };
9524
9690
  };
9525
9691
  };
9526
- get_v1_graph_entities: {
9692
+ get_v1_graph_embedding: {
9527
9693
  parameters: {
9528
9694
  query?: {
9529
9695
  /** @description Graph name (default `main`) */
9530
9696
  graph?: string;
9531
9697
  /** @description Branch name (default `main`) */
9532
9698
  branch?: string;
9533
- /** @description Search text */
9534
- q?: string;
9535
- /** @description Entity type filter */
9536
- type?: string;
9537
- /** @description Max rows */
9538
- limit?: string;
9539
- /** @description Opaque cursor from the previous page */
9540
- cursor?: string;
9541
- /** @description Comma-separated property names to inline on each row (typed, native JSON); `*` for all. Omit for the lean default row. */
9542
- fields?: string;
9543
- /** @description Comma-separated entity ids to fetch in one call (bulk lookup); bypasses the q/type browse filters. */
9544
- ids?: string;
9545
9699
  };
9546
9700
  header?: {
9547
9701
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
@@ -9562,7 +9716,725 @@ export interface operations {
9562
9716
  [name: string]: unknown;
9563
9717
  };
9564
9718
  content: {
9565
- "application/json": Record<string, never>;
9719
+ "application/json": components["schemas"]["ManagedEmbeddingConfigResponse"];
9720
+ };
9721
+ };
9722
+ /** @description Bad request */
9723
+ 400: {
9724
+ headers: {
9725
+ /** @description API contract version used for the response */
9726
+ "Lbb-Version"?: string;
9727
+ /** @description Request correlation id */
9728
+ "X-Request-Id"?: string;
9729
+ [name: string]: unknown;
9730
+ };
9731
+ content: {
9732
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
9733
+ };
9734
+ };
9735
+ /** @description Unauthorized */
9736
+ 401: {
9737
+ headers: {
9738
+ /** @description API contract version used for the response */
9739
+ "Lbb-Version"?: string;
9740
+ /** @description Request correlation id */
9741
+ "X-Request-Id"?: string;
9742
+ [name: string]: unknown;
9743
+ };
9744
+ content: {
9745
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
9746
+ };
9747
+ };
9748
+ /** @description Forbidden */
9749
+ 403: {
9750
+ headers: {
9751
+ /** @description API contract version used for the response */
9752
+ "Lbb-Version"?: string;
9753
+ /** @description Request correlation id */
9754
+ "X-Request-Id"?: string;
9755
+ [name: string]: unknown;
9756
+ };
9757
+ content: {
9758
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
9759
+ };
9760
+ };
9761
+ /** @description Not found */
9762
+ 404: {
9763
+ headers: {
9764
+ /** @description API contract version used for the response */
9765
+ "Lbb-Version"?: string;
9766
+ /** @description Request correlation id */
9767
+ "X-Request-Id"?: string;
9768
+ [name: string]: unknown;
9769
+ };
9770
+ content: {
9771
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
9772
+ };
9773
+ };
9774
+ /** @description Conflict */
9775
+ 409: {
9776
+ headers: {
9777
+ /** @description API contract version used for the response */
9778
+ "Lbb-Version"?: string;
9779
+ /** @description Request correlation id */
9780
+ "X-Request-Id"?: string;
9781
+ [name: string]: unknown;
9782
+ };
9783
+ content: {
9784
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
9785
+ };
9786
+ };
9787
+ /** @description Rate limit exceeded */
9788
+ 429: {
9789
+ headers: {
9790
+ /** @description API contract version used for the response */
9791
+ "Lbb-Version"?: string;
9792
+ /** @description Request correlation id */
9793
+ "X-Request-Id"?: string;
9794
+ [name: string]: unknown;
9795
+ };
9796
+ content: {
9797
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
9798
+ };
9799
+ };
9800
+ /** @description Internal server error */
9801
+ 500: {
9802
+ headers: {
9803
+ /** @description API contract version used for the response */
9804
+ "Lbb-Version"?: string;
9805
+ /** @description Request correlation id */
9806
+ "X-Request-Id"?: string;
9807
+ [name: string]: unknown;
9808
+ };
9809
+ content: {
9810
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
9811
+ };
9812
+ };
9813
+ /** @description Service unavailable */
9814
+ 503: {
9815
+ headers: {
9816
+ /** @description API contract version used for the response */
9817
+ "Lbb-Version"?: string;
9818
+ /** @description Request correlation id */
9819
+ "X-Request-Id"?: string;
9820
+ [name: string]: unknown;
9821
+ };
9822
+ content: {
9823
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
9824
+ };
9825
+ };
9826
+ };
9827
+ };
9828
+ post_v1_graph_embedding: {
9829
+ parameters: {
9830
+ query?: {
9831
+ /** @description Graph name (default `main`) */
9832
+ graph?: string;
9833
+ /** @description Branch name (default `main`) */
9834
+ branch?: string;
9835
+ };
9836
+ header?: {
9837
+ /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
9838
+ "Lbb-Version"?: string;
9839
+ /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
9840
+ "Idempotency-Key"?: string;
9841
+ };
9842
+ path?: never;
9843
+ cookie?: never;
9844
+ };
9845
+ requestBody: {
9846
+ content: {
9847
+ "application/json": components["schemas"]["ManagedEmbeddingConfigRequest"];
9848
+ };
9849
+ };
9850
+ responses: {
9851
+ /** @description OK */
9852
+ 200: {
9853
+ headers: {
9854
+ /** @description API contract version used for the response */
9855
+ "Lbb-Version"?: string;
9856
+ /** @description Request correlation id */
9857
+ "X-Request-Id"?: string;
9858
+ [name: string]: unknown;
9859
+ };
9860
+ content: {
9861
+ "application/json": components["schemas"]["ManagedEmbeddingConfigResponse"];
9862
+ };
9863
+ };
9864
+ /** @description Bad request */
9865
+ 400: {
9866
+ headers: {
9867
+ /** @description API contract version used for the response */
9868
+ "Lbb-Version"?: string;
9869
+ /** @description Request correlation id */
9870
+ "X-Request-Id"?: string;
9871
+ [name: string]: unknown;
9872
+ };
9873
+ content: {
9874
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
9875
+ };
9876
+ };
9877
+ /** @description Unauthorized */
9878
+ 401: {
9879
+ headers: {
9880
+ /** @description API contract version used for the response */
9881
+ "Lbb-Version"?: string;
9882
+ /** @description Request correlation id */
9883
+ "X-Request-Id"?: string;
9884
+ [name: string]: unknown;
9885
+ };
9886
+ content: {
9887
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
9888
+ };
9889
+ };
9890
+ /** @description Forbidden */
9891
+ 403: {
9892
+ headers: {
9893
+ /** @description API contract version used for the response */
9894
+ "Lbb-Version"?: string;
9895
+ /** @description Request correlation id */
9896
+ "X-Request-Id"?: string;
9897
+ [name: string]: unknown;
9898
+ };
9899
+ content: {
9900
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
9901
+ };
9902
+ };
9903
+ /** @description Not found */
9904
+ 404: {
9905
+ headers: {
9906
+ /** @description API contract version used for the response */
9907
+ "Lbb-Version"?: string;
9908
+ /** @description Request correlation id */
9909
+ "X-Request-Id"?: string;
9910
+ [name: string]: unknown;
9911
+ };
9912
+ content: {
9913
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
9914
+ };
9915
+ };
9916
+ /** @description Conflict */
9917
+ 409: {
9918
+ headers: {
9919
+ /** @description API contract version used for the response */
9920
+ "Lbb-Version"?: string;
9921
+ /** @description Request correlation id */
9922
+ "X-Request-Id"?: string;
9923
+ [name: string]: unknown;
9924
+ };
9925
+ content: {
9926
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
9927
+ };
9928
+ };
9929
+ /** @description Rate limit exceeded */
9930
+ 429: {
9931
+ headers: {
9932
+ /** @description API contract version used for the response */
9933
+ "Lbb-Version"?: string;
9934
+ /** @description Request correlation id */
9935
+ "X-Request-Id"?: string;
9936
+ [name: string]: unknown;
9937
+ };
9938
+ content: {
9939
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
9940
+ };
9941
+ };
9942
+ /** @description Internal server error */
9943
+ 500: {
9944
+ headers: {
9945
+ /** @description API contract version used for the response */
9946
+ "Lbb-Version"?: string;
9947
+ /** @description Request correlation id */
9948
+ "X-Request-Id"?: string;
9949
+ [name: string]: unknown;
9950
+ };
9951
+ content: {
9952
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
9953
+ };
9954
+ };
9955
+ /** @description Service unavailable */
9956
+ 503: {
9957
+ headers: {
9958
+ /** @description API contract version used for the response */
9959
+ "Lbb-Version"?: string;
9960
+ /** @description Request correlation id */
9961
+ "X-Request-Id"?: string;
9962
+ [name: string]: unknown;
9963
+ };
9964
+ content: {
9965
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
9966
+ };
9967
+ };
9968
+ };
9969
+ };
9970
+ post_v1_graph_embedding_backfill: {
9971
+ parameters: {
9972
+ query?: {
9973
+ /** @description Graph name (default `main`) */
9974
+ graph?: string;
9975
+ /** @description Branch name (default `main`) */
9976
+ branch?: string;
9977
+ /** @description Embedding batch size (default 128, max 512) */
9978
+ batch_size?: string;
9979
+ /** @description Maximum entities to consider (default 100000) */
9980
+ limit?: string;
9981
+ /** @description Re-embed all entities instead of only new entities */
9982
+ full?: string;
9983
+ };
9984
+ header?: {
9985
+ /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
9986
+ "Lbb-Version"?: string;
9987
+ /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
9988
+ "Idempotency-Key"?: string;
9989
+ };
9990
+ path?: never;
9991
+ cookie?: never;
9992
+ };
9993
+ requestBody?: never;
9994
+ responses: {
9995
+ /** @description OK */
9996
+ 200: {
9997
+ headers: {
9998
+ /** @description API contract version used for the response */
9999
+ "Lbb-Version"?: string;
10000
+ /** @description Request correlation id */
10001
+ "X-Request-Id"?: string;
10002
+ [name: string]: unknown;
10003
+ };
10004
+ content: {
10005
+ "application/json": components["schemas"]["ManagedEmbeddingBackfillResponse"];
10006
+ };
10007
+ };
10008
+ /** @description Bad request */
10009
+ 400: {
10010
+ headers: {
10011
+ /** @description API contract version used for the response */
10012
+ "Lbb-Version"?: string;
10013
+ /** @description Request correlation id */
10014
+ "X-Request-Id"?: string;
10015
+ [name: string]: unknown;
10016
+ };
10017
+ content: {
10018
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10019
+ };
10020
+ };
10021
+ /** @description Unauthorized */
10022
+ 401: {
10023
+ headers: {
10024
+ /** @description API contract version used for the response */
10025
+ "Lbb-Version"?: string;
10026
+ /** @description Request correlation id */
10027
+ "X-Request-Id"?: string;
10028
+ [name: string]: unknown;
10029
+ };
10030
+ content: {
10031
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10032
+ };
10033
+ };
10034
+ /** @description Forbidden */
10035
+ 403: {
10036
+ headers: {
10037
+ /** @description API contract version used for the response */
10038
+ "Lbb-Version"?: string;
10039
+ /** @description Request correlation id */
10040
+ "X-Request-Id"?: string;
10041
+ [name: string]: unknown;
10042
+ };
10043
+ content: {
10044
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10045
+ };
10046
+ };
10047
+ /** @description Not found */
10048
+ 404: {
10049
+ headers: {
10050
+ /** @description API contract version used for the response */
10051
+ "Lbb-Version"?: string;
10052
+ /** @description Request correlation id */
10053
+ "X-Request-Id"?: string;
10054
+ [name: string]: unknown;
10055
+ };
10056
+ content: {
10057
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10058
+ };
10059
+ };
10060
+ /** @description Conflict */
10061
+ 409: {
10062
+ headers: {
10063
+ /** @description API contract version used for the response */
10064
+ "Lbb-Version"?: string;
10065
+ /** @description Request correlation id */
10066
+ "X-Request-Id"?: string;
10067
+ [name: string]: unknown;
10068
+ };
10069
+ content: {
10070
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10071
+ };
10072
+ };
10073
+ /** @description Rate limit exceeded */
10074
+ 429: {
10075
+ headers: {
10076
+ /** @description API contract version used for the response */
10077
+ "Lbb-Version"?: string;
10078
+ /** @description Request correlation id */
10079
+ "X-Request-Id"?: string;
10080
+ [name: string]: unknown;
10081
+ };
10082
+ content: {
10083
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10084
+ };
10085
+ };
10086
+ /** @description Internal server error */
10087
+ 500: {
10088
+ headers: {
10089
+ /** @description API contract version used for the response */
10090
+ "Lbb-Version"?: string;
10091
+ /** @description Request correlation id */
10092
+ "X-Request-Id"?: string;
10093
+ [name: string]: unknown;
10094
+ };
10095
+ content: {
10096
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10097
+ };
10098
+ };
10099
+ /** @description Service unavailable */
10100
+ 503: {
10101
+ headers: {
10102
+ /** @description API contract version used for the response */
10103
+ "Lbb-Version"?: string;
10104
+ /** @description Request correlation id */
10105
+ "X-Request-Id"?: string;
10106
+ [name: string]: unknown;
10107
+ };
10108
+ content: {
10109
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10110
+ };
10111
+ };
10112
+ };
10113
+ };
10114
+ post_v1_graph_embedding_promote: {
10115
+ parameters: {
10116
+ query?: {
10117
+ /** @description Graph name (default `main`) */
10118
+ graph?: string;
10119
+ /** @description Branch name (default `main`) */
10120
+ branch?: string;
10121
+ /** @description Finished training run identifier */
10122
+ run_id?: string;
10123
+ /** @description Allow promotion when evaluation quality regressed */
10124
+ allow_regression?: string;
10125
+ };
10126
+ header?: {
10127
+ /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
10128
+ "Lbb-Version"?: string;
10129
+ /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
10130
+ "Idempotency-Key"?: string;
10131
+ };
10132
+ path?: never;
10133
+ cookie?: never;
10134
+ };
10135
+ requestBody?: never;
10136
+ responses: {
10137
+ /** @description OK */
10138
+ 200: {
10139
+ headers: {
10140
+ /** @description API contract version used for the response */
10141
+ "Lbb-Version"?: string;
10142
+ /** @description Request correlation id */
10143
+ "X-Request-Id"?: string;
10144
+ [name: string]: unknown;
10145
+ };
10146
+ content: {
10147
+ "application/json": components["schemas"]["ManagedEmbeddingPromoteResponse"];
10148
+ };
10149
+ };
10150
+ /** @description Bad request */
10151
+ 400: {
10152
+ headers: {
10153
+ /** @description API contract version used for the response */
10154
+ "Lbb-Version"?: string;
10155
+ /** @description Request correlation id */
10156
+ "X-Request-Id"?: string;
10157
+ [name: string]: unknown;
10158
+ };
10159
+ content: {
10160
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10161
+ };
10162
+ };
10163
+ /** @description Unauthorized */
10164
+ 401: {
10165
+ headers: {
10166
+ /** @description API contract version used for the response */
10167
+ "Lbb-Version"?: string;
10168
+ /** @description Request correlation id */
10169
+ "X-Request-Id"?: string;
10170
+ [name: string]: unknown;
10171
+ };
10172
+ content: {
10173
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10174
+ };
10175
+ };
10176
+ /** @description Forbidden */
10177
+ 403: {
10178
+ headers: {
10179
+ /** @description API contract version used for the response */
10180
+ "Lbb-Version"?: string;
10181
+ /** @description Request correlation id */
10182
+ "X-Request-Id"?: string;
10183
+ [name: string]: unknown;
10184
+ };
10185
+ content: {
10186
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10187
+ };
10188
+ };
10189
+ /** @description Not found */
10190
+ 404: {
10191
+ headers: {
10192
+ /** @description API contract version used for the response */
10193
+ "Lbb-Version"?: string;
10194
+ /** @description Request correlation id */
10195
+ "X-Request-Id"?: string;
10196
+ [name: string]: unknown;
10197
+ };
10198
+ content: {
10199
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10200
+ };
10201
+ };
10202
+ /** @description Conflict */
10203
+ 409: {
10204
+ headers: {
10205
+ /** @description API contract version used for the response */
10206
+ "Lbb-Version"?: string;
10207
+ /** @description Request correlation id */
10208
+ "X-Request-Id"?: string;
10209
+ [name: string]: unknown;
10210
+ };
10211
+ content: {
10212
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10213
+ };
10214
+ };
10215
+ /** @description Rate limit exceeded */
10216
+ 429: {
10217
+ headers: {
10218
+ /** @description API contract version used for the response */
10219
+ "Lbb-Version"?: string;
10220
+ /** @description Request correlation id */
10221
+ "X-Request-Id"?: string;
10222
+ [name: string]: unknown;
10223
+ };
10224
+ content: {
10225
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10226
+ };
10227
+ };
10228
+ /** @description Internal server error */
10229
+ 500: {
10230
+ headers: {
10231
+ /** @description API contract version used for the response */
10232
+ "Lbb-Version"?: string;
10233
+ /** @description Request correlation id */
10234
+ "X-Request-Id"?: string;
10235
+ [name: string]: unknown;
10236
+ };
10237
+ content: {
10238
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10239
+ };
10240
+ };
10241
+ /** @description Service unavailable */
10242
+ 503: {
10243
+ headers: {
10244
+ /** @description API contract version used for the response */
10245
+ "Lbb-Version"?: string;
10246
+ /** @description Request correlation id */
10247
+ "X-Request-Id"?: string;
10248
+ [name: string]: unknown;
10249
+ };
10250
+ content: {
10251
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10252
+ };
10253
+ };
10254
+ };
10255
+ };
10256
+ get_v1_graph_entities: {
10257
+ parameters: {
10258
+ query?: {
10259
+ /** @description Graph name (default `main`) */
10260
+ graph?: string;
10261
+ /** @description Branch name (default `main`) */
10262
+ branch?: string;
10263
+ /** @description Search text */
10264
+ q?: string;
10265
+ /** @description Entity type filter */
10266
+ type?: string;
10267
+ /** @description Max rows */
10268
+ limit?: string;
10269
+ /** @description Opaque cursor from the previous page */
10270
+ cursor?: string;
10271
+ /** @description Comma-separated property names to inline on each row (typed, native JSON); `*` for all. Omit for the lean default row. */
10272
+ fields?: string;
10273
+ /** @description Comma-separated entity ids to fetch in one call (bulk lookup); bypasses the q/type browse filters. */
10274
+ ids?: string;
10275
+ };
10276
+ header?: {
10277
+ /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
10278
+ "Lbb-Version"?: string;
10279
+ };
10280
+ path?: never;
10281
+ cookie?: never;
10282
+ };
10283
+ requestBody?: never;
10284
+ responses: {
10285
+ /** @description OK */
10286
+ 200: {
10287
+ headers: {
10288
+ /** @description API contract version used for the response */
10289
+ "Lbb-Version"?: string;
10290
+ /** @description Request correlation id */
10291
+ "X-Request-Id"?: string;
10292
+ [name: string]: unknown;
10293
+ };
10294
+ content: {
10295
+ "application/json": Record<string, never>;
10296
+ };
10297
+ };
10298
+ /** @description Bad request */
10299
+ 400: {
10300
+ headers: {
10301
+ /** @description API contract version used for the response */
10302
+ "Lbb-Version"?: string;
10303
+ /** @description Request correlation id */
10304
+ "X-Request-Id"?: string;
10305
+ [name: string]: unknown;
10306
+ };
10307
+ content: {
10308
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10309
+ };
10310
+ };
10311
+ /** @description Unauthorized */
10312
+ 401: {
10313
+ headers: {
10314
+ /** @description API contract version used for the response */
10315
+ "Lbb-Version"?: string;
10316
+ /** @description Request correlation id */
10317
+ "X-Request-Id"?: string;
10318
+ [name: string]: unknown;
10319
+ };
10320
+ content: {
10321
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10322
+ };
10323
+ };
10324
+ /** @description Forbidden */
10325
+ 403: {
10326
+ headers: {
10327
+ /** @description API contract version used for the response */
10328
+ "Lbb-Version"?: string;
10329
+ /** @description Request correlation id */
10330
+ "X-Request-Id"?: string;
10331
+ [name: string]: unknown;
10332
+ };
10333
+ content: {
10334
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10335
+ };
10336
+ };
10337
+ /** @description Not found */
10338
+ 404: {
10339
+ headers: {
10340
+ /** @description API contract version used for the response */
10341
+ "Lbb-Version"?: string;
10342
+ /** @description Request correlation id */
10343
+ "X-Request-Id"?: string;
10344
+ [name: string]: unknown;
10345
+ };
10346
+ content: {
10347
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10348
+ };
10349
+ };
10350
+ /** @description Conflict */
10351
+ 409: {
10352
+ headers: {
10353
+ /** @description API contract version used for the response */
10354
+ "Lbb-Version"?: string;
10355
+ /** @description Request correlation id */
10356
+ "X-Request-Id"?: string;
10357
+ [name: string]: unknown;
10358
+ };
10359
+ content: {
10360
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10361
+ };
10362
+ };
10363
+ /** @description Rate limit exceeded */
10364
+ 429: {
10365
+ headers: {
10366
+ /** @description API contract version used for the response */
10367
+ "Lbb-Version"?: string;
10368
+ /** @description Request correlation id */
10369
+ "X-Request-Id"?: string;
10370
+ [name: string]: unknown;
10371
+ };
10372
+ content: {
10373
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10374
+ };
10375
+ };
10376
+ /** @description Internal server error */
10377
+ 500: {
10378
+ headers: {
10379
+ /** @description API contract version used for the response */
10380
+ "Lbb-Version"?: string;
10381
+ /** @description Request correlation id */
10382
+ "X-Request-Id"?: string;
10383
+ [name: string]: unknown;
10384
+ };
10385
+ content: {
10386
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10387
+ };
10388
+ };
10389
+ /** @description Service unavailable */
10390
+ 503: {
10391
+ headers: {
10392
+ /** @description API contract version used for the response */
10393
+ "Lbb-Version"?: string;
10394
+ /** @description Request correlation id */
10395
+ "X-Request-Id"?: string;
10396
+ [name: string]: unknown;
10397
+ };
10398
+ content: {
10399
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10400
+ };
10401
+ };
10402
+ };
10403
+ };
10404
+ post_v1_graph_entities_filter: {
10405
+ parameters: {
10406
+ query?: {
10407
+ /** @description Graph name (default `main`) */
10408
+ graph?: string;
10409
+ /** @description Branch name (default `main`) */
10410
+ branch?: string;
10411
+ };
10412
+ header?: {
10413
+ /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
10414
+ "Lbb-Version"?: string;
10415
+ /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
10416
+ "Idempotency-Key"?: string;
10417
+ };
10418
+ path?: never;
10419
+ cookie?: never;
10420
+ };
10421
+ requestBody: {
10422
+ content: {
10423
+ "application/json": components["schemas"]["EntityFilterRequest"];
10424
+ };
10425
+ };
10426
+ responses: {
10427
+ /** @description OK */
10428
+ 200: {
10429
+ headers: {
10430
+ /** @description API contract version used for the response */
10431
+ "Lbb-Version"?: string;
10432
+ /** @description Request correlation id */
10433
+ "X-Request-Id"?: string;
10434
+ [name: string]: unknown;
10435
+ };
10436
+ content: {
10437
+ "application/json": components["schemas"]["EntityFilterResponse"];
9566
10438
  };
9567
10439
  };
9568
10440
  /** @description Bad request */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@littlebigbrain/client",
3
- "version": "0.3.0",
3
+ "version": "0.4.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": {