Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ def sync_detailed(

Switches the graph to a different Reporting Style. The target Style
must be a library- or customer-authored Structure with
``structure_type='reporting_style'`` and a complete composition
``block_type='reporting_style'`` and a complete composition
(one Network per required statement type — BS / IS / CF / SE). Filed
Reports are unaffected because each ``Report`` already pins its own
``structure_id`` per FactSet at create-time; new reports use the new
Expand Down Expand Up @@ -177,7 +177,7 @@ def sync(

Switches the graph to a different Reporting Style. The target Style
must be a library- or customer-authored Structure with
``structure_type='reporting_style'`` and a complete composition
``block_type='reporting_style'`` and a complete composition
(one Network per required statement type — BS / IS / CF / SE). Filed
Reports are unaffected because each ``Report`` already pins its own
``structure_id`` per FactSet at create-time; new reports use the new
Expand Down Expand Up @@ -223,7 +223,7 @@ async def asyncio_detailed(

Switches the graph to a different Reporting Style. The target Style
must be a library- or customer-authored Structure with
``structure_type='reporting_style'`` and a complete composition
``block_type='reporting_style'`` and a complete composition
(one Network per required statement type — BS / IS / CF / SE). Filed
Reports are unaffected because each ``Report`` already pins its own
``structure_id`` per FactSet at create-time; new reports use the new
Expand Down Expand Up @@ -272,7 +272,7 @@ async def asyncio(

Switches the graph to a different Reporting Style. The target Style
must be a library- or customer-authored Structure with
``structure_type='reporting_style'`` and a complete composition
``block_type='reporting_style'`` and a complete composition
(one Network per required statement type — BS / IS / CF / SE). Filed
Reports are unaffected because each ``Report`` already pins its own
``structure_id`` per FactSet at create-time; new reports use the new
Expand Down
10 changes: 5 additions & 5 deletions robosystems_client/clients/ledger_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -802,13 +802,13 @@ def list_structures(
self,
graph_id: str,
taxonomy_id: str | None = None,
structure_type: str | None = None,
block_type: str | None = None,
) -> list[dict[str, Any]]:
"""List reporting structures (IS, BS, CF, schedules) with optional filters."""
data = self._query(
graph_id,
LIST_STRUCTURES_QUERY,
{"taxonomyId": taxonomy_id, "structureType": structure_type},
{"taxonomyId": taxonomy_id, "blockType": block_type},
)
return parse_structures(data)

Expand Down Expand Up @@ -1598,16 +1598,16 @@ def get_report_package(self, graph_id: str, report_id: str) -> dict[str, Any] |
return parse_report_package(data)

def get_statement(
self, graph_id: str, report_id: str, structure_type: str
self, graph_id: str, report_id: str, block_type: str
) -> dict[str, Any] | None:
"""Render a financial statement — facts viewed through a structure.

`structure_type`: income_statement, balance_sheet, cash_flow_statement, ...
`block_type`: income_statement, balance_sheet, cash_flow_statement, ...
"""
data = self._query(
graph_id,
GET_STATEMENT_QUERY,
{"reportId": report_id, "structureType": structure_type},
{"reportId": report_id, "blockType": block_type},
)
return parse_statement(data)

Expand Down
32 changes: 16 additions & 16 deletions robosystems_client/graphql/queries/ledger/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -527,10 +527,10 @@ def parse_unmapped_elements(data: dict[str, Any]) -> list[dict[str, Any]]:
# ── Structures / mappings ─────────────────────────────────────────────

LIST_STRUCTURES_QUERY = """
query ListLedgerStructures($taxonomyId: String, $structureType: String) {
structures(taxonomyId: $taxonomyId, structureType: $structureType) {
query ListLedgerStructures($taxonomyId: String, $blockType: String) {
structures(taxonomyId: $taxonomyId, blockType: $blockType) {
structures {
id name description structureType taxonomyId isActive
id name description blockType taxonomyId isActive
}
}
}
Expand All @@ -546,7 +546,7 @@ def parse_structures(data: dict[str, Any]) -> list[dict[str, Any]]:
query ListLedgerMappings {
mappings {
structures {
id name description structureType taxonomyId isActive
id name description blockType taxonomyId isActive
}
}
}
Expand All @@ -561,7 +561,7 @@ def parse_mappings(data: dict[str, Any]) -> list[dict[str, Any]]:
GET_MAPPING_QUERY = """
query GetLedgerMapping($mappingId: String!) {
mapping(mappingId: $mappingId) {
id name structureType taxonomyId totalAssociations
id name blockType taxonomyId totalAssociations
associations {
id structureId
fromElementId fromElementName fromElementQname
Expand Down Expand Up @@ -602,7 +602,7 @@ def parse_mapping_coverage(data: dict[str, Any]) -> dict[str, Any] | None:
id blockType name displayName category
taxonomyId taxonomyName
informationModel { conceptArrangement memberArrangement }
artifact { topic parentheticalNote template mechanics }
artifact { topic rendererNote template mechanics }
elements {
id qname name code elementType
isAbstract isMonetary balanceType periodType
Expand Down Expand Up @@ -641,7 +641,7 @@ def parse_information_block(data: dict[str, Any]) -> dict[str, Any] | None:
id blockType name displayName category
taxonomyId taxonomyName
informationModel { conceptArrangement memberArrangement }
artifact { topic parentheticalNote template mechanics }
artifact { topic rendererNote template mechanics }
elements {
id qname name code elementType
isAbstract isMonetary balanceType periodType
Expand Down Expand Up @@ -717,7 +717,7 @@ def parse_period_drafts(data: dict[str, Any]) -> dict[str, Any] | None:
categories {
label
items {
id name itemType structureType reportId status
id name itemType blockType reportId status
}
}
}
Expand Down Expand Up @@ -760,7 +760,7 @@ def parse_fiscal_calendar(data: dict[str, Any]) -> dict[str, Any] | None:
createdAt lastGenerated entityName
sourceGraphId sourceReportId sharedAt
periods { start end label }
structures { id name structureType }
structures { id name blockType }
}
}
}
Expand All @@ -781,7 +781,7 @@ def parse_reports(data: dict[str, Any]) -> list[dict[str, Any]]:
filingStatus filedAt filedBy supersedesId supersededById
sourceGraphId sourceReportId sharedAt
periods { start end label }
structures { id name structureType }
structures { id name blockType }
}
}
""".strip()
Expand All @@ -795,7 +795,7 @@ def parse_report(data: dict[str, Any]) -> dict[str, Any] | None:
# Report rehydrated as a package — Report metadata + N rendered
# `InformationBlock` envelopes (one per attached FactSet). Drives the
# `/reports/[id]` package viewer and replaces the per-statement
# `getStatement(reportId, structureType)` round-trip flow.
# `getStatement(reportId, blockType)` round-trip flow.
GET_REPORT_PACKAGE_QUERY = """
query GetLedgerReportPackage($reportId: String!) {
reportPackage(reportId: $reportId) {
Expand All @@ -812,7 +812,7 @@ def parse_report(data: dict[str, Any]) -> dict[str, Any] | None:
id blockType name displayName category
taxonomyId taxonomyName
informationModel { conceptArrangement memberArrangement }
artifact { topic parentheticalNote template mechanics }
artifact { topic rendererNote template mechanics }
elements {
id qname name code elementType
isAbstract isMonetary balanceType periodType
Expand All @@ -826,7 +826,7 @@ def parse_report(data: dict[str, Any]) -> dict[str, Any] | None:
periodType unit factScope factSetId
}
rules {
id ruleCategory rulePattern ruleExpression
id ruleCategory rulePattern ruleCheckKind ruleExpression
ruleMessage ruleSeverity ruleOrigin
}
factSet {
Expand Down Expand Up @@ -861,9 +861,9 @@ def parse_report_package(data: dict[str, Any]) -> dict[str, Any] | None:


GET_STATEMENT_QUERY = """
query GetLedgerStatement($reportId: String!, $structureType: String!) {
statement(reportId: $reportId, structureType: $structureType) {
reportId structureId structureName structureType unmappedCount
query GetLedgerStatement($reportId: String!, $blockType: String!) {
statement(reportId: $reportId, blockType: $blockType) {
reportId structureId structureName blockType unmappedCount
periods { start end label }
rows {
elementId elementQname elementName trait
Expand Down
8 changes: 4 additions & 4 deletions robosystems_client/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -574,12 +574,12 @@
)
from .taxonomy_block_structure import TaxonomyBlockStructure
from .taxonomy_block_structure_request import TaxonomyBlockStructureRequest
from .taxonomy_block_structure_request_block_type import (
TaxonomyBlockStructureRequestBlockType,
)
from .taxonomy_block_structure_request_metadata import (
TaxonomyBlockStructureRequestMetadata,
)
from .taxonomy_block_structure_request_structure_type import (
TaxonomyBlockStructureRequestStructureType,
)
from .tier_capacity import TierCapacity
from .token_pricing import TokenPricing
from .transaction_preview import TransactionPreview
Expand Down Expand Up @@ -1062,8 +1062,8 @@
"TaxonomyBlockRuleRequestVariablesItem",
"TaxonomyBlockStructure",
"TaxonomyBlockStructureRequest",
"TaxonomyBlockStructureRequestBlockType",
"TaxonomyBlockStructureRequestMetadata",
"TaxonomyBlockStructureRequestStructureType",
"TierCapacity",
"TokenPricing",
"TransactionPreview",
Expand Down
22 changes: 11 additions & 11 deletions robosystems_client/models/artifact_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ class ArtifactResponse:
Attributes:
mechanics (MetricMechanics | ScheduleMechanics | StatementMechanics):
topic (None | str | Unset): Structure.description — the block's human-readable topic.
parenthetical_note (None | str | Unset): e.g. 'in thousands', 'except per share'.
renderer_note (None | str | Unset): e.g. 'in thousands', 'except per share'.
template (ArtifactResponseTemplateType0 | None | Unset): Reusable layout (ordering, subtotals, styling) when
attached. First-class templates are not yet implemented; this field is always null on currently-shipped block
types.
"""

mechanics: MetricMechanics | ScheduleMechanics | StatementMechanics
topic: None | str | Unset = UNSET
parenthetical_note: None | str | Unset = UNSET
renderer_note: None | str | Unset = UNSET
template: ArtifactResponseTemplateType0 | None | Unset = UNSET
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)

Expand All @@ -56,11 +56,11 @@ def to_dict(self) -> dict[str, Any]:
else:
topic = self.topic

parenthetical_note: None | str | Unset
if isinstance(self.parenthetical_note, Unset):
parenthetical_note = UNSET
renderer_note: None | str | Unset
if isinstance(self.renderer_note, Unset):
renderer_note = UNSET
else:
parenthetical_note = self.parenthetical_note
renderer_note = self.renderer_note

template: dict[str, Any] | None | Unset
if isinstance(self.template, Unset):
Expand All @@ -79,8 +79,8 @@ def to_dict(self) -> dict[str, Any]:
)
if topic is not UNSET:
field_dict["topic"] = topic
if parenthetical_note is not UNSET:
field_dict["parenthetical_note"] = parenthetical_note
if renderer_note is not UNSET:
field_dict["renderer_note"] = renderer_note
if template is not UNSET:
field_dict["template"] = template

Expand Down Expand Up @@ -131,14 +131,14 @@ def _parse_topic(data: object) -> None | str | Unset:

topic = _parse_topic(d.pop("topic", UNSET))

def _parse_parenthetical_note(data: object) -> None | str | Unset:
def _parse_renderer_note(data: object) -> None | str | Unset:
if data is None:
return data
if isinstance(data, Unset):
return data
return cast(None | str | Unset, data)

parenthetical_note = _parse_parenthetical_note(d.pop("parenthetical_note", UNSET))
renderer_note = _parse_renderer_note(d.pop("renderer_note", UNSET))

def _parse_template(data: object) -> ArtifactResponseTemplateType0 | None | Unset:
if data is None:
Expand All @@ -160,7 +160,7 @@ def _parse_template(data: object) -> ArtifactResponseTemplateType0 | None | Unse
artifact_response = cls(
mechanics=mechanics,
topic=topic,
parenthetical_note=parenthetical_note,
renderer_note=renderer_note,
template=template,
)

Expand Down
4 changes: 2 additions & 2 deletions robosystems_client/models/change_reporting_style_op.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class ChangeReportingStyleOp:

Switches the graph to a different Reporting Style. The target Style
must be a library- or customer-authored Structure with
``structure_type='reporting_style'`` and a complete composition
``block_type='reporting_style'`` and a complete composition
(one Network per required statement type — BS / IS / CF / SE). Filed
Reports are unaffected because each ``Report`` already pins its own
``structure_id`` per FactSet at create-time; new reports use the new
Expand All @@ -24,7 +24,7 @@ class ChangeReportingStyleOp:
Attributes:
reporting_style_id (str): Structure id of the target Reporting Style (e.g.,
`025f5d48-12ce-5d65-b9eb-4f137a10ef06` for the library-seeded Default Style). Must resolve to a Structure with
structure_type='reporting_style' that has a complete composition in the graph's tenant schema.
block_type='reporting_style' that has a complete composition in the graph's tenant schema.
"""

reporting_style_id: str
Expand Down
2 changes: 1 addition & 1 deletion robosystems_client/models/classification_lite.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class ClassificationLite:
id (str): Classification vocabulary row id.
category (str): One of the 3 association-level categories in the `public.classifications` CHECK constraint:
'concept_arrangement', 'member_arrangement', or 'named_disclosure'.
identifier (str): Vocabulary identifier within the category — e.g. 'RollUp', 'aggregation', 'AssetsRollUp'.
identifier (str): Vocabulary identifier within the category — e.g. 'RollUp', 'whole_part', 'AssetsRollUp'.
is_primary (bool | Unset): Whether this is the canonical classification for the (association|element, category)
pair. Non-primary rows capture alternates / AI suggestions alongside the chosen primary. Default: True.
confidence (float | None | Unset): AI/adapter-supplied confidence (0.0-1.0). Null for deterministic library-
Expand Down
3 changes: 2 additions & 1 deletion robosystems_client/models/information_model_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ class InformationModelResponse:
Attributes:
concept_arrangement (None | str | Unset): roll_up | roll_forward | variance | adjustment | set | arithmetic |
textblock. Null for block types where the concept arrangement is implicit in their mechanics.
member_arrangement (None | str | Unset): aggregation | nonaggregation, or null if non-hypercube.
member_arrangement (None | str | Unset): is_a | whole_part | nested_whole_part | two_dimension_aggregation |
complex_aggregating_whole_part, or null if non-hypercube.
"""

concept_arrangement: None | str | Unset = UNSET
Expand Down
Loading
Loading