@ai-matrx/associations 0.14.83 → 0.14.85

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -106,6 +106,8 @@ var ENTITY_TYPE_TOKENS = [
106
106
  "access_delta_run",
107
107
  "access_request",
108
108
  "access_shadow_log",
109
+ "access_version",
110
+ "access_version_event",
109
111
  "account_addon",
110
112
  "account_closure",
111
113
  "account_facts",
@@ -367,6 +369,9 @@ var ENTITY_TYPE_TOKENS = [
367
369
  "communication_calendar_selected_snapshot_state",
368
370
  "communication_channel_readiness",
369
371
  "comparison_set",
372
+ "computed_org_mark",
373
+ "computed_reader_cols",
374
+ "computed_reader_judgement",
370
375
  "config_manifest",
371
376
  "config_read_bucket",
372
377
  "contact_medium",
@@ -951,6 +956,7 @@ var ENTITY_TYPE_TOKENS = [
951
956
  "rag_library_audit_log",
952
957
  "rate_limit_buckets",
953
958
  "reachability_pending",
959
+ "read_mask_kept",
954
960
  "recompute_queue",
955
961
  "record",
956
962
  "record_alias",
@@ -1653,135 +1659,1112 @@ var ASSOCIATION_PAIRS = /* @__PURE__ */ new Set([
1653
1659
  "quiz_session>agent",
1654
1660
  "quiz_session>processed_document",
1655
1661
  "quiz_session>web_page",
1662
+ "record>access_delta_run",
1663
+ "record>access_request",
1664
+ "record>access_shadow_log",
1665
+ "record>account_addon",
1666
+ "record>account_closure",
1667
+ "record>acquisition_block",
1668
+ "record>activity",
1669
+ "record>admin_audit_log",
1670
+ "record>admin_email_log",
1671
+ "record>admin_markdown_sample",
1656
1672
  "record>agent",
1673
+ "record>agent_card",
1674
+ "record>agent_definition_version",
1675
+ "record>agent_drift_alert",
1676
+ "record>agent_exemplar",
1677
+ "record>agent_mandate_note",
1657
1678
  "record>agent_prompt_block",
1679
+ "record>agent_prompt_block_variant",
1680
+ "record>agent_prompt_remediation",
1681
+ "record>agent_required_flag_change",
1682
+ "record>agent_run",
1683
+ "record>agent_run_stage",
1684
+ "record>agent_schedule",
1685
+ "record>agent_schedule_claim",
1658
1686
  "record>agent_shortcut",
1687
+ "record>agent_surface_binding",
1659
1688
  "record>agent_template",
1660
1689
  "record>agent_term_list",
1690
+ "record>agent_test_result",
1691
+ "record>agent_test_run",
1692
+ "record>agent_usage",
1661
1693
  "record>ai_api",
1694
+ "record>ai_device_model_file",
1695
+ "record>ai_device_model_root",
1662
1696
  "record>ai_endpoint",
1697
+ "record>ai_media_generation_cache",
1663
1698
  "record>ai_model",
1699
+ "record>ai_model_alias",
1700
+ "record>ai_model_artifact",
1701
+ "record>ai_model_candidate",
1702
+ "record>ai_model_presentation",
1703
+ "record>ai_model_upstream",
1704
+ "record>ai_model_variant",
1705
+ "record>ai_model_verification_run",
1706
+ "record>ai_model_want",
1707
+ "record>ai_offering",
1708
+ "record>ai_person_model_want",
1664
1709
  "record>ai_provider",
1710
+ "record>ai_request_latency",
1711
+ "record>ai_runtime",
1712
+ "record>ai_runtime_build",
1713
+ "record>ai_runtime_compat",
1665
1714
  "record>ai_setting",
1715
+ "record>ai_setting_profile",
1716
+ "record>ai_translation_cell",
1717
+ "record>ai_usage_hourly",
1718
+ "record>analysis_result",
1666
1719
  "record>anon_form",
1720
+ "record>anon_form_visit",
1721
+ "record>anon_hit",
1722
+ "record>anon_inbound",
1723
+ "record>anon_replay",
1724
+ "record>anon_submission",
1725
+ "record>anon_token",
1726
+ "record>api_field_warning",
1727
+ "record>api_request_log",
1667
1728
  "record>app",
1729
+ "record>app_config",
1730
+ "record>app_config_history",
1731
+ "record>app_definition_version",
1732
+ "record>app_error",
1733
+ "record>app_execution",
1734
+ "record>app_instance",
1735
+ "record>app_log",
1736
+ "record>app_log_hourly",
1737
+ "record>app_log_lines",
1738
+ "record>app_log_muted_pattern",
1739
+ "record>app_log_norm_exception",
1740
+ "record>app_log_requests_hourly",
1741
+ "record>app_rate_limit",
1742
+ "record>app_setting",
1743
+ "record>app_sync_status",
1744
+ "record>applet_visitor_binding",
1745
+ "record>approach",
1746
+ "record>artifact",
1668
1747
  "record>assessment",
1748
+ "record>assessment_item",
1749
+ "record>assessment_result",
1750
+ "record>assignment_session",
1751
+ "record>assist",
1752
+ "record>assist_producer_policy",
1753
+ "record>assist_producer_policy_history",
1754
+ "record>association_type",
1755
+ "record>assurance_level",
1756
+ "record>attempt",
1757
+ "record>attention_audit",
1758
+ "record>attention_showing",
1759
+ "record>audit_canonical_findings",
1760
+ "record>audit_exemption",
1761
+ "record>base_entity_template",
1762
+ "record>batch_cost_event",
1763
+ "record>batch_provider_batch",
1764
+ "record>batch_work_item",
1765
+ "record>billing_capability",
1766
+ "record>billing_capability_limit",
1767
+ "record>billing_ci_package_build",
1768
+ "record>billing_connect_account",
1769
+ "record>billing_coupon",
1770
+ "record>billing_coupon_redemption",
1771
+ "record>billing_customer",
1772
+ "record>billing_external_call_vendor",
1773
+ "record>billing_free_period_grant",
1774
+ "record>billing_hard_cost_reconciliation",
1775
+ "record>billing_held_run",
1776
+ "record>billing_org_payment_account",
1777
+ "record>billing_payment",
1778
+ "record>billing_payment_ask",
1779
+ "record>billing_plan",
1780
+ "record>billing_plan_limit",
1781
+ "record>billing_price",
1782
+ "record>billing_product",
1783
+ "record>billing_provider_balance_snapshot",
1784
+ "record>billing_spend_alarm",
1785
+ "record>billing_spend_alarm_occurrence",
1786
+ "record>billing_spend_approval",
1787
+ "record>billing_spend_guardrail",
1788
+ "record>billing_spend_hold",
1789
+ "record>billing_stripe_event",
1790
+ "record>billing_subscription",
1791
+ "record>billing_usage_ledger",
1792
+ "record>billing_usage_reset",
1793
+ "record>block_state",
1794
+ "record>board",
1795
+ "record>browser_account_binding",
1796
+ "record>browser_action_event",
1797
+ "record>browser_authenticator_window",
1798
+ "record>browser_capture",
1799
+ "record>browser_control_request",
1800
+ "record>browser_handoff",
1801
+ "record>browser_login_attempt",
1802
+ "record>browser_login_recipe",
1803
+ "record>browser_profile",
1804
+ "record>browser_profile_checkpoint",
1805
+ "record>browser_run",
1806
+ "record>browser_site_observation",
1807
+ "record>browser_site_policy",
1808
+ "record>browser_stream_ticket",
1809
+ "record>calendar_event",
1810
+ "record>campaign_watch_ramp_gate_run",
1811
+ "record>campaign_watch_switch_outbox",
1812
+ "record>campaign_watch_switch_window",
1669
1813
  "record>canvas_comment",
1814
+ "record>canvas_comment_like",
1670
1815
  "record>canvas_item",
1816
+ "record>canvas_item_state",
1817
+ "record>canvas_like",
1671
1818
  "record>canvas_score",
1819
+ "record>canvas_view",
1820
+ "record>catalog_entries_history",
1821
+ "record>catalog_entry",
1672
1822
  "record>category",
1823
+ "record>change_job",
1824
+ "record>change_plan",
1825
+ "record>change_type_default",
1826
+ "record>change_work",
1827
+ "record>citations",
1828
+ "record>class_purchase",
1829
+ "record>client_callable_door",
1830
+ "record>client_callable_door_retirement",
1831
+ "record>cmp_entry",
1832
+ "record>cmp_feedback",
1673
1833
  "record>code_file",
1674
1834
  "record>code_folder",
1675
1835
  "record>code_repository",
1836
+ "record>coding_session",
1837
+ "record>coding_session_entry",
1838
+ "record>collab_checkpoint",
1839
+ "record>collab_op",
1840
+ "record>collab_room",
1841
+ "record>comment",
1842
+ "record>commerce_asset_allocation",
1843
+ "record>commerce_asset_grading",
1844
+ "record>commerce_asset_identifier",
1845
+ "record>commerce_asset_lot_event",
1846
+ "record>commerce_asset_mandate_result",
1847
+ "record>commerce_asset_price_factor",
1848
+ "record>commerce_asset_reshoot_request",
1849
+ "record>commerce_asset_review",
1850
+ "record>commerce_asset_unknown",
1851
+ "record>commerce_certified_printer",
1852
+ "record>commerce_cloud_sync_connection",
1853
+ "record>commerce_ebay_business_policy",
1854
+ "record>commerce_ebay_category",
1855
+ "record>commerce_ebay_category_aspect",
1856
+ "record>commerce_ebay_category_tree",
1857
+ "record>commerce_ebay_custom_policy",
1858
+ "record>commerce_ebay_inventory_item",
1859
+ "record>commerce_ebay_inventory_item_group",
1860
+ "record>commerce_ebay_inventory_item_group_member",
1861
+ "record>commerce_ebay_inventory_location",
1862
+ "record>commerce_ebay_listing",
1863
+ "record>commerce_ebay_marketplace_policy",
1864
+ "record>commerce_ebay_media_asset",
1865
+ "record>commerce_ebay_notification_destination",
1866
+ "record>commerce_ebay_notification_event",
1867
+ "record>commerce_ebay_notification_subscription",
1868
+ "record>commerce_ebay_notification_topic",
1869
+ "record>commerce_ebay_offer",
1870
+ "record>commerce_ebay_order",
1871
+ "record>commerce_ebay_order_line_item",
1872
+ "record>commerce_ebay_shipping_fulfillment",
1873
+ "record>commerce_ebay_store_category",
1874
+ "record>commerce_human_correction",
1875
+ "record>commerce_intake_artifact",
1876
+ "record>commerce_intake_asset",
1877
+ "record>commerce_intake_batch",
1878
+ "record>commerce_label_batch",
1879
+ "record>commerce_label_code",
1880
+ "record>commerce_marketplace_account",
1881
+ "record>commerce_marketplace_account_deletion_audit",
1882
+ "record>commerce_marketplace_api_call",
1883
+ "record>commerce_marketplace_rate_budget",
1884
+ "record>commerce_marketplace_site",
1885
+ "record>commerce_marketplace_sync_run",
1886
+ "record>commerce_prediction_outcome",
1887
+ "record>commerce_print_order",
1888
+ "record>commerce_product",
1889
+ "record>commerce_product_channel_ref",
1890
+ "record>commerce_product_media",
1891
+ "record>commerce_product_variant",
1892
+ "record>commerce_recall_audit",
1893
+ "record>communication_calendar_selected_snapshot_state",
1676
1894
  "record>comparison_set",
1895
+ "record>computed_org_mark",
1896
+ "record>config_manifest",
1897
+ "record>config_read_bucket",
1898
+ "record>contact_medium",
1677
1899
  "record>contact_submission",
1900
+ "record>content_certification",
1901
+ "record>content_ir_converter_definition",
1902
+ "record>content_ir_converter_run",
1678
1903
  "record>content_ir_kind",
1904
+ "record>content_ir_kind_component",
1905
+ "record>content_ir_kind_component_incident",
1906
+ "record>content_ir_kind_component_layer",
1907
+ "record>content_ir_kind_conformance",
1908
+ "record>content_ir_kind_edge",
1909
+ "record>content_ir_kind_example",
1679
1910
  "record>content_ir_kind_instance",
1911
+ "record>content_ir_kind_surface",
1912
+ "record>context_access_log",
1680
1913
  "record>context_item",
1914
+ "record>context_item_suggestion",
1681
1915
  "record>conversation",
1916
+ "record>conversation_value",
1917
+ "record>courts",
1918
+ "record>credential_attachment",
1919
+ "record>credential_item",
1920
+ "record>credential_mutation_receipt",
1921
+ "record>crm_address",
1922
+ "record>crm_affiliation",
1923
+ "record>crm_blocklist_entry",
1924
+ "record>crm_contact_candidate",
1682
1925
  "record>crm_deal",
1926
+ "record>crm_deal_stage_event",
1927
+ "record>crm_enrichment_call",
1928
+ "record>crm_interaction",
1929
+ "record>crm_merge_candidate",
1683
1930
  "record>crm_outreach_list",
1931
+ "record>crm_outreach_list_member",
1932
+ "record>crm_party_merge",
1933
+ "record>crm_party_research",
1934
+ "record>crm_registry_ingest_run",
1935
+ "record>crm_registry_source",
1936
+ "record>crm_sending_claim",
1937
+ "record>crm_sending_event",
1938
+ "record>crm_sending_identity",
1939
+ "record>crm_sending_identity_check",
1940
+ "record>crm_sending_policy",
1941
+ "record>custom_base",
1942
+ "record>custom_base_snapshot",
1943
+ "record>custom_field_definition",
1944
+ "record>custom_field_target",
1945
+ "record>custom_synced_source",
1946
+ "record>custom_template",
1947
+ "record>custom_template_install",
1684
1948
  "record>cx_agent_memory",
1949
+ "record>cx_agent_plan",
1950
+ "record>cx_agent_task",
1951
+ "record>cx_code_edit",
1952
+ "record>cx_code_message_file",
1953
+ "record>cx_media",
1954
+ "record>cx_observational_memory",
1955
+ "record>cx_observational_memory_event",
1956
+ "record>cx_pending_injection",
1957
+ "record>cx_request",
1958
+ "record>cx_request_snapshot",
1959
+ "record>cx_request_values",
1960
+ "record>cx_tool_trace",
1961
+ "record>cx_user_request",
1962
+ "record>cx_user_todo",
1963
+ "record>data_rights_event",
1685
1964
  "record>data_store",
1965
+ "record>data_store_members",
1966
+ "record>ddl_guard_log",
1967
+ "record>deck_suggestion",
1968
+ "record>definer_class_exemption",
1969
+ "record>definer_grant_baseline",
1970
+ "record>derive_run",
1971
+ "record>desktop_app_profile",
1972
+ "record>dev_login_audit",
1973
+ "record>device_handoff",
1974
+ "record>dict_entry",
1975
+ "record>dict_provider_publication",
1976
+ "record>dict_setting",
1977
+ "record>dm_conversation",
1686
1978
  "record>dm_message",
1979
+ "record>dm_participant",
1980
+ "record>dm_session_member",
1981
+ "record>doc_render",
1982
+ "record>doc_signature",
1983
+ "record>dockets",
1687
1984
  "record>document",
1985
+ "record>document_version",
1986
+ "record>domain_classification",
1987
+ "record>egress_device",
1988
+ "record>egress_pairing",
1989
+ "record>egress_ticket",
1990
+ "record>emails",
1991
+ "record>entity_grant",
1992
+ "record>entity_protected_value_version",
1993
+ "record>entity_type",
1994
+ "record>esign_campaign",
1995
+ "record>esign_campaign_member",
1996
+ "record>esign_consent_disclosure",
1997
+ "record>esign_envelope",
1998
+ "record>esign_envelope_certificate",
1999
+ "record>esign_envelope_document",
2000
+ "record>esign_envelope_draft",
2001
+ "record>esign_envelope_event",
2002
+ "record>esign_envelope_external_ref",
2003
+ "record>esign_envelope_signer",
2004
+ "record>esign_provider",
2005
+ "record>esign_provider_binding",
2006
+ "record>esign_saved_signature",
2007
+ "record>esign_signing_key",
2008
+ "record>esign_template",
2009
+ "record>extension_auth_code",
2010
+ "record>external_api_reservation",
2011
+ "record>external_conversation",
2012
+ "record>external_delivery_event",
2013
+ "record>external_inbox",
2014
+ "record>external_link",
2015
+ "record>external_message",
2016
+ "record>external_provider_receipt",
2017
+ "record>external_source",
2018
+ "record>extract_sweep_state",
2019
+ "record>fc_card",
2020
+ "record>fc_detail",
1688
2021
  "record>fc_set",
1689
2022
  "record>feature_doc",
2023
+ "record>feedback_comments",
2024
+ "record>feedback_user_messages",
2025
+ "record>file",
2026
+ "record>file_analysis",
2027
+ "record>file_entities",
2028
+ "record>file_overrides",
2029
+ "record>file_page_annotations",
2030
+ "record>file_pages",
2031
+ "record>file_rag_job",
2032
+ "record>file_template",
2033
+ "record>file_version",
2034
+ "record>files_account_tier",
2035
+ "record>files_machine_written_prefix",
2036
+ "record>files_sync_mapping",
1690
2037
  "record>folder",
2038
+ "record>function_contract",
2039
+ "record>game_badge",
1691
2040
  "record>game_result",
2041
+ "record>game_room",
2042
+ "record>global_execution",
2043
+ "record>global_execution_checkpoint",
2044
+ "record>global_execution_event",
2045
+ "record>global_meter_entry",
2046
+ "record>global_origin",
2047
+ "record>global_request",
2048
+ "record>google_document",
2049
+ "record>growth_loop_event",
2050
+ "record>growth_loop_run",
2051
+ "record>growth_loop_stage_run",
2052
+ "record>guardian_link",
2053
+ "record>guest_conversion_audit",
2054
+ "record>guest_execution_log",
2055
+ "record>guest_executions",
2056
+ "record>guided_checklist_run",
1692
2057
  "record>heatmap_save",
2058
+ "record>hindsight_enrollment",
2059
+ "record>hindsight_finding",
2060
+ "record>hindsight_regression_case",
2061
+ "record>hindsight_replay",
2062
+ "record>hindsight_replay_step",
2063
+ "record>hindsight_review",
2064
+ "record>hr_access_audit",
2065
+ "record>hr_access_role",
2066
+ "record>hr_accommodation_request",
2067
+ "record>hr_ai_evidence",
2068
+ "record>hr_alert_routing_rule",
2069
+ "record>hr_application",
2070
+ "record>hr_approval_authority",
2071
+ "record>hr_approval_delegation",
1693
2072
  "record>hr_asset",
2073
+ "record>hr_asset_assignment",
2074
+ "record>hr_attendance_exception",
2075
+ "record>hr_auto_close_rule",
2076
+ "record>hr_availability",
2077
+ "record>hr_background_check",
2078
+ "record>hr_benefits_event",
2079
+ "record>hr_calculation_snapshot",
1694
2080
  "record>hr_candidate",
2081
+ "record>hr_candidate_conversion",
2082
+ "record>hr_candidate_message",
1695
2083
  "record>hr_careers_portal",
2084
+ "record>hr_checklist_item",
2085
+ "record>hr_checklist_run",
1696
2086
  "record>hr_checklist_template",
2087
+ "record>hr_checklist_template_item",
2088
+ "record>hr_compensation",
2089
+ "record>hr_corrective_action",
1697
2090
  "record>hr_course",
2091
+ "record>hr_course_version",
2092
+ "record>hr_credential",
1698
2093
  "record>hr_crew",
1699
2094
  "record>hr_deduction_code",
1700
2095
  "record>hr_department",
2096
+ "record>hr_derived_grant",
2097
+ "record>hr_disposition_event",
1701
2098
  "record>hr_earning_code",
2099
+ "record>hr_eeo_response",
2100
+ "record>hr_emergency_contact",
1702
2101
  "record>hr_employee",
2102
+ "record>hr_employee_private",
1703
2103
  "record>hr_employer_profile",
2104
+ "record>hr_employment",
2105
+ "record>hr_employment_pin",
2106
+ "record>hr_engagement",
2107
+ "record>hr_establishment",
2108
+ "record>hr_external_identity",
2109
+ "record>hr_field_policy",
2110
+ "record>hr_goal",
2111
+ "record>hr_holiday",
1704
2112
  "record>hr_holiday_calendar",
2113
+ "record>hr_i9",
2114
+ "record>hr_i9_document",
2115
+ "record>hr_incident",
2116
+ "record>hr_incident_party",
2117
+ "record>hr_interview",
1705
2118
  "record>hr_interview_kit",
1706
2119
  "record>hr_job_title",
1707
2120
  "record>hr_jurisdiction",
2121
+ "record>hr_jurisdiction_rule",
1708
2122
  "record>hr_jurisdiction_rule_class",
2123
+ "record>hr_jurisdiction_rule_org_decision",
2124
+ "record>hr_jurisdiction_rule_test",
2125
+ "record>hr_kiosk_device",
2126
+ "record>hr_kiosk_session",
2127
+ "record>hr_labor_target",
2128
+ "record>hr_leave_case",
2129
+ "record>hr_leave_enrollment",
2130
+ "record>hr_leave_ledger",
1709
2131
  "record>hr_leave_policy",
2132
+ "record>hr_leave_request",
1710
2133
  "record>hr_legal_hold",
2134
+ "record>hr_legal_hold_item",
1711
2135
  "record>hr_location",
2136
+ "record>hr_new_hire_report",
2137
+ "record>hr_offer",
2138
+ "record>hr_opening",
2139
+ "record>hr_overtime_alert",
2140
+ "record>hr_overtime_alert_rule",
2141
+ "record>hr_overtime_preapproval",
1712
2142
  "record>hr_pay_group",
1713
2143
  "record>hr_pay_period",
2144
+ "record>hr_pay_period_employment",
2145
+ "record>hr_payroll_export",
2146
+ "record>hr_payroll_export_line",
2147
+ "record>hr_position_assignment",
1714
2148
  "record>hr_posting",
2149
+ "record>hr_posting_publication",
2150
+ "record>hr_provider_binding",
2151
+ "record>hr_provider_event",
2152
+ "record>hr_provisioning_result",
2153
+ "record>hr_punch",
2154
+ "record>hr_recalculation_batch",
1715
2155
  "record>hr_record_class",
2156
+ "record>hr_records_request",
2157
+ "record>hr_reference_check",
2158
+ "record>hr_reporting_line",
1716
2159
  "record>hr_requisition",
2160
+ "record>hr_restricted_note",
2161
+ "record>hr_retention_rule",
2162
+ "record>hr_review",
2163
+ "record>hr_review_cycle",
2164
+ "record>hr_review_peer_nomination",
2165
+ "record>hr_review_response",
2166
+ "record>hr_review_template",
2167
+ "record>hr_role_assignment",
1717
2168
  "record>hr_schedule",
2169
+ "record>hr_schedule_change",
2170
+ "record>hr_schedule_guidance",
1718
2171
  "record>hr_schedule_template",
2172
+ "record>hr_schedule_template_shift",
2173
+ "record>hr_scorecard",
2174
+ "record>hr_separation",
2175
+ "record>hr_shift",
2176
+ "record>hr_shift_claim",
2177
+ "record>hr_staffing_requirement",
1719
2178
  "record>hr_survey",
2179
+ "record>hr_survey_invitation",
2180
+ "record>hr_survey_question",
2181
+ "record>hr_survey_response",
2182
+ "record>hr_tax_registration",
2183
+ "record>hr_tax_withholding",
2184
+ "record>hr_time_adjustment",
2185
+ "record>hr_training_assignment",
2186
+ "record>hr_training_attempt",
2187
+ "record>hr_transcript_entry",
2188
+ "record>hr_verification_letter_request",
2189
+ "record>hr_work_interval",
2190
+ "record>hr_workflow_binding",
2191
+ "record>hr_workflow_decision",
2192
+ "record>hr_workflow_definition",
2193
+ "record>hr_workflow_event",
2194
+ "record>hr_workflow_failure",
2195
+ "record>hr_workflow_flow_type",
2196
+ "record>hr_workflow_instance",
2197
+ "record>hr_workflow_step",
2198
+ "record>hr_workflow_step_definition",
2199
+ "record>hr_workweek",
2200
+ "record>html_extraction",
2201
+ "record>iam_access_audit",
2202
+ "record>iam_api_key",
2203
+ "record>iam_emergency_door_request",
2204
+ "record>iam_oauth_app",
2205
+ "record>iam_org_domain",
2206
+ "record>iam_org_domain_route",
2207
+ "record>iam_record_seat_change",
2208
+ "record>industry",
2209
+ "record>ingest_runs",
2210
+ "record>integration_connection",
2211
+ "record>integration_connection_resource",
2212
+ "record>interview_decision_interview",
2213
+ "record>interview_decision_question",
2214
+ "record>interview_document_revision",
2215
+ "record>interview_hole",
2216
+ "record>interview_question",
2217
+ "record>interview_session",
2218
+ "record>interview_turn",
2219
+ "record>invitation",
2220
+ "record>invitation_code",
2221
+ "record>invitation_request",
2222
+ "record>io_comment",
2223
+ "record>io_contract",
2224
+ "record>io_import",
2225
+ "record>io_outbox",
2226
+ "record>item",
2227
+ "record>item_mastery",
2228
+ "record>judge_verdict",
2229
+ "record>jurisdiction_policy",
2230
+ "record>kg_alert",
2231
+ "record>kg_chunk_entities",
2232
+ "record>kg_chunks",
2233
+ "record>kg_clusters",
2234
+ "record>kg_edges",
2235
+ "record>kg_entities",
2236
+ "record>kg_entity_aliases",
2237
+ "record>kg_suggestion_ack",
2238
+ "record>kg_sweep_queue",
2239
+ "record>kg_sweep_run",
2240
+ "record>kg_sweep_state",
2241
+ "record>kg_value_match",
2242
+ "record>knob_override",
2243
+ "record>knob_override_audit",
2244
+ "record>knob_rung_lock",
2245
+ "record>knob_scope_kind",
2246
+ "record>knob_write_door",
1720
2247
  "record>league_membership",
1721
2248
  "record>learn_doc",
1722
2249
  "record>library_doc",
2250
+ "record>lifecycle_archive",
2251
+ "record>lifecycle_audit",
2252
+ "record>lifecycle_map_build",
2253
+ "record>lifecycle_reference_map",
2254
+ "record>lifecycle_run",
2255
+ "record>lifecycle_tier_ledger",
2256
+ "record>location",
1723
2257
  "record>mandate",
2258
+ "record>mandate_advance_batch_row",
2259
+ "record>mandate_binding",
2260
+ "record>mandate_candidate",
2261
+ "record>mandate_candidate_run",
2262
+ "record>mandate_candidate_run_payload",
2263
+ "record>mandate_goal_clauses",
2264
+ "record>mandate_observation",
2265
+ "record>mandate_proposal",
2266
+ "record>mandate_readiness_verdict",
2267
+ "record>mandate_reference",
2268
+ "record>mandate_scan",
2269
+ "record>mandate_treatment",
1724
2270
  "record>marketing_initiative",
2271
+ "record>masterwork_corpus_item",
2272
+ "record>masterwork_run",
2273
+ "record>masterwork_source",
2274
+ "record>math_course_structure",
2275
+ "record>math_problem",
2276
+ "record>matrx_action_ledger",
2277
+ "record>mcp_config",
2278
+ "record>mcp_server",
2279
+ "record>mcp_user_conn",
2280
+ "record>media_capture_handoff",
2281
+ "record>media_catalog_setting",
2282
+ "record>media_library_item",
2283
+ "record>media_selection_item",
2284
+ "record>media_selection_job",
2285
+ "record>media_source_library",
2286
+ "record>meet_call_invite",
2287
+ "record>meet_chat_message",
2288
+ "record>meet_connection",
2289
+ "record>meet_invitee",
1725
2290
  "record>meet_meeting",
2291
+ "record>meet_note",
2292
+ "record>meet_occurrence_override",
2293
+ "record>meet_participant",
2294
+ "record>meet_recording",
2295
+ "record>meet_session",
2296
+ "record>meet_transcript_segment",
2297
+ "record>membership",
2298
+ "record>memory_trial",
2299
+ "record>memory_trial_step",
2300
+ "record>merge_field_provenance",
2301
+ "record>message",
1726
2302
  "record>message_template",
2303
+ "record>message_template_detail",
2304
+ "record>migration_log",
2305
+ "record>mtx_media_heal_queue",
2306
+ "record>mtx_public_url_guard",
2307
+ "record>ner_shadow",
1727
2308
  "record>note",
1728
2309
  "record>note_folder",
2310
+ "record>notification",
2311
+ "record>notification_channel_preference",
2312
+ "record>notification_event_override",
2313
+ "record>notification_event_type",
2314
+ "record>notification_preference",
2315
+ "record>notification_submission",
2316
+ "record>notify_outsider_door_baseline",
2317
+ "record>opinion_clusters",
2318
+ "record>opinions",
2319
+ "record>ops_auth_lock_watchdog_log",
2320
+ "record>ops_check_item",
2321
+ "record>ops_check_run",
2322
+ "record>ops_db_host_sample",
2323
+ "record>ops_issue_class",
2324
+ "record>ops_issue_event",
2325
+ "record>ops_perf_client_event",
2326
+ "record>ops_perf_sample",
2327
+ "record>ops_perf_statement_snapshot",
2328
+ "record>ops_proof_check",
2329
+ "record>ops_proof_run",
2330
+ "record>ops_proof_scenario",
2331
+ "record>ops_source_read_cache",
2332
+ "record>ops_test_replay_cache",
2333
+ "record>org_admin_audit",
2334
+ "record>org_change_policy",
2335
+ "record>org_context_ledger",
2336
+ "record>org_industries",
2337
+ "record>org_member_control",
2338
+ "record>org_plan",
1729
2339
  "record>organization",
2340
+ "record>organization_preferences",
2341
+ "record>output_feedback",
2342
+ "record>outreach_acceptance",
1730
2343
  "record>page_extraction_job",
2344
+ "record>page_extraction_page_run",
2345
+ "record>page_extraction_results",
2346
+ "record>page_extraction_runs",
2347
+ "record>page_vitals",
1731
2348
  "record>party",
2349
+ "record>party_contact_point",
2350
+ "record>passkey_credential",
1732
2351
  "record>pc_article",
1733
2352
  "record>pc_episode",
1734
2353
  "record>pc_show",
1735
2354
  "record>pc_studio_run",
2355
+ "record>pc_studio_run_asset",
2356
+ "record>pdf_consolidation_log",
2357
+ "record>pdf_redaction_audit",
2358
+ "record>pdf_redaction_key_escrow",
2359
+ "record>permission_grant",
2360
+ "record>personal_data_column",
2361
+ "record>plan_cms_fill_item",
2362
+ "record>plan_cms_fill_job",
2363
+ "record>plan_entity",
2364
+ "record>plan_node",
2365
+ "record>plan_node_artifact",
2366
+ "record>plan_node_step",
2367
+ "record>plan_profile",
2368
+ "record>platform_action_request",
2369
+ "record>platform_actor_session",
2370
+ "record>platform_actor_token",
2371
+ "record>platform_actor_token_event",
2372
+ "record>platform_class_approval_by_arman",
2373
+ "record>platform_class_approval_by_org_admin",
2374
+ "record>platform_continued_access",
2375
+ "record>platform_cutover_census_run",
2376
+ "record>platform_cutover_evaluation_replaced",
2377
+ "record>platform_cutover_evaluation_write",
2378
+ "record>platform_cutover_seam",
2379
+ "record>platform_cutover_seam_measure",
2380
+ "record>platform_cutover_seam_press",
2381
+ "record>platform_dated_change",
2382
+ "record>platform_google_calendar_event_create_intent",
2383
+ "record>platform_google_task_create_intent",
2384
+ "record>platform_hidden_item",
2385
+ "record>platform_kernel_fingerprint_record",
2386
+ "record>platform_outcome_event",
2387
+ "record>platform_outsider_consumer",
2388
+ "record>platform_reference_declaration",
2389
+ "record>platform_saved_view",
2390
+ "record>platform_secure_delivery",
2391
+ "record>platform_share_link",
2392
+ "record>platform_strict_class_probe",
2393
+ "record>podcast_race",
2394
+ "record>position",
2395
+ "record>presentation",
1736
2396
  "record>processed_document",
2397
+ "record>processed_document_page",
2398
+ "record>product_capture_file",
2399
+ "record>product_capture_item",
2400
+ "record>product_capture_payload",
2401
+ "record>product_capture_product",
2402
+ "record>product_capture_question",
1737
2403
  "record>project",
2404
+ "record>provider_account",
2405
+ "record>provider_account_credential",
2406
+ "record>provision",
2407
+ "record>provision_snapshot",
2408
+ "record>provision_spec_grandfather",
2409
+ "record>purpose",
1738
2410
  "record>quiz_session",
2411
+ "record>rag_ingest_run",
2412
+ "record>rag_library_audit_log",
2413
+ "record>recompute_queue",
1739
2414
  "record>record",
2415
+ "record>redaction_mapping",
2416
+ "record>relationship_rule",
2417
+ "record>research_analysis",
2418
+ "record>research_content",
1740
2419
  "record>research_context_bundle",
2420
+ "record>research_document",
2421
+ "record>research_intent",
2422
+ "record>research_keyword",
2423
+ "record>research_media",
2424
+ "record>research_source",
2425
+ "record>research_synthesis",
2426
+ "record>research_tag",
1741
2427
  "record>research_template",
1742
2428
  "record>research_topic",
2429
+ "record>retention_policy",
2430
+ "record>retrieval_audit",
2431
+ "record>review_queue",
2432
+ "record>route_manifest_entry",
2433
+ "record>row_version",
1743
2434
  "record>rulebook",
2435
+ "record>run_approval",
2436
+ "record>run_approval_event",
2437
+ "record>runtime_operation_stream",
2438
+ "record>runtime_operation_stream_batch",
2439
+ "record>sandbox_instance",
2440
+ "record>sch_agent_task",
2441
+ "record>sch_run",
1744
2442
  "record>sch_task",
2443
+ "record>sch_trigger",
2444
+ "record>scheduler_automation_run_subject",
2445
+ "record>schema_templates",
2446
+ "record>scope_association_suggestion",
2447
+ "record>scope_item_value_suggestion",
2448
+ "record>scope_suggestion",
1745
2449
  "record>scope_type",
2450
+ "record>scrape_domain",
2451
+ "record>scrape_domain_settings",
2452
+ "record>scrape_failure_log",
2453
+ "record>scrape_parsed_page",
2454
+ "record>scrape_path_override",
2455
+ "record>scrape_path_pattern",
2456
+ "record>scrape_retry_queue",
2457
+ "record>scraper_comparison_run",
2458
+ "record>scraper_data_fetch_job",
2459
+ "record>scraper_data_source",
2460
+ "record>seo_ai_capability",
2461
+ "record>seo_ai_visibility_brand_check",
2462
+ "record>seo_ai_visibility_citation",
2463
+ "record>seo_ai_visibility_claim",
2464
+ "record>seo_ai_visibility_panel",
2465
+ "record>seo_ai_visibility_response",
2466
+ "record>seo_ai_visibility_signal",
2467
+ "record>seo_backlink",
2468
+ "record>seo_backlink_change_event",
2469
+ "record>seo_backlink_dimension_snapshot",
2470
+ "record>seo_backlink_observation",
2471
+ "record>seo_backlink_snapshot",
2472
+ "record>seo_change_assessment",
2473
+ "record>seo_change_event",
2474
+ "record>seo_change_item",
2475
+ "record>seo_change_metric",
2476
+ "record>seo_change_set",
2477
+ "record>seo_change_theory",
2478
+ "record>seo_competitor",
2479
+ "record>seo_competitor_observation",
2480
+ "record>seo_competitor_opportunity",
2481
+ "record>seo_coverage_mention",
2482
+ "record>seo_coverage_tracker",
2483
+ "record>seo_dimension_value_matcher",
2484
+ "record>seo_engine_schedule",
2485
+ "record>seo_geo_place",
2486
+ "record>seo_gsc_dig_rule",
1746
2487
  "record>seo_keyword",
2488
+ "record>seo_keyword_class_rule",
2489
+ "record>seo_keyword_edge",
2490
+ "record>seo_keyword_facet",
2491
+ "record>seo_keyword_market",
2492
+ "record>seo_keyword_market_observation",
2493
+ "record>seo_keyword_place",
2494
+ "record>seo_keyword_saved_view",
2495
+ "record>seo_keyword_topic",
2496
+ "record>seo_landscape_brief",
2497
+ "record>seo_link_gap_domain",
2498
+ "record>seo_link_gap_match",
2499
+ "record>seo_map_facet",
2500
+ "record>seo_map_facet_value",
2501
+ "record>seo_map_topic",
2502
+ "record>seo_page_measurement_health",
2503
+ "record>seo_page_performance",
2504
+ "record>seo_pr_moment",
2505
+ "record>seo_provider_call",
2506
+ "record>seo_provider_task",
2507
+ "record>seo_rank_observation",
2508
+ "record>seo_rank_target",
2509
+ "record>seo_raw_payload",
2510
+ "record>seo_referring_domain_profile",
2511
+ "record>seo_reputation_case",
2512
+ "record>seo_search_performance_daily",
2513
+ "record>seo_serp_mention",
2514
+ "record>seo_serp_opportunity",
2515
+ "record>seo_serp_result",
2516
+ "record>seo_serp_snapshot",
2517
+ "record>seo_site_geo_area",
2518
+ "record>seo_site_keyword_offering",
2519
+ "record>seo_site_keyword_value",
2520
+ "record>seo_site_offering_value",
2521
+ "record>seo_site_topic_value",
2522
+ "record>seo_site_value_combo",
2523
+ "record>seo_site_value_worth",
2524
+ "record>seo_site_vocabulary",
2525
+ "record>seo_source_request",
2526
+ "record>seo_starter_pack",
2527
+ "record>seo_starter_pack_item",
2528
+ "record>seo_story_angle",
1747
2529
  "record>seo_topic",
2530
+ "record>seo_topical_map",
2531
+ "record>seo_tracker_story",
2532
+ "record>seo_web_analytics_daily",
2533
+ "record>shareable_resource_registry",
1748
2534
  "record>shared_canvas_item",
2535
+ "record>short_link",
1749
2536
  "record>skill",
2537
+ "record>skill_detail",
2538
+ "record>sms_consent",
2539
+ "record>sms_conversation",
2540
+ "record>sms_message",
2541
+ "record>sms_message_media",
2542
+ "record>sms_notification",
2543
+ "record>sms_notification_preference",
2544
+ "record>sms_phone_number",
2545
+ "record>sms_rate_limits",
2546
+ "record>sms_webhook_logs",
2547
+ "record>social_account_insight_daily",
1750
2548
  "record>social_ad",
2549
+ "record>social_captured_post",
2550
+ "record>social_kpi_goal",
2551
+ "record>social_own_post_metric",
1751
2552
  "record>social_post",
2553
+ "record>social_post_analysis",
2554
+ "record>social_post_comment",
2555
+ "record>social_post_metric_snapshot",
2556
+ "record>social_post_stat",
2557
+ "record>social_post_transcript",
1752
2558
  "record>social_profile",
2559
+ "record>social_profile_snapshot",
2560
+ "record>social_remix_output",
1753
2561
  "record>social_swipe_collection",
1754
2562
  "record>social_tracked_account",
2563
+ "record>social_video_composition_version",
2564
+ "record>social_video_project",
2565
+ "record>social_video_variant",
2566
+ "record>social_watchlist_hit",
2567
+ "record>soft_delete_cascade_job",
2568
+ "record>soft_delete_edge",
2569
+ "record>source_authority",
2570
+ "record>space_payload",
2571
+ "record>stage_ref_kind",
2572
+ "record>structure",
1755
2573
  "record>structured_list",
2574
+ "record>studio_cleaned_segments",
2575
+ "record>studio_concept_items",
2576
+ "record>studio_documents",
2577
+ "record>studio_module_segments",
2578
+ "record>studio_raw_segments",
2579
+ "record>studio_recording_chunks",
2580
+ "record>studio_recording_segments",
2581
+ "record>studio_run",
1756
2582
  "record>studio_session",
2583
+ "record>studio_session_settings",
2584
+ "record>study_attempt",
1757
2585
  "record>study_goal",
1758
2586
  "record>study_media",
1759
2587
  "record>study_plan",
1760
2588
  "record>study_plan_block",
2589
+ "record>study_plan_day",
2590
+ "record>study_reminder_context",
2591
+ "record>study_reminder_delivery",
2592
+ "record>study_session",
2593
+ "record>study_source_chunk",
2594
+ "record>study_streak",
2595
+ "record>study_structured_section",
2596
+ "record>superseded_policy",
2597
+ "record>support_session",
2598
+ "record>support_session_event",
1761
2599
  "record>surface",
2600
+ "record>system_announcement",
2601
+ "record>system_context_item",
2602
+ "record>system_context_item_org_value",
2603
+ "record>system_error",
2604
+ "record>system_write_failure",
2605
+ "record>t13_backfill_ledger",
2606
+ "record>tag",
1762
2607
  "record>task",
2608
+ "record>taxonomy_node",
1763
2609
  "record>team",
2610
+ "record>template_context_items",
2611
+ "record>template_scope_types",
2612
+ "record>templates",
2613
+ "record>test_handset_inbox",
2614
+ "record>test_handset_verification",
1764
2615
  "record>thread",
1765
2616
  "record>tool",
2617
+ "record>tool_battle",
2618
+ "record>tool_battle_cell",
2619
+ "record>tool_binding",
1766
2620
  "record>tool_bundle",
2621
+ "record>tool_call",
2622
+ "record>tool_canary_run",
2623
+ "record>tool_catalog_cache",
2624
+ "record>tool_catalog_call",
2625
+ "record>tool_catalog_call_attempt",
2626
+ "record>tool_catalog_call_detail",
2627
+ "record>tool_catalog_endpoint",
2628
+ "record>tool_catalog_entry",
2629
+ "record>tool_catalog_provider",
2630
+ "record>tool_definition_version",
2631
+ "record>tool_executor",
2632
+ "record>tool_feature_scorecard",
2633
+ "record>tool_surface_defaults",
2634
+ "record>tool_test_sample",
2635
+ "record>tool_ui",
2636
+ "record>tool_ui_incident",
2637
+ "record>tool_ui_version",
1767
2638
  "record>transcript",
2639
+ "record>trigger_event",
1768
2640
  "record>udt_document",
2641
+ "record>udt_document_snapshot",
2642
+ "record>udt_workbook_snapshot",
2643
+ "record>ui_client",
2644
+ "record>ui_decision_pick",
2645
+ "record>ui_surface_action",
2646
+ "record>ui_surface_agent_pref",
2647
+ "record>ui_surface_agent_role",
2648
+ "record>ui_surface_client_tool",
2649
+ "record>ui_surface_config",
2650
+ "record>ui_surface_item_type",
2651
+ "record>ui_surface_value",
2652
+ "record>ui_surface_write_target",
2653
+ "record>univer_payload",
2654
+ "record>unsubscribe_token",
2655
+ "record>uploads_inflight",
2656
+ "record>user",
2657
+ "record>user_achievement",
2658
+ "record>user_active_context",
2659
+ "record>user_analysis_preference",
2660
+ "record>user_email_preference",
2661
+ "record>user_feedback",
2662
+ "record>user_follows",
1769
2663
  "record>user_markdown_sample",
2664
+ "record>user_memory",
2665
+ "record>user_preference",
2666
+ "record>user_profile",
2667
+ "record>user_secret",
2668
+ "record>user_secret_audit",
2669
+ "record>user_secret_grant",
2670
+ "record>user_stat",
2671
+ "record>user_surface_state",
2672
+ "record>users_calendar_feed",
2673
+ "record>vault_fill_approvals",
2674
+ "record>vault_fill_devices",
1770
2675
  "record>voice",
1771
2676
  "record>war_room",
2677
+ "record>wbx_demo",
2678
+ "record>wbx_guidance",
2679
+ "record>wbx_highlight",
1772
2680
  "record>wbx_pattern",
2681
+ "record>wbx_recipe",
2682
+ "record>wbx_screenshot",
2683
+ "record>wbx_seo_audit",
2684
+ "record>wc_claim",
2685
+ "record>wc_impairment_definition",
2686
+ "record>wc_injury",
2687
+ "record>wc_report",
1773
2688
  "record>web_analysis_item",
1774
2689
  "record>web_brand",
2690
+ "record>web_brand_asset",
2691
+ "record>web_brand_choice",
2692
+ "record>web_brand_exclusion",
2693
+ "record>web_brand_offering",
1775
2694
  "record>web_brand_persona",
2695
+ "record>web_brand_relation_kind",
2696
+ "record>web_brand_review",
2697
+ "record>web_brand_testimony",
2698
+ "record>web_business_fact",
2699
+ "record>web_business_location",
2700
+ "record>web_channel_analytics_daily",
2701
+ "record>web_crawl_event",
2702
+ "record>web_crawl_preset",
2703
+ "record>web_crawl_schedule",
2704
+ "record>web_crawl_session",
2705
+ "record>web_crawl_url",
2706
+ "record>web_discovered_item",
2707
+ "record>web_domain_category",
2708
+ "record>web_domain_category_observation",
2709
+ "record>web_finding",
2710
+ "record>web_gsc_page_stat",
2711
+ "record>web_link_edge",
2712
+ "record>web_listing_publisher",
2713
+ "record>web_location_listing",
2714
+ "record>web_news_item",
2715
+ "record>web_offering_template",
1776
2716
  "record>web_page",
2717
+ "record>web_page_content",
2718
+ "record>web_page_evidence",
2719
+ "record>web_page_sitemap",
1777
2720
  "record>web_property",
1778
2721
  "record>web_provider",
2722
+ "record>web_result",
1779
2723
  "record>web_site",
2724
+ "record>web_site_endpoint_rule",
2725
+ "record>web_site_item_config",
2726
+ "record>web_site_offering",
2727
+ "record>web_sitemap",
2728
+ "record>web_snapshot",
2729
+ "record>web_tag_manager_snapshot",
2730
+ "record>web_temp_brand_firmographic",
2731
+ "record>web_temp_brand_presence",
2732
+ "record>web_temp_brand_recognition",
2733
+ "record>web_voice_fingerprint",
2734
+ "record>web_youtube_video",
2735
+ "record>webhook_deliveries",
2736
+ "record>webhook_dispatch_state",
2737
+ "record>webhook_test_receipt",
2738
+ "record>webhooks",
2739
+ "record>wf_node_data_slot",
2740
+ "record>work_claim",
2741
+ "record>work_item",
1780
2742
  "record>workbook",
1781
2743
  "record>workflow",
2744
+ "record>workflow_card",
2745
+ "record>workflow_checkpoint",
2746
+ "record>workflow_checkpoint_value",
2747
+ "record>workflow_comparison",
2748
+ "record>workflow_definition_overview",
2749
+ "record>workflow_definition_version",
2750
+ "record>workflow_idempotency",
2751
+ "record>workflow_job",
2752
+ "record>workflow_node_events",
2753
+ "record>workflow_node_outcome",
1782
2754
  "record>workflow_plan",
2755
+ "record>workflow_plan_event",
2756
+ "record>workflow_plan_sample",
2757
+ "record>workflow_recovery_audit",
2758
+ "record>workflow_review_issue",
2759
+ "record>workflow_run",
2760
+ "record>workflow_run_log",
2761
+ "record>workflow_runtime_surface",
1783
2762
  "record>workflow_template",
1784
2763
  "record>workflow_trigger",
2764
+ "record>workflow_trigger_fire",
2765
+ "record>workflow_work_item",
2766
+ "record>write_guard_key",
2767
+ "record>youtube_search",
1785
2768
  "record>youtube_video",
1786
2769
  "research_media>category",
1787
2770
  "research_media>web_brand",
@@ -2898,96 +3881,36 @@ import {
2898
3881
  } from "@ai-matrx/design-system";
2899
3882
 
2900
3883
  // src/react/icons.tsx
2901
- import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
2902
- function base(props) {
2903
- return {
2904
- xmlns: "http://www.w3.org/2000/svg",
2905
- width: 24,
2906
- height: 24,
2907
- viewBox: "0 0 24 24",
2908
- fill: "none",
2909
- stroke: "currentColor",
2910
- strokeWidth: 2,
2911
- strokeLinecap: "round",
2912
- strokeLinejoin: "round",
2913
- "aria-hidden": true,
2914
- ...props
2915
- };
2916
- }
2917
- function SpinnerIcon(props) {
2918
- return /* @__PURE__ */ jsx4("svg", { ...base(props), children: /* @__PURE__ */ jsx4("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" }) });
2919
- }
2920
- function Link2Icon(props) {
2921
- return /* @__PURE__ */ jsxs2("svg", { ...base(props), children: [
2922
- /* @__PURE__ */ jsx4("path", { d: "M9 17H7A5 5 0 0 1 7 7h2" }),
2923
- /* @__PURE__ */ jsx4("path", { d: "M15 7h2a5 5 0 1 1 0 10h-2" }),
2924
- /* @__PURE__ */ jsx4("line", { x1: "8", x2: "16", y1: "12", y2: "12" })
2925
- ] });
2926
- }
2927
- function RefreshIcon(props) {
2928
- return /* @__PURE__ */ jsxs2("svg", { ...base(props), children: [
2929
- /* @__PURE__ */ jsx4("path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" }),
2930
- /* @__PURE__ */ jsx4("path", { d: "M21 3v5h-5" }),
2931
- /* @__PURE__ */ jsx4("path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" }),
2932
- /* @__PURE__ */ jsx4("path", { d: "M8 16H3v5" })
2933
- ] });
2934
- }
2935
- function UploadIcon(props) {
2936
- return /* @__PURE__ */ jsxs2("svg", { ...base(props), children: [
2937
- /* @__PURE__ */ jsx4("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }),
2938
- /* @__PURE__ */ jsx4("polyline", { points: "17 8 12 3 7 8" }),
2939
- /* @__PURE__ */ jsx4("line", { x1: "12", x2: "12", y1: "3", y2: "15" })
2940
- ] });
2941
- }
2942
- function FolderOpenIcon(props) {
2943
- return /* @__PURE__ */ jsx4("svg", { ...base(props), children: /* @__PURE__ */ jsx4("path", { d: "m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2" }) });
2944
- }
2945
- function CornerDownRightIcon(props) {
2946
- return /* @__PURE__ */ jsxs2("svg", { ...base(props), children: [
2947
- /* @__PURE__ */ jsx4("polyline", { points: "15 10 20 15 15 20" }),
2948
- /* @__PURE__ */ jsx4("path", { d: "M4 4v7a4 4 0 0 0 4 4h12" })
2949
- ] });
2950
- }
2951
- function TagIcon(props) {
2952
- return /* @__PURE__ */ jsxs2("svg", { ...base(props), children: [
2953
- /* @__PURE__ */ jsx4("path", { d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z" }),
2954
- /* @__PURE__ */ jsx4("circle", { cx: "7.5", cy: "7.5", r: ".5", fill: "currentColor" })
2955
- ] });
2956
- }
2957
- function DefaultEntityIcon(props) {
2958
- return /* @__PURE__ */ jsxs2("svg", { ...base(props), children: [
2959
- /* @__PURE__ */ jsx4("path", { d: "M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z" }),
2960
- /* @__PURE__ */ jsx4("path", { d: "m7 16.5-4.74-2.85" }),
2961
- /* @__PURE__ */ jsx4("path", { d: "m7 16.5 5-3" }),
2962
- /* @__PURE__ */ jsx4("path", { d: "M7 16.5v5.17" }),
2963
- /* @__PURE__ */ jsx4("path", { d: "M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z" }),
2964
- /* @__PURE__ */ jsx4("path", { d: "m17 16.5-5-3" }),
2965
- /* @__PURE__ */ jsx4("path", { d: "m17 16.5 4.74-2.85" }),
2966
- /* @__PURE__ */ jsx4("path", { d: "M17 16.5v5.17" }),
2967
- /* @__PURE__ */ jsx4("path", { d: "M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z" }),
2968
- /* @__PURE__ */ jsx4("path", { d: "M12 8 7.26 5.15" }),
2969
- /* @__PURE__ */ jsx4("path", { d: "m12 8 4.74-2.85" }),
2970
- /* @__PURE__ */ jsx4("path", { d: "M12 13.5V8" })
2971
- ] });
2972
- }
2973
- function RestoreIcon(props) {
2974
- return /* @__PURE__ */ jsxs2("svg", { ...base(props), children: [
2975
- /* @__PURE__ */ jsx4("path", { d: "M4 14h6v6" }),
2976
- /* @__PURE__ */ jsx4("path", { d: "M20 10h-6V4" }),
2977
- /* @__PURE__ */ jsx4("path", { d: "M14 10l7-7" }),
2978
- /* @__PURE__ */ jsx4("path", { d: "M3 21l7-7" })
2979
- ] });
2980
- }
2981
- function GripResizeIcon(props) {
2982
- return /* @__PURE__ */ jsxs2("svg", { ...base(props), children: [
2983
- /* @__PURE__ */ jsx4("path", { d: "M21 15 15 21" }),
2984
- /* @__PURE__ */ jsx4("path", { d: "M21 20 20 21" })
2985
- ] });
2986
- }
3884
+ import {
3885
+ BoxesIcon as GBoxesIcon,
3886
+ CornerDownRightIcon as GCornerDownRightIcon,
3887
+ FileTextIcon as GFileTextIcon,
3888
+ FolderOpenIcon as GFolderOpenIcon,
3889
+ GripResizeIcon as GGripResizeIcon,
3890
+ Link2Icon as GLink2Icon,
3891
+ Loader2Icon as GLoader2Icon,
3892
+ RefreshCwIcon as GRefreshCwIcon,
3893
+ RestoreIcon as GRestoreIcon,
3894
+ TagIcon as GTagIcon,
3895
+ UploadIcon as GUploadIcon,
3896
+ withGlyphDefaults
3897
+ } from "@ai-matrx/design-system/icons";
3898
+ var sized = (Glyph) => withGlyphDefaults(Glyph, { width: 24, height: 24 });
3899
+ var SpinnerIcon = sized(GLoader2Icon);
3900
+ var Link2Icon = sized(GLink2Icon);
3901
+ var RefreshIcon = sized(GRefreshCwIcon);
3902
+ var UploadIcon = sized(GUploadIcon);
3903
+ var FolderOpenIcon = sized(GFolderOpenIcon);
3904
+ var FileTextIcon = sized(GFileTextIcon);
3905
+ var CornerDownRightIcon = sized(GCornerDownRightIcon);
3906
+ var TagIcon = sized(GTagIcon);
3907
+ var DefaultEntityIcon = sized(GBoxesIcon);
3908
+ var RestoreIcon = sized(GRestoreIcon);
3909
+ var GripResizeIcon = sized(GGripResizeIcon);
2987
3910
 
2988
3911
  // src/react/components/DefaultWindowShell.tsx
2989
3912
  import { Maximize2Icon, XIcon } from "@ai-matrx/design-system/icons";
2990
- import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
3913
+ import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
2991
3914
  var DEFAULT_WIDTH = 440;
2992
3915
  var DEFAULT_HEIGHT = 580;
2993
3916
  var MIN_WIDTH = 330;
@@ -3071,7 +3994,7 @@ function DefaultWindowShell({
3071
3994
  height: rect.height
3072
3995
  };
3073
3996
  return createPortal(
3074
- /* @__PURE__ */ jsx5(FloatingLayer, { children: /* @__PURE__ */ jsxs3(
3997
+ /* @__PURE__ */ jsx4(FloatingLayer, { children: /* @__PURE__ */ jsxs2(
3075
3998
  "div",
3076
3999
  {
3077
4000
  ref: setPanelRef,
@@ -3088,7 +4011,7 @@ function DefaultWindowShell({
3088
4011
  className
3089
4012
  ),
3090
4013
  children: [
3091
- /* @__PURE__ */ jsxs3(
4014
+ /* @__PURE__ */ jsxs2(
3092
4015
  "header",
3093
4016
  {
3094
4017
  onPointerDown: drag.onPointerDown,
@@ -3100,51 +4023,51 @@ function DefaultWindowShell({
3100
4023
  isMobile ? "" : "cursor-move touch-none"
3101
4024
  ),
3102
4025
  children: [
3103
- /* @__PURE__ */ jsxs3(
4026
+ /* @__PURE__ */ jsxs2(
3104
4027
  "span",
3105
4028
  {
3106
4029
  id: labelId,
3107
4030
  className: "flex min-w-0 items-center gap-1.5 text-sm font-medium text-foreground",
3108
4031
  children: [
3109
4032
  icon,
3110
- /* @__PURE__ */ jsx5("span", { className: "truncate", children: title })
4033
+ /* @__PURE__ */ jsx4("span", { className: "truncate", children: title })
3111
4034
  ]
3112
4035
  }
3113
4036
  ),
3114
- /* @__PURE__ */ jsxs3("span", { className: "flex shrink-0 items-center gap-0.5", children: [
3115
- isMobile ? null : /* @__PURE__ */ jsx5(
4037
+ /* @__PURE__ */ jsxs2("span", { className: "flex shrink-0 items-center gap-0.5", children: [
4038
+ isMobile ? null : /* @__PURE__ */ jsx4(
3116
4039
  "button",
3117
4040
  {
3118
4041
  type: "button",
3119
4042
  onClick: () => setMaximized((v) => !v),
3120
4043
  "aria-label": maximized ? "Restore window" : "Maximize window",
3121
4044
  className: "flex h-6 w-6 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
3122
- children: maximized ? /* @__PURE__ */ jsx5(RestoreIcon, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ jsx5(Maximize2Icon, { className: "h-3.5 w-3.5" })
4045
+ children: maximized ? /* @__PURE__ */ jsx4(RestoreIcon, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ jsx4(Maximize2Icon, { className: "h-3.5 w-3.5" })
3123
4046
  }
3124
4047
  ),
3125
- /* @__PURE__ */ jsx5(
4048
+ /* @__PURE__ */ jsx4(
3126
4049
  "button",
3127
4050
  {
3128
4051
  type: "button",
3129
4052
  onClick: onClose,
3130
4053
  "aria-label": "Close",
3131
4054
  className: "flex h-6 w-6 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
3132
- children: /* @__PURE__ */ jsx5(XIcon, { className: "h-3.5 w-3.5" })
4055
+ children: /* @__PURE__ */ jsx4(XIcon, { className: "h-3.5 w-3.5" })
3133
4056
  }
3134
4057
  )
3135
4058
  ] })
3136
4059
  ]
3137
4060
  }
3138
4061
  ),
3139
- /* @__PURE__ */ jsx5("div", { className: "min-h-0 flex-1 overflow-hidden", children }),
3140
- isMobile || maximized ? null : /* @__PURE__ */ jsx5(
4062
+ /* @__PURE__ */ jsx4("div", { className: "min-h-0 flex-1 overflow-hidden", children }),
4063
+ isMobile || maximized ? null : /* @__PURE__ */ jsx4(
3141
4064
  "button",
3142
4065
  {
3143
4066
  type: "button",
3144
4067
  "aria-label": "Resize window",
3145
4068
  onPointerDown: drag.resizeHandle("se"),
3146
4069
  className: "absolute bottom-0 right-0 flex h-4 w-4 cursor-nwse-resize touch-none items-center justify-center text-muted-foreground/60 hover:text-foreground",
3147
- children: /* @__PURE__ */ jsx5(GripResizeIcon, { className: "h-3 w-3" })
4070
+ children: /* @__PURE__ */ jsx4(GripResizeIcon, { className: "h-3 w-3" })
3148
4071
  }
3149
4072
  )
3150
4073
  ]
@@ -3155,7 +4078,7 @@ function DefaultWindowShell({
3155
4078
  }
3156
4079
 
3157
4080
  // src/react/components/AssociationWindow.tsx
3158
- import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
4081
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
3159
4082
  function AssociationWindow({
3160
4083
  open,
3161
4084
  onClose,
@@ -3168,16 +4091,16 @@ function AssociationWindow({
3168
4091
  const instanceId = useId();
3169
4092
  const { windowShell } = useAssociationsUiPorts();
3170
4093
  if (!open) return null;
3171
- const body = /* @__PURE__ */ jsxs4("div", { className: "flex h-full min-h-0 flex-col gap-2 p-3", children: [
3172
- subtitle ? /* @__PURE__ */ jsx6("div", { className: "shrink-0 text-xs text-muted-foreground", children: subtitle }) : null,
4094
+ const body = /* @__PURE__ */ jsxs3("div", { className: "flex h-full min-h-0 flex-col gap-2 p-3", children: [
4095
+ subtitle ? /* @__PURE__ */ jsx5("div", { className: "shrink-0 text-xs text-muted-foreground", children: subtitle }) : null,
3173
4096
  children
3174
4097
  ] });
3175
4098
  const windowId = `association:${scopeId}:${instanceId}`;
3176
4099
  if (windowShell) {
3177
4100
  const HostWindow = windowShell.Window;
3178
- return /* @__PURE__ */ jsx6(HostWindow, { id: windowId, title, onClose, children: body });
4101
+ return /* @__PURE__ */ jsx5(HostWindow, { id: windowId, title, onClose, children: body });
3179
4102
  }
3180
- return /* @__PURE__ */ jsx6(
4103
+ return /* @__PURE__ */ jsx5(
3181
4104
  DefaultWindowShell,
3182
4105
  {
3183
4106
  id: windowId,
@@ -3193,27 +4116,27 @@ function AssociationWindow({
3193
4116
  import { useState as useState6 } from "react";
3194
4117
  import { cn as cn3, Input } from "@ai-matrx/design-system";
3195
4118
  import { CheckIcon, PlusIcon, SearchIcon, XIcon as XIcon2 } from "@ai-matrx/design-system/icons";
3196
- import { Fragment, jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
4119
+ import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
3197
4120
  function AssociationPicker(props) {
3198
4121
  const store = useAssociationsStore();
3199
4122
  const { pickerOverrides } = useAssociationsUiPorts();
3200
4123
  const info = store.registry.getEntityInfo(props.token);
3201
4124
  const Icon = info.Icon ?? DefaultEntityIcon;
3202
4125
  const Override = pickerOverrides?.[props.token];
3203
- if (Override) return /* @__PURE__ */ jsx7(Override, { ...props });
4126
+ if (Override) return /* @__PURE__ */ jsx6(Override, { ...props });
3204
4127
  const title = `Add ${info.labelPlural}`;
3205
4128
  const subtitle = props.filing ? `File ${props.containerLabel ?? "this"} under a ${info.label.toLowerCase()}` : props.containerLabel ? `Attach to ${props.containerLabel}` : "Click an item to attach or detach it";
3206
4129
  if (!props.open) return null;
3207
- return /* @__PURE__ */ jsx7(
4130
+ return /* @__PURE__ */ jsx6(
3208
4131
  AssociationWindow,
3209
4132
  {
3210
4133
  open: props.open,
3211
4134
  onClose: () => props.onOpenChange(false),
3212
4135
  scopeId: `picker:${props.token}`,
3213
4136
  title,
3214
- icon: /* @__PURE__ */ jsx7(Icon, { className: "size-3.5 text-primary" }),
4137
+ icon: /* @__PURE__ */ jsx6(Icon, { className: "size-3.5 text-primary" }),
3215
4138
  subtitle,
3216
- children: /* @__PURE__ */ jsx7(
4139
+ children: /* @__PURE__ */ jsx6(
3217
4140
  AssociationCandidateBody,
3218
4141
  {
3219
4142
  token: props.token,
@@ -3238,7 +4161,7 @@ function AssociationCandidateBody({
3238
4161
  onClose
3239
4162
  }) {
3240
4163
  void onClose;
3241
- return /* @__PURE__ */ jsx7(
4164
+ return /* @__PURE__ */ jsx6(
3242
4165
  EntityCandidateList,
3243
4166
  {
3244
4167
  token,
@@ -3298,10 +4221,10 @@ function EntityCandidateList({
3298
4221
  setBusyId(null);
3299
4222
  }
3300
4223
  };
3301
- return /* @__PURE__ */ jsxs5(Fragment, { children: [
3302
- /* @__PURE__ */ jsxs5("div", { className: "relative mb-2", children: [
3303
- /* @__PURE__ */ jsx7(SearchIcon, { className: "absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }),
3304
- /* @__PURE__ */ jsx7(
4224
+ return /* @__PURE__ */ jsxs4(Fragment, { children: [
4225
+ /* @__PURE__ */ jsxs4("div", { className: "relative mb-2", children: [
4226
+ /* @__PURE__ */ jsx6(SearchIcon, { className: "absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }),
4227
+ /* @__PURE__ */ jsx6(
3305
4228
  Input,
3306
4229
  {
3307
4230
  autoFocus: true,
@@ -3313,8 +4236,8 @@ function EntityCandidateList({
3313
4236
  }
3314
4237
  )
3315
4238
  ] }),
3316
- /* @__PURE__ */ jsxs5("div", { className: "flex-1 min-h-0 overflow-y-auto -mx-1 px-1", children: [
3317
- !search.trim() && !error && /* @__PURE__ */ jsx7(
4239
+ /* @__PURE__ */ jsxs4("div", { className: "flex-1 min-h-0 overflow-y-auto -mx-1 px-1", children: [
4240
+ !search.trim() && !error && /* @__PURE__ */ jsx6(
3318
4241
  SearchFailureNotice,
3319
4242
  {
3320
4243
  error: null,
@@ -3324,13 +4247,13 @@ function EntityCandidateList({
3324
4247
  className: "mb-1"
3325
4248
  }
3326
4249
  ),
3327
- (loading || recentsLoading) && visibleCount === 0 ? /* @__PURE__ */ jsxs5(ListMessage, { children: [
3328
- /* @__PURE__ */ jsx7(SpinnerIcon, { className: "h-4 w-4 animate-spin" }),
4250
+ (loading || recentsLoading) && visibleCount === 0 ? /* @__PURE__ */ jsxs4(ListMessage, { children: [
4251
+ /* @__PURE__ */ jsx6(SpinnerIcon, { className: "h-4 w-4 animate-spin" }),
3329
4252
  "Loading\u2026"
3330
- ] }) : error ? /* @__PURE__ */ jsxs5("div", { className: "rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-[12px] text-destructive", children: [
3331
- /* @__PURE__ */ jsx7("p", { className: "font-medium", children: "Couldn\u2019t load items" }),
3332
- /* @__PURE__ */ jsx7("p", { className: "opacity-80", children: error }),
3333
- /* @__PURE__ */ jsx7(
4253
+ ] }) : error ? /* @__PURE__ */ jsxs4("div", { className: "rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-[12px] text-destructive", children: [
4254
+ /* @__PURE__ */ jsx6("p", { className: "font-medium", children: "Couldn\u2019t load items" }),
4255
+ /* @__PURE__ */ jsx6("p", { className: "opacity-80", children: error }),
4256
+ /* @__PURE__ */ jsx6(
3334
4257
  "button",
3335
4258
  {
3336
4259
  type: "button",
@@ -3339,32 +4262,32 @@ function EntityCandidateList({
3339
4262
  children: "Retry"
3340
4263
  }
3341
4264
  )
3342
- ] }) : visibleCount === 0 ? /* @__PURE__ */ jsx7(ListMessage, { children: canCreate ? `Nothing to attach yet \u2014 create a new ${info.label.toLowerCase()} below.` : "Nothing to attach." }) : /* @__PURE__ */ jsxs5("div", { className: "space-y-2", children: [
3343
- visibleRecents.length > 0 && /* @__PURE__ */ jsx7(
4265
+ ] }) : visibleCount === 0 ? /* @__PURE__ */ jsx6(ListMessage, { children: canCreate ? `Nothing to attach yet \u2014 create a new ${info.label.toLowerCase()} below.` : "Nothing to attach." }) : /* @__PURE__ */ jsxs4("div", { className: "space-y-2", children: [
4266
+ visibleRecents.length > 0 && /* @__PURE__ */ jsx6(
3344
4267
  CandidateSection,
3345
4268
  {
3346
4269
  label: "Recent",
3347
4270
  candidates: visibleRecents,
3348
4271
  attachedIds,
3349
4272
  busyId,
3350
- icon: /* @__PURE__ */ jsx7(Icon, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
4273
+ icon: /* @__PURE__ */ jsx6(Icon, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
3351
4274
  onToggle: toggle
3352
4275
  }
3353
4276
  ),
3354
- ordinaryCandidates.length > 0 && /* @__PURE__ */ jsx7(
4277
+ ordinaryCandidates.length > 0 && /* @__PURE__ */ jsx6(
3355
4278
  CandidateSection,
3356
4279
  {
3357
4280
  label: visibleRecents.length > 0 ? `All ${info.labelPlural}` : null,
3358
4281
  candidates: ordinaryCandidates,
3359
4282
  attachedIds,
3360
4283
  busyId,
3361
- icon: /* @__PURE__ */ jsx7(Icon, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
4284
+ icon: /* @__PURE__ */ jsx6(Icon, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
3362
4285
  onToggle: toggle
3363
4286
  }
3364
4287
  )
3365
4288
  ] })
3366
4289
  ] }),
3367
- canCreate && /* @__PURE__ */ jsx7(
4290
+ canCreate && /* @__PURE__ */ jsx6(
3368
4291
  CreateAndAttachFooter,
3369
4292
  {
3370
4293
  token,
@@ -3384,12 +4307,12 @@ function CandidateSection({
3384
4307
  icon,
3385
4308
  onToggle
3386
4309
  }) {
3387
- return /* @__PURE__ */ jsxs5("section", { className: "space-y-0.5", children: [
3388
- label && /* @__PURE__ */ jsx7("p", { className: "px-1 text-[10px] font-medium uppercase tracking-wider text-muted-foreground/60", children: label }),
3389
- /* @__PURE__ */ jsx7("ul", { className: "space-y-0.5", children: candidates.map((candidate) => {
4310
+ return /* @__PURE__ */ jsxs4("section", { className: "space-y-0.5", children: [
4311
+ label && /* @__PURE__ */ jsx6("p", { className: "px-1 text-[10px] font-medium uppercase tracking-wider text-muted-foreground/60", children: label }),
4312
+ /* @__PURE__ */ jsx6("ul", { className: "space-y-0.5", children: candidates.map((candidate) => {
3390
4313
  const attached = attachedIds.has(candidate.id);
3391
4314
  const busy = busyId === candidate.id;
3392
- return /* @__PURE__ */ jsx7("li", { children: /* @__PURE__ */ jsxs5(
4315
+ return /* @__PURE__ */ jsx6("li", { children: /* @__PURE__ */ jsxs4(
3393
4316
  "button",
3394
4317
  {
3395
4318
  type: "button",
@@ -3402,15 +4325,15 @@ function CandidateSection({
3402
4325
  ),
3403
4326
  children: [
3404
4327
  icon,
3405
- /* @__PURE__ */ jsx7("span", { className: "flex-1 min-w-0 truncate text-foreground", children: candidate.title }),
3406
- /* @__PURE__ */ jsx7(
4328
+ /* @__PURE__ */ jsx6("span", { className: "flex-1 min-w-0 truncate text-foreground", children: candidate.title }),
4329
+ /* @__PURE__ */ jsx6(
3407
4330
  "span",
3408
4331
  {
3409
4332
  className: cn3(
3410
4333
  "flex h-5 w-5 items-center justify-center rounded-full shrink-0",
3411
4334
  attached ? "bg-primary text-primary-foreground" : "border border-border text-muted-foreground group-hover:border-primary/60"
3412
4335
  ),
3413
- children: busy ? /* @__PURE__ */ jsx7(SpinnerIcon, { className: "h-3 w-3 animate-spin" }) : attached ? /* @__PURE__ */ jsx7(CheckIcon, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx7(PlusIcon, { className: "h-3 w-3" })
4336
+ children: busy ? /* @__PURE__ */ jsx6(SpinnerIcon, { className: "h-3 w-3 animate-spin" }) : attached ? /* @__PURE__ */ jsx6(CheckIcon, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx6(PlusIcon, { className: "h-3 w-3" })
3414
4337
  }
3415
4338
  )
3416
4339
  ]
@@ -3466,7 +4389,7 @@ function CreateAndAttachFooter({
3466
4389
  }
3467
4390
  };
3468
4391
  if (!editing) {
3469
- return /* @__PURE__ */ jsxs5(
4392
+ return /* @__PURE__ */ jsxs4(
3470
4393
  "button",
3471
4394
  {
3472
4395
  type: "button",
@@ -3476,10 +4399,10 @@ function CreateAndAttachFooter({
3476
4399
  },
3477
4400
  className: "mt-2 flex min-h-11 w-full shrink-0 items-center justify-center gap-1.5 rounded-md border border-dashed border-border px-3 py-2 text-sm text-muted-foreground transition-colors hover:border-primary/60 hover:text-foreground md:min-h-0",
3478
4401
  children: [
3479
- /* @__PURE__ */ jsx7(PlusIcon, { className: "h-4 w-4" }),
4402
+ /* @__PURE__ */ jsx6(PlusIcon, { className: "h-4 w-4" }),
3480
4403
  "New ",
3481
4404
  info.label,
3482
- seed ? /* @__PURE__ */ jsxs5("span", { className: "max-w-40 truncate text-muted-foreground/70", children: [
4405
+ seed ? /* @__PURE__ */ jsxs4("span", { className: "max-w-40 truncate text-muted-foreground/70", children: [
3483
4406
  "\u201C",
3484
4407
  seed,
3485
4408
  "\u201D"
@@ -3488,8 +4411,8 @@ function CreateAndAttachFooter({
3488
4411
  }
3489
4412
  );
3490
4413
  }
3491
- return /* @__PURE__ */ jsxs5("div", { className: "mt-2 flex shrink-0 items-center gap-1.5", children: [
3492
- /* @__PURE__ */ jsx7(
4414
+ return /* @__PURE__ */ jsxs4("div", { className: "mt-2 flex shrink-0 items-center gap-1.5", children: [
4415
+ /* @__PURE__ */ jsx6(
3493
4416
  Input,
3494
4417
  {
3495
4418
  autoFocus: true,
@@ -3508,17 +4431,17 @@ function CreateAndAttachFooter({
3508
4431
  style: { fontSize: 16 }
3509
4432
  }
3510
4433
  ),
3511
- /* @__PURE__ */ jsx7(
4434
+ /* @__PURE__ */ jsx6(
3512
4435
  "button",
3513
4436
  {
3514
4437
  type: "button",
3515
4438
  disabled: busy || !name.trim(),
3516
4439
  onClick: () => void submit(),
3517
4440
  className: "flex h-11 items-center gap-1 rounded-md bg-primary px-2.5 text-sm font-medium text-primary-foreground transition-opacity disabled:opacity-50 md:h-8",
3518
- children: busy ? /* @__PURE__ */ jsx7(SpinnerIcon, { className: "h-3.5 w-3.5 animate-spin" }) : "Create"
4441
+ children: busy ? /* @__PURE__ */ jsx6(SpinnerIcon, { className: "h-3.5 w-3.5 animate-spin" }) : "Create"
3519
4442
  }
3520
4443
  ),
3521
- /* @__PURE__ */ jsx7(
4444
+ /* @__PURE__ */ jsx6(
3522
4445
  "button",
3523
4446
  {
3524
4447
  type: "button",
@@ -3529,13 +4452,13 @@ function CreateAndAttachFooter({
3529
4452
  },
3530
4453
  title: "Cancel",
3531
4454
  className: "flex h-11 w-11 items-center justify-center rounded-md border border-border text-muted-foreground transition-colors hover:text-foreground disabled:opacity-50 md:h-8 md:w-8",
3532
- children: /* @__PURE__ */ jsx7(XIcon2, { className: "h-4 w-4" })
4455
+ children: /* @__PURE__ */ jsx6(XIcon2, { className: "h-4 w-4" })
3533
4456
  }
3534
4457
  )
3535
4458
  ] });
3536
4459
  }
3537
4460
  function ListMessage({ children }) {
3538
- return /* @__PURE__ */ jsx7("div", { className: "flex items-center justify-center gap-2 py-8 text-[13px] text-muted-foreground", children });
4461
+ return /* @__PURE__ */ jsx6("div", { className: "flex items-center justify-center gap-2 py-8 text-[13px] text-muted-foreground", children });
3539
4462
  }
3540
4463
 
3541
4464
  // src/react/components/UniversalAssociationPicker.tsx
@@ -3547,17 +4470,17 @@ import { CheckIcon as CheckIcon2, Maximize2Icon as Maximize2Icon2, PlusIcon as P
3547
4470
  import { cn as cn4 } from "@ai-matrx/design-system";
3548
4471
  import { ExternalLinkIcon } from "@ai-matrx/design-system/icons";
3549
4472
  import { OutboundLink } from "@ai-matrx/kit/outbound-react";
3550
- import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
4473
+ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
3551
4474
  function DoorRef(props) {
3552
4475
  const { onOpen, ...refProps } = props;
3553
4476
  const { entityDoors } = useAssociationsUiPorts();
3554
4477
  const store = useAssociationsStore();
3555
4478
  const HostRef = entityDoors?.EntityRef;
3556
- if (HostRef) return /* @__PURE__ */ jsx8(HostRef, { ...refProps });
4479
+ if (HostRef) return /* @__PURE__ */ jsx7(HostRef, { ...refProps });
3557
4480
  const name = refProps.name ?? null;
3558
4481
  const href = store.registry.tryGetEntityInfo(refProps.token)?.hrefFor?.(refProps.id) ?? null;
3559
4482
  if (onOpen) {
3560
- return /* @__PURE__ */ jsx8(
4483
+ return /* @__PURE__ */ jsx7(
3561
4484
  "button",
3562
4485
  {
3563
4486
  type: "button",
@@ -3571,7 +4494,7 @@ function DoorRef(props) {
3571
4494
  );
3572
4495
  }
3573
4496
  if (href) {
3574
- return /* @__PURE__ */ jsxs6(
4497
+ return /* @__PURE__ */ jsxs5(
3575
4498
  "a",
3576
4499
  {
3577
4500
  href,
@@ -3582,19 +4505,19 @@ function DoorRef(props) {
3582
4505
  refProps.className
3583
4506
  ),
3584
4507
  children: [
3585
- /* @__PURE__ */ jsx8("span", { className: "min-w-0 truncate", children: name }),
3586
- /* @__PURE__ */ jsx8(ExternalLinkIcon, { className: "h-3 w-3 shrink-0 opacity-0 transition-opacity group-hover:opacity-60" })
4508
+ /* @__PURE__ */ jsx7("span", { className: "min-w-0 truncate", children: name }),
4509
+ /* @__PURE__ */ jsx7(ExternalLinkIcon, { className: "h-3 w-3 shrink-0 opacity-0 transition-opacity group-hover:opacity-60" })
3587
4510
  ]
3588
4511
  }
3589
4512
  );
3590
4513
  }
3591
- return /* @__PURE__ */ jsx8("span", { className: cn4("min-w-0 truncate", refProps.className), children: name });
4514
+ return /* @__PURE__ */ jsx7("span", { className: cn4("min-w-0 truncate", refProps.className), children: name });
3592
4515
  }
3593
4516
  function UnresolvedRef({ token, id }) {
3594
4517
  const { entityDoors } = useAssociationsUiPorts();
3595
4518
  const HostUnresolved = entityDoors?.UnresolvedRef;
3596
- if (HostUnresolved) return /* @__PURE__ */ jsx8(HostUnresolved, { token, id });
3597
- return /* @__PURE__ */ jsx8(
4519
+ if (HostUnresolved) return /* @__PURE__ */ jsx7(HostUnresolved, { token, id });
4520
+ return /* @__PURE__ */ jsx7(
3598
4521
  "span",
3599
4522
  {
3600
4523
  className: "inline-flex items-center rounded border border-border/60 bg-muted/40 px-1.5 py-0.5 text-[11px] text-muted-foreground",
@@ -3607,11 +4530,11 @@ function DoorControlsSlot(props) {
3607
4530
  const { entityDoors } = useAssociationsUiPorts();
3608
4531
  const store = useAssociationsStore();
3609
4532
  const HostControls = entityDoors?.DoorControls;
3610
- if (HostControls) return /* @__PURE__ */ jsx8(HostControls, { ...props });
4533
+ if (HostControls) return /* @__PURE__ */ jsx7(HostControls, { ...props });
3611
4534
  const href = store.registry.tryGetEntityInfo(props.token)?.hrefFor?.(props.id) ?? null;
3612
4535
  if (!href) return null;
3613
4536
  const label = props.name ? `Open ${props.name}` : `Open this ${props.token}`;
3614
- return /* @__PURE__ */ jsx8(
4537
+ return /* @__PURE__ */ jsx7(
3615
4538
  OutboundLink,
3616
4539
  {
3617
4540
  href,
@@ -3621,13 +4544,13 @@ function DoorControlsSlot(props) {
3621
4544
  "inline-flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
3622
4545
  props.className
3623
4546
  ),
3624
- children: /* @__PURE__ */ jsx8(ExternalLinkIcon, { className: "h-3 w-3" })
4547
+ children: /* @__PURE__ */ jsx7(ExternalLinkIcon, { className: "h-3 w-3" })
3625
4548
  }
3626
4549
  );
3627
4550
  }
3628
4551
 
3629
4552
  // src/react/components/UniversalAssociationPicker.tsx
3630
- import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
4553
+ import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
3631
4554
  function attachedKey(token, id) {
3632
4555
  return `${token}:${id}`;
3633
4556
  }
@@ -3682,10 +4605,10 @@ function UniversalAssociationPicker(props) {
3682
4605
  groups.set(r.token, list);
3683
4606
  }
3684
4607
  const BrowseOverride = browseToken ? pickerOverrides?.[browseToken] : void 0;
3685
- return /* @__PURE__ */ jsxs7("div", { className: cn5("flex min-h-0 flex-1 flex-col gap-2", className), children: [
3686
- /* @__PURE__ */ jsxs7("div", { className: "relative", children: [
3687
- /* @__PURE__ */ jsx9(SearchIcon2, { className: "absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }),
3688
- /* @__PURE__ */ jsx9(
4608
+ return /* @__PURE__ */ jsxs6("div", { className: cn5("flex min-h-0 flex-1 flex-col gap-2", className), children: [
4609
+ /* @__PURE__ */ jsxs6("div", { className: "relative", children: [
4610
+ /* @__PURE__ */ jsx8(SearchIcon2, { className: "absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }),
4611
+ /* @__PURE__ */ jsx8(
3689
4612
  Input2,
3690
4613
  {
3691
4614
  autoFocus: true,
@@ -3699,9 +4622,9 @@ function UniversalAssociationPicker(props) {
3699
4622
  style: { fontSize: 16 }
3700
4623
  }
3701
4624
  ),
3702
- loading && browseToken === null && /* @__PURE__ */ jsx9(SpinnerIcon, { className: "absolute right-2.5 top-1/2 h-4 w-4 -translate-y-1/2 animate-spin text-muted-foreground" })
4625
+ loading && browseToken === null && /* @__PURE__ */ jsx8(SpinnerIcon, { className: "absolute right-2.5 top-1/2 h-4 w-4 -translate-y-1/2 animate-spin text-muted-foreground" })
3703
4626
  ] }),
3704
- /* @__PURE__ */ jsx9(
4627
+ /* @__PURE__ */ jsx8(
3705
4628
  "div",
3706
4629
  {
3707
4630
  role: "group",
@@ -3711,7 +4634,7 @@ function UniversalAssociationPicker(props) {
3711
4634
  const info = store.registry.getEntityInfo(t);
3712
4635
  const ChipIcon = info.Icon ?? DefaultEntityIcon;
3713
4636
  const active = browseToken === t;
3714
- return /* @__PURE__ */ jsxs7(
4637
+ return /* @__PURE__ */ jsxs6(
3715
4638
  "button",
3716
4639
  {
3717
4640
  type: "button",
@@ -3722,7 +4645,7 @@ function UniversalAssociationPicker(props) {
3722
4645
  active ? "border-primary/50 bg-primary/10 text-foreground" : "border-border text-muted-foreground hover:text-foreground hover:bg-accent"
3723
4646
  ),
3724
4647
  children: [
3725
- /* @__PURE__ */ jsx9(ChipIcon, { className: "h-3 w-3" }),
4648
+ /* @__PURE__ */ jsx8(ChipIcon, { className: "h-3 w-3" }),
3726
4649
  info.labelPlural
3727
4650
  ]
3728
4651
  },
@@ -3735,17 +4658,17 @@ function UniversalAssociationPicker(props) {
3735
4658
  // The token's canonical host picker (e.g. the stored-files browser)
3736
4659
  // owns per-token browsing when registered — never a plain list twin.
3737
4660
  // It opens in its own window; this body says where it went.
3738
- /* @__PURE__ */ jsxs7(
4661
+ /* @__PURE__ */ jsxs6(
3739
4662
  "div",
3740
4663
  {
3741
4664
  role: "region",
3742
4665
  "aria-label": `${store.registry.getEntityInfo(browseToken).labelPlural} window`,
3743
4666
  className: "flex flex-1 flex-col items-center justify-center gap-3 px-4 py-8 text-center",
3744
4667
  children: [
3745
- /* @__PURE__ */ jsx9("p", { className: "text-sm text-foreground", children: overrideOpen ? `The ${store.registry.getEntityInfo(browseToken).labelPlural.toLowerCase()} window is open.` : `The ${store.registry.getEntityInfo(browseToken).labelPlural.toLowerCase()} window is closed.` }),
3746
- /* @__PURE__ */ jsx9("p", { className: "max-w-xs text-[12px] text-muted-foreground", children: overrideOpen ? "Check items there to attach them; uncheck to detach. Changes save as you go." : "Reopen it to pick more, or go back to search everything." }),
3747
- /* @__PURE__ */ jsxs7("div", { className: "flex flex-wrap items-center justify-center gap-2", children: [
3748
- /* @__PURE__ */ jsxs7(
4668
+ /* @__PURE__ */ jsx8("p", { className: "text-sm text-foreground", children: overrideOpen ? `The ${store.registry.getEntityInfo(browseToken).labelPlural.toLowerCase()} window is open.` : `The ${store.registry.getEntityInfo(browseToken).labelPlural.toLowerCase()} window is closed.` }),
4669
+ /* @__PURE__ */ jsx8("p", { className: "max-w-xs text-[12px] text-muted-foreground", children: overrideOpen ? "Check items there to attach them; uncheck to detach. Changes save as you go." : "Reopen it to pick more, or go back to search everything." }),
4670
+ /* @__PURE__ */ jsxs6("div", { className: "flex flex-wrap items-center justify-center gap-2", children: [
4671
+ /* @__PURE__ */ jsxs6(
3749
4672
  Button,
3750
4673
  {
3751
4674
  type: "button",
@@ -3756,12 +4679,12 @@ function UniversalAssociationPicker(props) {
3756
4679
  setOverrideMount((n) => n + 1);
3757
4680
  },
3758
4681
  children: [
3759
- /* @__PURE__ */ jsx9(Maximize2Icon2, { className: "mr-1.5 h-3.5 w-3.5" }),
4682
+ /* @__PURE__ */ jsx8(Maximize2Icon2, { className: "mr-1.5 h-3.5 w-3.5" }),
3760
4683
  overrideOpen ? "Bring window to front" : "Reopen window"
3761
4684
  ]
3762
4685
  }
3763
4686
  ),
3764
- /* @__PURE__ */ jsx9(
4687
+ /* @__PURE__ */ jsx8(
3765
4688
  Button,
3766
4689
  {
3767
4690
  type: "button",
@@ -3772,7 +4695,7 @@ function UniversalAssociationPicker(props) {
3772
4695
  }
3773
4696
  )
3774
4697
  ] }),
3775
- overrideOpen && /* @__PURE__ */ jsx9(
4698
+ overrideOpen && /* @__PURE__ */ jsx8(
3776
4699
  BrowseOverride,
3777
4700
  {
3778
4701
  open: true,
@@ -3792,7 +4715,7 @@ function UniversalAssociationPicker(props) {
3792
4715
  ]
3793
4716
  }
3794
4717
  )
3795
- ) : browseToken ? /* @__PURE__ */ jsx9("div", { className: "flex min-h-0 flex-1 flex-col", children: /* @__PURE__ */ jsx9(
4718
+ ) : browseToken ? /* @__PURE__ */ jsx8("div", { className: "flex min-h-0 flex-1 flex-col", children: /* @__PURE__ */ jsx8(
3796
4719
  AssociationCandidateBody,
3797
4720
  {
3798
4721
  token: browseToken,
@@ -3805,13 +4728,13 @@ function UniversalAssociationPicker(props) {
3805
4728
  onAttach: (id, title) => onAttach(browseToken, id, title),
3806
4729
  onDetach: (id) => onDetach(browseToken, id)
3807
4730
  }
3808
- ) }) : /* @__PURE__ */ jsx9(
4731
+ ) }) : /* @__PURE__ */ jsx8(
3809
4732
  "div",
3810
4733
  {
3811
4734
  role: "region",
3812
4735
  "aria-label": "Association search results",
3813
4736
  className: "-mx-1 min-h-24 flex-1 overflow-y-auto overscroll-contain px-1",
3814
- children: error ? /* @__PURE__ */ jsx9(
4737
+ children: error ? /* @__PURE__ */ jsx8(
3815
4738
  SearchFailureNotice,
3816
4739
  {
3817
4740
  error,
@@ -3819,8 +4742,8 @@ function UniversalAssociationPicker(props) {
3819
4742
  operation: "Search to attach",
3820
4743
  origin: "associations/UniversalAssociationPicker"
3821
4744
  }
3822
- ) : results.length === 0 && failures.length === 0 ? /* @__PURE__ */ jsx9("p", { className: "py-6 text-center text-[12px] text-muted-foreground", children: loading ? "Searching\u2026" : query.trim() ? "No matches \u2014 narrow with a type chip to browse." : "Nothing to attach yet. Type to search, or pick a type to browse." }) : /* @__PURE__ */ jsxs7("div", { className: "space-y-2", children: [
3823
- /* @__PURE__ */ jsx9(
4745
+ ) : results.length === 0 && failures.length === 0 ? /* @__PURE__ */ jsx8("p", { className: "py-6 text-center text-[12px] text-muted-foreground", children: loading ? "Searching\u2026" : query.trim() ? "No matches \u2014 narrow with a type chip to browse." : "Nothing to attach yet. Type to search, or pick a type to browse." }) : /* @__PURE__ */ jsxs6("div", { className: "space-y-2", children: [
4746
+ /* @__PURE__ */ jsx8(
3824
4747
  SearchFailureNotice,
3825
4748
  {
3826
4749
  error: null,
@@ -3829,20 +4752,20 @@ function UniversalAssociationPicker(props) {
3829
4752
  origin: "associations/UniversalAssociationPicker"
3830
4753
  }
3831
4754
  ),
3832
- source !== "search" && results.length > 0 && /* @__PURE__ */ jsx9("p", { className: "px-1 text-[10px] font-medium uppercase tracking-wider text-muted-foreground/60", children: source === "recents" ? "Recent" : "Browse" }),
4755
+ source !== "search" && results.length > 0 && /* @__PURE__ */ jsx8("p", { className: "px-1 text-[10px] font-medium uppercase tracking-wider text-muted-foreground/60", children: source === "recents" ? "Recent" : "Browse" }),
3833
4756
  [...groups.entries()].map(([token, items]) => {
3834
4757
  const info = store.registry.getEntityInfo(token);
3835
4758
  const GroupIcon = info.Icon ?? DefaultEntityIcon;
3836
- return /* @__PURE__ */ jsxs7("div", { className: "space-y-0.5", children: [
3837
- /* @__PURE__ */ jsxs7("p", { className: "flex items-center gap-1 px-1 text-[10px] font-medium uppercase tracking-wider text-muted-foreground/70", children: [
3838
- /* @__PURE__ */ jsx9(GroupIcon, { className: "h-3 w-3" }),
4759
+ return /* @__PURE__ */ jsxs6("div", { className: "space-y-0.5", children: [
4760
+ /* @__PURE__ */ jsxs6("p", { className: "flex items-center gap-1 px-1 text-[10px] font-medium uppercase tracking-wider text-muted-foreground/70", children: [
4761
+ /* @__PURE__ */ jsx8(GroupIcon, { className: "h-3 w-3" }),
3839
4762
  info.labelPlural
3840
4763
  ] }),
3841
- /* @__PURE__ */ jsx9("ul", { className: "space-y-0.5", children: items.map((c) => {
4764
+ /* @__PURE__ */ jsx8("ul", { className: "space-y-0.5", children: items.map((c) => {
3842
4765
  const key = attachedKey(c.token, c.id);
3843
4766
  const attached = attachedKeys.has(key);
3844
4767
  const busy = busyKey === key;
3845
- return /* @__PURE__ */ jsxs7(
4768
+ return /* @__PURE__ */ jsxs6(
3846
4769
  "li",
3847
4770
  {
3848
4771
  className: cn5(
@@ -3851,7 +4774,7 @@ function UniversalAssociationPicker(props) {
3851
4774
  attached && "bg-accent/40"
3852
4775
  ),
3853
4776
  children: [
3854
- /* @__PURE__ */ jsxs7(
4777
+ /* @__PURE__ */ jsxs6(
3855
4778
  "button",
3856
4779
  {
3857
4780
  type: "button",
@@ -3863,21 +4786,21 @@ function UniversalAssociationPicker(props) {
3863
4786
  "disabled:opacity-50"
3864
4787
  ),
3865
4788
  children: [
3866
- /* @__PURE__ */ jsx9("span", { className: "min-w-0 flex-1 truncate text-foreground", children: c.title }),
3867
- /* @__PURE__ */ jsx9(
4789
+ /* @__PURE__ */ jsx8("span", { className: "min-w-0 flex-1 truncate text-foreground", children: c.title }),
4790
+ /* @__PURE__ */ jsx8(
3868
4791
  "span",
3869
4792
  {
3870
4793
  className: cn5(
3871
4794
  "flex h-5 w-5 shrink-0 items-center justify-center rounded-full",
3872
4795
  attached ? "bg-primary text-primary-foreground" : "border border-border text-muted-foreground group-hover:border-primary/60"
3873
4796
  ),
3874
- children: busy ? /* @__PURE__ */ jsx9(SpinnerIcon, { className: "h-3 w-3 animate-spin" }) : attached ? /* @__PURE__ */ jsx9(CheckIcon2, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx9(PlusIcon2, { className: "h-3 w-3" })
4797
+ children: busy ? /* @__PURE__ */ jsx8(SpinnerIcon, { className: "h-3 w-3 animate-spin" }) : attached ? /* @__PURE__ */ jsx8(CheckIcon2, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx8(PlusIcon2, { className: "h-3 w-3" })
3875
4798
  }
3876
4799
  )
3877
4800
  ]
3878
4801
  }
3879
4802
  ),
3880
- /* @__PURE__ */ jsx9(
4803
+ /* @__PURE__ */ jsx8(
3881
4804
  DoorControlsSlot,
3882
4805
  {
3883
4806
  token: c.token,
@@ -3902,7 +4825,7 @@ function UniversalAssociationPicker(props) {
3902
4825
  import { useEffect as useEffect9, useState as useState8 } from "react";
3903
4826
  import { cn as cn6 } from "@ai-matrx/design-system";
3904
4827
  import { PinIcon, PlusIcon as PlusIcon3, XIcon as XIcon3 } from "@ai-matrx/design-system/icons";
3905
- import { Fragment as Fragment2, jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
4828
+ import { Fragment as Fragment2, jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
3906
4829
  function metadataIsPinned(metadata) {
3907
4830
  return metadata !== null && typeof metadata === "object" && !Array.isArray(metadata) && Reflect.get(metadata, "pinned") === true;
3908
4831
  }
@@ -3913,9 +4836,9 @@ function AttachedItemsSheet(props) {
3913
4836
  const title = info.labelPlural;
3914
4837
  const containerName = props.container?.label ?? props.containerLabel;
3915
4838
  const filing = props.container?.direction === "outgoing";
3916
- const subtitle = props.container ? /* @__PURE__ */ jsxs8("span", { className: "inline-flex min-w-0 max-w-full items-center gap-1", children: [
4839
+ const subtitle = props.container ? /* @__PURE__ */ jsxs7("span", { className: "inline-flex min-w-0 max-w-full items-center gap-1", children: [
3917
4840
  filing ? "What this is filed under:" : "Attached to",
3918
- /* @__PURE__ */ jsx10(
4841
+ /* @__PURE__ */ jsx9(
3919
4842
  DoorRef,
3920
4843
  {
3921
4844
  token: props.container.type,
@@ -3926,16 +4849,16 @@ function AttachedItemsSheet(props) {
3926
4849
  )
3927
4850
  ] }) : props.containerLabel ? `Attached to ${props.containerLabel}` : "Attached items";
3928
4851
  if (!props.open) return null;
3929
- return /* @__PURE__ */ jsx10(
4852
+ return /* @__PURE__ */ jsx9(
3930
4853
  AssociationWindow,
3931
4854
  {
3932
4855
  open: props.open,
3933
4856
  onClose: () => props.onOpenChange(false),
3934
4857
  scopeId: `attached:${props.token}`,
3935
4858
  title,
3936
- icon: /* @__PURE__ */ jsx10(Icon, { className: "size-3.5 text-primary" }),
4859
+ icon: /* @__PURE__ */ jsx9(Icon, { className: "size-3.5 text-primary" }),
3937
4860
  subtitle,
3938
- children: /* @__PURE__ */ jsx10(
4861
+ children: /* @__PURE__ */ jsx9(
3939
4862
  AttachedItemsBody,
3940
4863
  {
3941
4864
  token: props.token,
@@ -4024,31 +4947,31 @@ function AttachedItemsBody({
4024
4947
  setBusyId(null);
4025
4948
  }
4026
4949
  };
4027
- return /* @__PURE__ */ jsxs8(Fragment2, { children: [
4028
- titleError ? /* @__PURE__ */ jsxs8("div", { className: "mb-2 rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-[12px] text-destructive", children: [
4950
+ return /* @__PURE__ */ jsxs7(Fragment2, { children: [
4951
+ titleError ? /* @__PURE__ */ jsxs7("div", { className: "mb-2 rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-[12px] text-destructive", children: [
4029
4952
  "Showing names recorded at attach time \u2014 they may be out of date.",
4030
4953
  " ",
4031
4954
  titleError
4032
4955
  ] }) : null,
4033
- /* @__PURE__ */ jsx10("div", { className: "flex-1 min-h-0 overflow-y-auto -mx-1 px-1", children: links.length === 0 ? /* @__PURE__ */ jsx10("div", { className: "flex items-center justify-center py-8 text-[13px] text-muted-foreground", children: "Nothing attached yet." }) : titles === null ? /* @__PURE__ */ jsxs8("div", { className: "flex items-center justify-center gap-2 py-8 text-[13px] text-muted-foreground", children: [
4034
- /* @__PURE__ */ jsx10(SpinnerIcon, { className: "h-4 w-4 animate-spin" }),
4956
+ /* @__PURE__ */ jsx9("div", { className: "flex-1 min-h-0 overflow-y-auto -mx-1 px-1", children: links.length === 0 ? /* @__PURE__ */ jsx9("div", { className: "flex items-center justify-center py-8 text-[13px] text-muted-foreground", children: "Nothing attached yet." }) : titles === null ? /* @__PURE__ */ jsxs7("div", { className: "flex items-center justify-center gap-2 py-8 text-[13px] text-muted-foreground", children: [
4957
+ /* @__PURE__ */ jsx9(SpinnerIcon, { className: "h-4 w-4 animate-spin" }),
4035
4958
  "Loading\u2026"
4036
- ] }) : /* @__PURE__ */ jsx10("ul", { className: "space-y-0.5", children: links.map((link) => {
4959
+ ] }) : /* @__PURE__ */ jsx9("ul", { className: "space-y-0.5", children: links.map((link) => {
4037
4960
  const resolved = titles.get(link.resourceId);
4038
4961
  const missing = !titles.has(link.resourceId);
4039
4962
  const name = resolved ?? link.label ?? (missing ? null : "Untitled");
4040
4963
  const busy = busyId === link.resourceId;
4041
4964
  const pinned = metadataIsPinned(link.metadata);
4042
- return /* @__PURE__ */ jsxs8(
4965
+ return /* @__PURE__ */ jsxs7(
4043
4966
  "li",
4044
4967
  {
4045
4968
  className: "group/entity-ref group flex items-center gap-2 rounded-md px-2.5 py-2 text-sm transition-colors hover:bg-accent",
4046
4969
  children: [
4047
- /* @__PURE__ */ jsx10(Icon, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
4048
- /* @__PURE__ */ jsx10("span", { className: "flex-1 min-w-0 truncate", children: name === null ? (
4970
+ /* @__PURE__ */ jsx9(Icon, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
4971
+ /* @__PURE__ */ jsx9("span", { className: "flex-1 min-w-0 truncate", children: name === null ? (
4049
4972
  // The X beside the row stays the one-click detach.
4050
- /* @__PURE__ */ jsx10(UnresolvedRef, { token, id: link.resourceId })
4051
- ) : /* @__PURE__ */ jsx10(
4973
+ /* @__PURE__ */ jsx9(UnresolvedRef, { token, id: link.resourceId })
4974
+ ) : /* @__PURE__ */ jsx9(
4052
4975
  DoorRef,
4053
4976
  {
4054
4977
  token,
@@ -4058,7 +4981,7 @@ function AttachedItemsBody({
4058
4981
  className: "text-foreground"
4059
4982
  }
4060
4983
  ) }),
4061
- onSetPinned ? /* @__PURE__ */ jsx10(
4984
+ onSetPinned ? /* @__PURE__ */ jsx9(
4062
4985
  "button",
4063
4986
  {
4064
4987
  type: "button",
@@ -4070,7 +4993,7 @@ function AttachedItemsBody({
4070
4993
  "flex h-6 w-6 shrink-0 items-center justify-center rounded-md transition-colors hover:bg-accent hover:text-foreground disabled:opacity-50",
4071
4994
  pinned ? "text-primary" : "text-muted-foreground"
4072
4995
  ),
4073
- children: /* @__PURE__ */ jsx10(
4996
+ children: /* @__PURE__ */ jsx9(
4074
4997
  PinIcon,
4075
4998
  {
4076
4999
  className: cn6(
@@ -4081,7 +5004,7 @@ function AttachedItemsBody({
4081
5004
  )
4082
5005
  }
4083
5006
  ) : null,
4084
- /* @__PURE__ */ jsx10(
5007
+ /* @__PURE__ */ jsx9(
4085
5008
  "button",
4086
5009
  {
4087
5010
  type: "button",
@@ -4092,7 +5015,7 @@ function AttachedItemsBody({
4092
5015
  "flex h-6 w-6 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors",
4093
5016
  "hover:bg-destructive/10 hover:text-destructive disabled:opacity-50"
4094
5017
  ),
4095
- children: busy ? /* @__PURE__ */ jsx10(SpinnerIcon, { className: "h-3.5 w-3.5 animate-spin" }) : /* @__PURE__ */ jsx10(XIcon3, { className: "h-3.5 w-3.5" })
5018
+ children: busy ? /* @__PURE__ */ jsx9(SpinnerIcon, { className: "h-3.5 w-3.5 animate-spin" }) : /* @__PURE__ */ jsx9(XIcon3, { className: "h-3.5 w-3.5" })
4096
5019
  }
4097
5020
  )
4098
5021
  ]
@@ -4100,14 +5023,14 @@ function AttachedItemsBody({
4100
5023
  link.edgeId
4101
5024
  );
4102
5025
  }) }) }),
4103
- onAdd ? /* @__PURE__ */ jsxs8(
5026
+ onAdd ? /* @__PURE__ */ jsxs7(
4104
5027
  "button",
4105
5028
  {
4106
5029
  type: "button",
4107
5030
  onClick: onAdd,
4108
5031
  className: "mt-2 flex w-full items-center justify-center gap-1.5 rounded-md border border-border px-3 py-2 text-sm text-muted-foreground transition-colors hover:border-primary/60 hover:text-foreground",
4109
5032
  children: [
4110
- /* @__PURE__ */ jsx10(PlusIcon3, { className: "h-4 w-4" }),
5033
+ /* @__PURE__ */ jsx9(PlusIcon3, { className: "h-4 w-4" }),
4111
5034
  "Attach ",
4112
5035
  info.labelPlural.toLowerCase()
4113
5036
  ]
@@ -4170,7 +5093,7 @@ function getContentRoleMeta(role) {
4170
5093
 
4171
5094
  // src/react/components/AssociationCard.tsx
4172
5095
  import { PlusIcon as PlusIcon4 } from "@ai-matrx/design-system/icons";
4173
- import { Fragment as Fragment3, jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
5096
+ import { Fragment as Fragment3, jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
4174
5097
  function AssociationCard({
4175
5098
  token,
4176
5099
  container: containerProp,
@@ -4209,7 +5132,7 @@ function AssociationCard({
4209
5132
  const canDrillIn = count > 0;
4210
5133
  const countWord = filing ? "filed under" : "attached";
4211
5134
  const drillTitle = canDrillIn ? `View the ${info.labelPlural.toLowerCase()} attached to ${container.label ?? "this"}` : void 0;
4212
- return /* @__PURE__ */ jsxs9(Fragment3, { children: [
5135
+ return /* @__PURE__ */ jsxs8(Fragment3, { children: [
4213
5136
  look !== "tiles" ? (
4214
5137
  // ONE-LINE LOOKS (opt-in, off by default): small icon, UPPERCASE name,
4215
5138
  // count, then the "+".
@@ -4221,7 +5144,7 @@ function AssociationCard({
4221
5144
  // so the tap target's own 44px box centers the 28px circle with
4222
5145
  // 8px on every side. Never pass a layout class to a tap button —
4223
5146
  // its className lands on the ICON (the 2026-09-27 crooked "+").
4224
- /* @__PURE__ */ jsxs9(
5147
+ /* @__PURE__ */ jsxs8(
4225
5148
  "div",
4226
5149
  {
4227
5150
  "data-association-card": token,
@@ -4232,7 +5155,7 @@ function AssociationCard({
4232
5155
  className
4233
5156
  ),
4234
5157
  children: [
4235
- /* @__PURE__ */ jsxs9(
5158
+ /* @__PURE__ */ jsxs8(
4236
5159
  "button",
4237
5160
  {
4238
5161
  type: "button",
@@ -4245,13 +5168,13 @@ function AssociationCard({
4245
5168
  canDrillIn ? "cursor-pointer hover:text-foreground" : "cursor-default"
4246
5169
  ),
4247
5170
  children: [
4248
- /* @__PURE__ */ jsx11(Icon, { className: "h-3.5 w-3.5 shrink-0 text-muted-foreground" }),
4249
- /* @__PURE__ */ jsx11("span", { className: "min-w-0 truncate text-xs font-semibold uppercase tracking-wider text-foreground", children: info.labelPlural }),
4250
- loading ? /* @__PURE__ */ jsx11(SpinnerIcon, { className: "h-3 w-3 animate-spin text-muted-foreground" }) : /* @__PURE__ */ jsx11("span", { className: "text-xs tabular-nums text-muted-foreground", children: count })
5171
+ /* @__PURE__ */ jsx10(Icon, { className: "h-3.5 w-3.5 shrink-0 text-muted-foreground" }),
5172
+ /* @__PURE__ */ jsx10("span", { className: "min-w-0 truncate text-xs font-semibold uppercase tracking-wider text-foreground", children: info.labelPlural }),
5173
+ loading ? /* @__PURE__ */ jsx10(SpinnerIcon, { className: "h-3 w-3 animate-spin text-muted-foreground" }) : /* @__PURE__ */ jsx10("span", { className: "text-xs tabular-nums text-muted-foreground", children: count })
4251
5174
  ]
4252
5175
  }
4253
5176
  ),
4254
- canAttach && (look === "compact" ? /* @__PURE__ */ jsx11(
5177
+ canAttach && (look === "compact" ? /* @__PURE__ */ jsx10(
4255
5178
  PlusTapButton,
4256
5179
  {
4257
5180
  variant: "outline",
@@ -4259,7 +5182,7 @@ function AssociationCard({
4259
5182
  tooltip: false,
4260
5183
  onClick: () => setOpen(true)
4261
5184
  }
4262
- ) : /* @__PURE__ */ jsx11(
5185
+ ) : /* @__PURE__ */ jsx10(
4263
5186
  "button",
4264
5187
  {
4265
5188
  type: "button",
@@ -4267,13 +5190,13 @@ function AssociationCard({
4267
5190
  "aria-label": `Attach ${info.labelPlural.toLowerCase()}`,
4268
5191
  title: `Attach ${info.labelPlural.toLowerCase()}`,
4269
5192
  className: "flex h-11 w-11 shrink-0 items-center justify-center rounded-md border border-border text-muted-foreground transition-colors hover:border-primary/60 hover:text-foreground lg:h-7 lg:w-7",
4270
- children: /* @__PURE__ */ jsx11(PlusIcon4, { className: "h-4 w-4" })
5193
+ children: /* @__PURE__ */ jsx10(PlusIcon4, { className: "h-4 w-4" })
4271
5194
  }
4272
5195
  ))
4273
5196
  ]
4274
5197
  }
4275
5198
  )
4276
- ) : /* @__PURE__ */ jsxs9(
5199
+ ) : /* @__PURE__ */ jsxs8(
4277
5200
  "div",
4278
5201
  {
4279
5202
  "data-association-card": token,
@@ -4283,7 +5206,7 @@ function AssociationCard({
4283
5206
  className
4284
5207
  ),
4285
5208
  children: [
4286
- /* @__PURE__ */ jsx11(
5209
+ /* @__PURE__ */ jsx10(
4287
5210
  "span",
4288
5211
  {
4289
5212
  className: cn7(
@@ -4292,7 +5215,7 @@ function AssociationCard({
4292
5215
  )
4293
5216
  }
4294
5217
  ),
4295
- /* @__PURE__ */ jsxs9(
5218
+ /* @__PURE__ */ jsxs8(
4296
5219
  "button",
4297
5220
  {
4298
5221
  type: "button",
@@ -4304,7 +5227,7 @@ function AssociationCard({
4304
5227
  canDrillIn ? "cursor-pointer" : "cursor-default"
4305
5228
  ),
4306
5229
  children: [
4307
- /* @__PURE__ */ jsx11(
5230
+ /* @__PURE__ */ jsx10(
4308
5231
  "span",
4309
5232
  {
4310
5233
  className: cn7(
@@ -4312,20 +5235,20 @@ function AssociationCard({
4312
5235
  role.accentBg,
4313
5236
  role.accentText
4314
5237
  ),
4315
- children: /* @__PURE__ */ jsx11(Icon, { className: "h-4 w-4" })
5238
+ children: /* @__PURE__ */ jsx10(Icon, { className: "h-4 w-4" })
4316
5239
  }
4317
5240
  ),
4318
- /* @__PURE__ */ jsxs9("span", { className: "min-w-0 flex-1", children: [
4319
- /* @__PURE__ */ jsx11("span", { className: "block truncate text-sm font-medium text-foreground", children: info.labelPlural }),
4320
- /* @__PURE__ */ jsx11("span", { className: "block text-xs text-muted-foreground tabular-nums", children: loading ? /* @__PURE__ */ jsxs9("span", { className: "inline-flex items-center gap-1", children: [
4321
- /* @__PURE__ */ jsx11(SpinnerIcon, { className: "h-3 w-3 animate-spin" }),
5241
+ /* @__PURE__ */ jsxs8("span", { className: "min-w-0 flex-1", children: [
5242
+ /* @__PURE__ */ jsx10("span", { className: "block truncate text-sm font-medium text-foreground", children: info.labelPlural }),
5243
+ /* @__PURE__ */ jsx10("span", { className: "block text-xs text-muted-foreground tabular-nums", children: loading ? /* @__PURE__ */ jsxs8("span", { className: "inline-flex items-center gap-1", children: [
5244
+ /* @__PURE__ */ jsx10(SpinnerIcon, { className: "h-3 w-3 animate-spin" }),
4322
5245
  "Loading\u2026"
4323
5246
  ] }) : `${count} ${countWord}` })
4324
5247
  ] })
4325
5248
  ]
4326
5249
  }
4327
5250
  ),
4328
- canAttach && /* @__PURE__ */ jsx11(
5251
+ canAttach && /* @__PURE__ */ jsx10(
4329
5252
  "button",
4330
5253
  {
4331
5254
  type: "button",
@@ -4333,13 +5256,13 @@ function AssociationCard({
4333
5256
  "aria-label": `Attach ${info.labelPlural.toLowerCase()}`,
4334
5257
  title: `Attach ${info.labelPlural.toLowerCase()}`,
4335
5258
  className: "mr-2 flex h-11 w-11 shrink-0 items-center justify-center rounded-md border border-border text-muted-foreground transition-colors hover:border-primary/60 hover:text-foreground lg:mr-3 lg:h-7 lg:w-7",
4336
- children: /* @__PURE__ */ jsx11(PlusIcon4, { className: "h-4 w-4" })
5259
+ children: /* @__PURE__ */ jsx10(PlusIcon4, { className: "h-4 w-4" })
4337
5260
  }
4338
5261
  )
4339
5262
  ]
4340
5263
  }
4341
5264
  ),
4342
- listOpen && /* @__PURE__ */ jsx11(
5265
+ listOpen && /* @__PURE__ */ jsx10(
4343
5266
  AttachedItemsSheet,
4344
5267
  {
4345
5268
  open: listOpen,
@@ -4358,7 +5281,7 @@ function AssociationCard({
4358
5281
  onSetPinned: (resourceId, pinned, role2) => setPinned(token, resourceId, pinned, role2 ?? void 0)
4359
5282
  }
4360
5283
  ),
4361
- canAttach && /* @__PURE__ */ jsx11(
5284
+ canAttach && /* @__PURE__ */ jsx10(
4362
5285
  AssociationPicker,
4363
5286
  {
4364
5287
  open,
@@ -4377,7 +5300,7 @@ function AssociationCard({
4377
5300
 
4378
5301
  // src/react/components/AssociationCardGrid.tsx
4379
5302
  import { cn as cn8 } from "@ai-matrx/design-system";
4380
- import { jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
5303
+ import { jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
4381
5304
  var SIMPLE_GROUP_LABEL = "mb-1 text-xs font-medium uppercase tracking-wider text-muted-foreground";
4382
5305
  var SIMPLE_TILE_ROW = "flex flex-wrap gap-2 [&>*]:min-w-[16rem] [&>*]:flex-1";
4383
5306
  var TILE_GRID = "grid grid-cols-1 gap-2 @md:grid-cols-2 @3xl:grid-cols-3";
@@ -4386,11 +5309,11 @@ function GroupHeader({
4386
5309
  title,
4387
5310
  dotClassName
4388
5311
  }) {
4389
- if (look !== "tiles") return /* @__PURE__ */ jsx12("h3", { className: SIMPLE_GROUP_LABEL, children: title });
4390
- return /* @__PURE__ */ jsx12("div", { className: "mb-2.5 flex items-baseline gap-3 pl-1.5", children: dotClassName ? /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-2", children: [
4391
- /* @__PURE__ */ jsx12("span", { className: cn8("h-2.5 w-2.5 rounded-full", dotClassName) }),
4392
- /* @__PURE__ */ jsx12("h3", { className: "text-sm font-semibold text-foreground", children: title })
4393
- ] }) : /* @__PURE__ */ jsx12("h3", { className: "text-sm font-semibold text-foreground", children: title }) });
5312
+ if (look !== "tiles") return /* @__PURE__ */ jsx11("h3", { className: SIMPLE_GROUP_LABEL, children: title });
5313
+ return /* @__PURE__ */ jsx11("div", { className: "mb-2.5 flex items-baseline gap-3 pl-1.5", children: dotClassName ? /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-2", children: [
5314
+ /* @__PURE__ */ jsx11("span", { className: cn8("h-2.5 w-2.5 rounded-full", dotClassName) }),
5315
+ /* @__PURE__ */ jsx11("h3", { className: "text-sm font-semibold text-foreground", children: title })
5316
+ ] }) : /* @__PURE__ */ jsx11("h3", { className: "text-sm font-semibold text-foreground", children: title }) });
4394
5317
  }
4395
5318
  function AssociationCardGrid({
4396
5319
  tokens,
@@ -4403,13 +5326,13 @@ function AssociationCardGrid({
4403
5326
  const excluded = new Set(excludeTokens ?? []);
4404
5327
  const filing = primary?.direction === "outgoing";
4405
5328
  const links = useContainerLinks(containerLinksArgs(primary));
4406
- const base2 = tokens ?? store.registry.curatedTokens();
5329
+ const base = tokens ?? store.registry.curatedTokens();
4407
5330
  const withPresent = filing ? [
4408
- ...base2,
5331
+ ...base,
4409
5332
  ...links.presentTokens.filter(
4410
- (t) => isEntityTypeToken(t) && !base2.includes(t)
5333
+ (t) => isEntityTypeToken(t) && !base.includes(t)
4411
5334
  )
4412
- ] : base2;
5335
+ ] : base;
4413
5336
  const list = withPresent.filter(
4414
5337
  (token) => !excluded.has(token) && (!filing || isAssociationTargetType(token))
4415
5338
  );
@@ -4419,7 +5342,7 @@ function AssociationCardGrid({
4419
5342
  return !role || !roleIds.has(role);
4420
5343
  }) : [];
4421
5344
  const rowClass = look !== "tiles" ? SIMPLE_TILE_ROW : TILE_GRID;
4422
- return /* @__PURE__ */ jsxs10(
5345
+ return /* @__PURE__ */ jsxs9(
4423
5346
  "div",
4424
5347
  {
4425
5348
  "data-association-grid-look": look,
@@ -4430,8 +5353,8 @@ function AssociationCardGrid({
4430
5353
  (token) => store.registry.getEntityInfo(token).contentRole === role.id
4431
5354
  );
4432
5355
  if (inRole.length === 0) return null;
4433
- return /* @__PURE__ */ jsxs10("section", { children: [
4434
- /* @__PURE__ */ jsx12(
5356
+ return /* @__PURE__ */ jsxs9("section", { children: [
5357
+ /* @__PURE__ */ jsx11(
4435
5358
  GroupHeader,
4436
5359
  {
4437
5360
  look,
@@ -4439,18 +5362,18 @@ function AssociationCardGrid({
4439
5362
  dotClassName: role.accentBar
4440
5363
  }
4441
5364
  ),
4442
- /* @__PURE__ */ jsx12("div", { className: rowClass, children: inRole.map((token) => /* @__PURE__ */ jsx12(AssociationCard, { token, look }, token)) })
5365
+ /* @__PURE__ */ jsx11("div", { className: rowClass, children: inRole.map((token) => /* @__PURE__ */ jsx11(AssociationCard, { token, look }, token)) })
4443
5366
  ] }, role.id);
4444
5367
  }),
4445
- roleless.length > 0 && /* @__PURE__ */ jsxs10("section", { children: [
4446
- /* @__PURE__ */ jsx12(
5368
+ roleless.length > 0 && /* @__PURE__ */ jsxs9("section", { children: [
5369
+ /* @__PURE__ */ jsx11(
4447
5370
  GroupHeader,
4448
5371
  {
4449
5372
  look,
4450
5373
  title: "Filed under"
4451
5374
  }
4452
5375
  ),
4453
- /* @__PURE__ */ jsx12("div", { className: rowClass, children: roleless.map((token) => /* @__PURE__ */ jsx12(AssociationCard, { token, look }, token)) })
5376
+ /* @__PURE__ */ jsx11("div", { className: rowClass, children: roleless.map((token) => /* @__PURE__ */ jsx11(AssociationCard, { token, look }, token)) })
4454
5377
  ] })
4455
5378
  ]
4456
5379
  }
@@ -4462,7 +5385,7 @@ import { useState as useState10 } from "react";
4462
5385
  import { cn as cn9, Skeleton } from "@ai-matrx/design-system";
4463
5386
  import { PinIcon as PinIcon2, PlusIcon as PlusIcon5, XIcon as XIcon4 } from "@ai-matrx/design-system/icons";
4464
5387
  import { openOutbound } from "@ai-matrx/kit/outbound";
4465
- import { jsx as jsx13, jsxs as jsxs11 } from "react/jsx-runtime";
5388
+ import { jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
4466
5389
  function metadataIsPinned2(metadata) {
4467
5390
  return metadata !== null && typeof metadata === "object" && !Array.isArray(metadata) && Reflect.get(metadata, "pinned") === true;
4468
5391
  }
@@ -4573,15 +5496,15 @@ function AssociationList(props) {
4573
5496
  const grouped = groupRows(store, visibleRows);
4574
5497
  const isLoading = adapter.status === "loading" || adapter.status === "idle";
4575
5498
  const attachableTokens = tokenFilter ?? store.registry.listableTokens();
4576
- return /* @__PURE__ */ jsxs11("div", { className: cn9("flex flex-col gap-2 text-foreground", props.className), children: [
4577
- /* @__PURE__ */ jsxs11("div", { className: cn9("flex items-center gap-2 px-1", props.title === null ? "justify-end" : "justify-between"), children: [
4578
- props.title === null ? null : /* @__PURE__ */ jsxs11("h3", { className: "flex items-center gap-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: [
4579
- /* @__PURE__ */ jsx13(Link2Icon, { className: "h-3.5 w-3.5" }),
5499
+ return /* @__PURE__ */ jsxs10("div", { className: cn9("flex flex-col gap-2 text-foreground", props.className), children: [
5500
+ /* @__PURE__ */ jsxs10("div", { className: cn9("flex items-center gap-2 px-1", props.title === null ? "justify-end" : "justify-between"), children: [
5501
+ props.title === null ? null : /* @__PURE__ */ jsxs10("h3", { className: "flex items-center gap-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: [
5502
+ /* @__PURE__ */ jsx12(Link2Icon, { className: "h-3.5 w-3.5" }),
4580
5503
  props.title ?? "Resources",
4581
- visibleRows.length > 0 && /* @__PURE__ */ jsx13("span", { className: "rounded bg-muted px-1 text-[10px] font-medium text-muted-foreground", children: visibleRows.length })
5504
+ visibleRows.length > 0 && /* @__PURE__ */ jsx12("span", { className: "rounded bg-muted px-1 text-[10px] font-medium text-muted-foreground", children: visibleRows.length })
4582
5505
  ] }),
4583
- /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-1.5", children: [
4584
- /* @__PURE__ */ jsxs11(
5506
+ /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-1.5", children: [
5507
+ /* @__PURE__ */ jsxs10(
4585
5508
  "button",
4586
5509
  {
4587
5510
  type: "button",
@@ -4591,19 +5514,19 @@ function AssociationList(props) {
4591
5514
  showUniversal ? "bg-accent text-foreground" : "text-muted-foreground hover:bg-accent hover:text-foreground"
4592
5515
  ),
4593
5516
  children: [
4594
- /* @__PURE__ */ jsx13(PlusIcon5, { className: "h-3 w-3" }),
5517
+ /* @__PURE__ */ jsx12(PlusIcon5, { className: "h-3 w-3" }),
4595
5518
  "Add"
4596
5519
  ]
4597
5520
  }
4598
5521
  ),
4599
- /* @__PURE__ */ jsx13(
5522
+ /* @__PURE__ */ jsx12(
4600
5523
  "button",
4601
5524
  {
4602
5525
  type: "button",
4603
5526
  onClick: () => void adapter.reload(),
4604
5527
  title: "Refresh",
4605
5528
  className: "text-muted-foreground/60 transition-colors hover:text-foreground",
4606
- children: /* @__PURE__ */ jsx13(
5529
+ children: /* @__PURE__ */ jsx12(
4607
5530
  RefreshIcon,
4608
5531
  {
4609
5532
  className: cn9(
@@ -4616,7 +5539,7 @@ function AssociationList(props) {
4616
5539
  )
4617
5540
  ] })
4618
5541
  ] }),
4619
- showUniversal && /* @__PURE__ */ jsx13("div", { className: "rounded-md border border-border/60 bg-muted/30 p-2 max-h-80 flex flex-col", children: /* @__PURE__ */ jsx13(
5542
+ showUniversal && /* @__PURE__ */ jsx12("div", { className: "rounded-md border border-border/60 bg-muted/30 p-2 max-h-80 flex flex-col", children: /* @__PURE__ */ jsx12(
4620
5543
  UniversalAssociationPicker,
4621
5544
  {
4622
5545
  tokens: attachableTokens,
@@ -4626,9 +5549,9 @@ function AssociationList(props) {
4626
5549
  onDetach: (token, id) => adapter.detach(token, id)
4627
5550
  }
4628
5551
  ) }),
4629
- adapter.status === "error" && /* @__PURE__ */ jsxs11("div", { className: "flex items-center justify-between gap-2 rounded-md border border-destructive/40 bg-destructive/10 px-2.5 py-2", children: [
4630
- /* @__PURE__ */ jsx13("span", { className: "truncate text-[11px] text-destructive", children: adapter.error || "Failed to load resources" }),
4631
- /* @__PURE__ */ jsx13(
5552
+ adapter.status === "error" && /* @__PURE__ */ jsxs10("div", { className: "flex items-center justify-between gap-2 rounded-md border border-destructive/40 bg-destructive/10 px-2.5 py-2", children: [
5553
+ /* @__PURE__ */ jsx12("span", { className: "truncate text-[11px] text-destructive", children: adapter.error || "Failed to load resources" }),
5554
+ /* @__PURE__ */ jsx12(
4632
5555
  "button",
4633
5556
  {
4634
5557
  type: "button",
@@ -4638,17 +5561,17 @@ function AssociationList(props) {
4638
5561
  }
4639
5562
  )
4640
5563
  ] }),
4641
- adapter.status !== "error" && isLoading && visibleRows.length === 0 && /* @__PURE__ */ jsxs11("div", { className: "space-y-1.5 px-1", children: [
4642
- /* @__PURE__ */ jsx13(Skeleton, { className: "h-3 w-20" }),
4643
- /* @__PURE__ */ jsx13(Skeleton, { className: "h-7 w-full rounded-md" }),
4644
- /* @__PURE__ */ jsx13(Skeleton, { className: "h-7 w-3/4 rounded-md" })
5564
+ adapter.status !== "error" && isLoading && visibleRows.length === 0 && /* @__PURE__ */ jsxs10("div", { className: "space-y-1.5 px-1", children: [
5565
+ /* @__PURE__ */ jsx12(Skeleton, { className: "h-3 w-20" }),
5566
+ /* @__PURE__ */ jsx12(Skeleton, { className: "h-7 w-full rounded-md" }),
5567
+ /* @__PURE__ */ jsx12(Skeleton, { className: "h-7 w-3/4 rounded-md" })
4645
5568
  ] }),
4646
- adapter.status === "ready" && visibleRows.length === 0 && /* @__PURE__ */ jsx13("p", { className: "px-1 py-1 text-[11px] text-muted-foreground", children: "Nothing attached yet \u2014 use Add to link anything." }),
4647
- visibleRows.length > 0 && /* @__PURE__ */ jsx13("div", { className: "space-y-2.5", children: grouped.map(({ role, tokens: tokenGroups }) => {
5569
+ adapter.status === "ready" && visibleRows.length === 0 && /* @__PURE__ */ jsx12("p", { className: "px-1 py-1 text-[11px] text-muted-foreground", children: "Nothing attached yet \u2014 use Add to link anything." }),
5570
+ visibleRows.length > 0 && /* @__PURE__ */ jsx12("div", { className: "space-y-2.5", children: grouped.map(({ role, tokens: tokenGroups }) => {
4648
5571
  const roleMeta = getContentRoleMeta(role);
4649
- return /* @__PURE__ */ jsxs11("div", { className: "space-y-1.5", children: [
4650
- variant === "full" && /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-1.5 px-1", children: [
4651
- /* @__PURE__ */ jsx13(
5572
+ return /* @__PURE__ */ jsxs10("div", { className: "space-y-1.5", children: [
5573
+ variant === "full" && /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-1.5 px-1", children: [
5574
+ /* @__PURE__ */ jsx12(
4652
5575
  "span",
4653
5576
  {
4654
5577
  className: cn9(
@@ -4657,7 +5580,7 @@ function AssociationList(props) {
4657
5580
  )
4658
5581
  }
4659
5582
  ),
4660
- /* @__PURE__ */ jsx13(
5583
+ /* @__PURE__ */ jsx12(
4661
5584
  "p",
4662
5585
  {
4663
5586
  className: cn9(
@@ -4670,28 +5593,28 @@ function AssociationList(props) {
4670
5593
  ] }),
4671
5594
  tokenGroups.map(({ info, token, rows: tokenRows }) => {
4672
5595
  const TokenIcon = info?.Icon ?? null;
4673
- return /* @__PURE__ */ jsxs11("div", { className: "space-y-0.5", children: [
4674
- /* @__PURE__ */ jsxs11("div", { className: "flex items-center justify-between gap-1 px-1", children: [
4675
- /* @__PURE__ */ jsxs11("p", { className: "flex items-center gap-1 text-[10px] font-medium text-muted-foreground/80", children: [
4676
- TokenIcon ? /* @__PURE__ */ jsx13(TokenIcon, { className: "h-3 w-3" }) : null,
5596
+ return /* @__PURE__ */ jsxs10("div", { className: "space-y-0.5", children: [
5597
+ /* @__PURE__ */ jsxs10("div", { className: "flex items-center justify-between gap-1 px-1", children: [
5598
+ /* @__PURE__ */ jsxs10("p", { className: "flex items-center gap-1 text-[10px] font-medium text-muted-foreground/80", children: [
5599
+ TokenIcon ? /* @__PURE__ */ jsx12(TokenIcon, { className: "h-3 w-3" }) : null,
4677
5600
  info?.labelPlural ?? titleize(token),
4678
- /* @__PURE__ */ jsx13("span", { className: "text-muted-foreground/50", children: tokenRows.length })
5601
+ /* @__PURE__ */ jsx12("span", { className: "text-muted-foreground/50", children: tokenRows.length })
4679
5602
  ] }),
4680
- /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-1", children: [
5603
+ /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-1", children: [
4681
5604
  props.renderSectionActions && info ? props.renderSectionActions(info.token) : null,
4682
- info?.canListCandidates && /* @__PURE__ */ jsx13(
5605
+ info?.canListCandidates && /* @__PURE__ */ jsx12(
4683
5606
  "button",
4684
5607
  {
4685
5608
  type: "button",
4686
5609
  onClick: () => setPickerToken(info.token),
4687
5610
  title: `Add ${info.labelPlural}`,
4688
5611
  className: "rounded p-0.5 text-muted-foreground/60 transition-colors hover:bg-accent hover:text-foreground",
4689
- children: /* @__PURE__ */ jsx13(PlusIcon5, { className: "h-3 w-3" })
5612
+ children: /* @__PURE__ */ jsx12(PlusIcon5, { className: "h-3 w-3" })
4690
5613
  }
4691
5614
  )
4692
5615
  ] })
4693
5616
  ] }),
4694
- /* @__PURE__ */ jsx13("ul", { className: "space-y-0.5", children: tokenRows.map((row) => {
5617
+ /* @__PURE__ */ jsx12("ul", { className: "space-y-0.5", children: tokenRows.map((row) => {
4695
5618
  const busy = removingKeys.has(row.key);
4696
5619
  const custom = props.renderRow?.(row, {
4697
5620
  title: titleFor({
@@ -4704,9 +5627,9 @@ function AssociationList(props) {
4704
5627
  onOpen: () => openRow(row)
4705
5628
  });
4706
5629
  if (custom != null) {
4707
- return /* @__PURE__ */ jsx13("li", { children: custom }, row.key);
5630
+ return /* @__PURE__ */ jsx12("li", { children: custom }, row.key);
4708
5631
  }
4709
- return /* @__PURE__ */ jsx13("li", { children: /* @__PURE__ */ jsxs11(
5632
+ return /* @__PURE__ */ jsx12("li", { children: /* @__PURE__ */ jsxs10(
4710
5633
  "div",
4711
5634
  {
4712
5635
  className: cn9(
@@ -4718,7 +5641,7 @@ function AssociationList(props) {
4718
5641
  token: row.token,
4719
5642
  id: row.resourceId,
4720
5643
  label: row.label
4721
- }) ? /* @__PURE__ */ jsx13("span", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsx13(UnresolvedRef, { token: row.token, id: row.resourceId }) }) : /* @__PURE__ */ jsx13(
5644
+ }) ? /* @__PURE__ */ jsx12("span", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsx12(UnresolvedRef, { token: row.token, id: row.resourceId }) }) : /* @__PURE__ */ jsx12(
4722
5645
  DoorRef,
4723
5646
  {
4724
5647
  token: row.token,
@@ -4734,9 +5657,9 @@ function AssociationList(props) {
4734
5657
  className: "min-w-0 flex-1 text-foreground"
4735
5658
  }
4736
5659
  ),
4737
- row.originRefs && row.originRefs.length > 0 ? /* @__PURE__ */ jsxs11("span", { className: "flex shrink-0 items-center gap-1 text-[10px] text-muted-foreground/60", children: [
5660
+ row.originRefs && row.originRefs.length > 0 ? /* @__PURE__ */ jsxs10("span", { className: "flex shrink-0 items-center gap-1 text-[10px] text-muted-foreground/60", children: [
4738
5661
  "via",
4739
- row.originRefs.map((origin) => /* @__PURE__ */ jsx13(
5662
+ row.originRefs.map((origin) => /* @__PURE__ */ jsx12(
4740
5663
  DoorRef,
4741
5664
  {
4742
5665
  token: origin.token,
@@ -4748,8 +5671,8 @@ function AssociationList(props) {
4748
5671
  },
4749
5672
  `${origin.token}:${origin.id}`
4750
5673
  ))
4751
- ] }) : row.originNote ? /* @__PURE__ */ jsx13("span", { className: "shrink-0 text-[10px] text-muted-foreground/60", children: row.originNote }) : null,
4752
- adapter.setPinned && info && row.removable && /* @__PURE__ */ jsx13(
5674
+ ] }) : row.originNote ? /* @__PURE__ */ jsx12("span", { className: "shrink-0 text-[10px] text-muted-foreground/60", children: row.originNote }) : null,
5675
+ adapter.setPinned && info && row.removable && /* @__PURE__ */ jsx12(
4753
5676
  "button",
4754
5677
  {
4755
5678
  type: "button",
@@ -4761,7 +5684,7 @@ function AssociationList(props) {
4761
5684
  "shrink-0 rounded p-0.5 transition-colors hover:!text-foreground",
4762
5685
  row.pinned ? "text-primary" : "text-muted-foreground/0 group-hover:text-muted-foreground"
4763
5686
  ),
4764
- children: pinningKeys.has(row.key) ? /* @__PURE__ */ jsx13(SpinnerIcon, { className: "h-3 w-3 animate-spin" }) : /* @__PURE__ */ jsx13(
5687
+ children: pinningKeys.has(row.key) ? /* @__PURE__ */ jsx12(SpinnerIcon, { className: "h-3 w-3 animate-spin" }) : /* @__PURE__ */ jsx12(
4765
5688
  PinIcon2,
4766
5689
  {
4767
5690
  className: cn9(
@@ -4772,7 +5695,7 @@ function AssociationList(props) {
4772
5695
  )
4773
5696
  }
4774
5697
  ),
4775
- row.removable && /* @__PURE__ */ jsx13(
5698
+ row.removable && /* @__PURE__ */ jsx12(
4776
5699
  "button",
4777
5700
  {
4778
5701
  type: "button",
@@ -4781,7 +5704,7 @@ function AssociationList(props) {
4781
5704
  title: "Detach",
4782
5705
  "aria-label": "Detach",
4783
5706
  className: "shrink-0 rounded p-0.5 text-muted-foreground/0 transition-colors group-hover:text-muted-foreground hover:!text-destructive disabled:opacity-50",
4784
- children: busy ? /* @__PURE__ */ jsx13(SpinnerIcon, { className: "h-3 w-3 animate-spin" }) : /* @__PURE__ */ jsx13(XIcon4, { className: "h-3 w-3" })
5707
+ children: busy ? /* @__PURE__ */ jsx12(SpinnerIcon, { className: "h-3 w-3 animate-spin" }) : /* @__PURE__ */ jsx12(XIcon4, { className: "h-3 w-3" })
4785
5708
  }
4786
5709
  )
4787
5710
  ]
@@ -4792,7 +5715,7 @@ function AssociationList(props) {
4792
5715
  })
4793
5716
  ] }, role);
4794
5717
  }) }),
4795
- pickerToken && /* @__PURE__ */ jsx13(
5718
+ pickerToken && /* @__PURE__ */ jsx12(
4796
5719
  AssociationPicker,
4797
5720
  {
4798
5721
  open: true,
@@ -4852,7 +5775,7 @@ import { useRef as useRef8, useState as useState11 } from "react";
4852
5775
  import { Button as Button2, cn as cn10, Input as Input3 } from "@ai-matrx/design-system";
4853
5776
  import { PlusIcon as PlusIcon6 } from "@ai-matrx/design-system/icons";
4854
5777
  import { openOutbound as openOutbound2 } from "@ai-matrx/kit/outbound";
4855
- import { Fragment as Fragment4, jsx as jsx14, jsxs as jsxs12 } from "react/jsx-runtime";
5778
+ import { Fragment as Fragment4, jsx as jsx13, jsxs as jsxs11 } from "react/jsx-runtime";
4856
5779
  function AssociationCaptureToolbar({
4857
5780
  attach,
4858
5781
  uploadFolderPath,
@@ -5085,7 +6008,7 @@ function AssociationCaptureToolbar({
5085
6008
  }
5086
6009
  };
5087
6010
  const anyBuiltIn = actions.upload || actions.addFile || actions.newDocument;
5088
- return /* @__PURE__ */ jsxs12(
6011
+ return /* @__PURE__ */ jsxs11(
5089
6012
  "div",
5090
6013
  {
5091
6014
  className: cn10(
@@ -5106,11 +6029,11 @@ function AssociationCaptureToolbar({
5106
6029
  },
5107
6030
  onDrop: handleDrop,
5108
6031
  children: [
5109
- isDragOver ? /* @__PURE__ */ jsx14("div", { className: "pointer-events-none absolute inset-0 z-10 grid place-items-center bg-background/70", children: /* @__PURE__ */ jsxs12("span", { className: "flex items-center gap-2 rounded-md border border-primary/40 bg-card px-3 py-1.5 text-xs font-medium text-foreground", children: [
5110
- /* @__PURE__ */ jsx14(UploadIcon, { className: "size-3.5 text-primary" }),
6032
+ isDragOver ? /* @__PURE__ */ jsx13("div", { className: "pointer-events-none absolute inset-0 z-10 grid place-items-center bg-background/70", children: /* @__PURE__ */ jsxs11("span", { className: "flex items-center gap-2 rounded-md border border-primary/40 bg-card px-3 py-1.5 text-xs font-medium text-foreground", children: [
6033
+ /* @__PURE__ */ jsx13(UploadIcon, { className: "size-3.5 text-primary" }),
5111
6034
  "Drop to upload & attach"
5112
6035
  ] }) }) : null,
5113
- /* @__PURE__ */ jsx14(
6036
+ /* @__PURE__ */ jsx13(
5114
6037
  "input",
5115
6038
  {
5116
6039
  ref: fileInputRef,
@@ -5120,8 +6043,8 @@ function AssociationCaptureToolbar({
5120
6043
  onChange: handleFilesSelected
5121
6044
  }
5122
6045
  ),
5123
- showToolbar && (anyBuiltIn || extraActions) ? /* @__PURE__ */ jsx14("div", { className: "flex flex-wrap items-center gap-0.5 border-b border-border/60 px-1.5 py-1", children: namingDoc ? /* @__PURE__ */ jsxs12("div", { className: "flex flex-1 items-center gap-1.5 py-0.5", children: [
5124
- /* @__PURE__ */ jsx14(
6046
+ showToolbar && (anyBuiltIn || extraActions) ? /* @__PURE__ */ jsx13("div", { className: "flex flex-wrap items-center gap-0.5 border-b border-border/60 px-1.5 py-1", children: namingDoc ? /* @__PURE__ */ jsxs11("div", { className: "flex flex-1 items-center gap-1.5 py-0.5", children: [
6047
+ /* @__PURE__ */ jsx13(
5125
6048
  Input3,
5126
6049
  {
5127
6050
  autoFocus: true,
@@ -5140,17 +6063,17 @@ function AssociationCaptureToolbar({
5140
6063
  style: { fontSize: 16 }
5141
6064
  }
5142
6065
  ),
5143
- /* @__PURE__ */ jsx14(
6066
+ /* @__PURE__ */ jsx13(
5144
6067
  "button",
5145
6068
  {
5146
6069
  type: "button",
5147
6070
  disabled: creatingDoc || !docName.trim(),
5148
6071
  onClick: () => void handleCreateDoc(),
5149
6072
  className: "flex h-7 items-center rounded-md bg-primary px-2 text-[11px] font-medium text-primary-foreground disabled:opacity-50",
5150
- children: creatingDoc ? /* @__PURE__ */ jsx14(SpinnerIcon, { className: "size-3.5 animate-spin" }) : "Create"
6073
+ children: creatingDoc ? /* @__PURE__ */ jsx13(SpinnerIcon, { className: "size-3.5 animate-spin" }) : "Create"
5151
6074
  }
5152
6075
  ),
5153
- /* @__PURE__ */ jsx14(
6076
+ /* @__PURE__ */ jsx13(
5154
6077
  "button",
5155
6078
  {
5156
6079
  type: "button",
@@ -5163,8 +6086,8 @@ function AssociationCaptureToolbar({
5163
6086
  children: "Cancel"
5164
6087
  }
5165
6088
  )
5166
- ] }) : /* @__PURE__ */ jsxs12(Fragment4, { children: [
5167
- actions.upload ? /* @__PURE__ */ jsx14(
6089
+ ] }) : /* @__PURE__ */ jsxs11(Fragment4, { children: [
6090
+ actions.upload ? /* @__PURE__ */ jsx13(
5168
6091
  CaptureToolbarAction,
5169
6092
  {
5170
6093
  icon: isUploading ? SpinnerIcon : UploadIcon,
@@ -5174,7 +6097,7 @@ function AssociationCaptureToolbar({
5174
6097
  disabled: isPicking || isUploading
5175
6098
  }
5176
6099
  ) : null,
5177
- actions.addFile ? /* @__PURE__ */ jsx14(
6100
+ actions.addFile ? /* @__PURE__ */ jsx13(
5178
6101
  CaptureToolbarAction,
5179
6102
  {
5180
6103
  icon: isPicking ? SpinnerIcon : FolderOpenIcon,
@@ -5184,8 +6107,8 @@ function AssociationCaptureToolbar({
5184
6107
  disabled: isPicking || isUploading
5185
6108
  }
5186
6109
  ) : null,
5187
- (actions.upload || actions.addFile) && actions.newDocument ? /* @__PURE__ */ jsx14("span", { className: "mx-1 h-4 w-px bg-border" }) : null,
5188
- actions.newDocument ? /* @__PURE__ */ jsx14(
6110
+ (actions.upload || actions.addFile) && actions.newDocument ? /* @__PURE__ */ jsx13("span", { className: "mx-1 h-4 w-px bg-border" }) : null,
6111
+ actions.newDocument ? /* @__PURE__ */ jsx13(
5189
6112
  CaptureToolbarAction,
5190
6113
  {
5191
6114
  icon: creatingDoc ? SpinnerIcon : PlusIcon6,
@@ -5209,7 +6132,7 @@ function CaptureToolbarAction({
5209
6132
  disabled,
5210
6133
  spinning
5211
6134
  }) {
5212
- return /* @__PURE__ */ jsxs12(
6135
+ return /* @__PURE__ */ jsxs11(
5213
6136
  Button2,
5214
6137
  {
5215
6138
  type: "button",
@@ -5219,7 +6142,7 @@ function CaptureToolbarAction({
5219
6142
  disabled,
5220
6143
  className: "h-7 gap-1 px-2 text-[11px] text-muted-foreground hover:text-foreground",
5221
6144
  children: [
5222
- /* @__PURE__ */ jsx14(Icon, { className: cn10("size-3.5", spinning && "animate-spin") }),
6145
+ /* @__PURE__ */ jsx13(Icon, { className: cn10("size-3.5", spinning && "animate-spin") }),
5223
6146
  label
5224
6147
  ]
5225
6148
  }
@@ -5228,7 +6151,7 @@ function CaptureToolbarAction({
5228
6151
 
5229
6152
  // src/react/lazyPorts.tsx
5230
6153
  import { Suspense, lazy } from "react";
5231
- import { jsx as jsx15 } from "react/jsx-runtime";
6154
+ import { jsx as jsx14 } from "react/jsx-runtime";
5232
6155
  function lazyComponent(load) {
5233
6156
  return lazy(async () => {
5234
6157
  const loaded = await load();
@@ -5238,14 +6161,14 @@ function lazyComponent(load) {
5238
6161
  function lazyWindowShell(load) {
5239
6162
  const Loaded = lazyComponent(load);
5240
6163
  return function LazyWindowShell(props) {
5241
- return /* @__PURE__ */ jsx15(Suspense, { fallback: null, children: /* @__PURE__ */ jsx15(Loaded, { ...props }) });
6164
+ return /* @__PURE__ */ jsx14(Suspense, { fallback: null, children: /* @__PURE__ */ jsx14(Loaded, { ...props }) });
5242
6165
  };
5243
6166
  }
5244
6167
  function lazyPickerOverride(load) {
5245
6168
  const Loaded = lazyComponent(load);
5246
6169
  return function LazyPickerOverride(props) {
5247
6170
  if (!props.open) return null;
5248
- return /* @__PURE__ */ jsx15(Suspense, { fallback: null, children: /* @__PURE__ */ jsx15(Loaded, { ...props }) });
6171
+ return /* @__PURE__ */ jsx14(Suspense, { fallback: null, children: /* @__PURE__ */ jsx14(Loaded, { ...props }) });
5249
6172
  };
5250
6173
  }
5251
6174
 
@@ -5372,7 +6295,7 @@ import {
5372
6295
  PopoverTrigger
5373
6296
  } from "@ai-matrx/design-system";
5374
6297
  import { CheckIcon as CheckIcon3, ChevronDownIcon, PlusIcon as PlusIcon7, XIcon as XIcon5 } from "@ai-matrx/design-system/icons";
5375
- import { jsx as jsx16, jsxs as jsxs13 } from "react/jsx-runtime";
6298
+ import { jsx as jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
5376
6299
  function AssociationEntitySelect({
5377
6300
  token,
5378
6301
  adapter,
@@ -5413,7 +6336,7 @@ function AssociationEntitySelect({
5413
6336
  if (id) close();
5414
6337
  else notifier.error(`Couldn't create the ${entityLabel}`);
5415
6338
  };
5416
- return /* @__PURE__ */ jsxs13(
6339
+ return /* @__PURE__ */ jsxs12(
5417
6340
  "div",
5418
6341
  {
5419
6342
  className: cn11(
@@ -5421,7 +6344,7 @@ function AssociationEntitySelect({
5421
6344
  className
5422
6345
  ),
5423
6346
  children: [
5424
- showIcon ? /* @__PURE__ */ jsx16(
6347
+ showIcon ? /* @__PURE__ */ jsx15(
5425
6348
  InfoIcon,
5426
6349
  {
5427
6350
  className: cn11(
@@ -5431,7 +6354,7 @@ function AssociationEntitySelect({
5431
6354
  "aria-hidden": true
5432
6355
  }
5433
6356
  ) : null,
5434
- active ? /* @__PURE__ */ jsx16(
6357
+ active ? /* @__PURE__ */ jsx15(
5435
6358
  EditableLabel,
5436
6359
  {
5437
6360
  value: active.title,
@@ -5450,8 +6373,8 @@ function AssociationEntitySelect({
5450
6373
  inputClassName: "text-xs font-medium"
5451
6374
  }
5452
6375
  ) : null,
5453
- active ? /* @__PURE__ */ jsx16(DoorControlsSlot, { token, id: active.id, name: active.title }) : null,
5454
- !active ? /* @__PURE__ */ jsx16(
6376
+ active ? /* @__PURE__ */ jsx15(DoorControlsSlot, { token, id: active.id, name: active.title }) : null,
6377
+ !active ? /* @__PURE__ */ jsx15(
5455
6378
  "span",
5456
6379
  {
5457
6380
  className: cn11(
@@ -5461,13 +6384,13 @@ function AssociationEntitySelect({
5461
6384
  children: adapter.loading ? "\u2026" : emptyLabel ?? info.labelPlural
5462
6385
  }
5463
6386
  ) : null,
5464
- /* @__PURE__ */ jsxs13(
6387
+ /* @__PURE__ */ jsxs12(
5465
6388
  Popover,
5466
6389
  {
5467
6390
  open,
5468
6391
  onOpenChange: (next) => next ? setOpen(true) : close(),
5469
6392
  children: [
5470
- /* @__PURE__ */ jsx16(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs13(
6393
+ /* @__PURE__ */ jsx15(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs12(
5471
6394
  "button",
5472
6395
  {
5473
6396
  type: "button",
@@ -5475,17 +6398,17 @@ function AssociationEntitySelect({
5475
6398
  title: `Switch or add ${info.labelPlural.toLowerCase()}`,
5476
6399
  "aria-label": `Switch or add ${info.labelPlural.toLowerCase()}`,
5477
6400
  children: [
5478
- items.length > 1 ? /* @__PURE__ */ jsxs13("span", { className: "tabular-nums", children: [
6401
+ items.length > 1 ? /* @__PURE__ */ jsxs12("span", { className: "tabular-nums", children: [
5479
6402
  activeIndex >= 0 ? activeIndex + 1 : "\u2014",
5480
6403
  "/",
5481
6404
  items.length
5482
6405
  ] }) : null,
5483
- /* @__PURE__ */ jsx16(ChevronDownIcon, { className: "size-3 opacity-60" })
6406
+ /* @__PURE__ */ jsx15(ChevronDownIcon, { className: "size-3 opacity-60" })
5484
6407
  ]
5485
6408
  }
5486
6409
  ) }),
5487
- /* @__PURE__ */ jsx16(PopoverContent, { sizing: "content", className: "p-0", align, children: /* @__PURE__ */ jsxs13(Command, { children: [
5488
- items.length > 5 ? /* @__PURE__ */ jsx16(
6410
+ /* @__PURE__ */ jsx15(PopoverContent, { sizing: "content", className: "p-0", align, children: /* @__PURE__ */ jsxs12(Command, { children: [
6411
+ items.length > 5 ? /* @__PURE__ */ jsx15(
5489
6412
  CommandInput,
5490
6413
  {
5491
6414
  value: query,
@@ -5493,9 +6416,9 @@ function AssociationEntitySelect({
5493
6416
  placeholder: `Search ${info.labelPlural.toLowerCase()}\u2026`
5494
6417
  }
5495
6418
  ) : null,
5496
- /* @__PURE__ */ jsxs13(CommandList, { children: [
5497
- /* @__PURE__ */ jsx16(CommandEmpty, { children: "No match." }),
5498
- items.length > 0 ? /* @__PURE__ */ jsx16(CommandGroup, { children: items.map((item) => /* @__PURE__ */ jsxs13(
6419
+ /* @__PURE__ */ jsxs12(CommandList, { children: [
6420
+ /* @__PURE__ */ jsx15(CommandEmpty, { children: "No match." }),
6421
+ items.length > 0 ? /* @__PURE__ */ jsx15(CommandGroup, { children: items.map((item) => /* @__PURE__ */ jsxs12(
5499
6422
  CommandItem,
5500
6423
  {
5501
6424
  value: `${item.title} ${item.id}`,
@@ -5506,7 +6429,7 @@ function AssociationEntitySelect({
5506
6429
  },
5507
6430
  className: "group/entity-ref group gap-2",
5508
6431
  children: [
5509
- /* @__PURE__ */ jsx16(
6432
+ /* @__PURE__ */ jsx15(
5510
6433
  CheckIcon3,
5511
6434
  {
5512
6435
  className: cn11(
@@ -5515,8 +6438,8 @@ function AssociationEntitySelect({
5515
6438
  )
5516
6439
  }
5517
6440
  ),
5518
- /* @__PURE__ */ jsx16("span", { className: "min-w-0 flex-1 truncate", children: item.title }),
5519
- /* @__PURE__ */ jsx16(
6441
+ /* @__PURE__ */ jsx15("span", { className: "min-w-0 flex-1 truncate", children: item.title }),
6442
+ /* @__PURE__ */ jsx15(
5520
6443
  "span",
5521
6444
  {
5522
6445
  className: "inline-flex shrink-0 items-center",
@@ -5524,7 +6447,7 @@ function AssociationEntitySelect({
5524
6447
  e.preventDefault();
5525
6448
  e.stopPropagation();
5526
6449
  },
5527
- children: /* @__PURE__ */ jsx16(
6450
+ children: /* @__PURE__ */ jsx15(
5528
6451
  DoorControlsSlot,
5529
6452
  {
5530
6453
  token,
@@ -5534,7 +6457,7 @@ function AssociationEntitySelect({
5534
6457
  )
5535
6458
  }
5536
6459
  ),
5537
- adapter.detach && item.id !== activeId ? /* @__PURE__ */ jsx16(
6460
+ adapter.detach && item.id !== activeId ? /* @__PURE__ */ jsx15(
5538
6461
  "button",
5539
6462
  {
5540
6463
  type: "button",
@@ -5549,7 +6472,7 @@ function AssociationEntitySelect({
5549
6472
  className: "grid size-5 shrink-0 place-items-center rounded text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-destructive group-hover:opacity-100",
5550
6473
  title: `Remove this ${entityLabel} from here (does not delete it)`,
5551
6474
  "aria-label": `Remove ${item.title}`,
5552
- children: /* @__PURE__ */ jsx16(XIcon5, { className: "size-3" })
6475
+ children: /* @__PURE__ */ jsx15(XIcon5, { className: "size-3" })
5553
6476
  }
5554
6477
  ) : null
5555
6478
  ]
@@ -5557,9 +6480,9 @@ function AssociationEntitySelect({
5557
6480
  item.id
5558
6481
  )) }) : null
5559
6482
  ] }),
5560
- createSlot !== void 0 ? /* @__PURE__ */ jsx16("div", { className: "border-t border-border p-1", children: typeof createSlot === "function" ? createSlot(close) : createSlot }) : null,
5561
- createSlot === void 0 && adapter.createAndAttach ? /* @__PURE__ */ jsx16("div", { className: "border-t border-border p-1", children: creating ? /* @__PURE__ */ jsxs13("div", { className: "flex items-center gap-1 px-1 py-0.5", children: [
5562
- /* @__PURE__ */ jsx16(
6483
+ createSlot !== void 0 ? /* @__PURE__ */ jsx15("div", { className: "border-t border-border p-1", children: typeof createSlot === "function" ? createSlot(close) : createSlot }) : null,
6484
+ createSlot === void 0 && adapter.createAndAttach ? /* @__PURE__ */ jsx15("div", { className: "border-t border-border p-1", children: creating ? /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-1 px-1 py-0.5", children: [
6485
+ /* @__PURE__ */ jsx15(
5563
6486
  "input",
5564
6487
  {
5565
6488
  autoFocus: true,
@@ -5583,17 +6506,17 @@ function AssociationEntitySelect({
5583
6506
  "aria-label": `New ${entityLabel} name`
5584
6507
  }
5585
6508
  ),
5586
- /* @__PURE__ */ jsx16(
6509
+ /* @__PURE__ */ jsx15(
5587
6510
  "button",
5588
6511
  {
5589
6512
  type: "button",
5590
6513
  disabled: busy || !draftName.trim(),
5591
6514
  onClick: () => void create(draftName),
5592
6515
  className: "inline-flex h-6 shrink-0 items-center rounded-md px-1.5 text-[10px] font-medium text-primary transition-colors hover:bg-accent disabled:opacity-50",
5593
- children: busy ? /* @__PURE__ */ jsx16(SpinnerIcon, { className: "size-3 animate-spin" }) : "Create"
6516
+ children: busy ? /* @__PURE__ */ jsx15(SpinnerIcon, { className: "size-3 animate-spin" }) : "Create"
5594
6517
  }
5595
6518
  )
5596
- ] }) : /* @__PURE__ */ jsxs13(
6519
+ ] }) : /* @__PURE__ */ jsxs12(
5597
6520
  "button",
5598
6521
  {
5599
6522
  type: "button",
@@ -5604,7 +6527,7 @@ function AssociationEntitySelect({
5604
6527
  },
5605
6528
  className: "flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
5606
6529
  children: [
5607
- busy ? /* @__PURE__ */ jsx16(SpinnerIcon, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ jsx16(PlusIcon7, { className: "size-3.5" }),
6530
+ busy ? /* @__PURE__ */ jsx15(SpinnerIcon, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ jsx15(PlusIcon7, { className: "size-3.5" }),
5608
6531
  query.trim() ? `Create "${query.trim()}"` : `New ${info.label}`
5609
6532
  ]
5610
6533
  }
@@ -5694,7 +6617,7 @@ function buildCategoryHierarchy(categories) {
5694
6617
  }
5695
6618
 
5696
6619
  // src/react/components/CategorySelect.tsx
5697
- import { jsx as jsx17, jsxs as jsxs14 } from "react/jsx-runtime";
6620
+ import { jsx as jsx16, jsxs as jsxs13 } from "react/jsx-runtime";
5698
6621
  var NONE = "__none__";
5699
6622
  var ROOT_PARENT = "__root__";
5700
6623
  function plural(noun) {
@@ -5730,9 +6653,9 @@ function CategorySelect({
5730
6653
  // The type-ahead matches the parent's name too, so someone who knows
5731
6654
  // the branch but not the leaf still finds it.
5732
6655
  keywords: parent ? parent.name : "",
5733
- render: depth === 0 ? /* @__PURE__ */ jsx17("span", { className: "font-medium", children: category.name }) : /* @__PURE__ */ jsxs14("span", { className: "flex items-center gap-1.5 pl-3 text-muted-foreground", children: [
5734
- /* @__PURE__ */ jsx17(CornerDownRightIcon, { className: "h-3.5 w-3.5 shrink-0" }),
5735
- /* @__PURE__ */ jsx17("span", { className: "text-foreground", children: category.name })
6656
+ render: depth === 0 ? /* @__PURE__ */ jsx16("span", { className: "font-medium", children: category.name }) : /* @__PURE__ */ jsxs13("span", { className: "flex items-center gap-1.5 pl-3 text-muted-foreground", children: [
6657
+ /* @__PURE__ */ jsx16(CornerDownRightIcon, { className: "h-3.5 w-3.5 shrink-0" }),
6658
+ /* @__PURE__ */ jsx16("span", { className: "text-foreground", children: category.name })
5736
6659
  ] })
5737
6660
  })) : categories.map((category) => ({
5738
6661
  value: category.id,
@@ -5779,8 +6702,8 @@ function CategorySelect({
5779
6702
  );
5780
6703
  return result.id;
5781
6704
  };
5782
- return /* @__PURE__ */ jsxs14("div", { children: [
5783
- /* @__PURE__ */ jsx17(
6705
+ return /* @__PURE__ */ jsxs13("div", { children: [
6706
+ /* @__PURE__ */ jsx16(
5784
6707
  CreatablePicker,
5785
6708
  {
5786
6709
  value: value ?? (allowNone ? NONE : null),
@@ -5796,18 +6719,18 @@ function CategorySelect({
5796
6719
  emptyLabel: `No ${noun} matches that.`,
5797
6720
  ...allowCreate ? { onCreate: create } : {},
5798
6721
  ...allowCreate && hierarchy.hasHierarchy ? {
5799
- createExtra: /* @__PURE__ */ jsxs14(Select, { value: createParentId, onValueChange: setCreateParentId, children: [
5800
- /* @__PURE__ */ jsx17(
6722
+ createExtra: /* @__PURE__ */ jsxs13(Select, { value: createParentId, onValueChange: setCreateParentId, children: [
6723
+ /* @__PURE__ */ jsx16(
5801
6724
  SelectTrigger,
5802
6725
  {
5803
6726
  className: "h-7 text-xs",
5804
6727
  "aria-label": `Put the new ${noun} under`,
5805
- children: /* @__PURE__ */ jsx17(SelectValue, {})
6728
+ children: /* @__PURE__ */ jsx16(SelectValue, {})
5806
6729
  }
5807
6730
  ),
5808
- /* @__PURE__ */ jsxs14(SelectContent, { children: [
5809
- /* @__PURE__ */ jsx17(SelectItem, { value: ROOT_PARENT, className: "text-xs", children: "Top level" }),
5810
- hierarchy.items.filter((item) => item.depth === 0).map((item) => /* @__PURE__ */ jsxs14(
6731
+ /* @__PURE__ */ jsxs13(SelectContent, { children: [
6732
+ /* @__PURE__ */ jsx16(SelectItem, { value: ROOT_PARENT, className: "text-xs", children: "Top level" }),
6733
+ hierarchy.items.filter((item) => item.depth === 0).map((item) => /* @__PURE__ */ jsxs13(
5811
6734
  SelectItem,
5812
6735
  {
5813
6736
  value: item.category.id,
@@ -5827,13 +6750,13 @@ function CategorySelect({
5827
6750
  selected === null && value !== null ? (
5828
6751
  // A stored id whose row this reader cannot see is not "nothing chosen":
5829
6752
  // saying so beats a blank box that looks like an unsaved field.
5830
- /* @__PURE__ */ jsxs14("p", { className: "mt-1 text-xs text-muted-foreground", children: [
6753
+ /* @__PURE__ */ jsxs13("p", { className: "mt-1 text-xs text-muted-foreground", children: [
5831
6754
  "This ",
5832
6755
  noun,
5833
6756
  " is no longer available to you."
5834
6757
  ] })
5835
6758
  ) : null,
5836
- error ? /* @__PURE__ */ jsx17("p", { className: "mt-1 text-xs text-destructive", children: error }) : null
6759
+ error ? /* @__PURE__ */ jsx16("p", { className: "mt-1 text-xs text-destructive", children: error }) : null
5837
6760
  ] });
5838
6761
  }
5839
6762
 
@@ -5860,7 +6783,7 @@ import {
5860
6783
  SelectChevron
5861
6784
  } from "@ai-matrx/design-system";
5862
6785
  import { CheckIcon as CheckIcon4, XIcon as XIcon6 } from "@ai-matrx/design-system/icons";
5863
- import { jsx as jsx18, jsxs as jsxs15 } from "react/jsx-runtime";
6786
+ import { jsx as jsx17, jsxs as jsxs14 } from "react/jsx-runtime";
5864
6787
  var ROOT_PARENT2 = "__root__";
5865
6788
  function CategoryTagPicker({
5866
6789
  entityType,
@@ -5984,44 +6907,44 @@ function CategoryTagPicker({
5984
6907
  const exactMatch = categories.some(
5985
6908
  (c) => c.name.toLowerCase() === search.trim().toLowerCase()
5986
6909
  );
5987
- return /* @__PURE__ */ jsxs15("div", { className: "flex flex-wrap items-center gap-1.5", children: [
5988
- selected.map((c) => /* @__PURE__ */ jsxs15(
6910
+ return /* @__PURE__ */ jsxs14("div", { className: "flex flex-wrap items-center gap-1.5", children: [
6911
+ selected.map((c) => /* @__PURE__ */ jsxs14(
5989
6912
  Badge,
5990
6913
  {
5991
6914
  variant: "secondary",
5992
6915
  className: "gap-1 pr-1 text-xs font-medium",
5993
6916
  children: [
5994
6917
  showHierarchy ? hierarchyById.get(c.id)?.displayName ?? c.name : c.name,
5995
- /* @__PURE__ */ jsx18(
6918
+ /* @__PURE__ */ jsx17(
5996
6919
  "button",
5997
6920
  {
5998
6921
  type: "button",
5999
6922
  onClick: () => void toggle(c.id),
6000
6923
  className: "ml-0.5 rounded-full p-0.5 hover:bg-muted-foreground/20",
6001
6924
  "aria-label": `Remove ${c.name}`,
6002
- children: /* @__PURE__ */ jsx18(XIcon6, { className: "h-2.5 w-2.5" })
6925
+ children: /* @__PURE__ */ jsx17(XIcon6, { className: "h-2.5 w-2.5" })
6003
6926
  }
6004
6927
  )
6005
6928
  ]
6006
6929
  },
6007
6930
  c.id
6008
6931
  )),
6009
- /* @__PURE__ */ jsxs15(Popover2, { open, onOpenChange: setOpen, children: [
6010
- /* @__PURE__ */ jsx18(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ jsxs15(
6932
+ /* @__PURE__ */ jsxs14(Popover2, { open, onOpenChange: setOpen, children: [
6933
+ /* @__PURE__ */ jsx17(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ jsxs14(
6011
6934
  Button3,
6012
6935
  {
6013
6936
  variant: "outline",
6014
6937
  size: "sm",
6015
6938
  className: "h-7 gap-1 px-2 text-xs",
6016
6939
  children: [
6017
- /* @__PURE__ */ jsx18(Icon, { className: "h-3.5 w-3.5" }),
6940
+ /* @__PURE__ */ jsx17(Icon, { className: "h-3.5 w-3.5" }),
6018
6941
  selected.length === 0 ? addLabel : "Edit",
6019
- /* @__PURE__ */ jsx18(SelectChevron, { size: "sm" })
6942
+ /* @__PURE__ */ jsx17(SelectChevron, { size: "sm" })
6020
6943
  ]
6021
6944
  }
6022
6945
  ) }),
6023
- /* @__PURE__ */ jsx18(PopoverContent2, { sizing: "content", className: "p-0", align: "start", children: /* @__PURE__ */ jsxs15(Command2, { shouldFilter: false, children: [
6024
- /* @__PURE__ */ jsx18(
6946
+ /* @__PURE__ */ jsx17(PopoverContent2, { sizing: "content", className: "p-0", align: "start", children: /* @__PURE__ */ jsxs14(Command2, { shouldFilter: false, children: [
6947
+ /* @__PURE__ */ jsx17(
6025
6948
  CommandInput2,
6026
6949
  {
6027
6950
  placeholder: allowCreate ? "Search or create..." : "Search...",
@@ -6029,9 +6952,9 @@ function CategoryTagPicker({
6029
6952
  onValueChange: setSearch
6030
6953
  }
6031
6954
  ),
6032
- /* @__PURE__ */ jsxs15(CommandList2, { children: [
6033
- /* @__PURE__ */ jsx18(CommandEmpty2, { className: "px-2 py-3 text-xs text-muted-foreground", children: search.trim() ? "No match." : emptyText }),
6034
- /* @__PURE__ */ jsx18(CommandGroup2, { children: showHierarchy ? filteredHierarchy.map(({ category, depth, parent }) => /* @__PURE__ */ jsxs15(
6955
+ /* @__PURE__ */ jsxs14(CommandList2, { children: [
6956
+ /* @__PURE__ */ jsx17(CommandEmpty2, { className: "px-2 py-3 text-xs text-muted-foreground", children: search.trim() ? "No match." : emptyText }),
6957
+ /* @__PURE__ */ jsx17(CommandGroup2, { children: showHierarchy ? filteredHierarchy.map(({ category, depth, parent }) => /* @__PURE__ */ jsxs14(
6035
6958
  CommandItem2,
6036
6959
  {
6037
6960
  value: category.id,
@@ -6039,7 +6962,7 @@ function CategoryTagPicker({
6039
6962
  onSelect: () => void toggle(category.id),
6040
6963
  className: cn12("text-xs", depth === 1 && "pl-6"),
6041
6964
  children: [
6042
- /* @__PURE__ */ jsx18(
6965
+ /* @__PURE__ */ jsx17(
6043
6966
  CheckIcon4,
6044
6967
  {
6045
6968
  className: cn12(
@@ -6048,19 +6971,19 @@ function CategoryTagPicker({
6048
6971
  )
6049
6972
  }
6050
6973
  ),
6051
- depth === 1 ? /* @__PURE__ */ jsx18(CornerDownRightIcon, { className: "mr-1.5 h-3.5 w-3.5 shrink-0 text-muted-foreground" }) : null,
6052
- /* @__PURE__ */ jsx18("span", { className: cn12(depth === 0 && "font-medium"), children: category.name })
6974
+ depth === 1 ? /* @__PURE__ */ jsx17(CornerDownRightIcon, { className: "mr-1.5 h-3.5 w-3.5 shrink-0 text-muted-foreground" }) : null,
6975
+ /* @__PURE__ */ jsx17("span", { className: cn12(depth === 0 && "font-medium"), children: category.name })
6053
6976
  ]
6054
6977
  },
6055
6978
  category.id
6056
- )) : filtered.map((c) => /* @__PURE__ */ jsxs15(
6979
+ )) : filtered.map((c) => /* @__PURE__ */ jsxs14(
6057
6980
  CommandItem2,
6058
6981
  {
6059
6982
  value: c.id,
6060
6983
  onSelect: () => void toggle(c.id),
6061
6984
  className: "text-xs",
6062
6985
  children: [
6063
- /* @__PURE__ */ jsx18(
6986
+ /* @__PURE__ */ jsx17(
6064
6987
  CheckIcon4,
6065
6988
  {
6066
6989
  className: cn12(
@@ -6074,25 +6997,25 @@ function CategoryTagPicker({
6074
6997
  },
6075
6998
  c.id
6076
6999
  )) }),
6077
- allowCreate && search.trim() && !exactMatch ? /* @__PURE__ */ jsxs15(CommandGroup2, { children: [
6078
- showHierarchy ? /* @__PURE__ */ jsxs15("div", { className: "space-y-1.5 px-2 pb-2", children: [
6079
- /* @__PURE__ */ jsx18("p", { className: "text-[11px] font-medium text-muted-foreground", children: "Place in" }),
6080
- /* @__PURE__ */ jsxs15(
7000
+ allowCreate && search.trim() && !exactMatch ? /* @__PURE__ */ jsxs14(CommandGroup2, { children: [
7001
+ showHierarchy ? /* @__PURE__ */ jsxs14("div", { className: "space-y-1.5 px-2 pb-2", children: [
7002
+ /* @__PURE__ */ jsx17("p", { className: "text-[11px] font-medium text-muted-foreground", children: "Place in" }),
7003
+ /* @__PURE__ */ jsxs14(
6081
7004
  Select2,
6082
7005
  {
6083
7006
  value: createParentId,
6084
7007
  onValueChange: setCreateParentId,
6085
7008
  children: [
6086
- /* @__PURE__ */ jsx18(SelectTrigger2, { size: "sm", className: "bg-background", children: /* @__PURE__ */ jsx18(SelectValue2, {}) }),
6087
- /* @__PURE__ */ jsxs15(SelectContent2, { children: [
6088
- /* @__PURE__ */ jsx18(SelectItem2, { value: ROOT_PARENT2, children: "Top level" }),
6089
- hierarchy.roots.map((root) => /* @__PURE__ */ jsx18(SelectItem2, { value: root.id, children: root.name }, root.id))
7009
+ /* @__PURE__ */ jsx17(SelectTrigger2, { size: "sm", className: "bg-background", children: /* @__PURE__ */ jsx17(SelectValue2, {}) }),
7010
+ /* @__PURE__ */ jsxs14(SelectContent2, { children: [
7011
+ /* @__PURE__ */ jsx17(SelectItem2, { value: ROOT_PARENT2, children: "Top level" }),
7012
+ hierarchy.roots.map((root) => /* @__PURE__ */ jsx17(SelectItem2, { value: root.id, children: root.name }, root.id))
6090
7013
  ] })
6091
7014
  ]
6092
7015
  }
6093
7016
  )
6094
7017
  ] }) : null,
6095
- /* @__PURE__ */ jsxs15(
7018
+ /* @__PURE__ */ jsxs14(
6096
7019
  CommandItem2,
6097
7020
  {
6098
7021
  value: `__create__${search}`,
@@ -6100,7 +7023,7 @@ function CategoryTagPicker({
6100
7023
  disabled: creating,
6101
7024
  className: "text-xs text-primary",
6102
7025
  children: [
6103
- creating ? /* @__PURE__ */ jsx18(SpinnerIcon, { className: "mr-2 h-3.5 w-3.5 animate-spin" }) : /* @__PURE__ */ jsx18(Icon, { className: "mr-2 h-3.5 w-3.5" }),
7026
+ creating ? /* @__PURE__ */ jsx17(SpinnerIcon, { className: "mr-2 h-3.5 w-3.5 animate-spin" }) : /* @__PURE__ */ jsx17(Icon, { className: "mr-2 h-3.5 w-3.5" }),
6104
7027
  "Create \u201C",
6105
7028
  search.trim(),
6106
7029
  "\u201D"
@@ -6127,20 +7050,20 @@ function partKeyOf(comment) {
6127
7050
  // src/react/components/CommentBody.tsx
6128
7051
  import { Fragment as Fragment5 } from "react";
6129
7052
  import { cn as cn13 } from "@ai-matrx/design-system";
6130
- import { jsx as jsx19 } from "react/jsx-runtime";
7053
+ import { jsx as jsx18 } from "react/jsx-runtime";
6131
7054
  var INLINE = /(\*\*[^*\n]+\*\*|`[^`\n]+`|\*[^*\n]+\*)/g;
6132
7055
  function renderInline(text) {
6133
7056
  return text.split(INLINE).map((part, i) => {
6134
7057
  if (part.length > 4 && part.startsWith("**") && part.endsWith("**")) {
6135
- return /* @__PURE__ */ jsx19("strong", { children: part.slice(2, -2) }, i);
7058
+ return /* @__PURE__ */ jsx18("strong", { children: part.slice(2, -2) }, i);
6136
7059
  }
6137
7060
  if (part.length > 2 && part.startsWith("`") && part.endsWith("`")) {
6138
- return /* @__PURE__ */ jsx19("code", { className: "rounded bg-muted px-1 text-[0.9em]", children: part.slice(1, -1) }, i);
7061
+ return /* @__PURE__ */ jsx18("code", { className: "rounded bg-muted px-1 text-[0.9em]", children: part.slice(1, -1) }, i);
6139
7062
  }
6140
7063
  if (part.length > 2 && part.startsWith("*") && part.endsWith("*")) {
6141
- return /* @__PURE__ */ jsx19("em", { children: part.slice(1, -1) }, i);
7064
+ return /* @__PURE__ */ jsx18("em", { children: part.slice(1, -1) }, i);
6142
7065
  }
6143
- return /* @__PURE__ */ jsx19(Fragment5, { children: part }, i);
7066
+ return /* @__PURE__ */ jsx18(Fragment5, { children: part }, i);
6144
7067
  });
6145
7068
  }
6146
7069
  var BULLET = /^\s*[-*]\s+(.*)$/;
@@ -6151,14 +7074,14 @@ function renderBlocks(lines, keyPrefix) {
6151
7074
  const flushBullets = () => {
6152
7075
  if (!bullets.length) return;
6153
7076
  out.push(
6154
- /* @__PURE__ */ jsx19("ul", { className: "list-disc pl-5", children: bullets.map((b, i) => /* @__PURE__ */ jsx19("li", { children: renderInline(b) }, i)) }, `${keyPrefix}-u${out.length}`)
7077
+ /* @__PURE__ */ jsx18("ul", { className: "list-disc pl-5", children: bullets.map((b, i) => /* @__PURE__ */ jsx18("li", { children: renderInline(b) }, i)) }, `${keyPrefix}-u${out.length}`)
6155
7078
  );
6156
7079
  bullets = [];
6157
7080
  };
6158
7081
  const flushPara = () => {
6159
7082
  if (!para.length) return;
6160
7083
  out.push(
6161
- /* @__PURE__ */ jsx19("p", { className: "whitespace-pre-wrap", children: renderInline(para.join("\n")) }, `${keyPrefix}-p${out.length}`)
7084
+ /* @__PURE__ */ jsx18("p", { className: "whitespace-pre-wrap", children: renderInline(para.join("\n")) }, `${keyPrefix}-p${out.length}`)
6162
7085
  );
6163
7086
  para = [];
6164
7087
  };
@@ -6192,20 +7115,20 @@ function renderCommentMarkdown(body) {
6192
7115
  }
6193
7116
  return runs.map((run, i) => {
6194
7117
  const blocks = renderBlocks(run.lines, `r${i}`);
6195
- return run.quoted ? /* @__PURE__ */ jsx19(
7118
+ return run.quoted ? /* @__PURE__ */ jsx18(
6196
7119
  "blockquote",
6197
7120
  {
6198
7121
  className: "border-l-2 border-border pl-2 text-muted-foreground",
6199
7122
  children: blocks
6200
7123
  },
6201
7124
  i
6202
- ) : /* @__PURE__ */ jsx19(Fragment5, { children: blocks }, i);
7125
+ ) : /* @__PURE__ */ jsx18(Fragment5, { children: blocks }, i);
6203
7126
  });
6204
7127
  }
6205
7128
  function CommentBody({ body, className }) {
6206
7129
  const { commentBody: HostBody } = useAssociationsUiPorts();
6207
- if (HostBody) return /* @__PURE__ */ jsx19(HostBody, { body, className });
6208
- return /* @__PURE__ */ jsx19(
7130
+ if (HostBody) return /* @__PURE__ */ jsx18(HostBody, { body, className });
7131
+ return /* @__PURE__ */ jsx18(
6209
7132
  "div",
6210
7133
  {
6211
7134
  "data-comment-body": true,
@@ -6217,7 +7140,7 @@ function CommentBody({ body, className }) {
6217
7140
 
6218
7141
  // src/react/components/CommentThread.tsx
6219
7142
  import { formatRelativeTime } from "@ai-matrx/kit/format";
6220
- import { Fragment as Fragment6, jsx as jsx20, jsxs as jsxs16 } from "react/jsx-runtime";
7143
+ import { Fragment as Fragment6, jsx as jsx19, jsxs as jsxs15 } from "react/jsx-runtime";
6221
7144
  var AUTHOR_DOOR_TOKEN = "user";
6222
7145
  var SYSTEM_AUTHOR_NAME = "AI Matrx";
6223
7146
  function resolveAuthor(comment, authorDisplay) {
@@ -6232,24 +7155,24 @@ function resolveAuthor(comment, authorDisplay) {
6232
7155
  isAgent: true
6233
7156
  };
6234
7157
  }
6235
- const base2 = {
7158
+ const base = {
6236
7159
  userId: comment.createdBy,
6237
7160
  email: comment.author.email,
6238
7161
  displayName: comment.author.displayName,
6239
7162
  avatarUrl: comment.author.avatarUrl
6240
7163
  };
6241
- const enriched = authorDisplay ? authorDisplay(base2) : null;
6242
- const name = enriched?.displayName ?? base2.displayName ?? base2.email ?? "Unknown user";
7164
+ const enriched = authorDisplay ? authorDisplay(base) : null;
7165
+ const name = enriched?.displayName ?? base.displayName ?? base.email ?? "Unknown user";
6243
7166
  return {
6244
7167
  name,
6245
- avatarUrl: enriched?.avatarUrl !== void 0 && enriched?.avatarUrl !== null ? enriched.avatarUrl : base2.avatarUrl,
7168
+ avatarUrl: enriched?.avatarUrl !== void 0 && enriched?.avatarUrl !== null ? enriched.avatarUrl : base.avatarUrl,
6246
7169
  userId: comment.createdBy,
6247
7170
  isAgent: false
6248
7171
  };
6249
7172
  }
6250
7173
  function AuthorAvatar({ author }) {
6251
7174
  if (author.avatarUrl) {
6252
- return /* @__PURE__ */ jsx20(
7175
+ return /* @__PURE__ */ jsx19(
6253
7176
  "img",
6254
7177
  {
6255
7178
  src: author.avatarUrl,
@@ -6258,7 +7181,7 @@ function AuthorAvatar({ author }) {
6258
7181
  }
6259
7182
  );
6260
7183
  }
6261
- return /* @__PURE__ */ jsx20(
7184
+ return /* @__PURE__ */ jsx19(
6262
7185
  "span",
6263
7186
  {
6264
7187
  "aria-hidden": true,
@@ -6273,7 +7196,7 @@ function AuthorName({
6273
7196
  }) {
6274
7197
  const DoorRef2 = entityDoors?.EntityRef;
6275
7198
  if (DoorRef2 && author.userId) {
6276
- return /* @__PURE__ */ jsx20(
7199
+ return /* @__PURE__ */ jsx19(
6277
7200
  DoorRef2,
6278
7201
  {
6279
7202
  token: AUTHOR_DOOR_TOKEN,
@@ -6284,7 +7207,7 @@ function AuthorName({
6284
7207
  }
6285
7208
  );
6286
7209
  }
6287
- return /* @__PURE__ */ jsx20("span", { className: "text-sm font-medium text-foreground", children: author.name });
7210
+ return /* @__PURE__ */ jsx19("span", { className: "text-sm font-medium text-foreground", children: author.name });
6288
7211
  }
6289
7212
  function CommentComposer({
6290
7213
  onSubmit,
@@ -6315,8 +7238,8 @@ function CommentComposer({
6315
7238
  }
6316
7239
  setBody("");
6317
7240
  }
6318
- return /* @__PURE__ */ jsxs16("form", { onSubmit: submit, className: "flex flex-col gap-1.5", children: [
6319
- /* @__PURE__ */ jsx20(
7241
+ return /* @__PURE__ */ jsxs15("form", { onSubmit: submit, className: "flex flex-col gap-1.5", children: [
7242
+ /* @__PURE__ */ jsx19(
6320
7243
  "textarea",
6321
7244
  {
6322
7245
  value: body,
@@ -6331,7 +7254,7 @@ function CommentComposer({
6331
7254
  className: "w-full resize-y rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"
6332
7255
  }
6333
7256
  ),
6334
- error && /* @__PURE__ */ jsx20(
7257
+ error && /* @__PURE__ */ jsx19(
6335
7258
  ErrorBox2,
6336
7259
  {
6337
7260
  className: "text-xs text-destructive",
@@ -6341,10 +7264,10 @@ function CommentComposer({
6341
7264
  origin: "associations/CommentThread"
6342
7265
  }
6343
7266
  ),
6344
- error && signIn && isSignedOutMessage(error) && /* @__PURE__ */ jsx20(SignInAgain, { onClick: signIn }),
6345
- /* @__PURE__ */ jsxs16("div", { className: "flex items-center gap-2", children: [
6346
- /* @__PURE__ */ jsxs16(Button4, { type: "submit", size: "sm", disabled: !body.trim() || submitting, children: [
6347
- submitting && /* @__PURE__ */ jsx20(SpinnerIcon, { className: "mr-1 h-3 w-3 animate-spin" }),
7267
+ error && signIn && isSignedOutMessage(error) && /* @__PURE__ */ jsx19(SignInAgain, { onClick: signIn }),
7268
+ /* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-2", children: [
7269
+ /* @__PURE__ */ jsxs15(Button4, { type: "submit", size: "sm", disabled: !body.trim() || submitting, children: [
7270
+ submitting && /* @__PURE__ */ jsx19(SpinnerIcon, { className: "mr-1 h-3 w-3 animate-spin" }),
6348
7271
  submitLabel
6349
7272
  ] }),
6350
7273
  trailing
@@ -6386,7 +7309,7 @@ function CommentItem({
6386
7309
  notifier.error(res.error ?? "Could not delete the comment");
6387
7310
  }
6388
7311
  }
6389
- return /* @__PURE__ */ jsxs16(
7312
+ return /* @__PURE__ */ jsxs15(
6390
7313
  "div",
6391
7314
  {
6392
7315
  "data-comment-id": comment.id,
@@ -6395,15 +7318,15 @@ function CommentItem({
6395
7318
  depth > 0 && "border-l border-border pl-3"
6396
7319
  ),
6397
7320
  children: [
6398
- /* @__PURE__ */ jsxs16("div", { className: "flex items-center gap-2", children: [
6399
- /* @__PURE__ */ jsx20(AuthorAvatar, { author }),
6400
- /* @__PURE__ */ jsx20(AuthorName, { author, entityDoors }),
6401
- author.isAgent && /* @__PURE__ */ jsx20("span", { className: "rounded bg-muted px-1 py-0.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground", children: "Agent" }),
6402
- showPart && partLabel && /* @__PURE__ */ jsxs16("span", { className: "truncate text-xs text-muted-foreground", title: partLabel, children: [
7321
+ /* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-2", children: [
7322
+ /* @__PURE__ */ jsx19(AuthorAvatar, { author }),
7323
+ /* @__PURE__ */ jsx19(AuthorName, { author, entityDoors }),
7324
+ author.isAgent && /* @__PURE__ */ jsx19("span", { className: "rounded bg-muted px-1 py-0.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground", children: "Agent" }),
7325
+ showPart && partLabel && /* @__PURE__ */ jsxs15("span", { className: "truncate text-xs text-muted-foreground", title: partLabel, children: [
6403
7326
  "on ",
6404
7327
  partLabel
6405
7328
  ] }),
6406
- /* @__PURE__ */ jsx20(
7329
+ /* @__PURE__ */ jsx19(
6407
7330
  "span",
6408
7331
  {
6409
7332
  className: "text-xs text-muted-foreground",
@@ -6414,7 +7337,7 @@ function CommentItem({
6414
7337
  })
6415
7338
  }
6416
7339
  ),
6417
- edited && /* @__PURE__ */ jsx20(
7340
+ edited && /* @__PURE__ */ jsx19(
6418
7341
  "span",
6419
7342
  {
6420
7343
  className: "text-xs text-muted-foreground",
@@ -6423,7 +7346,7 @@ function CommentItem({
6423
7346
  }
6424
7347
  )
6425
7348
  ] }),
6426
- editing ? /* @__PURE__ */ jsx20("div", { className: "pl-8", children: /* @__PURE__ */ jsx20(
7349
+ editing ? /* @__PURE__ */ jsx19("div", { className: "pl-8", children: /* @__PURE__ */ jsx19(
6427
7350
  CommentComposer,
6428
7351
  {
6429
7352
  initialValue: comment.body,
@@ -6435,7 +7358,7 @@ function CommentItem({
6435
7358
  if (res.ok) setEditing(false);
6436
7359
  return res;
6437
7360
  },
6438
- trailing: /* @__PURE__ */ jsx20(
7361
+ trailing: /* @__PURE__ */ jsx19(
6439
7362
  Button4,
6440
7363
  {
6441
7364
  type: "button",
@@ -6446,10 +7369,10 @@ function CommentItem({
6446
7369
  }
6447
7370
  )
6448
7371
  }
6449
- ) }) : /* @__PURE__ */ jsx20(CommentBody, { body: comment.body, className: "pl-8" }),
6450
- !editing && /* @__PURE__ */ jsx20("div", { className: "flex items-center gap-1 pl-7", children: confirmingDelete ? /* @__PURE__ */ jsxs16(Fragment6, { children: [
6451
- /* @__PURE__ */ jsx20("span", { className: "text-xs text-destructive", children: "Deletes this comment for everyone." }),
6452
- /* @__PURE__ */ jsxs16(
7372
+ ) }) : /* @__PURE__ */ jsx19(CommentBody, { body: comment.body, className: "pl-8" }),
7373
+ !editing && /* @__PURE__ */ jsx19("div", { className: "flex items-center gap-1 pl-7", children: confirmingDelete ? /* @__PURE__ */ jsxs15(Fragment6, { children: [
7374
+ /* @__PURE__ */ jsx19("span", { className: "text-xs text-destructive", children: "Deletes this comment for everyone." }),
7375
+ /* @__PURE__ */ jsxs15(
6453
7376
  Button4,
6454
7377
  {
6455
7378
  type: "button",
@@ -6458,12 +7381,12 @@ function CommentItem({
6458
7381
  disabled: deleting,
6459
7382
  onClick: () => void confirmDelete(),
6460
7383
  children: [
6461
- deleting && /* @__PURE__ */ jsx20(SpinnerIcon, { className: "mr-1 h-3 w-3 animate-spin" }),
7384
+ deleting && /* @__PURE__ */ jsx19(SpinnerIcon, { className: "mr-1 h-3 w-3 animate-spin" }),
6462
7385
  "Delete"
6463
7386
  ]
6464
7387
  }
6465
7388
  ),
6466
- /* @__PURE__ */ jsx20(
7389
+ /* @__PURE__ */ jsx19(
6467
7390
  Button4,
6468
7391
  {
6469
7392
  type: "button",
@@ -6474,8 +7397,8 @@ function CommentItem({
6474
7397
  children: "Cancel"
6475
7398
  }
6476
7399
  )
6477
- ] }) : /* @__PURE__ */ jsxs16(Fragment6, { children: [
6478
- /* @__PURE__ */ jsx20(
7400
+ ] }) : /* @__PURE__ */ jsxs15(Fragment6, { children: [
7401
+ /* @__PURE__ */ jsx19(
6479
7402
  "button",
6480
7403
  {
6481
7404
  type: "button",
@@ -6484,8 +7407,8 @@ function CommentItem({
6484
7407
  children: "Reply"
6485
7408
  }
6486
7409
  ),
6487
- isOwn && /* @__PURE__ */ jsxs16(Fragment6, { children: [
6488
- canEdit && /* @__PURE__ */ jsx20(
7410
+ isOwn && /* @__PURE__ */ jsxs15(Fragment6, { children: [
7411
+ canEdit && /* @__PURE__ */ jsx19(
6489
7412
  "button",
6490
7413
  {
6491
7414
  type: "button",
@@ -6494,7 +7417,7 @@ function CommentItem({
6494
7417
  children: "Edit"
6495
7418
  }
6496
7419
  ),
6497
- /* @__PURE__ */ jsx20(
7420
+ /* @__PURE__ */ jsx19(
6498
7421
  "button",
6499
7422
  {
6500
7423
  type: "button",
@@ -6505,9 +7428,9 @@ function CommentItem({
6505
7428
  )
6506
7429
  ] })
6507
7430
  ] }) }),
6508
- replying && /* @__PURE__ */ jsxs16("div", { className: "flex items-start gap-2 pl-8 pt-1", children: [
6509
- /* @__PURE__ */ jsx20(CornerDownRightIcon, { className: "mt-2 h-3.5 w-3.5 shrink-0 text-muted-foreground" }),
6510
- /* @__PURE__ */ jsx20("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsx20(
7431
+ replying && /* @__PURE__ */ jsxs15("div", { className: "flex items-start gap-2 pl-8 pt-1", children: [
7432
+ /* @__PURE__ */ jsx19(CornerDownRightIcon, { className: "mt-2 h-3.5 w-3.5 shrink-0 text-muted-foreground" }),
7433
+ /* @__PURE__ */ jsx19("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsx19(
6511
7434
  CommentComposer,
6512
7435
  {
6513
7436
  submitLabel: "Reply",
@@ -6524,7 +7447,7 @@ function CommentItem({
6524
7447
  }
6525
7448
  return res;
6526
7449
  },
6527
- trailing: /* @__PURE__ */ jsx20(
7450
+ trailing: /* @__PURE__ */ jsx19(
6528
7451
  Button4,
6529
7452
  {
6530
7453
  type: "button",
@@ -6537,7 +7460,7 @@ function CommentItem({
6537
7460
  }
6538
7461
  ) })
6539
7462
  ] }),
6540
- replies.length > 0 && /* @__PURE__ */ jsx20("div", { className: "flex flex-col gap-3 pl-8 pt-1", children: replies.map((reply) => /* @__PURE__ */ jsx20(
7463
+ replies.length > 0 && /* @__PURE__ */ jsx19("div", { className: "flex flex-col gap-3 pl-8 pt-1", children: replies.map((reply) => /* @__PURE__ */ jsx19(
6541
7464
  CommentItem,
6542
7465
  {
6543
7466
  comment: reply,
@@ -6593,11 +7516,11 @@ function CommentThread({
6593
7516
  const roots = part ? tree.roots.filter((c) => partKeyOf(c) === part.key) : tree.roots;
6594
7517
  const shownCount = part ? countThread(roots, childrenOf) : thread.comments.length;
6595
7518
  const loading = (thread.status === "loading" || thread.status === "idle") && thread.comments.length === 0;
6596
- return /* @__PURE__ */ jsxs16("section", { className: cn14("flex flex-col gap-3", className), children: [
6597
- showHeader && /* @__PURE__ */ jsxs16("header", { className: "flex items-center gap-2", children: [
6598
- /* @__PURE__ */ jsx20("h3", { className: "text-sm font-semibold text-foreground", children: "Comments" }),
6599
- /* @__PURE__ */ jsx20("span", { className: "text-xs text-muted-foreground tabular-nums", children: shownCount }),
6600
- /* @__PURE__ */ jsx20(
7519
+ return /* @__PURE__ */ jsxs15("section", { className: cn14("flex flex-col gap-3", className), children: [
7520
+ showHeader && /* @__PURE__ */ jsxs15("header", { className: "flex items-center gap-2", children: [
7521
+ /* @__PURE__ */ jsx19("h3", { className: "text-sm font-semibold text-foreground", children: "Comments" }),
7522
+ /* @__PURE__ */ jsx19("span", { className: "text-xs text-muted-foreground tabular-nums", children: shownCount }),
7523
+ /* @__PURE__ */ jsx19(
6601
7524
  "button",
6602
7525
  {
6603
7526
  type: "button",
@@ -6605,11 +7528,11 @@ function CommentThread({
6605
7528
  "aria-label": "Refresh comments",
6606
7529
  title: "Refresh comments",
6607
7530
  className: "ml-auto flex h-6 w-6 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
6608
- children: thread.status === "loading" ? /* @__PURE__ */ jsx20(SpinnerIcon, { className: "h-3.5 w-3.5 animate-spin" }) : /* @__PURE__ */ jsx20(RefreshIcon, { className: "h-3.5 w-3.5" })
7531
+ children: thread.status === "loading" ? /* @__PURE__ */ jsx19(SpinnerIcon, { className: "h-3.5 w-3.5 animate-spin" }) : /* @__PURE__ */ jsx19(RefreshIcon, { className: "h-3.5 w-3.5" })
6609
7532
  }
6610
7533
  )
6611
7534
  ] }),
6612
- thread.error && /* @__PURE__ */ jsxs16(
7535
+ thread.error && /* @__PURE__ */ jsxs15(
6613
7536
  ErrorBox2,
6614
7537
  {
6615
7538
  as: "div",
@@ -6618,9 +7541,9 @@ function CommentThread({
6618
7541
  operation: "Load comments",
6619
7542
  origin: "associations/CommentThread",
6620
7543
  children: [
6621
- /* @__PURE__ */ jsx20("span", { className: "min-w-0 flex-1", children: thread.error }),
6622
- signInPort && isSignedOutMessage(thread.error) && /* @__PURE__ */ jsx20(SignInAgain, { onClick: signInPort }),
6623
- /* @__PURE__ */ jsx20(
7544
+ /* @__PURE__ */ jsx19("span", { className: "min-w-0 flex-1", children: thread.error }),
7545
+ signInPort && isSignedOutMessage(thread.error) && /* @__PURE__ */ jsx19(SignInAgain, { onClick: signInPort }),
7546
+ /* @__PURE__ */ jsx19(
6624
7547
  Button4,
6625
7548
  {
6626
7549
  type: "button",
@@ -6634,10 +7557,10 @@ function CommentThread({
6634
7557
  ]
6635
7558
  }
6636
7559
  ),
6637
- loading ? /* @__PURE__ */ jsxs16("div", { className: "flex flex-col gap-3", "aria-hidden": true, "data-testid": "comments-loading", children: [
6638
- /* @__PURE__ */ jsx20(Skeleton2, { className: "h-12 w-full" }),
6639
- /* @__PURE__ */ jsx20(Skeleton2, { className: "h-12 w-4/5" })
6640
- ] }) : roots.length === 0 && !thread.error ? /* @__PURE__ */ jsx20("p", { className: "text-sm text-muted-foreground", children: "No comments yet." }) : /* @__PURE__ */ jsx20("div", { className: "flex flex-col gap-4", children: roots.map((comment) => /* @__PURE__ */ jsx20(
7560
+ loading ? /* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-3", "aria-hidden": true, "data-testid": "comments-loading", children: [
7561
+ /* @__PURE__ */ jsx19(Skeleton2, { className: "h-12 w-full" }),
7562
+ /* @__PURE__ */ jsx19(Skeleton2, { className: "h-12 w-4/5" })
7563
+ ] }) : roots.length === 0 && !thread.error ? /* @__PURE__ */ jsx19("p", { className: "text-sm text-muted-foreground", children: "No comments yet." }) : /* @__PURE__ */ jsx19("div", { className: "flex flex-col gap-4", children: roots.map((comment) => /* @__PURE__ */ jsx19(
6641
7564
  CommentItem,
6642
7565
  {
6643
7566
  comment,
@@ -6650,7 +7573,7 @@ function CommentThread({
6650
7573
  },
6651
7574
  comment.id
6652
7575
  )) }),
6653
- /* @__PURE__ */ jsx20(
7576
+ /* @__PURE__ */ jsx19(
6654
7577
  CommentComposer,
6655
7578
  {
6656
7579
  onSubmit: async (body) => {
@@ -6664,7 +7587,7 @@ function CommentThread({
6664
7587
  ] });
6665
7588
  }
6666
7589
  function SignInAgain({ onClick }) {
6667
- return /* @__PURE__ */ jsx20(Button4, { type: "button", size: "sm", variant: "outline", onClick, children: "Sign in" });
7590
+ return /* @__PURE__ */ jsx19(Button4, { type: "button", size: "sm", variant: "outline", onClick, children: "Sign in" });
6668
7591
  }
6669
7592
  export {
6670
7593
  AssociationCandidateBody,