@robosystems/client 1.4.1 → 1.5.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.
@@ -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 | document | forecast | filed) 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
@@ -5864,6 +5857,18 @@ export type GraphInfo = {
5864
5857
  * Display name for the graph
5865
5858
  */
5866
5859
  graphName: string;
5860
+ /**
5861
+ * Description
5862
+ *
5863
+ * Free-form description ('' when unset)
5864
+ */
5865
+ description?: string;
5866
+ /**
5867
+ * Tags
5868
+ *
5869
+ * Organizational tags for the graph
5870
+ */
5871
+ tags?: Array<string>;
5867
5872
  /**
5868
5873
  * Role
5869
5874
  *
@@ -5928,7 +5933,7 @@ export type GraphInfo = {
5928
5933
  /**
5929
5934
  * GraphLimitsResponse
5930
5935
  *
5931
- * Response model for comprehensive graph operational limits.
5936
+ * Every operational limit that applies to a graph, and its usage.
5932
5937
  */
5933
5938
  export type GraphLimitsResponse = {
5934
5939
  /**
@@ -6078,6 +6083,43 @@ export type GraphMetadata = {
6078
6083
  */
6079
6084
  tags?: Array<string>;
6080
6085
  };
6086
+ /**
6087
+ * GraphMetadataResult
6088
+ *
6089
+ * Result payload for the update-graph-metadata operation.
6090
+ */
6091
+ export type GraphMetadataResult = {
6092
+ /**
6093
+ * Graph Id
6094
+ *
6095
+ * Graph the metadata belongs to
6096
+ */
6097
+ graph_id: string;
6098
+ /**
6099
+ * Graph Name
6100
+ *
6101
+ * Display name after the update
6102
+ */
6103
+ graph_name: string;
6104
+ /**
6105
+ * Description
6106
+ *
6107
+ * Description after the update ('' when unset)
6108
+ */
6109
+ description?: string;
6110
+ /**
6111
+ * Tags
6112
+ *
6113
+ * Tags after the update (empty when unset)
6114
+ */
6115
+ tags?: Array<string>;
6116
+ /**
6117
+ * Updated Fields
6118
+ *
6119
+ * Fields this call actually changed. Empty when the submitted values already matched what was stored.
6120
+ */
6121
+ updated_fields?: Array<string>;
6122
+ };
6081
6123
  /**
6082
6124
  * GraphMetricsResponse
6083
6125
  *
@@ -7007,8 +7049,7 @@ export type InitializeLedgerResponse = {
7007
7049
  *
7008
7050
  * Aggregate storage usage across the dedicated instance.
7009
7051
  *
7010
- * Covers the parent graph, all subgraphs, DuckDB staging, and
7011
- * future LanceDB vector indexes.
7052
+ * Covers the parent graph, all subgraphs, DuckDB staging, and vector indexes.
7012
7053
  */
7013
7054
  export type InstanceUsage = {
7014
7055
  /**
@@ -7911,10 +7952,9 @@ export type LineGrowthRequest = {
7911
7952
  * FK; matched lines aggregate signed into the attributed fact for the
7912
7953
  * period.
7913
7954
  *
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.
7955
+ * ``field`` is accepted but ignored: the flow tag lives in the typed
7956
+ * ``flow_element_id`` FK, not in JSONB metadata. It stays on the wire so
7957
+ * existing request bodies keep validating.
7918
7958
  */
7919
7959
  export type LineItemMetadataPredicate = {
7920
7960
  /**
@@ -7926,7 +7966,7 @@ export type LineItemMetadataPredicate = {
7926
7966
  /**
7927
7967
  * Field
7928
7968
  *
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.
7969
+ * Accepted but ignored. The flow tag lives in the typed ``flow_element_id`` FK, not JSONB metadata. Retained for wire-compatibility.
7930
7970
  */
7931
7971
  field?: string;
7932
7972
  /**
@@ -8662,36 +8702,20 @@ export type OperationCosts = {
8662
8702
  *
8663
8703
  * Uniform response shape for every operation endpoint.
8664
8704
  *
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
8705
+ * Every dispatch carries an ``op_<ULID>`` operation_id, which is the bridge
8706
+ * to the monitoring surface: pass it to
8668
8707
  * ``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
8708
+ * to subscribe to SSE progress events. Sync commands complete in the envelope
8709
+ * itself (``status: "completed"``, HTTP 200); async commands
8710
+ * (``status: "pending"``, HTTP 202) hand off to a background worker and stream
8711
+ * their tail through that SSE endpoint. Failed dispatches still mint an
8673
8712
  * ``operation_id`` so the audit log and any partial SSE events stay
8674
8713
  * correlatable.
8675
8714
  *
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)
8715
+ * ``TResult`` parameterizes ``result`` so per-op response shapes surface in
8716
+ * OpenAPI. Operations that pin ``OperationSpec.result_type`` get
8717
+ * ``OperationEnvelope[YourEnvelope]`` as their response model; the rest keep
8718
+ * the default ``Any`` shape (``result: any | null`` on the wire).
8695
8719
  */
8696
8720
  export type OperationEnvelope = {
8697
8721
  /**
@@ -9592,6 +9616,51 @@ export type OperationEnvelopeFiscalCalendarResponse = {
9592
9616
  */
9593
9617
  idempotentReplay?: boolean;
9594
9618
  };
9619
+ /**
9620
+ * OperationEnvelope[GraphMetadataResult]
9621
+ */
9622
+ export type OperationEnvelopeGraphMetadataResult = {
9623
+ /**
9624
+ * Operation
9625
+ *
9626
+ * Kebab-case operation name
9627
+ */
9628
+ operation: string;
9629
+ /**
9630
+ * Operationid
9631
+ *
9632
+ * op_-prefixed ULID for audit and SSE correlation
9633
+ */
9634
+ operationId: string;
9635
+ /**
9636
+ * Status
9637
+ *
9638
+ * Operation lifecycle state
9639
+ */
9640
+ status: 'completed' | 'pending' | 'failed';
9641
+ /**
9642
+ * Command-specific result payload
9643
+ */
9644
+ result?: GraphMetadataResult | null;
9645
+ /**
9646
+ * At
9647
+ *
9648
+ * ISO-8601 UTC timestamp
9649
+ */
9650
+ at: string;
9651
+ /**
9652
+ * Createdby
9653
+ *
9654
+ * User ID that initiated the operation (null for legacy callers)
9655
+ */
9656
+ createdBy?: string | null;
9657
+ /**
9658
+ * Idempotentreplay
9659
+ *
9660
+ * True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions.
9661
+ */
9662
+ idempotentReplay?: boolean;
9663
+ };
9595
9664
  /**
9596
9665
  * OperationEnvelope[InformationBlockEnvelope]
9597
9666
  */
@@ -12085,11 +12154,10 @@ export type RenderingPeriodLite = {
12085
12154
  *
12086
12155
  * One row of a server-side rendered statement.
12087
12156
  *
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`.
12157
+ * Mirrors :class:`FactRow` in
12158
+ * :mod:`robosystems.operations.roboledger.reports.fact_grid`, restated at the
12159
+ * API boundary so envelope consumers don't depend on that module. ``values``
12160
+ * holds one entry per period column in :class:`RenderingLite.periods`.
12093
12161
  */
12094
12162
  export type RenderingRowLite = {
12095
12163
  /**
@@ -12803,12 +12871,10 @@ export type ScheduleCreatedResponse = {
12803
12871
  *
12804
12872
  * Closing-entry generator mechanics for ``block_type='schedule'``.
12805
12873
  *
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.
12874
+ * Reads the typed ``structures.artifact_mechanics`` JSONB column, falling back
12875
+ * to ``structures.metadata_`` for Schedule rows that lack it.
12876
+ * ``entry_template`` and ``schedule_metadata`` reuse the wire-level request
12877
+ * shapes so OpenAPI emits one canonical type per concept.
12812
12878
  */
12813
12879
  export type ScheduleMechanics = {
12814
12880
  /**
@@ -13686,7 +13752,7 @@ export type StorageItem = {
13686
13752
  /**
13687
13753
  * Type
13688
13754
  *
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)
13755
+ * 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
13756
  */
13691
13757
  type: string;
13692
13758
  /**
@@ -15319,6 +15385,42 @@ export type UpdateForecastRequest = {
15319
15385
  export type UpdateGraphMemberRoleRequest = {
15320
15386
  role: GraphRole;
15321
15387
  };
15388
+ /**
15389
+ * UpdateGraphMetadataOp
15390
+ *
15391
+ * Body for the update-graph-metadata operation.
15392
+ *
15393
+ * Partial update — only supplied (non-null) fields change, so a caller
15394
+ * editing just the display name need not resend the description and tags.
15395
+ * Because ``None`` means "leave alone", clearing a field uses its empty
15396
+ * value instead: pass ``""`` to clear the description and ``[]`` to clear
15397
+ * the tags. ``graph_name`` cannot be cleared; it is the graph's label
15398
+ * everywhere it is listed.
15399
+ *
15400
+ * This is the platform-level label for the graph, independent of the
15401
+ * entity name shown on financial statements — change that through
15402
+ * ``POST /extensions/roboledger/{graph_id}/operations/update-entity``.
15403
+ */
15404
+ export type UpdateGraphMetadataOp = {
15405
+ /**
15406
+ * Graph Name
15407
+ *
15408
+ * New display name. Omit to leave unchanged; cannot be cleared.
15409
+ */
15410
+ graph_name?: string | null;
15411
+ /**
15412
+ * Description
15413
+ *
15414
+ * New description. Omit to leave unchanged; pass '' to clear.
15415
+ */
15416
+ description?: string | null;
15417
+ /**
15418
+ * Tags
15419
+ *
15420
+ * Replaces the full tag list (not a merge). Omit to leave unchanged; pass [] to clear. Tags are trimmed, de-duplicated, and capped at 50 characters each.
15421
+ */
15422
+ tags?: Array<string> | null;
15423
+ };
15322
15424
  /**
15323
15425
  * UpdateInformationBlockRequest
15324
15426
  *
@@ -15529,18 +15631,16 @@ export type UpdatePublishListOperation = {
15529
15631
  * Update mutable fields on a rollforward block.
15530
15632
  *
15531
15633
  * 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).
15634
+ * validation_mode. The BS source is fixed at creation — changing it would
15635
+ * invalidate every period already rendered — so switching BS source means
15636
+ * delete and re-create.
15637
+ *
15638
+ * **Partial-update semantics**: an omitted (``None``) field means "leave
15639
+ * unchanged". There is no wire-level way to *clear* the default change tag or
15640
+ * empty the attribution_filters list; delete and re-create the block instead.
15641
+ * The asymmetry is deliberate — a clear-sentinel costs wire-shape complexity
15642
+ * for a case that rarely arises, since default tags get swapped rather than
15643
+ * removed.
15544
15644
  */
15545
15645
  export type UpdateRollforwardRequest = {
15546
15646
  /**
@@ -15556,7 +15656,7 @@ export type UpdateRollforwardRequest = {
15556
15656
  /**
15557
15657
  * Default Change Tag Qname
15558
15658
  *
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.
15659
+ * 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
15660
  */
15561
15661
  default_change_tag_qname?: string | null;
15562
15662
  /**
@@ -20997,6 +21097,65 @@ export type ChangeTierResponses = {
20997
21097
  202: OperationEnvelope;
20998
21098
  };
20999
21099
  export type ChangeTierResponse = ChangeTierResponses[keyof ChangeTierResponses];
21100
+ export type UpdateGraphMetadataData = {
21101
+ body: UpdateGraphMetadataOp;
21102
+ headers?: {
21103
+ /**
21104
+ * Idempotency-Key
21105
+ */
21106
+ 'Idempotency-Key'?: string | null;
21107
+ };
21108
+ path: {
21109
+ /**
21110
+ * Graph Id
21111
+ */
21112
+ graph_id: string;
21113
+ };
21114
+ query?: never;
21115
+ url: '/v1/graphs/{graph_id}/operations/update-graph-metadata';
21116
+ };
21117
+ export type UpdateGraphMetadataErrors = {
21118
+ /**
21119
+ * Invalid request
21120
+ */
21121
+ 400: ErrorResponse;
21122
+ /**
21123
+ * Authentication required
21124
+ */
21125
+ 401: ErrorResponse;
21126
+ /**
21127
+ * Access denied
21128
+ */
21129
+ 403: ErrorResponse;
21130
+ /**
21131
+ * Resource not found
21132
+ */
21133
+ 404: ErrorResponse;
21134
+ /**
21135
+ * Idempotency-Key conflict — key reused with different body
21136
+ */
21137
+ 409: ErrorResponse;
21138
+ /**
21139
+ * Validation error
21140
+ */
21141
+ 422: ErrorResponse;
21142
+ /**
21143
+ * Rate limit exceeded
21144
+ */
21145
+ 429: ErrorResponse;
21146
+ /**
21147
+ * Internal server error
21148
+ */
21149
+ 500: ErrorResponse;
21150
+ };
21151
+ export type UpdateGraphMetadataError = UpdateGraphMetadataErrors[keyof UpdateGraphMetadataErrors];
21152
+ export type UpdateGraphMetadataResponses = {
21153
+ /**
21154
+ * Successful Response
21155
+ */
21156
+ 200: OperationEnvelopeGraphMetadataResult;
21157
+ };
21158
+ export type UpdateGraphMetadataResponse = UpdateGraphMetadataResponses[keyof UpdateGraphMetadataResponses];
21000
21159
  export type MaterializeData = {
21001
21160
  body: MaterializeOp;
21002
21161
  headers?: {