@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.
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 | 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.
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
@@ -6011,6 +6004,18 @@ export type GraphInfo = {
6011
6004
  * Display name for the graph
6012
6005
  */
6013
6006
  graphName: string;
6007
+ /**
6008
+ * Description
6009
+ *
6010
+ * Free-form description ('' when unset)
6011
+ */
6012
+ description?: string;
6013
+ /**
6014
+ * Tags
6015
+ *
6016
+ * Organizational tags for the graph
6017
+ */
6018
+ tags?: Array<string>;
6014
6019
  /**
6015
6020
  * Role
6016
6021
  *
@@ -6076,7 +6081,7 @@ export type GraphInfo = {
6076
6081
  /**
6077
6082
  * GraphLimitsResponse
6078
6083
  *
6079
- * Response model for comprehensive graph operational limits.
6084
+ * Every operational limit that applies to a graph, and its usage.
6080
6085
  */
6081
6086
  export type GraphLimitsResponse = {
6082
6087
  /**
@@ -6230,6 +6235,44 @@ export type GraphMetadata = {
6230
6235
  tags?: Array<string>;
6231
6236
  };
6232
6237
 
6238
+ /**
6239
+ * GraphMetadataResult
6240
+ *
6241
+ * Result payload for the update-graph-metadata operation.
6242
+ */
6243
+ export type GraphMetadataResult = {
6244
+ /**
6245
+ * Graph Id
6246
+ *
6247
+ * Graph the metadata belongs to
6248
+ */
6249
+ graph_id: string;
6250
+ /**
6251
+ * Graph Name
6252
+ *
6253
+ * Display name after the update
6254
+ */
6255
+ graph_name: string;
6256
+ /**
6257
+ * Description
6258
+ *
6259
+ * Description after the update ('' when unset)
6260
+ */
6261
+ description?: string;
6262
+ /**
6263
+ * Tags
6264
+ *
6265
+ * Tags after the update (empty when unset)
6266
+ */
6267
+ tags?: Array<string>;
6268
+ /**
6269
+ * Updated Fields
6270
+ *
6271
+ * Fields this call actually changed. Empty when the submitted values already matched what was stored.
6272
+ */
6273
+ updated_fields?: Array<string>;
6274
+ };
6275
+
6233
6276
  /**
6234
6277
  * GraphMetricsResponse
6235
6278
  *
@@ -7179,8 +7222,7 @@ export type InitializeLedgerResponse = {
7179
7222
  *
7180
7223
  * Aggregate storage usage across the dedicated instance.
7181
7224
  *
7182
- * Covers the parent graph, all subgraphs, DuckDB staging, and
7183
- * future LanceDB vector indexes.
7225
+ * Covers the parent graph, all subgraphs, DuckDB staging, and vector indexes.
7184
7226
  */
7185
7227
  export type InstanceUsage = {
7186
7228
  /**
@@ -8099,10 +8141,9 @@ export type LineGrowthRequest = {
8099
8141
  * FK; matched lines aggregate signed into the attributed fact for the
8100
8142
  * period.
8101
8143
  *
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.
8144
+ * ``field`` is accepted but ignored: the flow tag lives in the typed
8145
+ * ``flow_element_id`` FK, not in JSONB metadata. It stays on the wire so
8146
+ * existing request bodies keep validating.
8106
8147
  */
8107
8148
  export type LineItemMetadataPredicate = {
8108
8149
  /**
@@ -8114,7 +8155,7 @@ export type LineItemMetadataPredicate = {
8114
8155
  /**
8115
8156
  * Field
8116
8157
  *
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.
8158
+ * Accepted but ignored. The flow tag lives in the typed ``flow_element_id`` FK, not JSONB metadata. Retained for wire-compatibility.
8118
8159
  */
8119
8160
  field?: string;
8120
8161
  /**
@@ -8872,36 +8913,20 @@ export type OperationCosts = {
8872
8913
  *
8873
8914
  * Uniform response shape for every operation endpoint.
8874
8915
  *
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
8916
+ * Every dispatch carries an ``op_<ULID>`` operation_id, which is the bridge
8917
+ * to the monitoring surface: pass it to
8878
8918
  * ``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
8919
+ * to subscribe to SSE progress events. Sync commands complete in the envelope
8920
+ * itself (``status: "completed"``, HTTP 200); async commands
8921
+ * (``status: "pending"``, HTTP 202) hand off to a background worker and stream
8922
+ * their tail through that SSE endpoint. Failed dispatches still mint an
8883
8923
  * ``operation_id`` so the audit log and any partial SSE events stay
8884
8924
  * correlatable.
8885
8925
  *
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)
8926
+ * ``TResult`` parameterizes ``result`` so per-op response shapes surface in
8927
+ * OpenAPI. Operations that pin ``OperationSpec.result_type`` get
8928
+ * ``OperationEnvelope[YourEnvelope]`` as their response model; the rest keep
8929
+ * the default ``Any`` shape (``result: any | null`` on the wire).
8905
8930
  */
8906
8931
  export type OperationEnvelope = {
8907
8932
  /**
@@ -9822,6 +9847,52 @@ export type OperationEnvelopeFiscalCalendarResponse = {
9822
9847
  idempotentReplay?: boolean;
9823
9848
  };
9824
9849
 
9850
+ /**
9851
+ * OperationEnvelope[GraphMetadataResult]
9852
+ */
9853
+ export type OperationEnvelopeGraphMetadataResult = {
9854
+ /**
9855
+ * Operation
9856
+ *
9857
+ * Kebab-case operation name
9858
+ */
9859
+ operation: string;
9860
+ /**
9861
+ * Operationid
9862
+ *
9863
+ * op_-prefixed ULID for audit and SSE correlation
9864
+ */
9865
+ operationId: string;
9866
+ /**
9867
+ * Status
9868
+ *
9869
+ * Operation lifecycle state
9870
+ */
9871
+ status: 'completed' | 'pending' | 'failed';
9872
+ /**
9873
+ * Command-specific result payload
9874
+ */
9875
+ result?: GraphMetadataResult | null;
9876
+ /**
9877
+ * At
9878
+ *
9879
+ * ISO-8601 UTC timestamp
9880
+ */
9881
+ at: string;
9882
+ /**
9883
+ * Createdby
9884
+ *
9885
+ * User ID that initiated the operation (null for legacy callers)
9886
+ */
9887
+ createdBy?: string | null;
9888
+ /**
9889
+ * Idempotentreplay
9890
+ *
9891
+ * True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions.
9892
+ */
9893
+ idempotentReplay?: boolean;
9894
+ };
9895
+
9825
9896
  /**
9826
9897
  * OperationEnvelope[InformationBlockEnvelope]
9827
9898
  */
@@ -12381,11 +12452,10 @@ export type RenderingPeriodLite = {
12381
12452
  *
12382
12453
  * One row of a server-side rendered statement.
12383
12454
  *
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`.
12455
+ * Mirrors :class:`FactRow` in
12456
+ * :mod:`robosystems.operations.roboledger.reports.fact_grid`, restated at the
12457
+ * API boundary so envelope consumers don't depend on that module. ``values``
12458
+ * holds one entry per period column in :class:`RenderingLite.periods`.
12389
12459
  */
12390
12460
  export type RenderingRowLite = {
12391
12461
  /**
@@ -13119,12 +13189,10 @@ export type ScheduleCreatedResponse = {
13119
13189
  *
13120
13190
  * Closing-entry generator mechanics for ``block_type='schedule'``.
13121
13191
  *
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.
13192
+ * Reads the typed ``structures.artifact_mechanics`` JSONB column, falling back
13193
+ * to ``structures.metadata_`` for Schedule rows that lack it.
13194
+ * ``entry_template`` and ``schedule_metadata`` reuse the wire-level request
13195
+ * shapes so OpenAPI emits one canonical type per concept.
13128
13196
  */
13129
13197
  export type ScheduleMechanics = {
13130
13198
  /**
@@ -14026,7 +14094,7 @@ export type StorageItem = {
14026
14094
  /**
14027
14095
  * Type
14028
14096
  *
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)
14097
+ * 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
14098
  */
14031
14099
  type: string;
14032
14100
  /**
@@ -15698,6 +15766,43 @@ export type UpdateGraphMemberRoleRequest = {
15698
15766
  role: GraphRole;
15699
15767
  };
15700
15768
 
15769
+ /**
15770
+ * UpdateGraphMetadataOp
15771
+ *
15772
+ * Body for the update-graph-metadata operation.
15773
+ *
15774
+ * Partial update — only supplied (non-null) fields change, so a caller
15775
+ * editing just the display name need not resend the description and tags.
15776
+ * Because ``None`` means "leave alone", clearing a field uses its empty
15777
+ * value instead: pass ``""`` to clear the description and ``[]`` to clear
15778
+ * the tags. ``graph_name`` cannot be cleared; it is the graph's label
15779
+ * everywhere it is listed.
15780
+ *
15781
+ * This is the platform-level label for the graph, independent of the
15782
+ * entity name shown on financial statements — change that through
15783
+ * ``POST /extensions/roboledger/{graph_id}/operations/update-entity``.
15784
+ */
15785
+ export type UpdateGraphMetadataOp = {
15786
+ /**
15787
+ * Graph Name
15788
+ *
15789
+ * New display name. Omit to leave unchanged; cannot be cleared.
15790
+ */
15791
+ graph_name?: string | null;
15792
+ /**
15793
+ * Description
15794
+ *
15795
+ * New description. Omit to leave unchanged; pass '' to clear.
15796
+ */
15797
+ description?: string | null;
15798
+ /**
15799
+ * Tags
15800
+ *
15801
+ * 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.
15802
+ */
15803
+ tags?: Array<string> | null;
15804
+ };
15805
+
15701
15806
  /**
15702
15807
  * UpdateInformationBlockRequest
15703
15808
  *
@@ -15916,18 +16021,16 @@ export type UpdatePublishListOperation = {
15916
16021
  * Update mutable fields on a rollforward block.
15917
16022
  *
15918
16023
  * 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).
16024
+ * validation_mode. The BS source is fixed at creation — changing it would
16025
+ * invalidate every period already rendered — so switching BS source means
16026
+ * delete and re-create.
16027
+ *
16028
+ * **Partial-update semantics**: an omitted (``None``) field means "leave
16029
+ * unchanged". There is no wire-level way to *clear* the default change tag or
16030
+ * empty the attribution_filters list; delete and re-create the block instead.
16031
+ * The asymmetry is deliberate — a clear-sentinel costs wire-shape complexity
16032
+ * for a case that rarely arises, since default tags get swapped rather than
16033
+ * removed.
15931
16034
  */
15932
16035
  export type UpdateRollforwardRequest = {
15933
16036
  /**
@@ -15943,7 +16046,7 @@ export type UpdateRollforwardRequest = {
15943
16046
  /**
15944
16047
  * Default Change Tag Qname
15945
16048
  *
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.
16049
+ * 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
16050
  */
15948
16051
  default_change_tag_qname?: string | null;
15949
16052
  /**
@@ -21865,6 +21968,70 @@ export type ChangeTierResponses = {
21865
21968
 
21866
21969
  export type ChangeTierResponse = ChangeTierResponses[keyof ChangeTierResponses];
21867
21970
 
21971
+ export type UpdateGraphMetadataData = {
21972
+ body: UpdateGraphMetadataOp;
21973
+ headers?: {
21974
+ /**
21975
+ * Idempotency-Key
21976
+ */
21977
+ 'Idempotency-Key'?: string | null;
21978
+ };
21979
+ path: {
21980
+ /**
21981
+ * Graph Id
21982
+ */
21983
+ graph_id: string;
21984
+ };
21985
+ query?: never;
21986
+ url: '/v1/graphs/{graph_id}/operations/update-graph-metadata';
21987
+ };
21988
+
21989
+ export type UpdateGraphMetadataErrors = {
21990
+ /**
21991
+ * Invalid request
21992
+ */
21993
+ 400: ErrorResponse;
21994
+ /**
21995
+ * Authentication required
21996
+ */
21997
+ 401: ErrorResponse;
21998
+ /**
21999
+ * Access denied
22000
+ */
22001
+ 403: ErrorResponse;
22002
+ /**
22003
+ * Resource not found
22004
+ */
22005
+ 404: ErrorResponse;
22006
+ /**
22007
+ * Idempotency-Key conflict — key reused with different body
22008
+ */
22009
+ 409: ErrorResponse;
22010
+ /**
22011
+ * Validation error
22012
+ */
22013
+ 422: ErrorResponse;
22014
+ /**
22015
+ * Rate limit exceeded
22016
+ */
22017
+ 429: ErrorResponse;
22018
+ /**
22019
+ * Internal server error
22020
+ */
22021
+ 500: ErrorResponse;
22022
+ };
22023
+
22024
+ export type UpdateGraphMetadataError = UpdateGraphMetadataErrors[keyof UpdateGraphMetadataErrors];
22025
+
22026
+ export type UpdateGraphMetadataResponses = {
22027
+ /**
22028
+ * Successful Response
22029
+ */
22030
+ 200: OperationEnvelopeGraphMetadataResult;
22031
+ };
22032
+
22033
+ export type UpdateGraphMetadataResponse = UpdateGraphMetadataResponses[keyof UpdateGraphMetadataResponses];
22034
+
21868
22035
  export type MaterializeData = {
21869
22036
  body: MaterializeOp;
21870
22037
  headers?: {