@littlebigbrain/client 0.11.1 → 0.13.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/schema.d.ts CHANGED
@@ -381,6 +381,23 @@ export interface paths {
381
381
  patch?: never;
382
382
  trace?: never;
383
383
  };
384
+ "/v1/graph/publication-status": {
385
+ parameters: {
386
+ query?: never;
387
+ header?: never;
388
+ path?: never;
389
+ cookie?: never;
390
+ };
391
+ /** Automatic publication lifecycle and exact read watermarks */
392
+ get: operations["get_v1_graph_publication_status"];
393
+ put?: never;
394
+ post?: never;
395
+ delete?: never;
396
+ options?: never;
397
+ head?: never;
398
+ patch?: never;
399
+ trace?: never;
400
+ };
384
401
  "/v1/graph/read-snapshot": {
385
402
  parameters: {
386
403
  query?: never;
@@ -432,6 +449,23 @@ export interface paths {
432
449
  patch?: never;
433
450
  trace?: never;
434
451
  };
452
+ "/v1/graph/schema-summary": {
453
+ parameters: {
454
+ query?: never;
455
+ header?: never;
456
+ path?: never;
457
+ cookie?: never;
458
+ };
459
+ /** Compact observed RDF schema attached to the immutable F3 base */
460
+ get: operations["get_v1_graph_schema_summary"];
461
+ put?: never;
462
+ post?: never;
463
+ delete?: never;
464
+ options?: never;
465
+ head?: never;
466
+ patch?: never;
467
+ trace?: never;
468
+ };
435
469
  "/v1/graph/summary": {
436
470
  parameters: {
437
471
  query?: never;
@@ -798,7 +832,7 @@ export interface paths {
798
832
  path?: never;
799
833
  cookie?: never;
800
834
  };
801
- /** Read the durable ontology-conformance report referenced by the published snapshot, including its validation watermark and ontology/shapes provenance */
835
+ /** Read the immutable branch-owned ontology-conformance sidecar selected by the F3 checksum and schema identity */
802
836
  get: operations["get_v1_ontology_conformance"];
803
837
  put?: never;
804
838
  post?: never;
@@ -817,7 +851,7 @@ export interface paths {
817
851
  };
818
852
  get?: never;
819
853
  put?: never;
820
- /** Import a custom ontology and create the scoped graph head with it; fails if the graph already exists */
854
+ /** Define or additively evolve a graph ontology, or preview the exact result without mutation */
821
855
  post: operations["post_v1_ontology_define"];
822
856
  delete?: never;
823
857
  options?: never;
@@ -1325,8 +1359,25 @@ export interface components {
1325
1359
  /** @description Whether the relation is transitive (default false). */
1326
1360
  transitive?: boolean;
1327
1361
  };
1362
+ /**
1363
+ * @description Add direct parent classes to an existing entity type. All named classes
1364
+ * must already exist, or be declared earlier in the same request with
1365
+ * `add_entity_type`. Existing links are skipped, so the op is idempotent.
1366
+ * Removing a parent is not additive and requires an explicit migration.
1367
+ */
1368
+ AddSuperTypesOp: {
1369
+ /** @description Entity type whose direct parents should grow. */
1370
+ entity_type: string;
1371
+ /**
1372
+ * @description discriminator enum property added by openapi-typescript
1373
+ * @enum {string}
1374
+ */
1375
+ op: "add_super_types";
1376
+ /** @description Direct parent entity-type names to add. */
1377
+ super_types: string[];
1378
+ };
1328
1379
  /** @description Governed proposal operation restricted to additive ontology changes. */
1329
- AdditiveOntologyEvolveOp: components["schemas"]["WidenRelationOp"] | components["schemas"]["AddEntityTypeOp"] | components["schemas"]["AddRelationOp"] | components["schemas"]["AddPropertyOp"];
1380
+ AdditiveOntologyEvolveOp: components["schemas"]["WidenRelationOp"] | components["schemas"]["AddEntityTypeOp"] | components["schemas"]["AddSuperTypesOp"] | components["schemas"]["AddRelationOp"];
1330
1381
  /** @description Additive-only ontology proposal helper for structured-output systems. */
1331
1382
  AdditiveOntologyEvolveRequest: {
1332
1383
  ops: components["schemas"]["AdditiveOntologyEvolveOp"][];
@@ -3322,45 +3373,6 @@ export interface components {
3322
3373
  * @enum {string}
3323
3374
  */
3324
3375
  IndexVisibilityFamily: "base" | "rdf" | "bm25" | "ann";
3325
- /**
3326
- * @description A single inference rule (SHACL-AF `sh:TripleRule` shape): a BGP `body` (the
3327
- * condition / `WHERE`) and a `head` triple template instantiated once per
3328
- * binding. Every variable used in `head` must be bound by `body`.
3329
- */
3330
- InferenceRule: {
3331
- /**
3332
- * @description The rule condition: a basic graph pattern over current edges (asserted +
3333
- * already-derived), joined on shared variables.
3334
- */
3335
- body?: components["schemas"]["AnalyticTriplePattern"][];
3336
- /**
3337
- * @description Negation/existence filters folded over the `body` solutions, in order.
3338
- * Only `exists` (semijoin — keep body rows that have a compatible match) and
3339
- * `not_exists` (antijoin — keep body rows that have none) are supported in a
3340
- * rule; `union`/`optional`/`minus` are rejected. A `not_exists` over a
3341
- * relation produced by another rule's head places this rule in a strictly
3342
- * higher evaluation stratum (so the negated relation is fully derived first);
3343
- * a negation cycle is rejected. This is what lets a rule express universal
3344
- * conditions like "phase complete when no deliverable is incomplete". A
3345
- * filter pattern may introduce its own local variables and may reference
3346
- * `body` variables to correlate, but it never binds a `head` variable.
3347
- */
3348
- combinators?: components["schemas"]["AnalyticCombinator"][];
3349
- /**
3350
- * @description The triple template derived once per `body` binding. `subject`/`object`
3351
- * are variables bound by `body` (or fixed entities); `predicate` is a
3352
- * relation name.
3353
- */
3354
- head: components["schemas"]["AnalyticTriplePattern"];
3355
- name: string;
3356
- /**
3357
- * Format: int64
3358
- * @description SHACL `sh:order`. Rules run low-to-high; a determinism hint for the
3359
- * positive (monotone) rules supported today, where the least fixpoint is
3360
- * order-independent.
3361
- */
3362
- order?: number;
3363
- };
3364
3376
  LbbErrorBody: {
3365
3377
  /** @example missing_idempotency_key */
3366
3378
  code: string;
@@ -3797,6 +3809,12 @@ export interface components {
3797
3809
  * difference is refused with a typed error naming the route that applies it.
3798
3810
  */
3799
3811
  OntologyDefineRequest: {
3812
+ /**
3813
+ * @description Preview the exact definition without creating a graph, writing an
3814
+ * ontology object, or changing the graph head. Equivalent to the
3815
+ * `?dry_run=true` query parameter; either signal enables preview mode.
3816
+ */
3817
+ dry_run?: boolean;
3800
3818
  /** @description Import format hint. `auto` (the default) sniffs the content. */
3801
3819
  format?: string | null;
3802
3820
  /**
@@ -3812,29 +3830,28 @@ export interface components {
3812
3830
  };
3813
3831
  OntologyDefineResponse: {
3814
3832
  /**
3815
- * @description True when this call wrote a new ontology version, either by creating the
3816
- * graph or by applying an additive difference. False when the proposed
3817
- * ontology already matched the active one, which is what makes re-running
3818
- * the same bootstrap request a no-op.
3833
+ * @description True when this call wrote a new ontology version, or when a dry run
3834
+ * predicts that it would. False when the proposed ontology already matched
3835
+ * the active one, which is what makes re-running the same bootstrap request
3836
+ * a no-op.
3819
3837
  *
3820
- * This tracks what was written, so it never reports `false` for a call
3821
- * that changed the ontology: a widened relation domain or range and a new
3822
- * property field both set it, even though neither appears in the
3823
- * class-and-relation schema diff.
3838
+ * A widened relation domain or range and a new property field both set it,
3839
+ * even though neither appears in the class-and-relation schema diff.
3824
3840
  */
3825
3841
  changed?: boolean;
3826
3842
  /**
3827
- * @description The additive changes this call applied to an existing graph's ontology.
3828
- * Empty when the graph was created and when nothing changed.
3843
+ * @description The additive changes this call applied, or would apply during a dry run,
3844
+ * to an existing graph's ontology. Empty on create and no-op.
3829
3845
  */
3830
3846
  changes?: components["schemas"]["SchemaDiffEntry"][];
3847
+ /** @description True when this response is a preview and no durable state changed. */
3848
+ dry_run?: boolean;
3831
3849
  entity_types: components["schemas"]["OntologyTermView"][];
3832
3850
  format: string;
3833
3851
  graph: components["schemas"]["GraphKey"];
3834
3852
  /**
3835
- * @description True when this call created the graph head. False when the graph already
3836
- * existed, whether the ontology then changed or not. This is the `created`
3837
- * signal for the define route.
3853
+ * @description True when this call created the graph head, or when a dry run predicts
3854
+ * that the real definition would create it.
3838
3855
  */
3839
3856
  graph_created: boolean;
3840
3857
  merged_default: boolean;
@@ -3879,6 +3896,8 @@ export interface components {
3879
3896
  OntologyDraftStatus: "draft" | "validated" | "promoted" | "rejected";
3880
3897
  /** @description The full definition of one entity type (class) in the active ontology. */
3881
3898
  OntologyEntityTypeView: {
3899
+ /** @description Canonical query IRI minted by Little Big Brain for this class identity. */
3900
+ iri?: string;
3882
3901
  name: string;
3883
3902
  properties: components["schemas"]["OntologyPropertyView"][];
3884
3903
  /** Format: int64 */
@@ -3887,6 +3906,17 @@ export interface components {
3887
3906
  resolvable: boolean;
3888
3907
  /** Format: int64 */
3889
3908
  since_version: number;
3909
+ /**
3910
+ * @description Frozen class identity used by commits and the RDF projection. This is
3911
+ * unique even when imported vocabularies reuse the same local name.
3912
+ */
3913
+ stable_id?: string;
3914
+ /**
3915
+ * @description Direct parent classes (`rdfs:subClassOf`), named by their frozen
3916
+ * `stable_id`s. Clients can build the full class lattice without a SPARQL
3917
+ * scan or a second ontology lookup.
3918
+ */
3919
+ super_types?: string[];
3890
3920
  };
3891
3921
  OntologyEvidenceSample: {
3892
3922
  /** @description Stable connector/source reference; sample content is never used as identity. */
@@ -3905,7 +3935,7 @@ export interface components {
3905
3935
  * the supported "ontology evolution" path; identity-breaking changes (removals,
3906
3936
  * narrowing) still require an explicit expand→migrate→contract plan.
3907
3937
  */
3908
- OntologyEvolveOp: components["schemas"]["WidenRelationOp"] | components["schemas"]["AddEntityTypeOp"] | components["schemas"]["AddRelationOp"] | components["schemas"]["AddPropertyOp"] | components["schemas"]["SetPropertyConstraintOp"] | components["schemas"]["RenameEntityTypeOp"] | components["schemas"]["RenameRelationOp"] | components["schemas"]["SetRelationInverseOp"] | components["schemas"]["SetRelationCardinalityOp"] | components["schemas"]["NarrowRelationOp"] | components["schemas"]["RemoveEntityTypeOp"] | components["schemas"]["RemoveRelationOp"];
3938
+ OntologyEvolveOp: components["schemas"]["WidenRelationOp"] | components["schemas"]["AddEntityTypeOp"] | components["schemas"]["AddSuperTypesOp"] | components["schemas"]["AddRelationOp"] | components["schemas"]["AddPropertyOp"] | components["schemas"]["SetPropertyConstraintOp"] | components["schemas"]["RenameEntityTypeOp"] | components["schemas"]["RenameRelationOp"] | components["schemas"]["SetRelationInverseOp"] | components["schemas"]["SetRelationCardinalityOp"] | components["schemas"]["NarrowRelationOp"] | components["schemas"]["RemoveEntityTypeOp"] | components["schemas"]["RemoveRelationOp"];
3909
3939
  /**
3910
3940
  * @description Apply a list of additive ontology changes in order, writing a new ontology
3911
3941
  * version when anything actually changes. Ops are applied against the
@@ -4383,6 +4413,42 @@ export interface components {
4383
4413
  /** @description Members of an `i64_set` field; canonicalized like `keyword_set`. */
4384
4414
  i64_set: number[];
4385
4415
  };
4416
+ PublicationRetryGuidance: {
4417
+ eventual_read_available: boolean;
4418
+ message: string;
4419
+ /** Format: int64 */
4420
+ retry_after_ms: number;
4421
+ };
4422
+ /**
4423
+ * @description Server-managed publication lifecycle for one graph epoch.
4424
+ * @enum {string}
4425
+ */
4426
+ PublicationState: "current" | "queued" | "compacting" | "building" | "publishing" | "blocked";
4427
+ /**
4428
+ * @description One bounded status document for automatic exact-generation publication.
4429
+ * It is available before the first generation publishes, unlike
4430
+ * [`PublishedReadStatusResponse`], so SDKs can wait without probing SPARQL.
4431
+ */
4432
+ PublicationStatusResponse: {
4433
+ current_stage?: string | null;
4434
+ /** Format: int64 */
4435
+ epoch: number;
4436
+ /** Format: int64 */
4437
+ head_generation: number;
4438
+ head_seq: components["schemas"]["CommitSeq"];
4439
+ /** Format: int64 */
4440
+ lag_commits: number;
4441
+ /** Format: int64 */
4442
+ last_progress_at_micros: number;
4443
+ /** Format: int64 */
4444
+ published_generation?: number | null;
4445
+ published_seq: components["schemas"]["CommitSeq"];
4446
+ retry: components["schemas"]["PublicationRetryGuidance"];
4447
+ state: components["schemas"]["PublicationState"];
4448
+ /** Format: int64 */
4449
+ target_head_generation: number;
4450
+ target_seq: components["schemas"]["CommitSeq"];
4451
+ };
4386
4452
  /**
4387
4453
  * @description Whether an import's deterministic published-generation job was newly
4388
4454
  * queued or coalesced with equivalent pending work.
@@ -4506,6 +4572,52 @@ export interface components {
4506
4572
  */
4507
4573
  rerank_raw_bytes_fetched?: number;
4508
4574
  };
4575
+ /**
4576
+ * @description The RDF node kind of a bounded observed-schema statement object.
4577
+ * @enum {string}
4578
+ */
4579
+ RdfSchemaObjectKind: "iri" | "blank_node" | "literal";
4580
+ /** @description One OWL/RDFS vocabulary or annotation statement retained for schema UIs. */
4581
+ RdfSchemaStatement: {
4582
+ object: string;
4583
+ object_kind: components["schemas"]["RdfSchemaObjectKind"];
4584
+ predicate: string;
4585
+ subject: string;
4586
+ };
4587
+ /**
4588
+ * @description Compact, immutable observed-schema artifact attached to one exact F3 base.
4589
+ *
4590
+ * This is the overview/read-model surface for Explorer and Ontology. It is
4591
+ * produced by maintenance while publishing F3 and is therefore cheap to read:
4592
+ * no request-time graph scan or base-plus-delta assembly is required.
4593
+ */
4594
+ RdfSchemaSummaryResponse: {
4595
+ /**
4596
+ * @description Per-predicate totals of literal-valued statements, the data-property
4597
+ * sibling of `resource_predicate_counts`. `None` when the stored summary
4598
+ * artifact predates this field; the next full summary rebuild fills it.
4599
+ */
4600
+ literal_predicate_counts?: components["schemas"]["RdfSchemaTermCount"][] | null;
4601
+ /** Format: int64 */
4602
+ ontology_version: number;
4603
+ resource_predicate_counts: components["schemas"]["RdfSchemaTermCount"][];
4604
+ snapshot: components["schemas"]["SnapshotView"];
4605
+ statements: components["schemas"]["RdfSchemaStatement"][];
4606
+ truncated: boolean;
4607
+ type_counts: components["schemas"]["RdfSchemaTermCount"][];
4608
+ };
4609
+ /**
4610
+ * @description One exact RDF term count in the compact observed-schema summary.
4611
+ *
4612
+ * `term` is the complete IRI rather than a display-local name. This keeps
4613
+ * foreign vocabularies unambiguous; clients may choose their own prefix or
4614
+ * local-name presentation.
4615
+ */
4616
+ RdfSchemaTermCount: {
4617
+ /** Format: int64 */
4618
+ count: number;
4619
+ term: string;
4620
+ };
4509
4621
  /**
4510
4622
  * @description A page-region provenance anchor on a fact's evidence (region provenance
4511
4623
  * §4.1/§6.4(b) BYO import): where the evidence appears in the source
@@ -4778,6 +4890,11 @@ export interface components {
4778
4890
  };
4779
4891
  SchemaAuditResult: {
4780
4892
  component: string;
4893
+ /**
4894
+ * @description Nested results explaining a composite violation (`sh:detail`), e.g.
4895
+ * which constraint inside a `sh:node` shape the value node failed.
4896
+ */
4897
+ details?: components["schemas"]["SchemaAuditResult"][];
4781
4898
  focus_node: string;
4782
4899
  message?: string | null;
4783
4900
  result_path?: string | null;
@@ -4825,6 +4942,8 @@ export interface components {
4825
4942
  /** @enum {string} */
4826
4943
  SchemaChangeKind: "additive" | "restrictive" | "identity_breaking";
4827
4944
  SchemaClassView: {
4945
+ /** @description Canonical query IRI minted by Little Big Brain for this class identity. */
4946
+ iri?: string;
4828
4947
  name: string;
4829
4948
  property_count: number;
4830
4949
  /** Format: int64 */
@@ -4832,6 +4951,8 @@ export interface components {
4832
4951
  /** Format: int64 */
4833
4952
  since_version: number;
4834
4953
  stable_id: string;
4954
+ /** @description Direct parent classes (`rdfs:subClassOf`), named by `stable_id`. */
4955
+ super_types?: string[];
4835
4956
  };
4836
4957
  /** @enum {string} */
4837
4958
  SchemaCompatibilityVerdict: "compatible" | "restrictive" | "migration_required";
@@ -5582,247 +5703,6 @@ export interface components {
5582
5703
  op: "set_relation_inverse";
5583
5704
  relation: string;
5584
5705
  };
5585
- /**
5586
- * @description Which constraint failed (SHACL `sourceConstraintComponent`).
5587
- * @enum {string}
5588
- */
5589
- ShaclConstraintComponent: "min_count" | "max_count" | "class" | "has_value" | "unique" | "datatype" | "min_inclusive" | "max_inclusive" | "min_exclusive" | "max_exclusive" | "min_length" | "max_length" | "in" | "pattern" | "and" | "or" | "not" | "xone" | "closed";
5590
- /**
5591
- * @description SHACL `sh:datatype` family, matched against a stored [`PropertyValue`] kind.
5592
- * `decimal` accepts any numeric (integer or float); the rest are exact.
5593
- * @enum {string}
5594
- */
5595
- ShaclDatatype: "boolean" | "integer" | "decimal" | "string" | "date_time";
5596
- /**
5597
- * @description SHACL logical shape combinators over [`ShaclShapeConstraints`] operands, all
5598
- * applied to the same focus node. Empty lists impose no constraint.
5599
- */
5600
- ShaclLogical: {
5601
- /** @description `sh:and`: the node must conform to **every** operand. */
5602
- and?: components["schemas"]["ShaclShapeConstraints"][];
5603
- /** @description `sh:not`: the node must conform to **none** of these operands. */
5604
- not?: components["schemas"]["ShaclShapeConstraints"][];
5605
- /** @description `sh:or`: the node must conform to **at least one** operand. */
5606
- or?: components["schemas"]["ShaclShapeConstraints"][];
5607
- /** @description `sh:xone`: the node must conform to **exactly one** operand. */
5608
- xone?: components["schemas"]["ShaclShapeConstraints"][];
5609
- };
5610
- /** @enum {string} */
5611
- ShaclMode: "select" | "validate";
5612
- ShaclNodeShape: {
5613
- /**
5614
- * @description `sh:closed`: when true, a focus node may carry **only** the outgoing
5615
- * relations and literal fields named by this shape's property `path`s (plus
5616
- * `ignored_properties`). Any undeclared one emits a `closed` violation.
5617
- * `validate` mode only.
5618
- */
5619
- closed?: boolean;
5620
- /**
5621
- * @description `sh:deactivated`: when true the entire shape is skipped — no focus nodes,
5622
- * no matches, no violations.
5623
- */
5624
- deactivated?: boolean;
5625
- /** @description Paths exempt from the `closed` check (SHACL `sh:ignoredProperties`). */
5626
- ignored_properties?: string[];
5627
- logical?: null | components["schemas"]["ShaclLogical"];
5628
- name?: string | null;
5629
- properties?: components["schemas"]["ShaclPropertyShape"][];
5630
- target_class?: string | null;
5631
- target_node?: null | components["schemas"]["EntitySelector"];
5632
- /**
5633
- * @description `sh:targetObjectsOf`: focus on every entity that is the **object**
5634
- * (destination) of at least one relation of this name.
5635
- */
5636
- target_objects_of?: string | null;
5637
- /**
5638
- * @description `sh:targetSubjectsOf`: focus on every entity that is the **subject**
5639
- * (source) of at least one relation of this name.
5640
- */
5641
- target_subjects_of?: string | null;
5642
- /**
5643
- * @description Cross-focus-node uniqueness constraints: the value reached at each
5644
- * `path` must be held by at most one focus node of this shape. Only
5645
- * evaluated in `validate` mode (uniqueness is an aggregate over the
5646
- * focus set, which the per-node property constraints cannot express).
5647
- */
5648
- unique?: components["schemas"]["ShaclUnique"][];
5649
- };
5650
- /**
5651
- * @description A SHACL property path expression, evaluated by the bounded RDF path engine from
5652
- * the focus node to a set of value-node entities. Mirrors SHACL's path grammar:
5653
- * a single predicate, an inverse, a sequence, an alternative, and the
5654
- * `*`/`+`/`?` closures.
5655
- */
5656
- ShaclPath: {
5657
- /** @description A single relation, followed forward (focus -> value). */
5658
- predicate: string;
5659
- } | {
5660
- /** @description Follow the inner path backwards. */
5661
- inverse: components["schemas"]["ShaclPath"];
5662
- } | {
5663
- /** @description Follow each sub-path in order (`p1 / p2 / …`). */
5664
- sequence: components["schemas"]["ShaclPath"][];
5665
- } | {
5666
- /** @description The union of the sub-paths (`p1 | p2 | …`). */
5667
- alternative: components["schemas"]["ShaclPath"][];
5668
- } | {
5669
- /** @description Reflexive transitive closure (`p*`), bounded. */
5670
- zero_or_more: components["schemas"]["ShaclPath"];
5671
- } | {
5672
- /** @description Transitive closure (`p+`), bounded. */
5673
- one_or_more: components["schemas"]["ShaclPath"];
5674
- } | {
5675
- /** @description Zero or one step (`p?`). */
5676
- zero_or_one: components["schemas"]["ShaclPath"];
5677
- };
5678
- /** @enum {string} */
5679
- ShaclPathDirection: "out" | "in" | "both";
5680
- ShaclPropertyShape: {
5681
- bind?: string | null;
5682
- datatype?: null | components["schemas"]["ShaclDatatype"];
5683
- /** @description `sh:deactivated`: when true this property constraint is skipped. */
5684
- deactivated?: boolean;
5685
- direction?: components["schemas"]["ShaclPathDirection"];
5686
- /**
5687
- * @description `sh:flags` for `pattern`: any of `i` (case-insensitive), `s` (dot matches
5688
- * newline), `m` (multi-line), `x` (extended/ignore-whitespace).
5689
- */
5690
- flags?: string | null;
5691
- has_value?: null | components["schemas"]["EntitySelector"];
5692
- /**
5693
- * @description Enumerated allowed values (`sh:in`). On a literal (field) path each value
5694
- * must equal one of these under typed comparison; on a relation path the
5695
- * value entity must be one of the listed `Entity` selectors.
5696
- */
5697
- in?: components["schemas"]["SparqlValue"][] | null;
5698
- max_count?: number | null;
5699
- max_exclusive?: null | components["schemas"]["SparqlValue"];
5700
- max_inclusive?: null | components["schemas"]["SparqlValue"];
5701
- max_length?: number | null;
5702
- /**
5703
- * @description Author-set message overriding the engine-generated one (SHACL
5704
- * `sh:message`). Applies to every violation of this property shape.
5705
- */
5706
- message?: string | null;
5707
- min_count?: number | null;
5708
- min_exclusive?: null | components["schemas"]["SparqlValue"];
5709
- min_inclusive?: null | components["schemas"]["SparqlValue"];
5710
- /** @description String length bounds (character count); apply to `keyword`/`text` values. */
5711
- min_length?: number | null;
5712
- optional?: boolean;
5713
- path: string;
5714
- path_expr?: null | components["schemas"]["ShaclPath"];
5715
- /**
5716
- * @description `sh:pattern`: a regular expression the string value must match (applies to
5717
- * `keyword`/`text` values on a literal path).
5718
- */
5719
- pattern?: string | null;
5720
- severity?: null | components["schemas"]["ShaclSeverity"];
5721
- value_class?: string | null;
5722
- };
5723
- ShaclQueryExplain: {
5724
- focus_nodes_evaluated: number;
5725
- property_shapes_evaluated: number;
5726
- /** @description Matches in `select` mode; violations in `validate` mode. */
5727
- result_count: number;
5728
- shapes_evaluated: number;
5729
- };
5730
- ShaclQueryRequest: {
5731
- /**
5732
- * Format: int64
5733
- * @description Snapshot pin (transaction-time ceiling): shapes evaluate over the graph
5734
- * as of this commit sequence, hiding later events. Omitted means head.
5735
- */
5736
- as_of_commit_seq?: number | null;
5737
- as_of_valid_time?: string | null;
5738
- explain: boolean;
5739
- /**
5740
- * @description Run `rules` and include the derived edges in evaluation. Default `false`,
5741
- * so SHACL is **asserted-only** unless explicitly opted in — a rule can't
5742
- * silently mask a real data-quality violation.
5743
- */
5744
- include_derived?: boolean;
5745
- /**
5746
- * @description `select` (the default) returns the focus nodes that match each shape.
5747
- * `validate` instead returns a conformance report listing the focus nodes
5748
- * that *violate* the shapes' constraints. Validation is detection, not
5749
- * enforcement: it surfaces duplicates/violations that already exist but
5750
- * blocks no write.
5751
- */
5752
- mode?: components["schemas"]["ShaclMode"];
5753
- /**
5754
- * @description Inference rules whose derived edges are folded into the snapshot the
5755
- * shapes evaluate over, **only** when `include_derived` is set. Lets a shape
5756
- * validate (or select against) inferred facts as well as asserted ones.
5757
- */
5758
- rules?: components["schemas"]["InferenceRule"][];
5759
- shapes: components["schemas"]["ShaclNodeShape"][];
5760
- top_k: number;
5761
- };
5762
- ShaclQueryResponse: {
5763
- explain?: null | components["schemas"]["ShaclQueryExplain"];
5764
- report?: null | components["schemas"]["ShaclValidationReport"];
5765
- results: components["schemas"]["ShaclQueryResult"][];
5766
- snapshot: components["schemas"]["SnapshotView"];
5767
- };
5768
- ShaclQueryResult: {
5769
- assertions: components["schemas"]["TripletView"][];
5770
- bindings: {
5771
- [key: string]: components["schemas"]["EntityView"][];
5772
- };
5773
- focus: components["schemas"]["EntityView"];
5774
- shape?: string | null;
5775
- };
5776
- /** @enum {string} */
5777
- ShaclSeverity: "violation" | "warning" | "info";
5778
- /**
5779
- * @description A reusable bundle of constraints applied to a focus node — the operand of a
5780
- * logical combinator. Carries property constraints and (recursively) its own
5781
- * nested logical combinators, but no target (operands share the parent shape's
5782
- * focus node).
5783
- */
5784
- ShaclShapeConstraints: {
5785
- logical?: null | components["schemas"]["ShaclLogical"];
5786
- properties?: components["schemas"]["ShaclPropertyShape"][];
5787
- };
5788
- ShaclUnique: {
5789
- direction?: components["schemas"]["ShaclPathDirection"];
5790
- /**
5791
- * @description Optional message attached to each uniqueness violation; a default is
5792
- * generated when absent.
5793
- */
5794
- message?: string | null;
5795
- /** @description Relation whose reached value identifies the focus node (e.g. `HAS_EMAIL`). */
5796
- path: string;
5797
- };
5798
- /**
5799
- * @description `validate`-mode conformance report. Mirrors the shape of a SHACL
5800
- * `ValidationReport`: `conforms` is true iff `results` is empty.
5801
- */
5802
- ShaclValidationReport: {
5803
- conforms: boolean;
5804
- results: components["schemas"]["ShaclViolation"][];
5805
- };
5806
- /** @description A single conformance failure, mirroring a SHACL `ValidationResult`. */
5807
- ShaclViolation: {
5808
- component: components["schemas"]["ShaclConstraintComponent"];
5809
- /** @description The focus node that violated a constraint (SHACL `focusNode`). */
5810
- focus: components["schemas"]["EntityView"];
5811
- message: string;
5812
- /**
5813
- * @description Relation path the constraint applies to; absent for node-level
5814
- * constraints (SHACL `resultPath`).
5815
- */
5816
- path?: string | null;
5817
- severity: components["schemas"]["ShaclSeverity"];
5818
- shape?: string | null;
5819
- /**
5820
- * @description Offending or related value nodes: wrong-class values for `class`, the
5821
- * required target for `has_value`, or the other focus nodes a `unique`
5822
- * collision is shared with.
5823
- */
5824
- value?: components["schemas"]["EntityView"][];
5825
- };
5826
5706
  ShadowArmResult: {
5827
5707
  /**
5828
5708
  * Format: float
@@ -6047,11 +5927,13 @@ export interface components {
6047
5927
  */
6048
5928
  SparqlCompareOp: "eq" | "ne" | "lt" | "le" | "gt" | "ge";
6049
5929
  /**
6050
- * @description RDFS entailment regime applied when projecting the graph for a conformant
6051
- * SPARQL query. Controls whether a class term matches subtype instances.
5930
+ * @description Entailment regime applied to a conformant SPARQL query. The regime is
5931
+ * evaluated at query time as a closure-driven pattern rewrite over the
5932
+ * dataset's asserted schema triples; the published dataset itself stays
5933
+ * asserted-only.
6052
5934
  * @enum {string}
6053
5935
  */
6054
- SparqlEntailment: "subclass" | "none";
5936
+ SparqlEntailment: "owl" | "rdfs" | "subclass" | "none";
6055
5937
  /**
6056
5938
  * @description A FILTER over a solution: a comparison, or a boolean composition of filters.
6057
5939
  * A comparison whose operands are unbound, incomparable, or a type mismatch is
@@ -6247,11 +6129,10 @@ export interface components {
6247
6129
  /** @description WHERE: the conjunctive basic graph pattern (shares the analytic engine). */
6248
6130
  patterns: components["schemas"]["AnalyticTriplePattern"][];
6249
6131
  /**
6250
- * @description Reason over the graph's stored inference rules so a pattern matches
6251
- * asserted **and** derived edges in one shot. Off by default
6252
- * (asserted-only). Public serving requires a compatible reasoned
6253
- * projection in the pinned published generation and fails closed when it
6254
- * is absent; it never forces an overlay reduce.
6132
+ * @description Not available on the published SPARQL surface: a branch's stored
6133
+ * inference rules already run at publish time, folding derived facts into
6134
+ * the asserted dataset every query reads. Requesting `reason: true`
6135
+ * returns a typed, non-retryable error.
6255
6136
  */
6256
6137
  reason?: boolean;
6257
6138
  /**
@@ -6312,10 +6193,13 @@ export interface components {
6312
6193
  * RDF graph, not a results table).
6313
6194
  */
6314
6195
  SparqlTextRequest: {
6196
+ as_of_commit_seq?: null | components["schemas"]["CommitSeq"];
6315
6197
  /**
6316
- * @description RDFS entailment regime. `None` (default) reads the asserted published
6317
- * projection. `Subclass` requires a compatible reasoned projection and
6318
- * fails closed while one is unavailable.
6198
+ * @description Entailment regime. `None` (default) matches asserted triples only.
6199
+ * `Rdfs` applies the practical RDFS core at query time, `Subclass` the
6200
+ * class-only subset, and `Owl` the OWL profile on top of `Rdfs`. All
6201
+ * derive the closure from the pinned generation's asserted schema
6202
+ * triples.
6319
6203
  */
6320
6204
  entailment?: components["schemas"]["SparqlEntailment"];
6321
6205
  /**
@@ -6328,12 +6212,10 @@ export interface components {
6328
6212
  /** @description The SPARQL query text (SELECT or ASK). */
6329
6213
  query: string;
6330
6214
  /**
6331
- * @description Reason over the branch's stored inference rules: project the rule-derived
6332
- * facts into the dataset the conformant engine runs over, so a query reasons
6333
- * over asserted **and** derived edges. Off by default; a no-op when the branch
6334
- * has no stored rules. Combine with `entailment: subclass` for full
6335
- * reasoning—rule-derived facts plus `rdfs:subClassOf` type closure—once
6336
- * maintenance publishes a compatible reasoned projection.
6215
+ * @description Not available on the published SPARQL surface: a branch's stored
6216
+ * inference rules already run at publish time, folding derived facts into
6217
+ * the asserted dataset every query reads. Requesting `reason: true`
6218
+ * returns a typed, non-retryable error.
6337
6219
  */
6338
6220
  reason?: boolean;
6339
6221
  };
@@ -10348,7 +10230,7 @@ export interface operations {
10348
10230
  blank_node_scope?: string;
10349
10231
  /** @description Entity type name for imported RDF resources (default Resource) */
10350
10232
  resource_type?: string;
10351
- /** @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. */
10233
+ /** @description Set false on intermediate chunks to defer eager publication. Each request still atomically commits a compacted truth segment and exact per-commit F3 delta; graph reconstruction, SHACL, and complete F3 construction run off-path. The server advances one coalesced safety fence when the deferred delta tail reaches 8 entries or 32 MiB, so a large stream cannot wedge itself. Omit build=false on the final chunk to advance the final fence. Default true. */
10352
10234
  build?: string;
10353
10235
  };
10354
10236
  header?: {
@@ -10617,6 +10499,142 @@ export interface operations {
10617
10499
  };
10618
10500
  };
10619
10501
  };
10502
+ get_v1_graph_publication_status: {
10503
+ parameters: {
10504
+ query?: {
10505
+ /** @description Graph name (default `main`) */
10506
+ graph?: string;
10507
+ /** @description Branch name (default `main`) */
10508
+ branch?: string;
10509
+ };
10510
+ header?: {
10511
+ /** @description API contract version to pin. Use `2026-07-23` for this beta-breaking shape. */
10512
+ "Lbb-Version"?: string;
10513
+ };
10514
+ path?: never;
10515
+ cookie?: never;
10516
+ };
10517
+ requestBody?: never;
10518
+ responses: {
10519
+ /** @description OK */
10520
+ 200: {
10521
+ headers: {
10522
+ /** @description API contract version used for the response */
10523
+ "Lbb-Version"?: string;
10524
+ /** @description Request correlation id */
10525
+ "X-Request-Id"?: string;
10526
+ [name: string]: unknown;
10527
+ };
10528
+ content: {
10529
+ "application/json": components["schemas"]["PublicationStatusResponse"];
10530
+ };
10531
+ };
10532
+ /** @description Bad request */
10533
+ 400: {
10534
+ headers: {
10535
+ /** @description API contract version used for the response */
10536
+ "Lbb-Version"?: string;
10537
+ /** @description Request correlation id */
10538
+ "X-Request-Id"?: string;
10539
+ [name: string]: unknown;
10540
+ };
10541
+ content: {
10542
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10543
+ };
10544
+ };
10545
+ /** @description Unauthorized */
10546
+ 401: {
10547
+ headers: {
10548
+ /** @description API contract version used for the response */
10549
+ "Lbb-Version"?: string;
10550
+ /** @description Request correlation id */
10551
+ "X-Request-Id"?: string;
10552
+ [name: string]: unknown;
10553
+ };
10554
+ content: {
10555
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10556
+ };
10557
+ };
10558
+ /** @description Forbidden */
10559
+ 403: {
10560
+ headers: {
10561
+ /** @description API contract version used for the response */
10562
+ "Lbb-Version"?: string;
10563
+ /** @description Request correlation id */
10564
+ "X-Request-Id"?: string;
10565
+ [name: string]: unknown;
10566
+ };
10567
+ content: {
10568
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10569
+ };
10570
+ };
10571
+ /** @description Not found */
10572
+ 404: {
10573
+ headers: {
10574
+ /** @description API contract version used for the response */
10575
+ "Lbb-Version"?: string;
10576
+ /** @description Request correlation id */
10577
+ "X-Request-Id"?: string;
10578
+ [name: string]: unknown;
10579
+ };
10580
+ content: {
10581
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10582
+ };
10583
+ };
10584
+ /** @description Conflict */
10585
+ 409: {
10586
+ headers: {
10587
+ /** @description API contract version used for the response */
10588
+ "Lbb-Version"?: string;
10589
+ /** @description Request correlation id */
10590
+ "X-Request-Id"?: string;
10591
+ [name: string]: unknown;
10592
+ };
10593
+ content: {
10594
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10595
+ };
10596
+ };
10597
+ /** @description Rate limit exceeded */
10598
+ 429: {
10599
+ headers: {
10600
+ /** @description API contract version used for the response */
10601
+ "Lbb-Version"?: string;
10602
+ /** @description Request correlation id */
10603
+ "X-Request-Id"?: string;
10604
+ [name: string]: unknown;
10605
+ };
10606
+ content: {
10607
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10608
+ };
10609
+ };
10610
+ /** @description Internal server error */
10611
+ 500: {
10612
+ headers: {
10613
+ /** @description API contract version used for the response */
10614
+ "Lbb-Version"?: string;
10615
+ /** @description Request correlation id */
10616
+ "X-Request-Id"?: string;
10617
+ [name: string]: unknown;
10618
+ };
10619
+ content: {
10620
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10621
+ };
10622
+ };
10623
+ /** @description Service unavailable */
10624
+ 503: {
10625
+ headers: {
10626
+ /** @description API contract version used for the response */
10627
+ "Lbb-Version"?: string;
10628
+ /** @description Request correlation id */
10629
+ "X-Request-Id"?: string;
10630
+ [name: string]: unknown;
10631
+ };
10632
+ content: {
10633
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
10634
+ };
10635
+ };
10636
+ };
10637
+ };
10620
10638
  get_v1_graph_read_snapshot: {
10621
10639
  parameters: {
10622
10640
  query?: {
@@ -11041,6 +11059,142 @@ export interface operations {
11041
11059
  };
11042
11060
  };
11043
11061
  };
11062
+ get_v1_graph_schema_summary: {
11063
+ parameters: {
11064
+ query?: {
11065
+ /** @description Graph name (default `main`) */
11066
+ graph?: string;
11067
+ /** @description Branch name (default `main`) */
11068
+ branch?: string;
11069
+ };
11070
+ header?: {
11071
+ /** @description API contract version to pin. Use `2026-07-23` for this beta-breaking shape. */
11072
+ "Lbb-Version"?: string;
11073
+ };
11074
+ path?: never;
11075
+ cookie?: never;
11076
+ };
11077
+ requestBody?: never;
11078
+ responses: {
11079
+ /** @description OK */
11080
+ 200: {
11081
+ headers: {
11082
+ /** @description API contract version used for the response */
11083
+ "Lbb-Version"?: string;
11084
+ /** @description Request correlation id */
11085
+ "X-Request-Id"?: string;
11086
+ [name: string]: unknown;
11087
+ };
11088
+ content: {
11089
+ "application/json": components["schemas"]["RdfSchemaSummaryResponse"];
11090
+ };
11091
+ };
11092
+ /** @description Bad request */
11093
+ 400: {
11094
+ headers: {
11095
+ /** @description API contract version used for the response */
11096
+ "Lbb-Version"?: string;
11097
+ /** @description Request correlation id */
11098
+ "X-Request-Id"?: string;
11099
+ [name: string]: unknown;
11100
+ };
11101
+ content: {
11102
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
11103
+ };
11104
+ };
11105
+ /** @description Unauthorized */
11106
+ 401: {
11107
+ headers: {
11108
+ /** @description API contract version used for the response */
11109
+ "Lbb-Version"?: string;
11110
+ /** @description Request correlation id */
11111
+ "X-Request-Id"?: string;
11112
+ [name: string]: unknown;
11113
+ };
11114
+ content: {
11115
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
11116
+ };
11117
+ };
11118
+ /** @description Forbidden */
11119
+ 403: {
11120
+ headers: {
11121
+ /** @description API contract version used for the response */
11122
+ "Lbb-Version"?: string;
11123
+ /** @description Request correlation id */
11124
+ "X-Request-Id"?: string;
11125
+ [name: string]: unknown;
11126
+ };
11127
+ content: {
11128
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
11129
+ };
11130
+ };
11131
+ /** @description Not found */
11132
+ 404: {
11133
+ headers: {
11134
+ /** @description API contract version used for the response */
11135
+ "Lbb-Version"?: string;
11136
+ /** @description Request correlation id */
11137
+ "X-Request-Id"?: string;
11138
+ [name: string]: unknown;
11139
+ };
11140
+ content: {
11141
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
11142
+ };
11143
+ };
11144
+ /** @description Conflict */
11145
+ 409: {
11146
+ headers: {
11147
+ /** @description API contract version used for the response */
11148
+ "Lbb-Version"?: string;
11149
+ /** @description Request correlation id */
11150
+ "X-Request-Id"?: string;
11151
+ [name: string]: unknown;
11152
+ };
11153
+ content: {
11154
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
11155
+ };
11156
+ };
11157
+ /** @description Rate limit exceeded */
11158
+ 429: {
11159
+ headers: {
11160
+ /** @description API contract version used for the response */
11161
+ "Lbb-Version"?: string;
11162
+ /** @description Request correlation id */
11163
+ "X-Request-Id"?: string;
11164
+ [name: string]: unknown;
11165
+ };
11166
+ content: {
11167
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
11168
+ };
11169
+ };
11170
+ /** @description Internal server error */
11171
+ 500: {
11172
+ headers: {
11173
+ /** @description API contract version used for the response */
11174
+ "Lbb-Version"?: string;
11175
+ /** @description Request correlation id */
11176
+ "X-Request-Id"?: string;
11177
+ [name: string]: unknown;
11178
+ };
11179
+ content: {
11180
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
11181
+ };
11182
+ };
11183
+ /** @description Service unavailable */
11184
+ 503: {
11185
+ headers: {
11186
+ /** @description API contract version used for the response */
11187
+ "Lbb-Version"?: string;
11188
+ /** @description Request correlation id */
11189
+ "X-Request-Id"?: string;
11190
+ [name: string]: unknown;
11191
+ };
11192
+ content: {
11193
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
11194
+ };
11195
+ };
11196
+ };
11197
+ };
11044
11198
  get_v1_graph_summary: {
11045
11199
  parameters: {
11046
11200
  query?: {
@@ -14268,7 +14422,7 @@ export interface operations {
14268
14422
  graph?: string;
14269
14423
  /** @description Branch name (default `main`) */
14270
14424
  branch?: string;
14271
- /** @description eventual (default) serves the referenced durable report; strong requires validation at current head with current ontology/shapes */
14425
+ /** @description eventual (default) serves the selected base sidecar; strong requires an exact-head sidecar with current ontology/shapes */
14272
14426
  consistency?: string;
14273
14427
  /** @description Maximum returned result rows; result_count remains exact */
14274
14428
  limit?: string;
@@ -14408,6 +14562,8 @@ export interface operations {
14408
14562
  graph?: string;
14409
14563
  /** @description Branch name (default `main`) */
14410
14564
  branch?: string;
14565
+ /** @description Validate and return the exact predicted definition without creating a graph, writing an ontology object, or changing the graph head */
14566
+ dry_run?: string;
14411
14567
  };
14412
14568
  header?: {
14413
14569
  /** @description API contract version to pin. Use `2026-07-23` for this beta-breaking shape. */