From 4d9c933c2c132c7011d5e61017c0b7f3cdd22bff Mon Sep 17 00:00:00 2001 From: "Joseph T. French" Date: Thu, 24 Sep 2026 17:16:38 -0500 Subject: [PATCH] chore(sdk): regenerate; report downloads default to the Tavi The backend retired the flat JSON-LD download and the JSONLD value of ReportDownloadFormat; a published report's anchor is now the Tavi model. LedgerClient.download_report_bundle defaults to "tavi" and no longer accepts "jsonld", the GetLedgerReportDownloadUrl operation defaults to TAVI, and the SDK and typed GraphQL models are regenerated against the current API. --- .../auth_mfa/regenerate_mfa_recovery_codes.py | 8 +-- .../api/auth_passkeys/delete_user_passkey.py | 8 +-- .../get_passkey_reauth_options.py | 8 +-- .../api/backup/get_backup_download_url.py | 12 ++--- robosystems_client/clients/ledger_client.py | 23 ++++---- robosystems_client/graphql/generated/enums.py | 1 - .../graphql/generated/operations.py | 2 +- .../ledger/GetLedgerReportDownloadUrl.graphql | 2 +- robosystems_client/graphql/schema.graphql | 37 +++++++------ robosystems_client/models/__init__.py | 4 ++ .../models/execute_event_block_response.py | 54 ++++++++++++++++--- ...vent_block_response_qb_entry_ids_type_0.py | 47 ++++++++++++++++ .../models/information_block_envelope.py | 18 +++---- .../models/operation_envelope.py | 2 +- ...ration_envelope_assert_metrics_response.py | 2 +- ...operation_envelope_association_response.py | 2 +- ...envelope_backfill_plan_history_response.py | 2 +- ...ation_envelope_bind_text_block_response.py | 2 +- ...tion_envelope_block_source_graph_result.py | 2 +- ..._envelope_blocked_source_graph_response.py | 2 +- ...nvelope_change_reporting_style_response.py | 2 +- ...peration_envelope_close_period_response.py | 2 +- ...tion_envelope_compute_forecast_response.py | 2 +- ...ation_envelope_compute_metrics_response.py | 2 +- ...elope_delete_information_block_response.py | 2 +- ...nvelope_delete_portfolio_block_response.py | 2 +- .../operation_envelope_delete_result.py | 2 +- ...envelope_delete_taxonomy_block_response.py | 2 +- ...operation_envelope_disclosures_response.py | 2 +- ...ation_envelope_entity_taxonomy_response.py | 2 +- ...ration_envelope_evaluate_rules_response.py | 2 +- ...operation_envelope_event_block_envelope.py | 2 +- ...eration_envelope_event_handler_response.py | 2 +- ...n_envelope_execute_event_block_response.py | 2 +- ...e_financial_statement_analysis_response.py | 2 +- ...ation_envelope_fiscal_calendar_response.py | 2 +- ...peration_envelope_graph_metadata_result.py | 2 +- ...ion_envelope_information_block_envelope.py | 2 +- ...ion_envelope_information_block_response.py | 2 +- ...e_initialize_chart_of_accounts_response.py | 2 +- ...ion_envelope_initialize_ledger_response.py | 2 +- ...eration_envelope_journal_entry_response.py | 2 +- ...peration_envelope_ledger_agent_response.py | 2 +- ...eration_envelope_ledger_entity_response.py | 2 +- ...elope_live_financial_statement_response.py | 2 +- ...ation_envelope_portfolio_block_envelope.py | 2 +- ...n_envelope_preview_event_block_response.py | 2 +- ...n_envelope_promote_obligations_response.py | 2 +- ...peration_envelope_publish_list_response.py | 2 +- ...peration_envelope_reconciling_item_plan.py | 2 +- .../operation_envelope_report_response.py | 2 +- ...elope_resolve_reconciling_item_response.py | 2 +- ...n_envelope_revoke_report_share_response.py | 2 +- ...tion_envelope_schedule_created_response.py | 2 +- .../operation_envelope_security_response.py | 2 +- ...peration_envelope_share_report_response.py | 2 +- ...ration_envelope_taxonomy_block_envelope.py | 2 +- ...on_envelope_terminate_schedule_response.py | 2 +- .../operation_envelope_view_response.py | 2 +- ...velopelist_publish_list_member_response.py | 2 +- robosystems_client/models/rule_lite.py | 6 +-- .../models/schedule_metadata_request.py | 6 ++- robosystems_client/models/view_projections.py | 18 +++---- tests/test_ledger_client.py | 26 ++++----- 64 files changed, 226 insertions(+), 148 deletions(-) create mode 100644 robosystems_client/models/execute_event_block_response_qb_entry_ids_type_0.py diff --git a/robosystems_client/api/auth_mfa/regenerate_mfa_recovery_codes.py b/robosystems_client/api/auth_mfa/regenerate_mfa_recovery_codes.py index 52d13f4..5740bec 100644 --- a/robosystems_client/api/auth_mfa/regenerate_mfa_recovery_codes.py +++ b/robosystems_client/api/auth_mfa/regenerate_mfa_recovery_codes.py @@ -83,7 +83,7 @@ def _build_response( def sync_detailed( *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: RecoveryCodesRequest, ) -> Response[ErrorResponse | HTTPValidationError | RecoveryCodesResponse]: """Regenerate Recovery Codes @@ -114,7 +114,7 @@ def sync_detailed( def sync( *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: RecoveryCodesRequest, ) -> ErrorResponse | HTTPValidationError | RecoveryCodesResponse | None: """Regenerate Recovery Codes @@ -140,7 +140,7 @@ def sync( async def asyncio_detailed( *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: RecoveryCodesRequest, ) -> Response[ErrorResponse | HTTPValidationError | RecoveryCodesResponse]: """Regenerate Recovery Codes @@ -169,7 +169,7 @@ async def asyncio_detailed( async def asyncio( *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: RecoveryCodesRequest, ) -> ErrorResponse | HTTPValidationError | RecoveryCodesResponse | None: """Regenerate Recovery Codes diff --git a/robosystems_client/api/auth_passkeys/delete_user_passkey.py b/robosystems_client/api/auth_passkeys/delete_user_passkey.py index e0006d9..2123faa 100644 --- a/robosystems_client/api/auth_passkeys/delete_user_passkey.py +++ b/robosystems_client/api/auth_passkeys/delete_user_passkey.py @@ -93,7 +93,7 @@ def _build_response( def sync_detailed( passkey_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: PasskeyDeleteRequest, ) -> Response[ErrorResponse | HTTPValidationError | SuccessResponse]: """Remove Passkey @@ -128,7 +128,7 @@ def sync_detailed( def sync( passkey_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: PasskeyDeleteRequest, ) -> ErrorResponse | HTTPValidationError | SuccessResponse | None: """Remove Passkey @@ -158,7 +158,7 @@ def sync( async def asyncio_detailed( passkey_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: PasskeyDeleteRequest, ) -> Response[ErrorResponse | HTTPValidationError | SuccessResponse]: """Remove Passkey @@ -191,7 +191,7 @@ async def asyncio_detailed( async def asyncio( passkey_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: PasskeyDeleteRequest, ) -> ErrorResponse | HTTPValidationError | SuccessResponse | None: """Remove Passkey diff --git a/robosystems_client/api/auth_passkeys/get_passkey_reauth_options.py b/robosystems_client/api/auth_passkeys/get_passkey_reauth_options.py index 674c030..644a62e 100644 --- a/robosystems_client/api/auth_passkeys/get_passkey_reauth_options.py +++ b/robosystems_client/api/auth_passkeys/get_passkey_reauth_options.py @@ -62,7 +62,7 @@ def _build_response( def sync_detailed( *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[CeremonyOptionsResponse | ErrorResponse]: """Re-authentication Options @@ -87,7 +87,7 @@ def sync_detailed( def sync( *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> CeremonyOptionsResponse | ErrorResponse | None: """Re-authentication Options @@ -108,7 +108,7 @@ def sync( async def asyncio_detailed( *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[CeremonyOptionsResponse | ErrorResponse]: """Re-authentication Options @@ -131,7 +131,7 @@ async def asyncio_detailed( async def asyncio( *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> CeremonyOptionsResponse | ErrorResponse | None: """Re-authentication Options diff --git a/robosystems_client/api/backup/get_backup_download_url.py b/robosystems_client/api/backup/get_backup_download_url.py index c9e1f92..aa00cdf 100644 --- a/robosystems_client/api/backup/get_backup_download_url.py +++ b/robosystems_client/api/backup/get_backup_download_url.py @@ -90,8 +90,7 @@ def sync_detailed( Generate a temporary download URL for a backup. The filename carries the extension listed as `download_extension` on the backup: `.lbug.zip` is a ZIP holding the LadybugDB database file `{graph_id}.lbug`; `.lbug.zst` (shared repository snapshots) is a single zstd-compressed database - file. Decompress the latter with `zstd -d .lbug.zst` (install zstd first: `brew install zstd`, - `apt-get install zstd`, or `dnf install zstd`) — no `--long` flag is needed. + file; decompress it with `zstd -d`. Args: graph_id (str): @@ -131,8 +130,7 @@ def sync( Generate a temporary download URL for a backup. The filename carries the extension listed as `download_extension` on the backup: `.lbug.zip` is a ZIP holding the LadybugDB database file `{graph_id}.lbug`; `.lbug.zst` (shared repository snapshots) is a single zstd-compressed database - file. Decompress the latter with `zstd -d .lbug.zst` (install zstd first: `brew install zstd`, - `apt-get install zstd`, or `dnf install zstd`) — no `--long` flag is needed. + file; decompress it with `zstd -d`. Args: graph_id (str): @@ -167,8 +165,7 @@ async def asyncio_detailed( Generate a temporary download URL for a backup. The filename carries the extension listed as `download_extension` on the backup: `.lbug.zip` is a ZIP holding the LadybugDB database file `{graph_id}.lbug`; `.lbug.zst` (shared repository snapshots) is a single zstd-compressed database - file. Decompress the latter with `zstd -d .lbug.zst` (install zstd first: `brew install zstd`, - `apt-get install zstd`, or `dnf install zstd`) — no `--long` flag is needed. + file; decompress it with `zstd -d`. Args: graph_id (str): @@ -206,8 +203,7 @@ async def asyncio( Generate a temporary download URL for a backup. The filename carries the extension listed as `download_extension` on the backup: `.lbug.zip` is a ZIP holding the LadybugDB database file `{graph_id}.lbug`; `.lbug.zst` (shared repository snapshots) is a single zstd-compressed database - file. Decompress the latter with `zstd -d .lbug.zst` (install zstd first: `brew install zstd`, - `apt-get install zstd`, or `dnf install zstd`) — no `--long` flag is needed. + file; decompress it with `zstd -d`. Args: graph_id (str): diff --git a/robosystems_client/clients/ledger_client.py b/robosystems_client/clients/ledger_client.py index ef4e0d4..8673255 100644 --- a/robosystems_client/clients/ledger_client.py +++ b/robosystems_client/clients/ledger_client.py @@ -556,7 +556,6 @@ # Map the wire flavor strings the facade accepts to the GraphQL # ``ReportDownloadFormat`` enum names used as query variables. _DOWNLOAD_FORMAT_ALIASES = { - "jsonld": "JSONLD", "holon-jsonld": "HOLON_JSONLD", "xbrl-2.1": "XBRL_2_1", "tavi": "TAVI", @@ -2271,7 +2270,7 @@ def download_report_bundle( graph_id: str, report_id: str, *, - format: str = "jsonld", + format: str = "tavi", to: str | Path | None = None, expires_in: int = 300, ) -> ReportBundleDownload: @@ -2280,19 +2279,18 @@ def download_report_bundle( A download is a read, so the presigned URL is resolved through the GraphQL ``reportDownloadUrl`` field (the REST download route was retired). Every flavor resolves to a short-lived presigned S3 URL — - JSON-LD is stamped at publish time; XBRL, the holon and the Tavi - model are materialized + cached on first request. The client follows - the URL and pulls the bytes. + the Tavi model is stamped at publish time; the holon and XBRL are + materialized + cached on first request. The client follows the URL + and pulls the bytes. Args: graph_id: Graph identifier owning the Report. report_id: Report identifier (``rpt_``-prefixed ULID). - format: Serialization flavor — ``"jsonld"`` (default, the flat - canonical bundle), ``"holon-jsonld"`` (the dataset-form - scene/boundary/projection holon), ``"xbrl-2.1"``, or - ``"tavi"`` (the Project Tavi compiled model, compact JSON). - The enum names ``"JSONLD"`` / ``"HOLON_JSONLD"`` / - ``"XBRL_2_1"`` / ``"TAVI"`` are also accepted. + format: Serialization flavor — ``"tavi"`` (default, the Project + Tavi compiled model stamped at publish), ``"holon-jsonld"`` + (the dataset-form scene/boundary/projection holon), or + ``"xbrl-2.1"``. The enum names ``"TAVI"`` / + ``"HOLON_JSONLD"`` / ``"XBRL_2_1"`` are also accepted. to: Optional file path to write the bytes to. When set, the returned ``ReportBundleDownload.path`` points at the written file. @@ -2339,8 +2337,7 @@ def download_report_bundle( default_ext = { "XBRL_2_1": "zip", "HOLON_JSONLD": "holon.jsonld", - "TAVI": "tavi.json", - }.get(gql_format, "jsonld") + }.get(gql_format, "tavi.json") filename = ( _parse_filename(artifact.headers.get("content-disposition", "")) or f"{report_id}-g{generation_count or 1}.{default_ext}" diff --git a/robosystems_client/graphql/generated/enums.py b/robosystems_client/graphql/generated/enums.py index f32c6d3..fe80777 100644 --- a/robosystems_client/graphql/generated/enums.py +++ b/robosystems_client/graphql/generated/enums.py @@ -2,7 +2,6 @@ class ReportDownloadFormat(str, Enum): - JSONLD = "JSONLD" HOLON_JSONLD = "HOLON_JSONLD" XBRL_2_1 = "XBRL_2_1" TAVI = "TAVI" diff --git a/robosystems_client/graphql/generated/operations.py b/robosystems_client/graphql/generated/operations.py index 1341cad..360a979 100644 --- a/robosystems_client/graphql/generated/operations.py +++ b/robosystems_client/graphql/generated/operations.py @@ -855,7 +855,7 @@ """ GET_LEDGER_REPORT_DOWNLOAD_URL_GQL = """ -query GetLedgerReportDownloadUrl($reportId: String!, $format: ReportDownloadFormat = JSONLD, $expiresIn: Int = 300) { +query GetLedgerReportDownloadUrl($reportId: String!, $format: ReportDownloadFormat = TAVI, $expiresIn: Int = 300) { reportDownloadUrl(reportId: $reportId, format: $format, expiresIn: $expiresIn) { downloadUrl expiresAt diff --git a/robosystems_client/graphql/operations/ledger/GetLedgerReportDownloadUrl.graphql b/robosystems_client/graphql/operations/ledger/GetLedgerReportDownloadUrl.graphql index 10017d8..5418d94 100644 --- a/robosystems_client/graphql/operations/ledger/GetLedgerReportDownloadUrl.graphql +++ b/robosystems_client/graphql/operations/ledger/GetLedgerReportDownloadUrl.graphql @@ -1,6 +1,6 @@ query GetLedgerReportDownloadUrl( $reportId: String! - $format: ReportDownloadFormat = JSONLD + $format: ReportDownloadFormat = TAVI $expiresIn: Int = 300 ) { reportDownloadUrl(reportId: $reportId, format: $format, expiresIn: $expiresIn) { diff --git a/robosystems_client/graphql/schema.graphql b/robosystems_client/graphql/schema.graphql index 18e3903..220a44f 100644 --- a/robosystems_client/graphql/schema.graphql +++ b/robosystems_client/graphql/schema.graphql @@ -489,8 +489,9 @@ type Query { The only way to download a report's bundle. Every format resolves to a short-lived presigned S3 URL which the client follows directly — the - field returns the URL, never the bytes. JSON-LD is stamped at publish - time; XBRL is materialized and cached on first request. `expiresIn` + field returns the URL, never the bytes. The Tavi model is stamped at + publish time; the holon and XBRL are materialized and cached on first + request. `expiresIn` is the URL's lifetime in seconds, bounded 60-3600. Returns null when the report doesn't exist; raises @@ -501,7 +502,7 @@ type Query { """The published report whose bundle to link.""" reportId: String! - """Serialization flavor. Defaults to JSON-LD.""" + """Serialization flavor. Defaults to the Tavi model.""" format: ReportDownloadFormat = null """ @@ -2691,7 +2692,7 @@ type InformationBlockRule { ruleSeverity: String! """ - Provenance — 'forked' (from an upstream artifact, e.g. Seattle Method) or 'native' (authored in this seed or by a tenant). Enum closure enforced by the `public.rules` CHECK constraint. + Provenance — 'forked' (from an upstream artifact, e.g. an external XBRL taxonomy) or 'native' (authored in this seed or by a tenant). Enum closure enforced by the `public.rules` CHECK constraint. """ ruleOrigin: String! } @@ -2820,22 +2821,20 @@ type InformationBlockVerificationCategorySummary { } """ -Charlie's six `type-of View` arms, surfaced at the envelope boundary. +The six `type-of` View projections of an Information Block (Rendering, +FactTable, ModelStructure, VerificationResults, ReportElements, +BusinessRules), surfaced at the envelope boundary. Each projection is computed server-side at envelope-build time when its source data is available. The frontend's `BlockView` dispatcher routes to the projection component matching the user's selected view -mode; missing projections (those still in backlog) render as empty -states without breaking the dispatcher. +mode; missing projections render as empty states without breaking the +dispatcher. Today: `rendering` is computed for the statement family, and -`chart` (the 7th arm — panel/series config over the rendering's -rows and periods) for metric blocks. -Other arms (`fact_table`, `model_structure`, `verification_results`, -`report_elements`, `business_rules`) come online as their backend -support lands; `fact_table` is trivially derivable from -`InformationBlockEnvelope.facts` and may stay as a frontend-only -projection. +`chart` (panel/series config over the rendering's rows and periods) +for metric blocks. Projections without backend support yet are empty; +`fact_table` is derivable from `InformationBlockEnvelope.facts`. """ type InformationBlockViewProjections { rendering: InformationBlockRendering @@ -2975,8 +2974,9 @@ type InformationBlockChartSeries { Presigned-URL response for a published Report's serialization bundle. Every flavor resolves to a short-lived presigned URL pointing at the -bundle in S3 — JSON-LD is stamped at publish time, XBRL is -materialized on first download and cached by `generationCount`. +bundle in S3 — the Tavi model is stamped at publish time; the holon and +XBRL 2.1 are materialized on first download and cached by +`generationCount`. The client follows `downloadUrl` to fetch the artifact directly from S3 (the API never streams the bytes). Mirrors the backup-download shape the frontend already consumes. @@ -2992,7 +2992,7 @@ type ReportBundleDownload { contentType: String! """ - Serialization flavor delivered by this URL — one of the `RdfFlavor` / `XbrlFlavor` values (e.g. `jsonld`, `xbrl-2.1`). + Serialization flavor delivered by this URL — one of the `RdfFlavor` / `XbrlFlavor` values (e.g. `tavi`, `xbrl-2.1`). """ format: String! @@ -3000,13 +3000,12 @@ type ReportBundleDownload { generationCount: Int! """ - Content the Report carries that this flavor does not. `disclosure_notes`: the XBRL 2.1 zip ships statements only — tenant-authored disclosure notes render on screen and ride the JSON-LD and holon flavors, but are excluded from this file. The Tavi compiled model carries the statements and notes but has no home for `ib_envelopes` (the per-Network Information Block payloads), `definition_links` (equivalence, general-special, essence-alias and mapping arcs), `reporting_style`, `framework_pins`, `fact_sets` (the FactSet partition and each fact's structure pin) or `filing_lifecycle` (filing status, supersession, share provenance); all of it rides the JSON-LD and holon flavors. + Content the Report carries that this flavor does not. `disclosure_notes`: the XBRL 2.1 zip ships statements only — tenant-authored disclosure notes render on screen and ride the Tavi and holon flavors, but are excluded from this file. The Tavi compiled model carries the statements and notes but has no home for `ib_envelopes` (the per-Network Information Block payloads), `definition_links` (equivalence, general-special, essence-alias and mapping arcs), `reporting_style`, `framework_pins`, `fact_sets` (the FactSet partition and each fact's structure pin) or `filing_lifecycle` (filing status, supersession, share provenance); all of it rides the holon flavor. """ omittedContent: [String!]! } enum ReportDownloadFormat { - JSONLD HOLON_JSONLD XBRL_2_1 TAVI diff --git a/robosystems_client/models/__init__.py b/robosystems_client/models/__init__.py index aa8b162..4e77ce7 100644 --- a/robosystems_client/models/__init__.py +++ b/robosystems_client/models/__init__.py @@ -234,6 +234,9 @@ ) from .execute_event_block_request import ExecuteEventBlockRequest from .execute_event_block_response import ExecuteEventBlockResponse +from .execute_event_block_response_qb_entry_ids_type_0 import ( + ExecuteEventBlockResponseQbEntryIdsType0, +) from .execute_event_block_response_qb_error_type_0 import ( ExecuteEventBlockResponseQbErrorType0, ) @@ -1205,6 +1208,7 @@ "EventHandlerResponseTransactionTemplate", "ExecuteEventBlockRequest", "ExecuteEventBlockResponse", + "ExecuteEventBlockResponseQbEntryIdsType0", "ExecuteEventBlockResponseQbErrorType0", "ExternalConnectionConfig", "FactLite", diff --git a/robosystems_client/models/execute_event_block_response.py b/robosystems_client/models/execute_event_block_response.py index b200c6f..5c428cb 100644 --- a/robosystems_client/models/execute_event_block_response.py +++ b/robosystems_client/models/execute_event_block_response.py @@ -9,6 +9,9 @@ from ..types import UNSET, Unset if TYPE_CHECKING: + from ..models.execute_event_block_response_qb_entry_ids_type_0 import ( + ExecuteEventBlockResponseQbEntryIdsType0, + ) from ..models.execute_event_block_response_qb_error_type_0 import ( ExecuteEventBlockResponseQbErrorType0, ) @@ -23,13 +26,15 @@ class ExecuteEventBlockResponse: Attributes: event_id (str): Echo of the event ID. - status (str): Post-execute event status. `'classified'` when no write fired (native policy or no-op). - `'committed'` when the QB write was in flight (intermediate state). `'fulfilled'` when QB accepted and local GL - drafts were promoted to posted. `'pending'` when QB rejected — see `qb_error` for the rejection detail; retry + status (str): The event's status after the call. Unchanged when no write fired (native policy, a source that + does not publish) or when drafts in a later period are still unpublished. `'fulfilled'` once every draft entry + of the event is in QuickBooks and posted. `'pending'` when QuickBooks rejected an entry — see `qb_error`; retry after fixing the underlying issue. - qb_external_id (None | str | Unset): QB-side transaction ID returned by the JournalEntry API. Null when no write - fired (native policy) or when the write was rejected before getting an ID. - qb_error (ExecuteEventBlockResponseQbErrorType0 | None | Unset): QB rejection detail when status='pending'. + qb_external_id (None | str | Unset): QuickBooks JournalEntry ID of the first entry this call published. Null + when nothing was published. When a call publishes several entries, `qb_entry_ids` holds them all. + qb_entry_ids (ExecuteEventBlockResponseQbEntryIdsType0 | None | Unset): Every entry of the event now in + QuickBooks: ledger entry ID → QuickBooks JournalEntry ID. Null when none are. + qb_error (ExecuteEventBlockResponseQbErrorType0 | None | Unset): QB rejection detail when a publish failed. Shape: `{code, message, qb_response_at}`. Operator retries after fixing CoA mapping / amount validation / closed-period. """ @@ -37,10 +42,14 @@ class ExecuteEventBlockResponse: event_id: str status: str qb_external_id: None | str | Unset = UNSET + qb_entry_ids: ExecuteEventBlockResponseQbEntryIdsType0 | None | Unset = UNSET qb_error: ExecuteEventBlockResponseQbErrorType0 | None | Unset = UNSET additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> dict[str, Any]: + from ..models.execute_event_block_response_qb_entry_ids_type_0 import ( + ExecuteEventBlockResponseQbEntryIdsType0, + ) from ..models.execute_event_block_response_qb_error_type_0 import ( ExecuteEventBlockResponseQbErrorType0, ) @@ -55,6 +64,14 @@ def to_dict(self) -> dict[str, Any]: else: qb_external_id = self.qb_external_id + qb_entry_ids: dict[str, Any] | None | Unset + if isinstance(self.qb_entry_ids, Unset): + qb_entry_ids = UNSET + elif isinstance(self.qb_entry_ids, ExecuteEventBlockResponseQbEntryIdsType0): + qb_entry_ids = self.qb_entry_ids.to_dict() + else: + qb_entry_ids = self.qb_entry_ids + qb_error: dict[str, Any] | None | Unset if isinstance(self.qb_error, Unset): qb_error = UNSET @@ -73,6 +90,8 @@ def to_dict(self) -> dict[str, Any]: ) if qb_external_id is not UNSET: field_dict["qb_external_id"] = qb_external_id + if qb_entry_ids is not UNSET: + field_dict["qb_entry_ids"] = qb_entry_ids if qb_error is not UNSET: field_dict["qb_error"] = qb_error @@ -80,6 +99,9 @@ def to_dict(self) -> dict[str, Any]: @classmethod def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.execute_event_block_response_qb_entry_ids_type_0 import ( + ExecuteEventBlockResponseQbEntryIdsType0, + ) from ..models.execute_event_block_response_qb_error_type_0 import ( ExecuteEventBlockResponseQbErrorType0, ) @@ -98,6 +120,25 @@ def _parse_qb_external_id(data: object) -> None | str | Unset: qb_external_id = _parse_qb_external_id(d.pop("qb_external_id", UNSET)) + def _parse_qb_entry_ids( + data: object, + ) -> ExecuteEventBlockResponseQbEntryIdsType0 | None | Unset: + if data is None: + return data + if isinstance(data, Unset): + return data + try: + if not isinstance(data, dict): + raise TypeError() + qb_entry_ids_type_0 = ExecuteEventBlockResponseQbEntryIdsType0.from_dict(data) + + return qb_entry_ids_type_0 + except (TypeError, ValueError, AttributeError, KeyError): + pass + return cast(ExecuteEventBlockResponseQbEntryIdsType0 | None | Unset, data) + + qb_entry_ids = _parse_qb_entry_ids(d.pop("qb_entry_ids", UNSET)) + def _parse_qb_error( data: object, ) -> ExecuteEventBlockResponseQbErrorType0 | None | Unset: @@ -121,6 +162,7 @@ def _parse_qb_error( event_id=event_id, status=status, qb_external_id=qb_external_id, + qb_entry_ids=qb_entry_ids, qb_error=qb_error, ) diff --git a/robosystems_client/models/execute_event_block_response_qb_entry_ids_type_0.py b/robosystems_client/models/execute_event_block_response_qb_entry_ids_type_0.py new file mode 100644 index 0000000..471fc0e --- /dev/null +++ b/robosystems_client/models/execute_event_block_response_qb_entry_ids_type_0.py @@ -0,0 +1,47 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import Any, TypeVar + +from attrs import define as _attrs_define +from attrs import field as _attrs_field + +T = TypeVar("T", bound="ExecuteEventBlockResponseQbEntryIdsType0") + + +@_attrs_define +class ExecuteEventBlockResponseQbEntryIdsType0: + """ """ + + additional_properties: dict[str, str] = _attrs_field(init=False, factory=dict) + + def to_dict(self) -> dict[str, Any]: + + field_dict: dict[str, Any] = {} + field_dict.update(self.additional_properties) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + execute_event_block_response_qb_entry_ids_type_0 = cls() + + execute_event_block_response_qb_entry_ids_type_0.additional_properties = d + return execute_event_block_response_qb_entry_ids_type_0 + + @property + def additional_keys(self) -> list[str]: + return list(self.additional_properties.keys()) + + def __getitem__(self, key: str) -> str: + return self.additional_properties[key] + + def __setitem__(self, key: str, value: str) -> None: + self.additional_properties[key] = value + + def __delitem__(self, key: str) -> None: + del self.additional_properties[key] + + def __contains__(self, key: str) -> bool: + return key in self.additional_properties diff --git a/robosystems_client/models/information_block_envelope.py b/robosystems_client/models/information_block_envelope.py index ea4ef12..15e1f2b 100644 --- a/robosystems_client/models/information_block_envelope.py +++ b/robosystems_client/models/information_block_envelope.py @@ -66,22 +66,20 @@ class InformationBlockEnvelope: verification_summary (None | Unset | VerificationSummary): Server-computed aggregate over `verification_results` — overall pass/fail/error/skip counts plus a per-rule_category breakdown for the grouped Verification Results panel. Null when the block has no verification results. - view (ViewProjections | Unset): Charlie's six `type-of View` arms, surfaced at the envelope boundary. + view (ViewProjections | Unset): The six `type-of` View projections of an Information Block (Rendering, + FactTable, ModelStructure, VerificationResults, ReportElements, + BusinessRules), surfaced at the envelope boundary. Each projection is computed server-side at envelope-build time when its source data is available. The frontend's `BlockView` dispatcher routes to the projection component matching the user's selected view - mode; missing projections (those still in backlog) render as empty - states without breaking the dispatcher. + mode; missing projections render as empty states without breaking the + dispatcher. Today: `rendering` is computed for the statement family, and - `chart` (the 7th arm — panel/series config over the rendering's - rows and periods) for metric blocks. - Other arms (`fact_table`, `model_structure`, `verification_results`, - `report_elements`, `business_rules`) come online as their backend - support lands; `fact_table` is trivially derivable from - `InformationBlockEnvelope.facts` and may stay as a frontend-only - projection. + `chart` (panel/series config over the rendering's rows and periods) + for metric blocks. Projections without backend support yet are empty; + `fact_table` is derivable from `InformationBlockEnvelope.facts`. """ id: str diff --git a/robosystems_client/models/operation_envelope.py b/robosystems_client/models/operation_envelope.py index b7d03fc..b968230 100644 --- a/robosystems_client/models/operation_envelope.py +++ b/robosystems_client/models/operation_envelope.py @@ -37,7 +37,7 @@ class OperationEnvelope: status (OperationEnvelopeStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (Any | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_assert_metrics_response.py b/robosystems_client/models/operation_envelope_assert_metrics_response.py index 2b74682..7208c4a 100644 --- a/robosystems_client/models/operation_envelope_assert_metrics_response.py +++ b/robosystems_client/models/operation_envelope_assert_metrics_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeAssertMetricsResponse: status (OperationEnvelopeAssertMetricsResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (AssertMetricsResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_association_response.py b/robosystems_client/models/operation_envelope_association_response.py index dae207b..5b9b0e9 100644 --- a/robosystems_client/models/operation_envelope_association_response.py +++ b/robosystems_client/models/operation_envelope_association_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeAssociationResponse: status (OperationEnvelopeAssociationResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (AssociationResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_backfill_plan_history_response.py b/robosystems_client/models/operation_envelope_backfill_plan_history_response.py index 2ebc9d8..3692b4e 100644 --- a/robosystems_client/models/operation_envelope_backfill_plan_history_response.py +++ b/robosystems_client/models/operation_envelope_backfill_plan_history_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeBackfillPlanHistoryResponse: status (OperationEnvelopeBackfillPlanHistoryResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (BackfillPlanHistoryResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_bind_text_block_response.py b/robosystems_client/models/operation_envelope_bind_text_block_response.py index e053e74..6292b1e 100644 --- a/robosystems_client/models/operation_envelope_bind_text_block_response.py +++ b/robosystems_client/models/operation_envelope_bind_text_block_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeBindTextBlockResponse: status (OperationEnvelopeBindTextBlockResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (BindTextBlockResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_block_source_graph_result.py b/robosystems_client/models/operation_envelope_block_source_graph_result.py index a4c4bef..292e4d3 100644 --- a/robosystems_client/models/operation_envelope_block_source_graph_result.py +++ b/robosystems_client/models/operation_envelope_block_source_graph_result.py @@ -27,7 +27,7 @@ class OperationEnvelopeBlockSourceGraphResult: status (OperationEnvelopeBlockSourceGraphResultStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (BlockSourceGraphResult | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_blocked_source_graph_response.py b/robosystems_client/models/operation_envelope_blocked_source_graph_response.py index 8623683..c881b12 100644 --- a/robosystems_client/models/operation_envelope_blocked_source_graph_response.py +++ b/robosystems_client/models/operation_envelope_blocked_source_graph_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeBlockedSourceGraphResponse: status (OperationEnvelopeBlockedSourceGraphResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (BlockedSourceGraphResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_change_reporting_style_response.py b/robosystems_client/models/operation_envelope_change_reporting_style_response.py index 40b83a8..8f50b96 100644 --- a/robosystems_client/models/operation_envelope_change_reporting_style_response.py +++ b/robosystems_client/models/operation_envelope_change_reporting_style_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeChangeReportingStyleResponse: status (OperationEnvelopeChangeReportingStyleResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (ChangeReportingStyleResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_close_period_response.py b/robosystems_client/models/operation_envelope_close_period_response.py index 46f4030..42dd4dd 100644 --- a/robosystems_client/models/operation_envelope_close_period_response.py +++ b/robosystems_client/models/operation_envelope_close_period_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeClosePeriodResponse: status (OperationEnvelopeClosePeriodResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (ClosePeriodResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_compute_forecast_response.py b/robosystems_client/models/operation_envelope_compute_forecast_response.py index d3bc2df..d40fcfa 100644 --- a/robosystems_client/models/operation_envelope_compute_forecast_response.py +++ b/robosystems_client/models/operation_envelope_compute_forecast_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeComputeForecastResponse: status (OperationEnvelopeComputeForecastResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (ComputeForecastResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_compute_metrics_response.py b/robosystems_client/models/operation_envelope_compute_metrics_response.py index 08f0563..648385a 100644 --- a/robosystems_client/models/operation_envelope_compute_metrics_response.py +++ b/robosystems_client/models/operation_envelope_compute_metrics_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeComputeMetricsResponse: status (OperationEnvelopeComputeMetricsResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (ComputeMetricsResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_delete_information_block_response.py b/robosystems_client/models/operation_envelope_delete_information_block_response.py index b9be672..7b1edfc 100644 --- a/robosystems_client/models/operation_envelope_delete_information_block_response.py +++ b/robosystems_client/models/operation_envelope_delete_information_block_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeDeleteInformationBlockResponse: status (OperationEnvelopeDeleteInformationBlockResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (DeleteInformationBlockResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_delete_portfolio_block_response.py b/robosystems_client/models/operation_envelope_delete_portfolio_block_response.py index fa432cc..50a2f2a 100644 --- a/robosystems_client/models/operation_envelope_delete_portfolio_block_response.py +++ b/robosystems_client/models/operation_envelope_delete_portfolio_block_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeDeletePortfolioBlockResponse: status (OperationEnvelopeDeletePortfolioBlockResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (DeletePortfolioBlockResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_delete_result.py b/robosystems_client/models/operation_envelope_delete_result.py index 9deae06..33b6170 100644 --- a/robosystems_client/models/operation_envelope_delete_result.py +++ b/robosystems_client/models/operation_envelope_delete_result.py @@ -27,7 +27,7 @@ class OperationEnvelopeDeleteResult: status (OperationEnvelopeDeleteResultStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (DeleteResult | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_delete_taxonomy_block_response.py b/robosystems_client/models/operation_envelope_delete_taxonomy_block_response.py index 980740f..3c05759 100644 --- a/robosystems_client/models/operation_envelope_delete_taxonomy_block_response.py +++ b/robosystems_client/models/operation_envelope_delete_taxonomy_block_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeDeleteTaxonomyBlockResponse: status (OperationEnvelopeDeleteTaxonomyBlockResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (DeleteTaxonomyBlockResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_disclosures_response.py b/robosystems_client/models/operation_envelope_disclosures_response.py index 4cf3d8f..9986e32 100644 --- a/robosystems_client/models/operation_envelope_disclosures_response.py +++ b/robosystems_client/models/operation_envelope_disclosures_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeDisclosuresResponse: status (OperationEnvelopeDisclosuresResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (DisclosuresResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_entity_taxonomy_response.py b/robosystems_client/models/operation_envelope_entity_taxonomy_response.py index c35d505..a56025b 100644 --- a/robosystems_client/models/operation_envelope_entity_taxonomy_response.py +++ b/robosystems_client/models/operation_envelope_entity_taxonomy_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeEntityTaxonomyResponse: status (OperationEnvelopeEntityTaxonomyResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (EntityTaxonomyResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_evaluate_rules_response.py b/robosystems_client/models/operation_envelope_evaluate_rules_response.py index 6bd635f..529a4a1 100644 --- a/robosystems_client/models/operation_envelope_evaluate_rules_response.py +++ b/robosystems_client/models/operation_envelope_evaluate_rules_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeEvaluateRulesResponse: status (OperationEnvelopeEvaluateRulesResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (EvaluateRulesResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_event_block_envelope.py b/robosystems_client/models/operation_envelope_event_block_envelope.py index 3c439f1..5fa4350 100644 --- a/robosystems_client/models/operation_envelope_event_block_envelope.py +++ b/robosystems_client/models/operation_envelope_event_block_envelope.py @@ -27,7 +27,7 @@ class OperationEnvelopeEventBlockEnvelope: status (OperationEnvelopeEventBlockEnvelopeStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (EventBlockEnvelope | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_event_handler_response.py b/robosystems_client/models/operation_envelope_event_handler_response.py index 8981bcc..3dbf706 100644 --- a/robosystems_client/models/operation_envelope_event_handler_response.py +++ b/robosystems_client/models/operation_envelope_event_handler_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeEventHandlerResponse: status (OperationEnvelopeEventHandlerResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (EventHandlerResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_execute_event_block_response.py b/robosystems_client/models/operation_envelope_execute_event_block_response.py index ade4273..f1e244a 100644 --- a/robosystems_client/models/operation_envelope_execute_event_block_response.py +++ b/robosystems_client/models/operation_envelope_execute_event_block_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeExecuteEventBlockResponse: status (OperationEnvelopeExecuteEventBlockResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (ExecuteEventBlockResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_financial_statement_analysis_response.py b/robosystems_client/models/operation_envelope_financial_statement_analysis_response.py index 49f9332..6eef975 100644 --- a/robosystems_client/models/operation_envelope_financial_statement_analysis_response.py +++ b/robosystems_client/models/operation_envelope_financial_statement_analysis_response.py @@ -29,7 +29,7 @@ class OperationEnvelopeFinancialStatementAnalysisResponse: status (OperationEnvelopeFinancialStatementAnalysisResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (FinancialStatementAnalysisResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_fiscal_calendar_response.py b/robosystems_client/models/operation_envelope_fiscal_calendar_response.py index 4b01833..a812ece 100644 --- a/robosystems_client/models/operation_envelope_fiscal_calendar_response.py +++ b/robosystems_client/models/operation_envelope_fiscal_calendar_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeFiscalCalendarResponse: status (OperationEnvelopeFiscalCalendarResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (FiscalCalendarResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_graph_metadata_result.py b/robosystems_client/models/operation_envelope_graph_metadata_result.py index fcfd1df..8978d3a 100644 --- a/robosystems_client/models/operation_envelope_graph_metadata_result.py +++ b/robosystems_client/models/operation_envelope_graph_metadata_result.py @@ -27,7 +27,7 @@ class OperationEnvelopeGraphMetadataResult: status (OperationEnvelopeGraphMetadataResultStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (GraphMetadataResult | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_information_block_envelope.py b/robosystems_client/models/operation_envelope_information_block_envelope.py index c272da4..ba1d396 100644 --- a/robosystems_client/models/operation_envelope_information_block_envelope.py +++ b/robosystems_client/models/operation_envelope_information_block_envelope.py @@ -27,7 +27,7 @@ class OperationEnvelopeInformationBlockEnvelope: status (OperationEnvelopeInformationBlockEnvelopeStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (InformationBlockEnvelope | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_information_block_response.py b/robosystems_client/models/operation_envelope_information_block_response.py index 42a51b4..042befd 100644 --- a/robosystems_client/models/operation_envelope_information_block_response.py +++ b/robosystems_client/models/operation_envelope_information_block_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeInformationBlockResponse: status (OperationEnvelopeInformationBlockResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (InformationBlockResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_initialize_chart_of_accounts_response.py b/robosystems_client/models/operation_envelope_initialize_chart_of_accounts_response.py index f9b4738..66a5141 100644 --- a/robosystems_client/models/operation_envelope_initialize_chart_of_accounts_response.py +++ b/robosystems_client/models/operation_envelope_initialize_chart_of_accounts_response.py @@ -29,7 +29,7 @@ class OperationEnvelopeInitializeChartOfAccountsResponse: status (OperationEnvelopeInitializeChartOfAccountsResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (InitializeChartOfAccountsResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_initialize_ledger_response.py b/robosystems_client/models/operation_envelope_initialize_ledger_response.py index b38a3fb..63f6247 100644 --- a/robosystems_client/models/operation_envelope_initialize_ledger_response.py +++ b/robosystems_client/models/operation_envelope_initialize_ledger_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeInitializeLedgerResponse: status (OperationEnvelopeInitializeLedgerResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (InitializeLedgerResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_journal_entry_response.py b/robosystems_client/models/operation_envelope_journal_entry_response.py index 5214c80..7922f98 100644 --- a/robosystems_client/models/operation_envelope_journal_entry_response.py +++ b/robosystems_client/models/operation_envelope_journal_entry_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeJournalEntryResponse: status (OperationEnvelopeJournalEntryResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (JournalEntryResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_ledger_agent_response.py b/robosystems_client/models/operation_envelope_ledger_agent_response.py index 6da0d95..9a589da 100644 --- a/robosystems_client/models/operation_envelope_ledger_agent_response.py +++ b/robosystems_client/models/operation_envelope_ledger_agent_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeLedgerAgentResponse: status (OperationEnvelopeLedgerAgentResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (LedgerAgentResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_ledger_entity_response.py b/robosystems_client/models/operation_envelope_ledger_entity_response.py index 3820ddf..70f9d20 100644 --- a/robosystems_client/models/operation_envelope_ledger_entity_response.py +++ b/robosystems_client/models/operation_envelope_ledger_entity_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeLedgerEntityResponse: status (OperationEnvelopeLedgerEntityResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (LedgerEntityResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_live_financial_statement_response.py b/robosystems_client/models/operation_envelope_live_financial_statement_response.py index 3505cb5..733fbed 100644 --- a/robosystems_client/models/operation_envelope_live_financial_statement_response.py +++ b/robosystems_client/models/operation_envelope_live_financial_statement_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeLiveFinancialStatementResponse: status (OperationEnvelopeLiveFinancialStatementResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (LiveFinancialStatementResponse | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_portfolio_block_envelope.py b/robosystems_client/models/operation_envelope_portfolio_block_envelope.py index ee2d529..acc7af4 100644 --- a/robosystems_client/models/operation_envelope_portfolio_block_envelope.py +++ b/robosystems_client/models/operation_envelope_portfolio_block_envelope.py @@ -27,7 +27,7 @@ class OperationEnvelopePortfolioBlockEnvelope: status (OperationEnvelopePortfolioBlockEnvelopeStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (None | PortfolioBlockEnvelope | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_preview_event_block_response.py b/robosystems_client/models/operation_envelope_preview_event_block_response.py index f5166e0..cb78cec 100644 --- a/robosystems_client/models/operation_envelope_preview_event_block_response.py +++ b/robosystems_client/models/operation_envelope_preview_event_block_response.py @@ -27,7 +27,7 @@ class OperationEnvelopePreviewEventBlockResponse: status (OperationEnvelopePreviewEventBlockResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (None | PreviewEventBlockResponse | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_promote_obligations_response.py b/robosystems_client/models/operation_envelope_promote_obligations_response.py index 79fb121..f9aa7bb 100644 --- a/robosystems_client/models/operation_envelope_promote_obligations_response.py +++ b/robosystems_client/models/operation_envelope_promote_obligations_response.py @@ -27,7 +27,7 @@ class OperationEnvelopePromoteObligationsResponse: status (OperationEnvelopePromoteObligationsResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (None | PromoteObligationsResponse | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_publish_list_response.py b/robosystems_client/models/operation_envelope_publish_list_response.py index 982583a..11bd31a 100644 --- a/robosystems_client/models/operation_envelope_publish_list_response.py +++ b/robosystems_client/models/operation_envelope_publish_list_response.py @@ -27,7 +27,7 @@ class OperationEnvelopePublishListResponse: status (OperationEnvelopePublishListResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (None | PublishListResponse | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_reconciling_item_plan.py b/robosystems_client/models/operation_envelope_reconciling_item_plan.py index 7840975..3dff98c 100644 --- a/robosystems_client/models/operation_envelope_reconciling_item_plan.py +++ b/robosystems_client/models/operation_envelope_reconciling_item_plan.py @@ -27,7 +27,7 @@ class OperationEnvelopeReconcilingItemPlan: status (OperationEnvelopeReconcilingItemPlanStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (None | ReconcilingItemPlan | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_report_response.py b/robosystems_client/models/operation_envelope_report_response.py index 3febc84..57d1b95 100644 --- a/robosystems_client/models/operation_envelope_report_response.py +++ b/robosystems_client/models/operation_envelope_report_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeReportResponse: status (OperationEnvelopeReportResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (None | ReportResponse | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_resolve_reconciling_item_response.py b/robosystems_client/models/operation_envelope_resolve_reconciling_item_response.py index 5027857..f25cec5 100644 --- a/robosystems_client/models/operation_envelope_resolve_reconciling_item_response.py +++ b/robosystems_client/models/operation_envelope_resolve_reconciling_item_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeResolveReconcilingItemResponse: status (OperationEnvelopeResolveReconcilingItemResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (None | ResolveReconcilingItemResponse | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_revoke_report_share_response.py b/robosystems_client/models/operation_envelope_revoke_report_share_response.py index 4c22cbc..b230ce2 100644 --- a/robosystems_client/models/operation_envelope_revoke_report_share_response.py +++ b/robosystems_client/models/operation_envelope_revoke_report_share_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeRevokeReportShareResponse: status (OperationEnvelopeRevokeReportShareResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (None | RevokeReportShareResponse | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_schedule_created_response.py b/robosystems_client/models/operation_envelope_schedule_created_response.py index f39da34..a480ed2 100644 --- a/robosystems_client/models/operation_envelope_schedule_created_response.py +++ b/robosystems_client/models/operation_envelope_schedule_created_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeScheduleCreatedResponse: status (OperationEnvelopeScheduleCreatedResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (None | ScheduleCreatedResponse | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_security_response.py b/robosystems_client/models/operation_envelope_security_response.py index 764b2fc..ce9d2d3 100644 --- a/robosystems_client/models/operation_envelope_security_response.py +++ b/robosystems_client/models/operation_envelope_security_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeSecurityResponse: status (OperationEnvelopeSecurityResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (None | SecurityResponse | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_share_report_response.py b/robosystems_client/models/operation_envelope_share_report_response.py index b293c52..cba2264 100644 --- a/robosystems_client/models/operation_envelope_share_report_response.py +++ b/robosystems_client/models/operation_envelope_share_report_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeShareReportResponse: status (OperationEnvelopeShareReportResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (None | ShareReportResponse | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_taxonomy_block_envelope.py b/robosystems_client/models/operation_envelope_taxonomy_block_envelope.py index 6bea909..afe0f62 100644 --- a/robosystems_client/models/operation_envelope_taxonomy_block_envelope.py +++ b/robosystems_client/models/operation_envelope_taxonomy_block_envelope.py @@ -27,7 +27,7 @@ class OperationEnvelopeTaxonomyBlockEnvelope: status (OperationEnvelopeTaxonomyBlockEnvelopeStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (None | TaxonomyBlockEnvelope | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_terminate_schedule_response.py b/robosystems_client/models/operation_envelope_terminate_schedule_response.py index 477f7ec..2311b2e 100644 --- a/robosystems_client/models/operation_envelope_terminate_schedule_response.py +++ b/robosystems_client/models/operation_envelope_terminate_schedule_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeTerminateScheduleResponse: status (OperationEnvelopeTerminateScheduleResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (None | TerminateScheduleResponse | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelope_view_response.py b/robosystems_client/models/operation_envelope_view_response.py index 785d8f8..1787627 100644 --- a/robosystems_client/models/operation_envelope_view_response.py +++ b/robosystems_client/models/operation_envelope_view_response.py @@ -27,7 +27,7 @@ class OperationEnvelopeViewResponse: status (OperationEnvelopeViewResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (None | Unset | ViewResponse): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/operation_envelopelist_publish_list_member_response.py b/robosystems_client/models/operation_envelopelist_publish_list_member_response.py index e2ca242..f7ac920 100644 --- a/robosystems_client/models/operation_envelopelist_publish_list_member_response.py +++ b/robosystems_client/models/operation_envelopelist_publish_list_member_response.py @@ -27,7 +27,7 @@ class OperationEnvelopelistPublishListMemberResponse: status (OperationEnvelopelistPublishListMemberResponseStatus): Operation lifecycle state at (str): ISO-8601 UTC timestamp result (list[PublishListMemberResponse] | None | Unset): Command-specific result payload - created_by (None | str | Unset): User ID that initiated the operation (null for legacy callers) + created_by (None | str | Unset): User ID that initiated the operation idempotent_replay (bool | Unset): True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: False. """ diff --git a/robosystems_client/models/rule_lite.py b/robosystems_client/models/rule_lite.py index 4336f48..a45828e 100644 --- a/robosystems_client/models/rule_lite.py +++ b/robosystems_client/models/rule_lite.py @@ -45,9 +45,9 @@ class RuleLite: rule_message (None | str | Unset): rule_severity (str | Unset): Failure severity — 'info' | 'warning' | 'error'. Enum closure enforced by the `public.rules` CHECK constraint. Default: 'error'. - rule_origin (str | Unset): Provenance — 'forked' (from an upstream artifact, e.g. Seattle Method) or 'native' - (authored in this seed or by a tenant). Enum closure enforced by the `public.rules` CHECK constraint. Default: - 'native'. + rule_origin (str | Unset): Provenance — 'forked' (from an upstream artifact, e.g. an external XBRL taxonomy) or + 'native' (authored in this seed or by a tenant). Enum closure enforced by the `public.rules` CHECK constraint. + Default: 'native'. """ id: str diff --git a/robosystems_client/models/schedule_metadata_request.py b/robosystems_client/models/schedule_metadata_request.py index 359fa31..975036f 100644 --- a/robosystems_client/models/schedule_metadata_request.py +++ b/robosystems_client/models/schedule_metadata_request.py @@ -20,14 +20,16 @@ class ScheduleMetadataRequest: those values verbatim instead of computing. Other strings are labels only; fact values still come from `monthly_amount` or `periodic_amounts`. Default: 'straight_line'. original_amount (int | Unset): Cost basis in cents Default: 0. - residual_value (int | Unset): Salvage value in cents Default: 0. + residual_value (int | Unset): Salvage value in cents. The schedule expenses `original_amount` less this; net + book value ends at it. Default: 0. useful_life_months (int | Unset): Useful life in months Default: 0. asset_element_id (None | str | Unset): BS asset element for net book value periodic_amounts (list[int] | None | Unset): Explicit per-period amounts in cents. When set, the generator uses these values instead of `monthly_amount` — enabling non-straight-line schedules (effective-interest bond discount amortization, day-count interest accrual, variable lease payments, pre-computed effective-yield curves, etc.). Length must match the number of monthly periods between `period_start` and `period_end`; sum must equal - `original_amount` exactly. The auto-generated SumEquals rule proves Σ = original regardless of the curve shape. + `original_amount` less `residual_value` exactly. The auto-generated SumEquals rule proves that total regardless + of the curve shape. """ method: str | Unset = "straight_line" diff --git a/robosystems_client/models/view_projections.py b/robosystems_client/models/view_projections.py index 8af576d..f921e3d 100644 --- a/robosystems_client/models/view_projections.py +++ b/robosystems_client/models/view_projections.py @@ -18,22 +18,20 @@ @_attrs_define class ViewProjections: - """Charlie's six `type-of View` arms, surfaced at the envelope boundary. + """The six `type-of` View projections of an Information Block (Rendering, + FactTable, ModelStructure, VerificationResults, ReportElements, + BusinessRules), surfaced at the envelope boundary. Each projection is computed server-side at envelope-build time when its source data is available. The frontend's `BlockView` dispatcher routes to the projection component matching the user's selected view - mode; missing projections (those still in backlog) render as empty - states without breaking the dispatcher. + mode; missing projections render as empty states without breaking the + dispatcher. Today: `rendering` is computed for the statement family, and - `chart` (the 7th arm — panel/series config over the rendering's - rows and periods) for metric blocks. - Other arms (`fact_table`, `model_structure`, `verification_results`, - `report_elements`, `business_rules`) come online as their backend - support lands; `fact_table` is trivially derivable from - `InformationBlockEnvelope.facts` and may stay as a frontend-only - projection. + `chart` (panel/series config over the rendering's rows and periods) + for metric blocks. Projections without backend support yet are empty; + `fact_table` is derivable from `InformationBlockEnvelope.facts`. Attributes: rendering (None | RenderingLite | Unset): diff --git a/tests/test_ledger_client.py b/tests/test_ledger_client.py index 0c95f30..59b9ea8 100644 --- a/tests/test_ledger_client.py +++ b/tests/test_ledger_client.py @@ -2113,29 +2113,25 @@ def _patch_httpx(self, mock_client_cls, artifact: Mock) -> Mock: return mock_client @patch("robosystems_client.clients.ledger_client.httpx.Client") - def test_jsonld_download_follows_presigned_url( - self, mock_client_cls, mock_config, graph_id - ): - """JSON-LD: GraphQL resolves the URL, client follows it for bytes.""" + def test_default_download_is_the_tavi(self, mock_client_cls, mock_config, graph_id): + """No format: the Tavi anchor. GraphQL resolves the URL, client follows it.""" mock_client = self._patch_httpx( - mock_client_cls, self._mock_artifact(b'{"@graph": []}', "rpt_01-g2.jsonld") + mock_client_cls, self._mock_artifact(b'{"xbrlModel": {}}', "rpt_01-g2.tavi.json") ) with patch.object( LedgerClient, "_query", - return_value=self._gql_data("application/ld+json", "jsonld", gen=2), + return_value=self._gql_data("application/json", "tavi", gen=2), ) as mock_query: - result = LedgerClient(mock_config).download_report_bundle( - graph_id, "rpt_01", format="jsonld" - ) + result = LedgerClient(mock_config).download_report_bundle(graph_id, "rpt_01") - assert result.content == b'{"@graph": []}' - assert result.filename == "rpt_01-g2.jsonld" - assert result.format == "jsonld" - assert result.content_type == "application/ld+json" + assert result.content == b'{"xbrlModel": {}}' + assert result.filename == "rpt_01-g2.tavi.json" + assert result.format == "tavi" + assert result.content_type == "application/json" assert result.generation_count == 2 # GraphQL var carries the enum NAME, not the wire flavor string. - assert mock_query.call_args.args[2]["format"] == "JSONLD" + assert mock_query.call_args.args[2]["format"] == "TAVI" # The bytes come from following the presigned URL. assert mock_client.get.call_args.args[0].startswith("https://s3.example.com/") @@ -2215,7 +2211,7 @@ def test_presigned_url_non_200_raises(self, mock_client_cls, mock_config, graph_ with patch.object( LedgerClient, "_query", - return_value=self._gql_data("application/ld+json", "jsonld"), + return_value=self._gql_data("application/json", "tavi"), ): with pytest.raises(RuntimeError, match="Failed to follow presigned URL"): LedgerClient(mock_config).download_report_bundle(graph_id, "rpt_01")