@robosystems/client 1.4.1 → 1.4.2

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.
@@ -542,8 +542,8 @@ export type InformationBlockClassification = {
542
542
  /**
543
543
  * Connection (= Association) projection.
544
544
  *
545
- * Renamed at the API boundary to match Charlie's ontology vocabulary.
546
- * The underlying storage table is still ``associations``.
545
+ * "Connection" is the ontology term used on the wire; the storage table is
546
+ * ``associations`` (``models/extensions/association.py``).
547
547
  */
548
548
  export type InformationBlockConnection = {
549
549
  arcrole: Maybe<Scalars['String']['output']>;
@@ -606,10 +606,8 @@ export type InformationBlockFact = {
606
606
  /**
607
607
  * FactSet projection — period-specific instantiation of the Structure.
608
608
  *
609
- * The envelope carries one ``FactSetLite`` per block when a FactSet row
610
- * exists for the requested period; legacy writes that pre-date FactSet
611
- * stamping leave ``fact_set`` null until the expand pass starts
612
- * populating those rows.
609
+ * The envelope carries one ``FactSetLite`` per block when a FactSet row exists
610
+ * for the requested period, and leaves ``fact_set`` null when none does.
613
611
  */
614
612
  export type InformationBlockFactSet = {
615
613
  entityId: Scalars['String']['output'];
@@ -618,9 +616,9 @@ export type InformationBlockFactSet = {
618
616
  id: Scalars['String']['output'];
619
617
  periodEnd: Scalars['Date']['output'];
620
618
  periodStart: Maybe<Scalars['Date']['output']>;
621
- /** Typed ``FactProvenance`` descriptor (discriminated on ``origin``: pivot | schedule | derived | asserted) recording how this FactSet's facts were constructed. Surfaced as JSON, mirroring how mechanics is exposed. Null for pre-feature historical FactSets. */
619
+ /** Typed ``FactProvenance`` descriptor (discriminated on ``origin``: pivot | schedule | derived | asserted) recording how this FactSet's facts were constructed. Surfaced as JSON, mirroring how mechanics is exposed. Null when the FactSet carries no descriptor. */
622
620
  provenance: Maybe<Scalars['JSON']['output']>;
623
- /** Back-pointer to the ``reports`` table while ``report_id`` still lives on facts. Drops out once the retirement migration lands. */
621
+ /** Back-pointer to the parent row in ``reports``. Null when the FactSet does not belong to a report package. */
624
622
  reportId: Maybe<Scalars['String']['output']>;
625
623
  /** Scenario axis (the forecast engine). NULL = actuals; non-NULL names the owning forecast block whose parallel universe this set belongs to. */
626
624
  scenarioId: Maybe<Scalars['String']['output']>;
@@ -652,11 +650,10 @@ export type InformationBlockRenderingPeriod = {
652
650
  /**
653
651
  * One row of a server-side rendered statement.
654
652
  *
655
- * Mirrors :class:`FactRow` from the legacy
656
- * :mod:`robosystems.operations.roboledger.reports.fact_grid` but lives at
657
- * the API boundary so envelope consumers don't depend on the
658
- * fact-grid module. ``values`` is one entry per period column in
659
- * :class:`RenderingLite.periods`.
653
+ * Mirrors :class:`FactRow` in
654
+ * :mod:`robosystems.operations.roboledger.reports.fact_grid`, restated at the
655
+ * API boundary so envelope consumers don't depend on that module. ``values``
656
+ * holds one entry per period column in :class:`RenderingLite.periods`.
660
657
  */
661
658
  export type InformationBlockRenderingRow = {
662
659
  balanceType: Maybe<Scalars['String']['output']>;
@@ -538,8 +538,8 @@ export type InformationBlockClassification = {
538
538
  /**
539
539
  * Connection (= Association) projection.
540
540
  *
541
- * Renamed at the API boundary to match Charlie's ontology vocabulary.
542
- * The underlying storage table is still ``associations``.
541
+ * "Connection" is the ontology term used on the wire; the storage table is
542
+ * ``associations`` (``models/extensions/association.py``).
543
543
  */
544
544
  export type InformationBlockConnection = {
545
545
  arcrole: Maybe<Scalars['String']['output']>
@@ -605,10 +605,8 @@ export type InformationBlockFact = {
605
605
  /**
606
606
  * FactSet projection — period-specific instantiation of the Structure.
607
607
  *
608
- * The envelope carries one ``FactSetLite`` per block when a FactSet row
609
- * exists for the requested period; legacy writes that pre-date FactSet
610
- * stamping leave ``fact_set`` null until the expand pass starts
611
- * populating those rows.
608
+ * The envelope carries one ``FactSetLite`` per block when a FactSet row exists
609
+ * for the requested period, and leaves ``fact_set`` null when none does.
612
610
  */
613
611
  export type InformationBlockFactSet = {
614
612
  entityId: Scalars['String']['output']
@@ -617,9 +615,9 @@ export type InformationBlockFactSet = {
617
615
  id: Scalars['String']['output']
618
616
  periodEnd: Scalars['Date']['output']
619
617
  periodStart: Maybe<Scalars['Date']['output']>
620
- /** Typed ``FactProvenance`` descriptor (discriminated on ``origin``: pivot | schedule | derived | asserted) recording how this FactSet's facts were constructed. Surfaced as JSON, mirroring how mechanics is exposed. Null for pre-feature historical FactSets. */
618
+ /** Typed ``FactProvenance`` descriptor (discriminated on ``origin``: pivot | schedule | derived | asserted) recording how this FactSet's facts were constructed. Surfaced as JSON, mirroring how mechanics is exposed. Null when the FactSet carries no descriptor. */
621
619
  provenance: Maybe<Scalars['JSON']['output']>
622
- /** Back-pointer to the ``reports`` table while ``report_id`` still lives on facts. Drops out once the retirement migration lands. */
620
+ /** Back-pointer to the parent row in ``reports``. Null when the FactSet does not belong to a report package. */
623
621
  reportId: Maybe<Scalars['String']['output']>
624
622
  /** Scenario axis (the forecast engine). NULL = actuals; non-NULL names the owning forecast block whose parallel universe this set belongs to. */
625
623
  scenarioId: Maybe<Scalars['String']['output']>
@@ -654,11 +652,10 @@ export type InformationBlockRenderingPeriod = {
654
652
  /**
655
653
  * One row of a server-side rendered statement.
656
654
  *
657
- * Mirrors :class:`FactRow` from the legacy
658
- * :mod:`robosystems.operations.roboledger.reports.fact_grid` but lives at
659
- * the API boundary so envelope consumers don't depend on the
660
- * fact-grid module. ``values`` is one entry per period column in
661
- * :class:`RenderingLite.periods`.
655
+ * Mirrors :class:`FactRow` in
656
+ * :mod:`robosystems.operations.roboledger.reports.fact_grid`, restated at the
657
+ * API boundary so envelope consumers don't depend on that module. ``values``
658
+ * holds one entry per period column in :class:`RenderingLite.periods`.
662
659
  */
663
660
  export type InformationBlockRenderingRow = {
664
661
  balanceType: Maybe<Scalars['String']['output']>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robosystems/client",
3
- "version": "1.4.1",
3
+ "version": "1.4.2",
4
4
  "description": "TypeScript client library for RoboSystems Financial Knowledge Graph API",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -1761,8 +1761,8 @@ export type ComputedMetricLite = {
1761
1761
  *
1762
1762
  * Connection (= Association) projection.
1763
1763
  *
1764
- * Renamed at the API boundary to match Charlie's ontology vocabulary.
1765
- * The underlying storage table is still ``associations``.
1764
+ * "Connection" is the ontology term used on the wire; the storage table is
1765
+ * ``associations`` (``models/extensions/association.py``).
1766
1766
  */
1767
1767
  export type ConnectionLite = {
1768
1768
  /**
@@ -3258,11 +3258,11 @@ export type CreditSummaryResponse = {
3258
3258
  /**
3259
3259
  * CustomSchemaDefinition
3260
3260
  *
3261
- * Custom schema definition for generic graphs.
3261
+ * Custom node and relationship types for a generic graph.
3262
3262
  *
3263
- * This model allows you to define custom node types, relationship types, and properties
3264
- * for graphs that don't fit the standard entity-based schema. Perfect for domain-specific
3265
- * applications like inventory systems, org charts, project management, etc.
3263
+ * For graphs that don't fit the entity-based schema — inventory, org charts,
3264
+ * project management. ``extends`` names a base schema to build on, or is
3265
+ * omitted for a bare database.
3266
3266
  */
3267
3267
  export type CustomSchemaDefinition = {
3268
3268
  /**
@@ -3820,13 +3820,11 @@ export type DeleteReportOperation = {
3820
3820
  * Shared response shape for delete / soft-delete operations.
3821
3821
  *
3822
3822
  * ``deleted=True`` means the operation succeeded (a row was deleted or
3823
- * flipped). The handler returns 404 instead when the row didn't exist
3824
- * to begin with — the response shape is never used to communicate "not
3825
- * found".
3823
+ * flipped). A row that never existed gets a 404 — this shape never carries
3824
+ * "not found".
3826
3825
  *
3827
- * Defined once here to avoid OpenAPI components key collisions
3828
- * between roboledger and roboinvestor (both surfaces produced
3829
- * separate ``DeleteResult`` classes before consolidation).
3826
+ * Defined once here, and used by both roboledger and roboinvestor, so the
3827
+ * OpenAPI components key resolves to a single schema.
3830
3828
  */
3831
3829
  export type DeleteResult = {
3832
3830
  /**
@@ -4614,10 +4612,7 @@ export type EntryTemplateRequest = {
4614
4612
  /**
4615
4613
  * ErrorResponse
4616
4614
  *
4617
- * Standard error response format used across all API endpoints.
4618
- *
4619
- * This model ensures consistent error responses for SDK generation
4620
- * and client error handling.
4615
+ * Error body returned by every endpoint.
4621
4616
  */
4622
4617
  export type ErrorResponse = {
4623
4618
  /**
@@ -5195,10 +5190,8 @@ export type FactRecord = {
5195
5190
  *
5196
5191
  * FactSet projection — period-specific instantiation of the Structure.
5197
5192
  *
5198
- * The envelope carries one ``FactSetLite`` per block when a FactSet row
5199
- * exists for the requested period; legacy writes that pre-date FactSet
5200
- * stamping leave ``fact_set`` null until the expand pass starts
5201
- * populating those rows.
5193
+ * The envelope carries one ``FactSetLite`` per block when a FactSet row exists
5194
+ * for the requested period, and leaves ``fact_set`` null when none does.
5202
5195
  */
5203
5196
  export type FactSetLite = {
5204
5197
  /**
@@ -5230,7 +5223,7 @@ export type FactSetLite = {
5230
5223
  /**
5231
5224
  * Report Id
5232
5225
  *
5233
- * Back-pointer to the ``reports`` table while ``report_id`` still lives on facts. Drops out once the retirement migration lands.
5226
+ * Back-pointer to the parent row in ``reports``. Null when the FactSet does not belong to a report package.
5234
5227
  */
5235
5228
  report_id?: string | null;
5236
5229
  /**
@@ -5242,7 +5235,7 @@ export type FactSetLite = {
5242
5235
  /**
5243
5236
  * Provenance
5244
5237
  *
5245
- * Typed ``FactProvenance`` descriptor (discriminated on ``origin``: pivot | schedule | derived | asserted) recording how this FactSet's facts were constructed. Surfaced as JSON, mirroring how mechanics is exposed. Null for pre-feature historical FactSets.
5238
+ * Typed ``FactProvenance`` descriptor (discriminated on ``origin``: pivot | schedule | derived | asserted) recording how this FactSet's facts were constructed. Surfaced as JSON, mirroring how mechanics is exposed. Null when the FactSet carries no descriptor.
5246
5239
  */
5247
5240
  provenance?: {
5248
5241
  [key: string]: unknown;
@@ -5603,7 +5596,7 @@ export type FiscalPeriodSummary = {
5603
5596
  /**
5604
5597
  * ForecastMechanics
5605
5598
  *
5606
- * Authored scenario container for ``block_type='forecast'`` (FP&A F-1).
5599
+ * Authored scenario container for ``block_type='forecast'``.
5607
5600
  *
5608
5601
  * The block IS the scenario: its structure id is the ``scenario_id``
5609
5602
  * every derived forward FactSet carries (NULL = actuals). The authored
@@ -5928,7 +5921,7 @@ export type GraphInfo = {
5928
5921
  /**
5929
5922
  * GraphLimitsResponse
5930
5923
  *
5931
- * Response model for comprehensive graph operational limits.
5924
+ * Every operational limit that applies to a graph, and its usage.
5932
5925
  */
5933
5926
  export type GraphLimitsResponse = {
5934
5927
  /**
@@ -7007,8 +7000,7 @@ export type InitializeLedgerResponse = {
7007
7000
  *
7008
7001
  * Aggregate storage usage across the dedicated instance.
7009
7002
  *
7010
- * Covers the parent graph, all subgraphs, DuckDB staging, and
7011
- * future LanceDB vector indexes.
7003
+ * Covers the parent graph, all subgraphs, DuckDB staging, and vector indexes.
7012
7004
  */
7013
7005
  export type InstanceUsage = {
7014
7006
  /**
@@ -7911,10 +7903,9 @@ export type LineGrowthRequest = {
7911
7903
  * FK; matched lines aggregate signed into the attributed fact for the
7912
7904
  * period.
7913
7905
  *
7914
- * ``field`` is **legacy and ignored** — the flow tag used to live in
7915
- * ``line_items.metadata[field]`` but has been promoted to the typed
7916
- * ``flow_element_id`` FK. Retained for wire-compatibility; the engine no
7917
- * longer reads it.
7906
+ * ``field`` is accepted but ignored: the flow tag lives in the typed
7907
+ * ``flow_element_id`` FK, not in JSONB metadata. It stays on the wire so
7908
+ * existing request bodies keep validating.
7918
7909
  */
7919
7910
  export type LineItemMetadataPredicate = {
7920
7911
  /**
@@ -7926,7 +7917,7 @@ export type LineItemMetadataPredicate = {
7926
7917
  /**
7927
7918
  * Field
7928
7919
  *
7929
- * Legacy/ignored. The flow tag now lives in the typed ``flow_element_id`` FK, not JSONB metadata; the engine no longer reads this. Retained for wire-compatibility.
7920
+ * Accepted but ignored. The flow tag lives in the typed ``flow_element_id`` FK, not JSONB metadata. Retained for wire-compatibility.
7930
7921
  */
7931
7922
  field?: string;
7932
7923
  /**
@@ -8662,36 +8653,20 @@ export type OperationCosts = {
8662
8653
  *
8663
8654
  * Uniform response shape for every operation endpoint.
8664
8655
  *
8665
- * Every dispatch through an operation surface returns an envelope carrying
8666
- * an ``op_<ULID>`` operation_id. That id is the bridge to the platform's
8667
- * monitoring surface: pass it to
8656
+ * Every dispatch carries an ``op_<ULID>`` operation_id, which is the bridge
8657
+ * to the monitoring surface: pass it to
8668
8658
  * ``GET /v1/operations/{operation_id}/stream`` (see ``routers/operations.py``)
8669
- * to subscribe to SSE progress events. Sync commands complete in the
8670
- * envelope itself; async commands (``status: "pending"``, HTTP 202) hand
8671
- * off to a background worker and stream their tail through the same SSE
8672
- * endpoint until completion. Failed dispatches still mint an
8659
+ * to subscribe to SSE progress events. Sync commands complete in the envelope
8660
+ * itself (``status: "completed"``, HTTP 200); async commands
8661
+ * (``status: "pending"``, HTTP 202) hand off to a background worker and stream
8662
+ * their tail through that SSE endpoint. Failed dispatches still mint an
8673
8663
  * ``operation_id`` so the audit log and any partial SSE events stay
8674
8664
  * correlatable.
8675
8665
  *
8676
- * ``TResult`` parameterizes the ``result`` field so per-op response shapes
8677
- * surface in OpenAPI. Operations that pin ``OperationSpec.result_type`` get
8678
- * ``OperationEnvelope[YourEnvelope]`` as their response model; ops that
8679
- * don't keep the default ``Any`` shape (`result: any | null` on the wire).
8680
- *
8681
- * Fields:
8682
- * - ``operation``: kebab-case command name (e.g. ``close-period``)
8683
- * - ``operation_id``: ``op_``-prefixed ULID; always present, usable for
8684
- * audit correlation and — for async commands — SSE subscription via
8685
- * ``/v1/operations/{operation_id}/stream``
8686
- * - ``status``: ``"completed"`` (sync, HTTP 200), ``"pending"``
8687
- * (async, HTTP 202), or ``"failed"`` (error responses)
8688
- * - ``result``: the domain-specific payload (the original Pydantic
8689
- * response) or ``None`` for async/failed cases
8690
- * - ``at``: ISO-8601 UTC timestamp of when the envelope was minted
8691
- * - ``created_by``: user ID of the caller who initiated this operation
8692
- * - ``idempotent_replay``: ``True`` when the dispatcher returned this
8693
- * envelope from the idempotency cache (the underlying command did NOT
8694
- * execute again)
8666
+ * ``TResult`` parameterizes ``result`` so per-op response shapes surface in
8667
+ * OpenAPI. Operations that pin ``OperationSpec.result_type`` get
8668
+ * ``OperationEnvelope[YourEnvelope]`` as their response model; the rest keep
8669
+ * the default ``Any`` shape (``result: any | null`` on the wire).
8695
8670
  */
8696
8671
  export type OperationEnvelope = {
8697
8672
  /**
@@ -12085,11 +12060,10 @@ export type RenderingPeriodLite = {
12085
12060
  *
12086
12061
  * One row of a server-side rendered statement.
12087
12062
  *
12088
- * Mirrors :class:`FactRow` from the legacy
12089
- * :mod:`robosystems.operations.roboledger.reports.fact_grid` but lives at
12090
- * the API boundary so envelope consumers don't depend on the
12091
- * fact-grid module. ``values`` is one entry per period column in
12092
- * :class:`RenderingLite.periods`.
12063
+ * Mirrors :class:`FactRow` in
12064
+ * :mod:`robosystems.operations.roboledger.reports.fact_grid`, restated at the
12065
+ * API boundary so envelope consumers don't depend on that module. ``values``
12066
+ * holds one entry per period column in :class:`RenderingLite.periods`.
12093
12067
  */
12094
12068
  export type RenderingRowLite = {
12095
12069
  /**
@@ -12803,12 +12777,10 @@ export type ScheduleCreatedResponse = {
12803
12777
  *
12804
12778
  * Closing-entry generator mechanics for ``block_type='schedule'``.
12805
12779
  *
12806
- * Reads directly from the typed ``structures.artifact_mechanics`` JSONB
12807
- * column. ``entry_template`` and ``schedule_metadata`` are typed
12808
- * sub-models (reusing the wire-level request shapes so OpenAPI emits one
12809
- * canonical type per concept); the envelope builder falls back to
12810
- * ``structures.metadata_`` for legacy Schedule rows that the tenant
12811
- * backfill hasn't yet migrated to the typed column.
12780
+ * Reads the typed ``structures.artifact_mechanics`` JSONB column, falling back
12781
+ * to ``structures.metadata_`` for Schedule rows that lack it.
12782
+ * ``entry_template`` and ``schedule_metadata`` reuse the wire-level request
12783
+ * shapes so OpenAPI emits one canonical type per concept.
12812
12784
  */
12813
12785
  export type ScheduleMechanics = {
12814
12786
  /**
@@ -13686,7 +13658,7 @@ export type StorageItem = {
13686
13658
  /**
13687
13659
  * Type
13688
13660
  *
13689
- * One of: graph, memory, subgraph, vectors, staging, transient (blue-green build artifact), orphan (a `{parent}_*` database, vector index, or staging file with no row in the graph registry — reclaimable leftover of a deleted subgraph)
13661
+ * One of: graph, memory, subgraph, vectors, staging, transient (blue-green build artifact), orphan (a `{parent}_*` database, vector index, or staging file with no row in the graph registry — leftover of a deleted subgraph). Transient and orphan items are collected by the platform's daily storage-reclaim job.
13690
13662
  */
13691
13663
  type: string;
13692
13664
  /**
@@ -15529,18 +15501,16 @@ export type UpdatePublishListOperation = {
15529
15501
  * Update mutable fields on a rollforward block.
15530
15502
  *
15531
15503
  * Editable: name, default_change_tag_qname, attribution_filters,
15532
- * validation_mode. The BS source is fixed once the block is created
15533
- * (changing it would invalidate every previously rendered period); to
15534
- * change BS source, delete and re-create.
15535
- *
15536
- * **Partial-update semantics**: omitted (``None``) fields mean "leave
15537
- * unchanged" — there is no wire-level way to *clear* a previously set
15538
- * default change tag or empty the attribution_filters list via this
15539
- * endpoint. To remove the default tag entirely, delete and re-create
15540
- * the rollforward block. The asymmetry is deliberate: an explicit
15541
- * clear-sentinel adds wire-shape complexity for a use case that rarely
15542
- * arises in practice (default tags are typically set during initial
15543
- * authoring and only swapped, not removed).
15504
+ * validation_mode. The BS source is fixed at creation — changing it would
15505
+ * invalidate every period already rendered — so switching BS source means
15506
+ * delete and re-create.
15507
+ *
15508
+ * **Partial-update semantics**: an omitted (``None``) field means "leave
15509
+ * unchanged". There is no wire-level way to *clear* the default change tag or
15510
+ * empty the attribution_filters list; delete and re-create the block instead.
15511
+ * The asymmetry is deliberate — a clear-sentinel costs wire-shape complexity
15512
+ * for a case that rarely arises, since default tags get swapped rather than
15513
+ * removed.
15544
15514
  */
15545
15515
  export type UpdateRollforwardRequest = {
15546
15516
  /**
@@ -15556,7 +15526,7 @@ export type UpdateRollforwardRequest = {
15556
15526
  /**
15557
15527
  * Default Change Tag Qname
15558
15528
  *
15559
- * New default change tag qname. Pass a value to *change* the default; omit (``None``) to leave unchanged. There is no wire-level way to clear a previously set default — see the class docstring.
15529
+ * New default change tag qname. Pass a value to *change* the default; omit (``None``) to leave unchanged. There is no wire-level way to clear the default — see the class docstring.
15560
15530
  */
15561
15531
  default_change_tag_qname?: string | null;
15562
15532
  /**
package/sdk/types.gen.ts CHANGED
@@ -1810,8 +1810,8 @@ export type ComputedMetricLite = {
1810
1810
  *
1811
1811
  * Connection (= Association) projection.
1812
1812
  *
1813
- * Renamed at the API boundary to match Charlie's ontology vocabulary.
1814
- * The underlying storage table is still ``associations``.
1813
+ * "Connection" is the ontology term used on the wire; the storage table is
1814
+ * ``associations`` (``models/extensions/association.py``).
1815
1815
  */
1816
1816
  export type ConnectionLite = {
1817
1817
  /**
@@ -3338,11 +3338,11 @@ export type CreditSummaryResponse = {
3338
3338
  /**
3339
3339
  * CustomSchemaDefinition
3340
3340
  *
3341
- * Custom schema definition for generic graphs.
3341
+ * Custom node and relationship types for a generic graph.
3342
3342
  *
3343
- * This model allows you to define custom node types, relationship types, and properties
3344
- * for graphs that don't fit the standard entity-based schema. Perfect for domain-specific
3345
- * applications like inventory systems, org charts, project management, etc.
3343
+ * For graphs that don't fit the entity-based schema — inventory, org charts,
3344
+ * project management. ``extends`` names a base schema to build on, or is
3345
+ * omitted for a bare database.
3346
3346
  */
3347
3347
  export type CustomSchemaDefinition = {
3348
3348
  /**
@@ -3917,13 +3917,11 @@ export type DeleteReportOperation = {
3917
3917
  * Shared response shape for delete / soft-delete operations.
3918
3918
  *
3919
3919
  * ``deleted=True`` means the operation succeeded (a row was deleted or
3920
- * flipped). The handler returns 404 instead when the row didn't exist
3921
- * to begin with — the response shape is never used to communicate "not
3922
- * found".
3920
+ * flipped). A row that never existed gets a 404 — this shape never carries
3921
+ * "not found".
3923
3922
  *
3924
- * Defined once here to avoid OpenAPI components key collisions
3925
- * between roboledger and roboinvestor (both surfaces produced
3926
- * separate ``DeleteResult`` classes before consolidation).
3923
+ * Defined once here, and used by both roboledger and roboinvestor, so the
3924
+ * OpenAPI components key resolves to a single schema.
3927
3925
  */
3928
3926
  export type DeleteResult = {
3929
3927
  /**
@@ -4736,10 +4734,7 @@ export type EntryTemplateRequest = {
4736
4734
  /**
4737
4735
  * ErrorResponse
4738
4736
  *
4739
- * Standard error response format used across all API endpoints.
4740
- *
4741
- * This model ensures consistent error responses for SDK generation
4742
- * and client error handling.
4737
+ * Error body returned by every endpoint.
4743
4738
  */
4744
4739
  export type ErrorResponse = {
4745
4740
  /**
@@ -5327,10 +5322,8 @@ export type FactRecord = {
5327
5322
  *
5328
5323
  * FactSet projection — period-specific instantiation of the Structure.
5329
5324
  *
5330
- * The envelope carries one ``FactSetLite`` per block when a FactSet row
5331
- * exists for the requested period; legacy writes that pre-date FactSet
5332
- * stamping leave ``fact_set`` null until the expand pass starts
5333
- * populating those rows.
5325
+ * The envelope carries one ``FactSetLite`` per block when a FactSet row exists
5326
+ * for the requested period, and leaves ``fact_set`` null when none does.
5334
5327
  */
5335
5328
  export type FactSetLite = {
5336
5329
  /**
@@ -5362,7 +5355,7 @@ export type FactSetLite = {
5362
5355
  /**
5363
5356
  * Report Id
5364
5357
  *
5365
- * Back-pointer to the ``reports`` table while ``report_id`` still lives on facts. Drops out once the retirement migration lands.
5358
+ * Back-pointer to the parent row in ``reports``. Null when the FactSet does not belong to a report package.
5366
5359
  */
5367
5360
  report_id?: string | null;
5368
5361
  /**
@@ -5374,7 +5367,7 @@ export type FactSetLite = {
5374
5367
  /**
5375
5368
  * Provenance
5376
5369
  *
5377
- * Typed ``FactProvenance`` descriptor (discriminated on ``origin``: pivot | schedule | derived | asserted) recording how this FactSet's facts were constructed. Surfaced as JSON, mirroring how mechanics is exposed. Null for pre-feature historical FactSets.
5370
+ * Typed ``FactProvenance`` descriptor (discriminated on ``origin``: pivot | schedule | derived | asserted) recording how this FactSet's facts were constructed. Surfaced as JSON, mirroring how mechanics is exposed. Null when the FactSet carries no descriptor.
5378
5371
  */
5379
5372
  provenance?: {
5380
5373
  [key: string]: unknown;
@@ -5744,7 +5737,7 @@ export type FiscalPeriodSummary = {
5744
5737
  /**
5745
5738
  * ForecastMechanics
5746
5739
  *
5747
- * Authored scenario container for ``block_type='forecast'`` (FP&A F-1).
5740
+ * Authored scenario container for ``block_type='forecast'``.
5748
5741
  *
5749
5742
  * The block IS the scenario: its structure id is the ``scenario_id``
5750
5743
  * every derived forward FactSet carries (NULL = actuals). The authored
@@ -6076,7 +6069,7 @@ export type GraphInfo = {
6076
6069
  /**
6077
6070
  * GraphLimitsResponse
6078
6071
  *
6079
- * Response model for comprehensive graph operational limits.
6072
+ * Every operational limit that applies to a graph, and its usage.
6080
6073
  */
6081
6074
  export type GraphLimitsResponse = {
6082
6075
  /**
@@ -7179,8 +7172,7 @@ export type InitializeLedgerResponse = {
7179
7172
  *
7180
7173
  * Aggregate storage usage across the dedicated instance.
7181
7174
  *
7182
- * Covers the parent graph, all subgraphs, DuckDB staging, and
7183
- * future LanceDB vector indexes.
7175
+ * Covers the parent graph, all subgraphs, DuckDB staging, and vector indexes.
7184
7176
  */
7185
7177
  export type InstanceUsage = {
7186
7178
  /**
@@ -8099,10 +8091,9 @@ export type LineGrowthRequest = {
8099
8091
  * FK; matched lines aggregate signed into the attributed fact for the
8100
8092
  * period.
8101
8093
  *
8102
- * ``field`` is **legacy and ignored** — the flow tag used to live in
8103
- * ``line_items.metadata[field]`` but has been promoted to the typed
8104
- * ``flow_element_id`` FK. Retained for wire-compatibility; the engine no
8105
- * longer reads it.
8094
+ * ``field`` is accepted but ignored: the flow tag lives in the typed
8095
+ * ``flow_element_id`` FK, not in JSONB metadata. It stays on the wire so
8096
+ * existing request bodies keep validating.
8106
8097
  */
8107
8098
  export type LineItemMetadataPredicate = {
8108
8099
  /**
@@ -8114,7 +8105,7 @@ export type LineItemMetadataPredicate = {
8114
8105
  /**
8115
8106
  * Field
8116
8107
  *
8117
- * Legacy/ignored. The flow tag now lives in the typed ``flow_element_id`` FK, not JSONB metadata; the engine no longer reads this. Retained for wire-compatibility.
8108
+ * Accepted but ignored. The flow tag lives in the typed ``flow_element_id`` FK, not JSONB metadata. Retained for wire-compatibility.
8118
8109
  */
8119
8110
  field?: string;
8120
8111
  /**
@@ -8872,36 +8863,20 @@ export type OperationCosts = {
8872
8863
  *
8873
8864
  * Uniform response shape for every operation endpoint.
8874
8865
  *
8875
- * Every dispatch through an operation surface returns an envelope carrying
8876
- * an ``op_<ULID>`` operation_id. That id is the bridge to the platform's
8877
- * monitoring surface: pass it to
8866
+ * Every dispatch carries an ``op_<ULID>`` operation_id, which is the bridge
8867
+ * to the monitoring surface: pass it to
8878
8868
  * ``GET /v1/operations/{operation_id}/stream`` (see ``routers/operations.py``)
8879
- * to subscribe to SSE progress events. Sync commands complete in the
8880
- * envelope itself; async commands (``status: "pending"``, HTTP 202) hand
8881
- * off to a background worker and stream their tail through the same SSE
8882
- * endpoint until completion. Failed dispatches still mint an
8869
+ * to subscribe to SSE progress events. Sync commands complete in the envelope
8870
+ * itself (``status: "completed"``, HTTP 200); async commands
8871
+ * (``status: "pending"``, HTTP 202) hand off to a background worker and stream
8872
+ * their tail through that SSE endpoint. Failed dispatches still mint an
8883
8873
  * ``operation_id`` so the audit log and any partial SSE events stay
8884
8874
  * correlatable.
8885
8875
  *
8886
- * ``TResult`` parameterizes the ``result`` field so per-op response shapes
8887
- * surface in OpenAPI. Operations that pin ``OperationSpec.result_type`` get
8888
- * ``OperationEnvelope[YourEnvelope]`` as their response model; ops that
8889
- * don't keep the default ``Any`` shape (`result: any | null` on the wire).
8890
- *
8891
- * Fields:
8892
- * - ``operation``: kebab-case command name (e.g. ``close-period``)
8893
- * - ``operation_id``: ``op_``-prefixed ULID; always present, usable for
8894
- * audit correlation and — for async commands — SSE subscription via
8895
- * ``/v1/operations/{operation_id}/stream``
8896
- * - ``status``: ``"completed"`` (sync, HTTP 200), ``"pending"``
8897
- * (async, HTTP 202), or ``"failed"`` (error responses)
8898
- * - ``result``: the domain-specific payload (the original Pydantic
8899
- * response) or ``None`` for async/failed cases
8900
- * - ``at``: ISO-8601 UTC timestamp of when the envelope was minted
8901
- * - ``created_by``: user ID of the caller who initiated this operation
8902
- * - ``idempotent_replay``: ``True`` when the dispatcher returned this
8903
- * envelope from the idempotency cache (the underlying command did NOT
8904
- * execute again)
8876
+ * ``TResult`` parameterizes ``result`` so per-op response shapes surface in
8877
+ * OpenAPI. Operations that pin ``OperationSpec.result_type`` get
8878
+ * ``OperationEnvelope[YourEnvelope]`` as their response model; the rest keep
8879
+ * the default ``Any`` shape (``result: any | null`` on the wire).
8905
8880
  */
8906
8881
  export type OperationEnvelope = {
8907
8882
  /**
@@ -12381,11 +12356,10 @@ export type RenderingPeriodLite = {
12381
12356
  *
12382
12357
  * One row of a server-side rendered statement.
12383
12358
  *
12384
- * Mirrors :class:`FactRow` from the legacy
12385
- * :mod:`robosystems.operations.roboledger.reports.fact_grid` but lives at
12386
- * the API boundary so envelope consumers don't depend on the
12387
- * fact-grid module. ``values`` is one entry per period column in
12388
- * :class:`RenderingLite.periods`.
12359
+ * Mirrors :class:`FactRow` in
12360
+ * :mod:`robosystems.operations.roboledger.reports.fact_grid`, restated at the
12361
+ * API boundary so envelope consumers don't depend on that module. ``values``
12362
+ * holds one entry per period column in :class:`RenderingLite.periods`.
12389
12363
  */
12390
12364
  export type RenderingRowLite = {
12391
12365
  /**
@@ -13119,12 +13093,10 @@ export type ScheduleCreatedResponse = {
13119
13093
  *
13120
13094
  * Closing-entry generator mechanics for ``block_type='schedule'``.
13121
13095
  *
13122
- * Reads directly from the typed ``structures.artifact_mechanics`` JSONB
13123
- * column. ``entry_template`` and ``schedule_metadata`` are typed
13124
- * sub-models (reusing the wire-level request shapes so OpenAPI emits one
13125
- * canonical type per concept); the envelope builder falls back to
13126
- * ``structures.metadata_`` for legacy Schedule rows that the tenant
13127
- * backfill hasn't yet migrated to the typed column.
13096
+ * Reads the typed ``structures.artifact_mechanics`` JSONB column, falling back
13097
+ * to ``structures.metadata_`` for Schedule rows that lack it.
13098
+ * ``entry_template`` and ``schedule_metadata`` reuse the wire-level request
13099
+ * shapes so OpenAPI emits one canonical type per concept.
13128
13100
  */
13129
13101
  export type ScheduleMechanics = {
13130
13102
  /**
@@ -14026,7 +13998,7 @@ export type StorageItem = {
14026
13998
  /**
14027
13999
  * Type
14028
14000
  *
14029
- * One of: graph, memory, subgraph, vectors, staging, transient (blue-green build artifact), orphan (a `{parent}_*` database, vector index, or staging file with no row in the graph registry — reclaimable leftover of a deleted subgraph)
14001
+ * One of: graph, memory, subgraph, vectors, staging, transient (blue-green build artifact), orphan (a `{parent}_*` database, vector index, or staging file with no row in the graph registry — leftover of a deleted subgraph). Transient and orphan items are collected by the platform's daily storage-reclaim job.
14030
14002
  */
14031
14003
  type: string;
14032
14004
  /**
@@ -15916,18 +15888,16 @@ export type UpdatePublishListOperation = {
15916
15888
  * Update mutable fields on a rollforward block.
15917
15889
  *
15918
15890
  * Editable: name, default_change_tag_qname, attribution_filters,
15919
- * validation_mode. The BS source is fixed once the block is created
15920
- * (changing it would invalidate every previously rendered period); to
15921
- * change BS source, delete and re-create.
15922
- *
15923
- * **Partial-update semantics**: omitted (``None``) fields mean "leave
15924
- * unchanged" — there is no wire-level way to *clear* a previously set
15925
- * default change tag or empty the attribution_filters list via this
15926
- * endpoint. To remove the default tag entirely, delete and re-create
15927
- * the rollforward block. The asymmetry is deliberate: an explicit
15928
- * clear-sentinel adds wire-shape complexity for a use case that rarely
15929
- * arises in practice (default tags are typically set during initial
15930
- * authoring and only swapped, not removed).
15891
+ * validation_mode. The BS source is fixed at creation — changing it would
15892
+ * invalidate every period already rendered — so switching BS source means
15893
+ * delete and re-create.
15894
+ *
15895
+ * **Partial-update semantics**: an omitted (``None``) field means "leave
15896
+ * unchanged". There is no wire-level way to *clear* the default change tag or
15897
+ * empty the attribution_filters list; delete and re-create the block instead.
15898
+ * The asymmetry is deliberate — a clear-sentinel costs wire-shape complexity
15899
+ * for a case that rarely arises, since default tags get swapped rather than
15900
+ * removed.
15931
15901
  */
15932
15902
  export type UpdateRollforwardRequest = {
15933
15903
  /**
@@ -15943,7 +15913,7 @@ export type UpdateRollforwardRequest = {
15943
15913
  /**
15944
15914
  * Default Change Tag Qname
15945
15915
  *
15946
- * New default change tag qname. Pass a value to *change* the default; omit (``None``) to leave unchanged. There is no wire-level way to clear a previously set default — see the class docstring.
15916
+ * New default change tag qname. Pass a value to *change* the default; omit (``None``) to leave unchanged. There is no wire-level way to clear the default — see the class docstring.
15947
15917
  */
15948
15918
  default_change_tag_qname?: string | null;
15949
15919
  /**
package/types.gen.d.ts CHANGED
@@ -1761,8 +1761,8 @@ export type ComputedMetricLite = {
1761
1761
  *
1762
1762
  * Connection (= Association) projection.
1763
1763
  *
1764
- * Renamed at the API boundary to match Charlie's ontology vocabulary.
1765
- * The underlying storage table is still ``associations``.
1764
+ * "Connection" is the ontology term used on the wire; the storage table is
1765
+ * ``associations`` (``models/extensions/association.py``).
1766
1766
  */
1767
1767
  export type ConnectionLite = {
1768
1768
  /**
@@ -3258,11 +3258,11 @@ export type CreditSummaryResponse = {
3258
3258
  /**
3259
3259
  * CustomSchemaDefinition
3260
3260
  *
3261
- * Custom schema definition for generic graphs.
3261
+ * Custom node and relationship types for a generic graph.
3262
3262
  *
3263
- * This model allows you to define custom node types, relationship types, and properties
3264
- * for graphs that don't fit the standard entity-based schema. Perfect for domain-specific
3265
- * applications like inventory systems, org charts, project management, etc.
3263
+ * For graphs that don't fit the entity-based schema — inventory, org charts,
3264
+ * project management. ``extends`` names a base schema to build on, or is
3265
+ * omitted for a bare database.
3266
3266
  */
3267
3267
  export type CustomSchemaDefinition = {
3268
3268
  /**
@@ -3820,13 +3820,11 @@ export type DeleteReportOperation = {
3820
3820
  * Shared response shape for delete / soft-delete operations.
3821
3821
  *
3822
3822
  * ``deleted=True`` means the operation succeeded (a row was deleted or
3823
- * flipped). The handler returns 404 instead when the row didn't exist
3824
- * to begin with — the response shape is never used to communicate "not
3825
- * found".
3823
+ * flipped). A row that never existed gets a 404 — this shape never carries
3824
+ * "not found".
3826
3825
  *
3827
- * Defined once here to avoid OpenAPI components key collisions
3828
- * between roboledger and roboinvestor (both surfaces produced
3829
- * separate ``DeleteResult`` classes before consolidation).
3826
+ * Defined once here, and used by both roboledger and roboinvestor, so the
3827
+ * OpenAPI components key resolves to a single schema.
3830
3828
  */
3831
3829
  export type DeleteResult = {
3832
3830
  /**
@@ -4614,10 +4612,7 @@ export type EntryTemplateRequest = {
4614
4612
  /**
4615
4613
  * ErrorResponse
4616
4614
  *
4617
- * Standard error response format used across all API endpoints.
4618
- *
4619
- * This model ensures consistent error responses for SDK generation
4620
- * and client error handling.
4615
+ * Error body returned by every endpoint.
4621
4616
  */
4622
4617
  export type ErrorResponse = {
4623
4618
  /**
@@ -5195,10 +5190,8 @@ export type FactRecord = {
5195
5190
  *
5196
5191
  * FactSet projection — period-specific instantiation of the Structure.
5197
5192
  *
5198
- * The envelope carries one ``FactSetLite`` per block when a FactSet row
5199
- * exists for the requested period; legacy writes that pre-date FactSet
5200
- * stamping leave ``fact_set`` null until the expand pass starts
5201
- * populating those rows.
5193
+ * The envelope carries one ``FactSetLite`` per block when a FactSet row exists
5194
+ * for the requested period, and leaves ``fact_set`` null when none does.
5202
5195
  */
5203
5196
  export type FactSetLite = {
5204
5197
  /**
@@ -5230,7 +5223,7 @@ export type FactSetLite = {
5230
5223
  /**
5231
5224
  * Report Id
5232
5225
  *
5233
- * Back-pointer to the ``reports`` table while ``report_id`` still lives on facts. Drops out once the retirement migration lands.
5226
+ * Back-pointer to the parent row in ``reports``. Null when the FactSet does not belong to a report package.
5234
5227
  */
5235
5228
  report_id?: string | null;
5236
5229
  /**
@@ -5242,7 +5235,7 @@ export type FactSetLite = {
5242
5235
  /**
5243
5236
  * Provenance
5244
5237
  *
5245
- * Typed ``FactProvenance`` descriptor (discriminated on ``origin``: pivot | schedule | derived | asserted) recording how this FactSet's facts were constructed. Surfaced as JSON, mirroring how mechanics is exposed. Null for pre-feature historical FactSets.
5238
+ * Typed ``FactProvenance`` descriptor (discriminated on ``origin``: pivot | schedule | derived | asserted) recording how this FactSet's facts were constructed. Surfaced as JSON, mirroring how mechanics is exposed. Null when the FactSet carries no descriptor.
5246
5239
  */
5247
5240
  provenance?: {
5248
5241
  [key: string]: unknown;
@@ -5603,7 +5596,7 @@ export type FiscalPeriodSummary = {
5603
5596
  /**
5604
5597
  * ForecastMechanics
5605
5598
  *
5606
- * Authored scenario container for ``block_type='forecast'`` (FP&A F-1).
5599
+ * Authored scenario container for ``block_type='forecast'``.
5607
5600
  *
5608
5601
  * The block IS the scenario: its structure id is the ``scenario_id``
5609
5602
  * every derived forward FactSet carries (NULL = actuals). The authored
@@ -5928,7 +5921,7 @@ export type GraphInfo = {
5928
5921
  /**
5929
5922
  * GraphLimitsResponse
5930
5923
  *
5931
- * Response model for comprehensive graph operational limits.
5924
+ * Every operational limit that applies to a graph, and its usage.
5932
5925
  */
5933
5926
  export type GraphLimitsResponse = {
5934
5927
  /**
@@ -7007,8 +7000,7 @@ export type InitializeLedgerResponse = {
7007
7000
  *
7008
7001
  * Aggregate storage usage across the dedicated instance.
7009
7002
  *
7010
- * Covers the parent graph, all subgraphs, DuckDB staging, and
7011
- * future LanceDB vector indexes.
7003
+ * Covers the parent graph, all subgraphs, DuckDB staging, and vector indexes.
7012
7004
  */
7013
7005
  export type InstanceUsage = {
7014
7006
  /**
@@ -7911,10 +7903,9 @@ export type LineGrowthRequest = {
7911
7903
  * FK; matched lines aggregate signed into the attributed fact for the
7912
7904
  * period.
7913
7905
  *
7914
- * ``field`` is **legacy and ignored** — the flow tag used to live in
7915
- * ``line_items.metadata[field]`` but has been promoted to the typed
7916
- * ``flow_element_id`` FK. Retained for wire-compatibility; the engine no
7917
- * longer reads it.
7906
+ * ``field`` is accepted but ignored: the flow tag lives in the typed
7907
+ * ``flow_element_id`` FK, not in JSONB metadata. It stays on the wire so
7908
+ * existing request bodies keep validating.
7918
7909
  */
7919
7910
  export type LineItemMetadataPredicate = {
7920
7911
  /**
@@ -7926,7 +7917,7 @@ export type LineItemMetadataPredicate = {
7926
7917
  /**
7927
7918
  * Field
7928
7919
  *
7929
- * Legacy/ignored. The flow tag now lives in the typed ``flow_element_id`` FK, not JSONB metadata; the engine no longer reads this. Retained for wire-compatibility.
7920
+ * Accepted but ignored. The flow tag lives in the typed ``flow_element_id`` FK, not JSONB metadata. Retained for wire-compatibility.
7930
7921
  */
7931
7922
  field?: string;
7932
7923
  /**
@@ -8662,36 +8653,20 @@ export type OperationCosts = {
8662
8653
  *
8663
8654
  * Uniform response shape for every operation endpoint.
8664
8655
  *
8665
- * Every dispatch through an operation surface returns an envelope carrying
8666
- * an ``op_<ULID>`` operation_id. That id is the bridge to the platform's
8667
- * monitoring surface: pass it to
8656
+ * Every dispatch carries an ``op_<ULID>`` operation_id, which is the bridge
8657
+ * to the monitoring surface: pass it to
8668
8658
  * ``GET /v1/operations/{operation_id}/stream`` (see ``routers/operations.py``)
8669
- * to subscribe to SSE progress events. Sync commands complete in the
8670
- * envelope itself; async commands (``status: "pending"``, HTTP 202) hand
8671
- * off to a background worker and stream their tail through the same SSE
8672
- * endpoint until completion. Failed dispatches still mint an
8659
+ * to subscribe to SSE progress events. Sync commands complete in the envelope
8660
+ * itself (``status: "completed"``, HTTP 200); async commands
8661
+ * (``status: "pending"``, HTTP 202) hand off to a background worker and stream
8662
+ * their tail through that SSE endpoint. Failed dispatches still mint an
8673
8663
  * ``operation_id`` so the audit log and any partial SSE events stay
8674
8664
  * correlatable.
8675
8665
  *
8676
- * ``TResult`` parameterizes the ``result`` field so per-op response shapes
8677
- * surface in OpenAPI. Operations that pin ``OperationSpec.result_type`` get
8678
- * ``OperationEnvelope[YourEnvelope]`` as their response model; ops that
8679
- * don't keep the default ``Any`` shape (`result: any | null` on the wire).
8680
- *
8681
- * Fields:
8682
- * - ``operation``: kebab-case command name (e.g. ``close-period``)
8683
- * - ``operation_id``: ``op_``-prefixed ULID; always present, usable for
8684
- * audit correlation and — for async commands — SSE subscription via
8685
- * ``/v1/operations/{operation_id}/stream``
8686
- * - ``status``: ``"completed"`` (sync, HTTP 200), ``"pending"``
8687
- * (async, HTTP 202), or ``"failed"`` (error responses)
8688
- * - ``result``: the domain-specific payload (the original Pydantic
8689
- * response) or ``None`` for async/failed cases
8690
- * - ``at``: ISO-8601 UTC timestamp of when the envelope was minted
8691
- * - ``created_by``: user ID of the caller who initiated this operation
8692
- * - ``idempotent_replay``: ``True`` when the dispatcher returned this
8693
- * envelope from the idempotency cache (the underlying command did NOT
8694
- * execute again)
8666
+ * ``TResult`` parameterizes ``result`` so per-op response shapes surface in
8667
+ * OpenAPI. Operations that pin ``OperationSpec.result_type`` get
8668
+ * ``OperationEnvelope[YourEnvelope]`` as their response model; the rest keep
8669
+ * the default ``Any`` shape (``result: any | null`` on the wire).
8695
8670
  */
8696
8671
  export type OperationEnvelope = {
8697
8672
  /**
@@ -12085,11 +12060,10 @@ export type RenderingPeriodLite = {
12085
12060
  *
12086
12061
  * One row of a server-side rendered statement.
12087
12062
  *
12088
- * Mirrors :class:`FactRow` from the legacy
12089
- * :mod:`robosystems.operations.roboledger.reports.fact_grid` but lives at
12090
- * the API boundary so envelope consumers don't depend on the
12091
- * fact-grid module. ``values`` is one entry per period column in
12092
- * :class:`RenderingLite.periods`.
12063
+ * Mirrors :class:`FactRow` in
12064
+ * :mod:`robosystems.operations.roboledger.reports.fact_grid`, restated at the
12065
+ * API boundary so envelope consumers don't depend on that module. ``values``
12066
+ * holds one entry per period column in :class:`RenderingLite.periods`.
12093
12067
  */
12094
12068
  export type RenderingRowLite = {
12095
12069
  /**
@@ -12803,12 +12777,10 @@ export type ScheduleCreatedResponse = {
12803
12777
  *
12804
12778
  * Closing-entry generator mechanics for ``block_type='schedule'``.
12805
12779
  *
12806
- * Reads directly from the typed ``structures.artifact_mechanics`` JSONB
12807
- * column. ``entry_template`` and ``schedule_metadata`` are typed
12808
- * sub-models (reusing the wire-level request shapes so OpenAPI emits one
12809
- * canonical type per concept); the envelope builder falls back to
12810
- * ``structures.metadata_`` for legacy Schedule rows that the tenant
12811
- * backfill hasn't yet migrated to the typed column.
12780
+ * Reads the typed ``structures.artifact_mechanics`` JSONB column, falling back
12781
+ * to ``structures.metadata_`` for Schedule rows that lack it.
12782
+ * ``entry_template`` and ``schedule_metadata`` reuse the wire-level request
12783
+ * shapes so OpenAPI emits one canonical type per concept.
12812
12784
  */
12813
12785
  export type ScheduleMechanics = {
12814
12786
  /**
@@ -13686,7 +13658,7 @@ export type StorageItem = {
13686
13658
  /**
13687
13659
  * Type
13688
13660
  *
13689
- * One of: graph, memory, subgraph, vectors, staging, transient (blue-green build artifact), orphan (a `{parent}_*` database, vector index, or staging file with no row in the graph registry — reclaimable leftover of a deleted subgraph)
13661
+ * One of: graph, memory, subgraph, vectors, staging, transient (blue-green build artifact), orphan (a `{parent}_*` database, vector index, or staging file with no row in the graph registry — leftover of a deleted subgraph). Transient and orphan items are collected by the platform's daily storage-reclaim job.
13690
13662
  */
13691
13663
  type: string;
13692
13664
  /**
@@ -15529,18 +15501,16 @@ export type UpdatePublishListOperation = {
15529
15501
  * Update mutable fields on a rollforward block.
15530
15502
  *
15531
15503
  * Editable: name, default_change_tag_qname, attribution_filters,
15532
- * validation_mode. The BS source is fixed once the block is created
15533
- * (changing it would invalidate every previously rendered period); to
15534
- * change BS source, delete and re-create.
15535
- *
15536
- * **Partial-update semantics**: omitted (``None``) fields mean "leave
15537
- * unchanged" — there is no wire-level way to *clear* a previously set
15538
- * default change tag or empty the attribution_filters list via this
15539
- * endpoint. To remove the default tag entirely, delete and re-create
15540
- * the rollforward block. The asymmetry is deliberate: an explicit
15541
- * clear-sentinel adds wire-shape complexity for a use case that rarely
15542
- * arises in practice (default tags are typically set during initial
15543
- * authoring and only swapped, not removed).
15504
+ * validation_mode. The BS source is fixed at creation — changing it would
15505
+ * invalidate every period already rendered — so switching BS source means
15506
+ * delete and re-create.
15507
+ *
15508
+ * **Partial-update semantics**: an omitted (``None``) field means "leave
15509
+ * unchanged". There is no wire-level way to *clear* the default change tag or
15510
+ * empty the attribution_filters list; delete and re-create the block instead.
15511
+ * The asymmetry is deliberate — a clear-sentinel costs wire-shape complexity
15512
+ * for a case that rarely arises, since default tags get swapped rather than
15513
+ * removed.
15544
15514
  */
15545
15515
  export type UpdateRollforwardRequest = {
15546
15516
  /**
@@ -15556,7 +15526,7 @@ export type UpdateRollforwardRequest = {
15556
15526
  /**
15557
15527
  * Default Change Tag Qname
15558
15528
  *
15559
- * New default change tag qname. Pass a value to *change* the default; omit (``None``) to leave unchanged. There is no wire-level way to clear a previously set default — see the class docstring.
15529
+ * New default change tag qname. Pass a value to *change* the default; omit (``None``) to leave unchanged. There is no wire-level way to clear the default — see the class docstring.
15560
15530
  */
15561
15531
  default_change_tag_qname?: string | null;
15562
15532
  /**
package/types.gen.ts CHANGED
@@ -1810,8 +1810,8 @@ export type ComputedMetricLite = {
1810
1810
  *
1811
1811
  * Connection (= Association) projection.
1812
1812
  *
1813
- * Renamed at the API boundary to match Charlie's ontology vocabulary.
1814
- * The underlying storage table is still ``associations``.
1813
+ * "Connection" is the ontology term used on the wire; the storage table is
1814
+ * ``associations`` (``models/extensions/association.py``).
1815
1815
  */
1816
1816
  export type ConnectionLite = {
1817
1817
  /**
@@ -3338,11 +3338,11 @@ export type CreditSummaryResponse = {
3338
3338
  /**
3339
3339
  * CustomSchemaDefinition
3340
3340
  *
3341
- * Custom schema definition for generic graphs.
3341
+ * Custom node and relationship types for a generic graph.
3342
3342
  *
3343
- * This model allows you to define custom node types, relationship types, and properties
3344
- * for graphs that don't fit the standard entity-based schema. Perfect for domain-specific
3345
- * applications like inventory systems, org charts, project management, etc.
3343
+ * For graphs that don't fit the entity-based schema — inventory, org charts,
3344
+ * project management. ``extends`` names a base schema to build on, or is
3345
+ * omitted for a bare database.
3346
3346
  */
3347
3347
  export type CustomSchemaDefinition = {
3348
3348
  /**
@@ -3917,13 +3917,11 @@ export type DeleteReportOperation = {
3917
3917
  * Shared response shape for delete / soft-delete operations.
3918
3918
  *
3919
3919
  * ``deleted=True`` means the operation succeeded (a row was deleted or
3920
- * flipped). The handler returns 404 instead when the row didn't exist
3921
- * to begin with — the response shape is never used to communicate "not
3922
- * found".
3920
+ * flipped). A row that never existed gets a 404 — this shape never carries
3921
+ * "not found".
3923
3922
  *
3924
- * Defined once here to avoid OpenAPI components key collisions
3925
- * between roboledger and roboinvestor (both surfaces produced
3926
- * separate ``DeleteResult`` classes before consolidation).
3923
+ * Defined once here, and used by both roboledger and roboinvestor, so the
3924
+ * OpenAPI components key resolves to a single schema.
3927
3925
  */
3928
3926
  export type DeleteResult = {
3929
3927
  /**
@@ -4736,10 +4734,7 @@ export type EntryTemplateRequest = {
4736
4734
  /**
4737
4735
  * ErrorResponse
4738
4736
  *
4739
- * Standard error response format used across all API endpoints.
4740
- *
4741
- * This model ensures consistent error responses for SDK generation
4742
- * and client error handling.
4737
+ * Error body returned by every endpoint.
4743
4738
  */
4744
4739
  export type ErrorResponse = {
4745
4740
  /**
@@ -5327,10 +5322,8 @@ export type FactRecord = {
5327
5322
  *
5328
5323
  * FactSet projection — period-specific instantiation of the Structure.
5329
5324
  *
5330
- * The envelope carries one ``FactSetLite`` per block when a FactSet row
5331
- * exists for the requested period; legacy writes that pre-date FactSet
5332
- * stamping leave ``fact_set`` null until the expand pass starts
5333
- * populating those rows.
5325
+ * The envelope carries one ``FactSetLite`` per block when a FactSet row exists
5326
+ * for the requested period, and leaves ``fact_set`` null when none does.
5334
5327
  */
5335
5328
  export type FactSetLite = {
5336
5329
  /**
@@ -5362,7 +5355,7 @@ export type FactSetLite = {
5362
5355
  /**
5363
5356
  * Report Id
5364
5357
  *
5365
- * Back-pointer to the ``reports`` table while ``report_id`` still lives on facts. Drops out once the retirement migration lands.
5358
+ * Back-pointer to the parent row in ``reports``. Null when the FactSet does not belong to a report package.
5366
5359
  */
5367
5360
  report_id?: string | null;
5368
5361
  /**
@@ -5374,7 +5367,7 @@ export type FactSetLite = {
5374
5367
  /**
5375
5368
  * Provenance
5376
5369
  *
5377
- * Typed ``FactProvenance`` descriptor (discriminated on ``origin``: pivot | schedule | derived | asserted) recording how this FactSet's facts were constructed. Surfaced as JSON, mirroring how mechanics is exposed. Null for pre-feature historical FactSets.
5370
+ * Typed ``FactProvenance`` descriptor (discriminated on ``origin``: pivot | schedule | derived | asserted) recording how this FactSet's facts were constructed. Surfaced as JSON, mirroring how mechanics is exposed. Null when the FactSet carries no descriptor.
5378
5371
  */
5379
5372
  provenance?: {
5380
5373
  [key: string]: unknown;
@@ -5744,7 +5737,7 @@ export type FiscalPeriodSummary = {
5744
5737
  /**
5745
5738
  * ForecastMechanics
5746
5739
  *
5747
- * Authored scenario container for ``block_type='forecast'`` (FP&A F-1).
5740
+ * Authored scenario container for ``block_type='forecast'``.
5748
5741
  *
5749
5742
  * The block IS the scenario: its structure id is the ``scenario_id``
5750
5743
  * every derived forward FactSet carries (NULL = actuals). The authored
@@ -6076,7 +6069,7 @@ export type GraphInfo = {
6076
6069
  /**
6077
6070
  * GraphLimitsResponse
6078
6071
  *
6079
- * Response model for comprehensive graph operational limits.
6072
+ * Every operational limit that applies to a graph, and its usage.
6080
6073
  */
6081
6074
  export type GraphLimitsResponse = {
6082
6075
  /**
@@ -7179,8 +7172,7 @@ export type InitializeLedgerResponse = {
7179
7172
  *
7180
7173
  * Aggregate storage usage across the dedicated instance.
7181
7174
  *
7182
- * Covers the parent graph, all subgraphs, DuckDB staging, and
7183
- * future LanceDB vector indexes.
7175
+ * Covers the parent graph, all subgraphs, DuckDB staging, and vector indexes.
7184
7176
  */
7185
7177
  export type InstanceUsage = {
7186
7178
  /**
@@ -8099,10 +8091,9 @@ export type LineGrowthRequest = {
8099
8091
  * FK; matched lines aggregate signed into the attributed fact for the
8100
8092
  * period.
8101
8093
  *
8102
- * ``field`` is **legacy and ignored** — the flow tag used to live in
8103
- * ``line_items.metadata[field]`` but has been promoted to the typed
8104
- * ``flow_element_id`` FK. Retained for wire-compatibility; the engine no
8105
- * longer reads it.
8094
+ * ``field`` is accepted but ignored: the flow tag lives in the typed
8095
+ * ``flow_element_id`` FK, not in JSONB metadata. It stays on the wire so
8096
+ * existing request bodies keep validating.
8106
8097
  */
8107
8098
  export type LineItemMetadataPredicate = {
8108
8099
  /**
@@ -8114,7 +8105,7 @@ export type LineItemMetadataPredicate = {
8114
8105
  /**
8115
8106
  * Field
8116
8107
  *
8117
- * Legacy/ignored. The flow tag now lives in the typed ``flow_element_id`` FK, not JSONB metadata; the engine no longer reads this. Retained for wire-compatibility.
8108
+ * Accepted but ignored. The flow tag lives in the typed ``flow_element_id`` FK, not JSONB metadata. Retained for wire-compatibility.
8118
8109
  */
8119
8110
  field?: string;
8120
8111
  /**
@@ -8872,36 +8863,20 @@ export type OperationCosts = {
8872
8863
  *
8873
8864
  * Uniform response shape for every operation endpoint.
8874
8865
  *
8875
- * Every dispatch through an operation surface returns an envelope carrying
8876
- * an ``op_<ULID>`` operation_id. That id is the bridge to the platform's
8877
- * monitoring surface: pass it to
8866
+ * Every dispatch carries an ``op_<ULID>`` operation_id, which is the bridge
8867
+ * to the monitoring surface: pass it to
8878
8868
  * ``GET /v1/operations/{operation_id}/stream`` (see ``routers/operations.py``)
8879
- * to subscribe to SSE progress events. Sync commands complete in the
8880
- * envelope itself; async commands (``status: "pending"``, HTTP 202) hand
8881
- * off to a background worker and stream their tail through the same SSE
8882
- * endpoint until completion. Failed dispatches still mint an
8869
+ * to subscribe to SSE progress events. Sync commands complete in the envelope
8870
+ * itself (``status: "completed"``, HTTP 200); async commands
8871
+ * (``status: "pending"``, HTTP 202) hand off to a background worker and stream
8872
+ * their tail through that SSE endpoint. Failed dispatches still mint an
8883
8873
  * ``operation_id`` so the audit log and any partial SSE events stay
8884
8874
  * correlatable.
8885
8875
  *
8886
- * ``TResult`` parameterizes the ``result`` field so per-op response shapes
8887
- * surface in OpenAPI. Operations that pin ``OperationSpec.result_type`` get
8888
- * ``OperationEnvelope[YourEnvelope]`` as their response model; ops that
8889
- * don't keep the default ``Any`` shape (`result: any | null` on the wire).
8890
- *
8891
- * Fields:
8892
- * - ``operation``: kebab-case command name (e.g. ``close-period``)
8893
- * - ``operation_id``: ``op_``-prefixed ULID; always present, usable for
8894
- * audit correlation and — for async commands — SSE subscription via
8895
- * ``/v1/operations/{operation_id}/stream``
8896
- * - ``status``: ``"completed"`` (sync, HTTP 200), ``"pending"``
8897
- * (async, HTTP 202), or ``"failed"`` (error responses)
8898
- * - ``result``: the domain-specific payload (the original Pydantic
8899
- * response) or ``None`` for async/failed cases
8900
- * - ``at``: ISO-8601 UTC timestamp of when the envelope was minted
8901
- * - ``created_by``: user ID of the caller who initiated this operation
8902
- * - ``idempotent_replay``: ``True`` when the dispatcher returned this
8903
- * envelope from the idempotency cache (the underlying command did NOT
8904
- * execute again)
8876
+ * ``TResult`` parameterizes ``result`` so per-op response shapes surface in
8877
+ * OpenAPI. Operations that pin ``OperationSpec.result_type`` get
8878
+ * ``OperationEnvelope[YourEnvelope]`` as their response model; the rest keep
8879
+ * the default ``Any`` shape (``result: any | null`` on the wire).
8905
8880
  */
8906
8881
  export type OperationEnvelope = {
8907
8882
  /**
@@ -12381,11 +12356,10 @@ export type RenderingPeriodLite = {
12381
12356
  *
12382
12357
  * One row of a server-side rendered statement.
12383
12358
  *
12384
- * Mirrors :class:`FactRow` from the legacy
12385
- * :mod:`robosystems.operations.roboledger.reports.fact_grid` but lives at
12386
- * the API boundary so envelope consumers don't depend on the
12387
- * fact-grid module. ``values`` is one entry per period column in
12388
- * :class:`RenderingLite.periods`.
12359
+ * Mirrors :class:`FactRow` in
12360
+ * :mod:`robosystems.operations.roboledger.reports.fact_grid`, restated at the
12361
+ * API boundary so envelope consumers don't depend on that module. ``values``
12362
+ * holds one entry per period column in :class:`RenderingLite.periods`.
12389
12363
  */
12390
12364
  export type RenderingRowLite = {
12391
12365
  /**
@@ -13119,12 +13093,10 @@ export type ScheduleCreatedResponse = {
13119
13093
  *
13120
13094
  * Closing-entry generator mechanics for ``block_type='schedule'``.
13121
13095
  *
13122
- * Reads directly from the typed ``structures.artifact_mechanics`` JSONB
13123
- * column. ``entry_template`` and ``schedule_metadata`` are typed
13124
- * sub-models (reusing the wire-level request shapes so OpenAPI emits one
13125
- * canonical type per concept); the envelope builder falls back to
13126
- * ``structures.metadata_`` for legacy Schedule rows that the tenant
13127
- * backfill hasn't yet migrated to the typed column.
13096
+ * Reads the typed ``structures.artifact_mechanics`` JSONB column, falling back
13097
+ * to ``structures.metadata_`` for Schedule rows that lack it.
13098
+ * ``entry_template`` and ``schedule_metadata`` reuse the wire-level request
13099
+ * shapes so OpenAPI emits one canonical type per concept.
13128
13100
  */
13129
13101
  export type ScheduleMechanics = {
13130
13102
  /**
@@ -14026,7 +13998,7 @@ export type StorageItem = {
14026
13998
  /**
14027
13999
  * Type
14028
14000
  *
14029
- * One of: graph, memory, subgraph, vectors, staging, transient (blue-green build artifact), orphan (a `{parent}_*` database, vector index, or staging file with no row in the graph registry — reclaimable leftover of a deleted subgraph)
14001
+ * One of: graph, memory, subgraph, vectors, staging, transient (blue-green build artifact), orphan (a `{parent}_*` database, vector index, or staging file with no row in the graph registry — leftover of a deleted subgraph). Transient and orphan items are collected by the platform's daily storage-reclaim job.
14030
14002
  */
14031
14003
  type: string;
14032
14004
  /**
@@ -15916,18 +15888,16 @@ export type UpdatePublishListOperation = {
15916
15888
  * Update mutable fields on a rollforward block.
15917
15889
  *
15918
15890
  * Editable: name, default_change_tag_qname, attribution_filters,
15919
- * validation_mode. The BS source is fixed once the block is created
15920
- * (changing it would invalidate every previously rendered period); to
15921
- * change BS source, delete and re-create.
15922
- *
15923
- * **Partial-update semantics**: omitted (``None``) fields mean "leave
15924
- * unchanged" — there is no wire-level way to *clear* a previously set
15925
- * default change tag or empty the attribution_filters list via this
15926
- * endpoint. To remove the default tag entirely, delete and re-create
15927
- * the rollforward block. The asymmetry is deliberate: an explicit
15928
- * clear-sentinel adds wire-shape complexity for a use case that rarely
15929
- * arises in practice (default tags are typically set during initial
15930
- * authoring and only swapped, not removed).
15891
+ * validation_mode. The BS source is fixed at creation — changing it would
15892
+ * invalidate every period already rendered — so switching BS source means
15893
+ * delete and re-create.
15894
+ *
15895
+ * **Partial-update semantics**: an omitted (``None``) field means "leave
15896
+ * unchanged". There is no wire-level way to *clear* the default change tag or
15897
+ * empty the attribution_filters list; delete and re-create the block instead.
15898
+ * The asymmetry is deliberate — a clear-sentinel costs wire-shape complexity
15899
+ * for a case that rarely arises, since default tags get swapped rather than
15900
+ * removed.
15931
15901
  */
15932
15902
  export type UpdateRollforwardRequest = {
15933
15903
  /**
@@ -15943,7 +15913,7 @@ export type UpdateRollforwardRequest = {
15943
15913
  /**
15944
15914
  * Default Change Tag Qname
15945
15915
  *
15946
- * New default change tag qname. Pass a value to *change* the default; omit (``None``) to leave unchanged. There is no wire-level way to clear a previously set default — see the class docstring.
15916
+ * New default change tag qname. Pass a value to *change* the default; omit (``None``) to leave unchanged. There is no wire-level way to clear the default — see the class docstring.
15947
15917
  */
15948
15918
  default_change_tag_qname?: string | null;
15949
15919
  /**