@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.
- package/CHANGELOG.md +13 -3
- package/dist/{CommentThread-C4Wowvph.d.cts → CommentThread-D_HUjOqD.d.cts} +8 -6
- package/dist/{CommentThread-C4Wowvph.d.ts → CommentThread-D_HUjOqD.d.ts} +8 -6
- package/dist/{chunk-server-Y4DGNHLP.js → chunk-server-D6HFGF2J.js} +1004 -15
- package/dist/chunk-server-D6HFGF2J.js.map +1 -0
- package/dist/core/index.cjs +26 -14
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +1 -1
- package/dist/index.cjs +1003 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/react/index.cjs +1383 -473
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +3 -2
- package/dist/react/index.d.ts +3 -2
- package/dist/react/index.js +1380 -457
- package/dist/react/index.js.map +1 -1
- package/dist/react/lazy/index.d.cts +2 -1
- package/dist/react/lazy/index.d.ts +2 -1
- package/dist/{results-HJm2RJQp.d.cts → results-BtyDwTD6.d.cts} +112 -16
- package/dist/{results-HJm2RJQp.d.ts → results-BtyDwTD6.d.ts} +112 -16
- package/package.json +4 -4
- package/dist/chunk-server-Y4DGNHLP.js.map +0 -1
package/dist/react/index.cjs
CHANGED
|
@@ -178,6 +178,8 @@ var ENTITY_TYPE_TOKENS = [
|
|
|
178
178
|
"access_delta_run",
|
|
179
179
|
"access_request",
|
|
180
180
|
"access_shadow_log",
|
|
181
|
+
"access_version",
|
|
182
|
+
"access_version_event",
|
|
181
183
|
"account_addon",
|
|
182
184
|
"account_closure",
|
|
183
185
|
"account_facts",
|
|
@@ -439,6 +441,9 @@ var ENTITY_TYPE_TOKENS = [
|
|
|
439
441
|
"communication_calendar_selected_snapshot_state",
|
|
440
442
|
"communication_channel_readiness",
|
|
441
443
|
"comparison_set",
|
|
444
|
+
"computed_org_mark",
|
|
445
|
+
"computed_reader_cols",
|
|
446
|
+
"computed_reader_judgement",
|
|
442
447
|
"config_manifest",
|
|
443
448
|
"config_read_bucket",
|
|
444
449
|
"contact_medium",
|
|
@@ -1023,6 +1028,7 @@ var ENTITY_TYPE_TOKENS = [
|
|
|
1023
1028
|
"rag_library_audit_log",
|
|
1024
1029
|
"rate_limit_buckets",
|
|
1025
1030
|
"reachability_pending",
|
|
1031
|
+
"read_mask_kept",
|
|
1026
1032
|
"recompute_queue",
|
|
1027
1033
|
"record",
|
|
1028
1034
|
"record_alias",
|
|
@@ -1725,135 +1731,1112 @@ var ASSOCIATION_PAIRS = /* @__PURE__ */ new Set([
|
|
|
1725
1731
|
"quiz_session>agent",
|
|
1726
1732
|
"quiz_session>processed_document",
|
|
1727
1733
|
"quiz_session>web_page",
|
|
1734
|
+
"record>access_delta_run",
|
|
1735
|
+
"record>access_request",
|
|
1736
|
+
"record>access_shadow_log",
|
|
1737
|
+
"record>account_addon",
|
|
1738
|
+
"record>account_closure",
|
|
1739
|
+
"record>acquisition_block",
|
|
1740
|
+
"record>activity",
|
|
1741
|
+
"record>admin_audit_log",
|
|
1742
|
+
"record>admin_email_log",
|
|
1743
|
+
"record>admin_markdown_sample",
|
|
1728
1744
|
"record>agent",
|
|
1745
|
+
"record>agent_card",
|
|
1746
|
+
"record>agent_definition_version",
|
|
1747
|
+
"record>agent_drift_alert",
|
|
1748
|
+
"record>agent_exemplar",
|
|
1749
|
+
"record>agent_mandate_note",
|
|
1729
1750
|
"record>agent_prompt_block",
|
|
1751
|
+
"record>agent_prompt_block_variant",
|
|
1752
|
+
"record>agent_prompt_remediation",
|
|
1753
|
+
"record>agent_required_flag_change",
|
|
1754
|
+
"record>agent_run",
|
|
1755
|
+
"record>agent_run_stage",
|
|
1756
|
+
"record>agent_schedule",
|
|
1757
|
+
"record>agent_schedule_claim",
|
|
1730
1758
|
"record>agent_shortcut",
|
|
1759
|
+
"record>agent_surface_binding",
|
|
1731
1760
|
"record>agent_template",
|
|
1732
1761
|
"record>agent_term_list",
|
|
1762
|
+
"record>agent_test_result",
|
|
1763
|
+
"record>agent_test_run",
|
|
1764
|
+
"record>agent_usage",
|
|
1733
1765
|
"record>ai_api",
|
|
1766
|
+
"record>ai_device_model_file",
|
|
1767
|
+
"record>ai_device_model_root",
|
|
1734
1768
|
"record>ai_endpoint",
|
|
1769
|
+
"record>ai_media_generation_cache",
|
|
1735
1770
|
"record>ai_model",
|
|
1771
|
+
"record>ai_model_alias",
|
|
1772
|
+
"record>ai_model_artifact",
|
|
1773
|
+
"record>ai_model_candidate",
|
|
1774
|
+
"record>ai_model_presentation",
|
|
1775
|
+
"record>ai_model_upstream",
|
|
1776
|
+
"record>ai_model_variant",
|
|
1777
|
+
"record>ai_model_verification_run",
|
|
1778
|
+
"record>ai_model_want",
|
|
1779
|
+
"record>ai_offering",
|
|
1780
|
+
"record>ai_person_model_want",
|
|
1736
1781
|
"record>ai_provider",
|
|
1782
|
+
"record>ai_request_latency",
|
|
1783
|
+
"record>ai_runtime",
|
|
1784
|
+
"record>ai_runtime_build",
|
|
1785
|
+
"record>ai_runtime_compat",
|
|
1737
1786
|
"record>ai_setting",
|
|
1787
|
+
"record>ai_setting_profile",
|
|
1788
|
+
"record>ai_translation_cell",
|
|
1789
|
+
"record>ai_usage_hourly",
|
|
1790
|
+
"record>analysis_result",
|
|
1738
1791
|
"record>anon_form",
|
|
1792
|
+
"record>anon_form_visit",
|
|
1793
|
+
"record>anon_hit",
|
|
1794
|
+
"record>anon_inbound",
|
|
1795
|
+
"record>anon_replay",
|
|
1796
|
+
"record>anon_submission",
|
|
1797
|
+
"record>anon_token",
|
|
1798
|
+
"record>api_field_warning",
|
|
1799
|
+
"record>api_request_log",
|
|
1739
1800
|
"record>app",
|
|
1801
|
+
"record>app_config",
|
|
1802
|
+
"record>app_config_history",
|
|
1803
|
+
"record>app_definition_version",
|
|
1804
|
+
"record>app_error",
|
|
1805
|
+
"record>app_execution",
|
|
1806
|
+
"record>app_instance",
|
|
1807
|
+
"record>app_log",
|
|
1808
|
+
"record>app_log_hourly",
|
|
1809
|
+
"record>app_log_lines",
|
|
1810
|
+
"record>app_log_muted_pattern",
|
|
1811
|
+
"record>app_log_norm_exception",
|
|
1812
|
+
"record>app_log_requests_hourly",
|
|
1813
|
+
"record>app_rate_limit",
|
|
1814
|
+
"record>app_setting",
|
|
1815
|
+
"record>app_sync_status",
|
|
1816
|
+
"record>applet_visitor_binding",
|
|
1817
|
+
"record>approach",
|
|
1818
|
+
"record>artifact",
|
|
1740
1819
|
"record>assessment",
|
|
1820
|
+
"record>assessment_item",
|
|
1821
|
+
"record>assessment_result",
|
|
1822
|
+
"record>assignment_session",
|
|
1823
|
+
"record>assist",
|
|
1824
|
+
"record>assist_producer_policy",
|
|
1825
|
+
"record>assist_producer_policy_history",
|
|
1826
|
+
"record>association_type",
|
|
1827
|
+
"record>assurance_level",
|
|
1828
|
+
"record>attempt",
|
|
1829
|
+
"record>attention_audit",
|
|
1830
|
+
"record>attention_showing",
|
|
1831
|
+
"record>audit_canonical_findings",
|
|
1832
|
+
"record>audit_exemption",
|
|
1833
|
+
"record>base_entity_template",
|
|
1834
|
+
"record>batch_cost_event",
|
|
1835
|
+
"record>batch_provider_batch",
|
|
1836
|
+
"record>batch_work_item",
|
|
1837
|
+
"record>billing_capability",
|
|
1838
|
+
"record>billing_capability_limit",
|
|
1839
|
+
"record>billing_ci_package_build",
|
|
1840
|
+
"record>billing_connect_account",
|
|
1841
|
+
"record>billing_coupon",
|
|
1842
|
+
"record>billing_coupon_redemption",
|
|
1843
|
+
"record>billing_customer",
|
|
1844
|
+
"record>billing_external_call_vendor",
|
|
1845
|
+
"record>billing_free_period_grant",
|
|
1846
|
+
"record>billing_hard_cost_reconciliation",
|
|
1847
|
+
"record>billing_held_run",
|
|
1848
|
+
"record>billing_org_payment_account",
|
|
1849
|
+
"record>billing_payment",
|
|
1850
|
+
"record>billing_payment_ask",
|
|
1851
|
+
"record>billing_plan",
|
|
1852
|
+
"record>billing_plan_limit",
|
|
1853
|
+
"record>billing_price",
|
|
1854
|
+
"record>billing_product",
|
|
1855
|
+
"record>billing_provider_balance_snapshot",
|
|
1856
|
+
"record>billing_spend_alarm",
|
|
1857
|
+
"record>billing_spend_alarm_occurrence",
|
|
1858
|
+
"record>billing_spend_approval",
|
|
1859
|
+
"record>billing_spend_guardrail",
|
|
1860
|
+
"record>billing_spend_hold",
|
|
1861
|
+
"record>billing_stripe_event",
|
|
1862
|
+
"record>billing_subscription",
|
|
1863
|
+
"record>billing_usage_ledger",
|
|
1864
|
+
"record>billing_usage_reset",
|
|
1865
|
+
"record>block_state",
|
|
1866
|
+
"record>board",
|
|
1867
|
+
"record>browser_account_binding",
|
|
1868
|
+
"record>browser_action_event",
|
|
1869
|
+
"record>browser_authenticator_window",
|
|
1870
|
+
"record>browser_capture",
|
|
1871
|
+
"record>browser_control_request",
|
|
1872
|
+
"record>browser_handoff",
|
|
1873
|
+
"record>browser_login_attempt",
|
|
1874
|
+
"record>browser_login_recipe",
|
|
1875
|
+
"record>browser_profile",
|
|
1876
|
+
"record>browser_profile_checkpoint",
|
|
1877
|
+
"record>browser_run",
|
|
1878
|
+
"record>browser_site_observation",
|
|
1879
|
+
"record>browser_site_policy",
|
|
1880
|
+
"record>browser_stream_ticket",
|
|
1881
|
+
"record>calendar_event",
|
|
1882
|
+
"record>campaign_watch_ramp_gate_run",
|
|
1883
|
+
"record>campaign_watch_switch_outbox",
|
|
1884
|
+
"record>campaign_watch_switch_window",
|
|
1741
1885
|
"record>canvas_comment",
|
|
1886
|
+
"record>canvas_comment_like",
|
|
1742
1887
|
"record>canvas_item",
|
|
1888
|
+
"record>canvas_item_state",
|
|
1889
|
+
"record>canvas_like",
|
|
1743
1890
|
"record>canvas_score",
|
|
1891
|
+
"record>canvas_view",
|
|
1892
|
+
"record>catalog_entries_history",
|
|
1893
|
+
"record>catalog_entry",
|
|
1744
1894
|
"record>category",
|
|
1895
|
+
"record>change_job",
|
|
1896
|
+
"record>change_plan",
|
|
1897
|
+
"record>change_type_default",
|
|
1898
|
+
"record>change_work",
|
|
1899
|
+
"record>citations",
|
|
1900
|
+
"record>class_purchase",
|
|
1901
|
+
"record>client_callable_door",
|
|
1902
|
+
"record>client_callable_door_retirement",
|
|
1903
|
+
"record>cmp_entry",
|
|
1904
|
+
"record>cmp_feedback",
|
|
1745
1905
|
"record>code_file",
|
|
1746
1906
|
"record>code_folder",
|
|
1747
1907
|
"record>code_repository",
|
|
1908
|
+
"record>coding_session",
|
|
1909
|
+
"record>coding_session_entry",
|
|
1910
|
+
"record>collab_checkpoint",
|
|
1911
|
+
"record>collab_op",
|
|
1912
|
+
"record>collab_room",
|
|
1913
|
+
"record>comment",
|
|
1914
|
+
"record>commerce_asset_allocation",
|
|
1915
|
+
"record>commerce_asset_grading",
|
|
1916
|
+
"record>commerce_asset_identifier",
|
|
1917
|
+
"record>commerce_asset_lot_event",
|
|
1918
|
+
"record>commerce_asset_mandate_result",
|
|
1919
|
+
"record>commerce_asset_price_factor",
|
|
1920
|
+
"record>commerce_asset_reshoot_request",
|
|
1921
|
+
"record>commerce_asset_review",
|
|
1922
|
+
"record>commerce_asset_unknown",
|
|
1923
|
+
"record>commerce_certified_printer",
|
|
1924
|
+
"record>commerce_cloud_sync_connection",
|
|
1925
|
+
"record>commerce_ebay_business_policy",
|
|
1926
|
+
"record>commerce_ebay_category",
|
|
1927
|
+
"record>commerce_ebay_category_aspect",
|
|
1928
|
+
"record>commerce_ebay_category_tree",
|
|
1929
|
+
"record>commerce_ebay_custom_policy",
|
|
1930
|
+
"record>commerce_ebay_inventory_item",
|
|
1931
|
+
"record>commerce_ebay_inventory_item_group",
|
|
1932
|
+
"record>commerce_ebay_inventory_item_group_member",
|
|
1933
|
+
"record>commerce_ebay_inventory_location",
|
|
1934
|
+
"record>commerce_ebay_listing",
|
|
1935
|
+
"record>commerce_ebay_marketplace_policy",
|
|
1936
|
+
"record>commerce_ebay_media_asset",
|
|
1937
|
+
"record>commerce_ebay_notification_destination",
|
|
1938
|
+
"record>commerce_ebay_notification_event",
|
|
1939
|
+
"record>commerce_ebay_notification_subscription",
|
|
1940
|
+
"record>commerce_ebay_notification_topic",
|
|
1941
|
+
"record>commerce_ebay_offer",
|
|
1942
|
+
"record>commerce_ebay_order",
|
|
1943
|
+
"record>commerce_ebay_order_line_item",
|
|
1944
|
+
"record>commerce_ebay_shipping_fulfillment",
|
|
1945
|
+
"record>commerce_ebay_store_category",
|
|
1946
|
+
"record>commerce_human_correction",
|
|
1947
|
+
"record>commerce_intake_artifact",
|
|
1948
|
+
"record>commerce_intake_asset",
|
|
1949
|
+
"record>commerce_intake_batch",
|
|
1950
|
+
"record>commerce_label_batch",
|
|
1951
|
+
"record>commerce_label_code",
|
|
1952
|
+
"record>commerce_marketplace_account",
|
|
1953
|
+
"record>commerce_marketplace_account_deletion_audit",
|
|
1954
|
+
"record>commerce_marketplace_api_call",
|
|
1955
|
+
"record>commerce_marketplace_rate_budget",
|
|
1956
|
+
"record>commerce_marketplace_site",
|
|
1957
|
+
"record>commerce_marketplace_sync_run",
|
|
1958
|
+
"record>commerce_prediction_outcome",
|
|
1959
|
+
"record>commerce_print_order",
|
|
1960
|
+
"record>commerce_product",
|
|
1961
|
+
"record>commerce_product_channel_ref",
|
|
1962
|
+
"record>commerce_product_media",
|
|
1963
|
+
"record>commerce_product_variant",
|
|
1964
|
+
"record>commerce_recall_audit",
|
|
1965
|
+
"record>communication_calendar_selected_snapshot_state",
|
|
1748
1966
|
"record>comparison_set",
|
|
1967
|
+
"record>computed_org_mark",
|
|
1968
|
+
"record>config_manifest",
|
|
1969
|
+
"record>config_read_bucket",
|
|
1970
|
+
"record>contact_medium",
|
|
1749
1971
|
"record>contact_submission",
|
|
1972
|
+
"record>content_certification",
|
|
1973
|
+
"record>content_ir_converter_definition",
|
|
1974
|
+
"record>content_ir_converter_run",
|
|
1750
1975
|
"record>content_ir_kind",
|
|
1976
|
+
"record>content_ir_kind_component",
|
|
1977
|
+
"record>content_ir_kind_component_incident",
|
|
1978
|
+
"record>content_ir_kind_component_layer",
|
|
1979
|
+
"record>content_ir_kind_conformance",
|
|
1980
|
+
"record>content_ir_kind_edge",
|
|
1981
|
+
"record>content_ir_kind_example",
|
|
1751
1982
|
"record>content_ir_kind_instance",
|
|
1983
|
+
"record>content_ir_kind_surface",
|
|
1984
|
+
"record>context_access_log",
|
|
1752
1985
|
"record>context_item",
|
|
1986
|
+
"record>context_item_suggestion",
|
|
1753
1987
|
"record>conversation",
|
|
1988
|
+
"record>conversation_value",
|
|
1989
|
+
"record>courts",
|
|
1990
|
+
"record>credential_attachment",
|
|
1991
|
+
"record>credential_item",
|
|
1992
|
+
"record>credential_mutation_receipt",
|
|
1993
|
+
"record>crm_address",
|
|
1994
|
+
"record>crm_affiliation",
|
|
1995
|
+
"record>crm_blocklist_entry",
|
|
1996
|
+
"record>crm_contact_candidate",
|
|
1754
1997
|
"record>crm_deal",
|
|
1998
|
+
"record>crm_deal_stage_event",
|
|
1999
|
+
"record>crm_enrichment_call",
|
|
2000
|
+
"record>crm_interaction",
|
|
2001
|
+
"record>crm_merge_candidate",
|
|
1755
2002
|
"record>crm_outreach_list",
|
|
2003
|
+
"record>crm_outreach_list_member",
|
|
2004
|
+
"record>crm_party_merge",
|
|
2005
|
+
"record>crm_party_research",
|
|
2006
|
+
"record>crm_registry_ingest_run",
|
|
2007
|
+
"record>crm_registry_source",
|
|
2008
|
+
"record>crm_sending_claim",
|
|
2009
|
+
"record>crm_sending_event",
|
|
2010
|
+
"record>crm_sending_identity",
|
|
2011
|
+
"record>crm_sending_identity_check",
|
|
2012
|
+
"record>crm_sending_policy",
|
|
2013
|
+
"record>custom_base",
|
|
2014
|
+
"record>custom_base_snapshot",
|
|
2015
|
+
"record>custom_field_definition",
|
|
2016
|
+
"record>custom_field_target",
|
|
2017
|
+
"record>custom_synced_source",
|
|
2018
|
+
"record>custom_template",
|
|
2019
|
+
"record>custom_template_install",
|
|
1756
2020
|
"record>cx_agent_memory",
|
|
2021
|
+
"record>cx_agent_plan",
|
|
2022
|
+
"record>cx_agent_task",
|
|
2023
|
+
"record>cx_code_edit",
|
|
2024
|
+
"record>cx_code_message_file",
|
|
2025
|
+
"record>cx_media",
|
|
2026
|
+
"record>cx_observational_memory",
|
|
2027
|
+
"record>cx_observational_memory_event",
|
|
2028
|
+
"record>cx_pending_injection",
|
|
2029
|
+
"record>cx_request",
|
|
2030
|
+
"record>cx_request_snapshot",
|
|
2031
|
+
"record>cx_request_values",
|
|
2032
|
+
"record>cx_tool_trace",
|
|
2033
|
+
"record>cx_user_request",
|
|
2034
|
+
"record>cx_user_todo",
|
|
2035
|
+
"record>data_rights_event",
|
|
1757
2036
|
"record>data_store",
|
|
2037
|
+
"record>data_store_members",
|
|
2038
|
+
"record>ddl_guard_log",
|
|
2039
|
+
"record>deck_suggestion",
|
|
2040
|
+
"record>definer_class_exemption",
|
|
2041
|
+
"record>definer_grant_baseline",
|
|
2042
|
+
"record>derive_run",
|
|
2043
|
+
"record>desktop_app_profile",
|
|
2044
|
+
"record>dev_login_audit",
|
|
2045
|
+
"record>device_handoff",
|
|
2046
|
+
"record>dict_entry",
|
|
2047
|
+
"record>dict_provider_publication",
|
|
2048
|
+
"record>dict_setting",
|
|
2049
|
+
"record>dm_conversation",
|
|
1758
2050
|
"record>dm_message",
|
|
2051
|
+
"record>dm_participant",
|
|
2052
|
+
"record>dm_session_member",
|
|
2053
|
+
"record>doc_render",
|
|
2054
|
+
"record>doc_signature",
|
|
2055
|
+
"record>dockets",
|
|
1759
2056
|
"record>document",
|
|
2057
|
+
"record>document_version",
|
|
2058
|
+
"record>domain_classification",
|
|
2059
|
+
"record>egress_device",
|
|
2060
|
+
"record>egress_pairing",
|
|
2061
|
+
"record>egress_ticket",
|
|
2062
|
+
"record>emails",
|
|
2063
|
+
"record>entity_grant",
|
|
2064
|
+
"record>entity_protected_value_version",
|
|
2065
|
+
"record>entity_type",
|
|
2066
|
+
"record>esign_campaign",
|
|
2067
|
+
"record>esign_campaign_member",
|
|
2068
|
+
"record>esign_consent_disclosure",
|
|
2069
|
+
"record>esign_envelope",
|
|
2070
|
+
"record>esign_envelope_certificate",
|
|
2071
|
+
"record>esign_envelope_document",
|
|
2072
|
+
"record>esign_envelope_draft",
|
|
2073
|
+
"record>esign_envelope_event",
|
|
2074
|
+
"record>esign_envelope_external_ref",
|
|
2075
|
+
"record>esign_envelope_signer",
|
|
2076
|
+
"record>esign_provider",
|
|
2077
|
+
"record>esign_provider_binding",
|
|
2078
|
+
"record>esign_saved_signature",
|
|
2079
|
+
"record>esign_signing_key",
|
|
2080
|
+
"record>esign_template",
|
|
2081
|
+
"record>extension_auth_code",
|
|
2082
|
+
"record>external_api_reservation",
|
|
2083
|
+
"record>external_conversation",
|
|
2084
|
+
"record>external_delivery_event",
|
|
2085
|
+
"record>external_inbox",
|
|
2086
|
+
"record>external_link",
|
|
2087
|
+
"record>external_message",
|
|
2088
|
+
"record>external_provider_receipt",
|
|
2089
|
+
"record>external_source",
|
|
2090
|
+
"record>extract_sweep_state",
|
|
2091
|
+
"record>fc_card",
|
|
2092
|
+
"record>fc_detail",
|
|
1760
2093
|
"record>fc_set",
|
|
1761
2094
|
"record>feature_doc",
|
|
2095
|
+
"record>feedback_comments",
|
|
2096
|
+
"record>feedback_user_messages",
|
|
2097
|
+
"record>file",
|
|
2098
|
+
"record>file_analysis",
|
|
2099
|
+
"record>file_entities",
|
|
2100
|
+
"record>file_overrides",
|
|
2101
|
+
"record>file_page_annotations",
|
|
2102
|
+
"record>file_pages",
|
|
2103
|
+
"record>file_rag_job",
|
|
2104
|
+
"record>file_template",
|
|
2105
|
+
"record>file_version",
|
|
2106
|
+
"record>files_account_tier",
|
|
2107
|
+
"record>files_machine_written_prefix",
|
|
2108
|
+
"record>files_sync_mapping",
|
|
1762
2109
|
"record>folder",
|
|
2110
|
+
"record>function_contract",
|
|
2111
|
+
"record>game_badge",
|
|
1763
2112
|
"record>game_result",
|
|
2113
|
+
"record>game_room",
|
|
2114
|
+
"record>global_execution",
|
|
2115
|
+
"record>global_execution_checkpoint",
|
|
2116
|
+
"record>global_execution_event",
|
|
2117
|
+
"record>global_meter_entry",
|
|
2118
|
+
"record>global_origin",
|
|
2119
|
+
"record>global_request",
|
|
2120
|
+
"record>google_document",
|
|
2121
|
+
"record>growth_loop_event",
|
|
2122
|
+
"record>growth_loop_run",
|
|
2123
|
+
"record>growth_loop_stage_run",
|
|
2124
|
+
"record>guardian_link",
|
|
2125
|
+
"record>guest_conversion_audit",
|
|
2126
|
+
"record>guest_execution_log",
|
|
2127
|
+
"record>guest_executions",
|
|
2128
|
+
"record>guided_checklist_run",
|
|
1764
2129
|
"record>heatmap_save",
|
|
2130
|
+
"record>hindsight_enrollment",
|
|
2131
|
+
"record>hindsight_finding",
|
|
2132
|
+
"record>hindsight_regression_case",
|
|
2133
|
+
"record>hindsight_replay",
|
|
2134
|
+
"record>hindsight_replay_step",
|
|
2135
|
+
"record>hindsight_review",
|
|
2136
|
+
"record>hr_access_audit",
|
|
2137
|
+
"record>hr_access_role",
|
|
2138
|
+
"record>hr_accommodation_request",
|
|
2139
|
+
"record>hr_ai_evidence",
|
|
2140
|
+
"record>hr_alert_routing_rule",
|
|
2141
|
+
"record>hr_application",
|
|
2142
|
+
"record>hr_approval_authority",
|
|
2143
|
+
"record>hr_approval_delegation",
|
|
1765
2144
|
"record>hr_asset",
|
|
2145
|
+
"record>hr_asset_assignment",
|
|
2146
|
+
"record>hr_attendance_exception",
|
|
2147
|
+
"record>hr_auto_close_rule",
|
|
2148
|
+
"record>hr_availability",
|
|
2149
|
+
"record>hr_background_check",
|
|
2150
|
+
"record>hr_benefits_event",
|
|
2151
|
+
"record>hr_calculation_snapshot",
|
|
1766
2152
|
"record>hr_candidate",
|
|
2153
|
+
"record>hr_candidate_conversion",
|
|
2154
|
+
"record>hr_candidate_message",
|
|
1767
2155
|
"record>hr_careers_portal",
|
|
2156
|
+
"record>hr_checklist_item",
|
|
2157
|
+
"record>hr_checklist_run",
|
|
1768
2158
|
"record>hr_checklist_template",
|
|
2159
|
+
"record>hr_checklist_template_item",
|
|
2160
|
+
"record>hr_compensation",
|
|
2161
|
+
"record>hr_corrective_action",
|
|
1769
2162
|
"record>hr_course",
|
|
2163
|
+
"record>hr_course_version",
|
|
2164
|
+
"record>hr_credential",
|
|
1770
2165
|
"record>hr_crew",
|
|
1771
2166
|
"record>hr_deduction_code",
|
|
1772
2167
|
"record>hr_department",
|
|
2168
|
+
"record>hr_derived_grant",
|
|
2169
|
+
"record>hr_disposition_event",
|
|
1773
2170
|
"record>hr_earning_code",
|
|
2171
|
+
"record>hr_eeo_response",
|
|
2172
|
+
"record>hr_emergency_contact",
|
|
1774
2173
|
"record>hr_employee",
|
|
2174
|
+
"record>hr_employee_private",
|
|
1775
2175
|
"record>hr_employer_profile",
|
|
2176
|
+
"record>hr_employment",
|
|
2177
|
+
"record>hr_employment_pin",
|
|
2178
|
+
"record>hr_engagement",
|
|
2179
|
+
"record>hr_establishment",
|
|
2180
|
+
"record>hr_external_identity",
|
|
2181
|
+
"record>hr_field_policy",
|
|
2182
|
+
"record>hr_goal",
|
|
2183
|
+
"record>hr_holiday",
|
|
1776
2184
|
"record>hr_holiday_calendar",
|
|
2185
|
+
"record>hr_i9",
|
|
2186
|
+
"record>hr_i9_document",
|
|
2187
|
+
"record>hr_incident",
|
|
2188
|
+
"record>hr_incident_party",
|
|
2189
|
+
"record>hr_interview",
|
|
1777
2190
|
"record>hr_interview_kit",
|
|
1778
2191
|
"record>hr_job_title",
|
|
1779
2192
|
"record>hr_jurisdiction",
|
|
2193
|
+
"record>hr_jurisdiction_rule",
|
|
1780
2194
|
"record>hr_jurisdiction_rule_class",
|
|
2195
|
+
"record>hr_jurisdiction_rule_org_decision",
|
|
2196
|
+
"record>hr_jurisdiction_rule_test",
|
|
2197
|
+
"record>hr_kiosk_device",
|
|
2198
|
+
"record>hr_kiosk_session",
|
|
2199
|
+
"record>hr_labor_target",
|
|
2200
|
+
"record>hr_leave_case",
|
|
2201
|
+
"record>hr_leave_enrollment",
|
|
2202
|
+
"record>hr_leave_ledger",
|
|
1781
2203
|
"record>hr_leave_policy",
|
|
2204
|
+
"record>hr_leave_request",
|
|
1782
2205
|
"record>hr_legal_hold",
|
|
2206
|
+
"record>hr_legal_hold_item",
|
|
1783
2207
|
"record>hr_location",
|
|
2208
|
+
"record>hr_new_hire_report",
|
|
2209
|
+
"record>hr_offer",
|
|
2210
|
+
"record>hr_opening",
|
|
2211
|
+
"record>hr_overtime_alert",
|
|
2212
|
+
"record>hr_overtime_alert_rule",
|
|
2213
|
+
"record>hr_overtime_preapproval",
|
|
1784
2214
|
"record>hr_pay_group",
|
|
1785
2215
|
"record>hr_pay_period",
|
|
2216
|
+
"record>hr_pay_period_employment",
|
|
2217
|
+
"record>hr_payroll_export",
|
|
2218
|
+
"record>hr_payroll_export_line",
|
|
2219
|
+
"record>hr_position_assignment",
|
|
1786
2220
|
"record>hr_posting",
|
|
2221
|
+
"record>hr_posting_publication",
|
|
2222
|
+
"record>hr_provider_binding",
|
|
2223
|
+
"record>hr_provider_event",
|
|
2224
|
+
"record>hr_provisioning_result",
|
|
2225
|
+
"record>hr_punch",
|
|
2226
|
+
"record>hr_recalculation_batch",
|
|
1787
2227
|
"record>hr_record_class",
|
|
2228
|
+
"record>hr_records_request",
|
|
2229
|
+
"record>hr_reference_check",
|
|
2230
|
+
"record>hr_reporting_line",
|
|
1788
2231
|
"record>hr_requisition",
|
|
2232
|
+
"record>hr_restricted_note",
|
|
2233
|
+
"record>hr_retention_rule",
|
|
2234
|
+
"record>hr_review",
|
|
2235
|
+
"record>hr_review_cycle",
|
|
2236
|
+
"record>hr_review_peer_nomination",
|
|
2237
|
+
"record>hr_review_response",
|
|
2238
|
+
"record>hr_review_template",
|
|
2239
|
+
"record>hr_role_assignment",
|
|
1789
2240
|
"record>hr_schedule",
|
|
2241
|
+
"record>hr_schedule_change",
|
|
2242
|
+
"record>hr_schedule_guidance",
|
|
1790
2243
|
"record>hr_schedule_template",
|
|
2244
|
+
"record>hr_schedule_template_shift",
|
|
2245
|
+
"record>hr_scorecard",
|
|
2246
|
+
"record>hr_separation",
|
|
2247
|
+
"record>hr_shift",
|
|
2248
|
+
"record>hr_shift_claim",
|
|
2249
|
+
"record>hr_staffing_requirement",
|
|
1791
2250
|
"record>hr_survey",
|
|
2251
|
+
"record>hr_survey_invitation",
|
|
2252
|
+
"record>hr_survey_question",
|
|
2253
|
+
"record>hr_survey_response",
|
|
2254
|
+
"record>hr_tax_registration",
|
|
2255
|
+
"record>hr_tax_withholding",
|
|
2256
|
+
"record>hr_time_adjustment",
|
|
2257
|
+
"record>hr_training_assignment",
|
|
2258
|
+
"record>hr_training_attempt",
|
|
2259
|
+
"record>hr_transcript_entry",
|
|
2260
|
+
"record>hr_verification_letter_request",
|
|
2261
|
+
"record>hr_work_interval",
|
|
2262
|
+
"record>hr_workflow_binding",
|
|
2263
|
+
"record>hr_workflow_decision",
|
|
2264
|
+
"record>hr_workflow_definition",
|
|
2265
|
+
"record>hr_workflow_event",
|
|
2266
|
+
"record>hr_workflow_failure",
|
|
2267
|
+
"record>hr_workflow_flow_type",
|
|
2268
|
+
"record>hr_workflow_instance",
|
|
2269
|
+
"record>hr_workflow_step",
|
|
2270
|
+
"record>hr_workflow_step_definition",
|
|
2271
|
+
"record>hr_workweek",
|
|
2272
|
+
"record>html_extraction",
|
|
2273
|
+
"record>iam_access_audit",
|
|
2274
|
+
"record>iam_api_key",
|
|
2275
|
+
"record>iam_emergency_door_request",
|
|
2276
|
+
"record>iam_oauth_app",
|
|
2277
|
+
"record>iam_org_domain",
|
|
2278
|
+
"record>iam_org_domain_route",
|
|
2279
|
+
"record>iam_record_seat_change",
|
|
2280
|
+
"record>industry",
|
|
2281
|
+
"record>ingest_runs",
|
|
2282
|
+
"record>integration_connection",
|
|
2283
|
+
"record>integration_connection_resource",
|
|
2284
|
+
"record>interview_decision_interview",
|
|
2285
|
+
"record>interview_decision_question",
|
|
2286
|
+
"record>interview_document_revision",
|
|
2287
|
+
"record>interview_hole",
|
|
2288
|
+
"record>interview_question",
|
|
2289
|
+
"record>interview_session",
|
|
2290
|
+
"record>interview_turn",
|
|
2291
|
+
"record>invitation",
|
|
2292
|
+
"record>invitation_code",
|
|
2293
|
+
"record>invitation_request",
|
|
2294
|
+
"record>io_comment",
|
|
2295
|
+
"record>io_contract",
|
|
2296
|
+
"record>io_import",
|
|
2297
|
+
"record>io_outbox",
|
|
2298
|
+
"record>item",
|
|
2299
|
+
"record>item_mastery",
|
|
2300
|
+
"record>judge_verdict",
|
|
2301
|
+
"record>jurisdiction_policy",
|
|
2302
|
+
"record>kg_alert",
|
|
2303
|
+
"record>kg_chunk_entities",
|
|
2304
|
+
"record>kg_chunks",
|
|
2305
|
+
"record>kg_clusters",
|
|
2306
|
+
"record>kg_edges",
|
|
2307
|
+
"record>kg_entities",
|
|
2308
|
+
"record>kg_entity_aliases",
|
|
2309
|
+
"record>kg_suggestion_ack",
|
|
2310
|
+
"record>kg_sweep_queue",
|
|
2311
|
+
"record>kg_sweep_run",
|
|
2312
|
+
"record>kg_sweep_state",
|
|
2313
|
+
"record>kg_value_match",
|
|
2314
|
+
"record>knob_override",
|
|
2315
|
+
"record>knob_override_audit",
|
|
2316
|
+
"record>knob_rung_lock",
|
|
2317
|
+
"record>knob_scope_kind",
|
|
2318
|
+
"record>knob_write_door",
|
|
1792
2319
|
"record>league_membership",
|
|
1793
2320
|
"record>learn_doc",
|
|
1794
2321
|
"record>library_doc",
|
|
2322
|
+
"record>lifecycle_archive",
|
|
2323
|
+
"record>lifecycle_audit",
|
|
2324
|
+
"record>lifecycle_map_build",
|
|
2325
|
+
"record>lifecycle_reference_map",
|
|
2326
|
+
"record>lifecycle_run",
|
|
2327
|
+
"record>lifecycle_tier_ledger",
|
|
2328
|
+
"record>location",
|
|
1795
2329
|
"record>mandate",
|
|
2330
|
+
"record>mandate_advance_batch_row",
|
|
2331
|
+
"record>mandate_binding",
|
|
2332
|
+
"record>mandate_candidate",
|
|
2333
|
+
"record>mandate_candidate_run",
|
|
2334
|
+
"record>mandate_candidate_run_payload",
|
|
2335
|
+
"record>mandate_goal_clauses",
|
|
2336
|
+
"record>mandate_observation",
|
|
2337
|
+
"record>mandate_proposal",
|
|
2338
|
+
"record>mandate_readiness_verdict",
|
|
2339
|
+
"record>mandate_reference",
|
|
2340
|
+
"record>mandate_scan",
|
|
2341
|
+
"record>mandate_treatment",
|
|
1796
2342
|
"record>marketing_initiative",
|
|
2343
|
+
"record>masterwork_corpus_item",
|
|
2344
|
+
"record>masterwork_run",
|
|
2345
|
+
"record>masterwork_source",
|
|
2346
|
+
"record>math_course_structure",
|
|
2347
|
+
"record>math_problem",
|
|
2348
|
+
"record>matrx_action_ledger",
|
|
2349
|
+
"record>mcp_config",
|
|
2350
|
+
"record>mcp_server",
|
|
2351
|
+
"record>mcp_user_conn",
|
|
2352
|
+
"record>media_capture_handoff",
|
|
2353
|
+
"record>media_catalog_setting",
|
|
2354
|
+
"record>media_library_item",
|
|
2355
|
+
"record>media_selection_item",
|
|
2356
|
+
"record>media_selection_job",
|
|
2357
|
+
"record>media_source_library",
|
|
2358
|
+
"record>meet_call_invite",
|
|
2359
|
+
"record>meet_chat_message",
|
|
2360
|
+
"record>meet_connection",
|
|
2361
|
+
"record>meet_invitee",
|
|
1797
2362
|
"record>meet_meeting",
|
|
2363
|
+
"record>meet_note",
|
|
2364
|
+
"record>meet_occurrence_override",
|
|
2365
|
+
"record>meet_participant",
|
|
2366
|
+
"record>meet_recording",
|
|
2367
|
+
"record>meet_session",
|
|
2368
|
+
"record>meet_transcript_segment",
|
|
2369
|
+
"record>membership",
|
|
2370
|
+
"record>memory_trial",
|
|
2371
|
+
"record>memory_trial_step",
|
|
2372
|
+
"record>merge_field_provenance",
|
|
2373
|
+
"record>message",
|
|
1798
2374
|
"record>message_template",
|
|
2375
|
+
"record>message_template_detail",
|
|
2376
|
+
"record>migration_log",
|
|
2377
|
+
"record>mtx_media_heal_queue",
|
|
2378
|
+
"record>mtx_public_url_guard",
|
|
2379
|
+
"record>ner_shadow",
|
|
1799
2380
|
"record>note",
|
|
1800
2381
|
"record>note_folder",
|
|
2382
|
+
"record>notification",
|
|
2383
|
+
"record>notification_channel_preference",
|
|
2384
|
+
"record>notification_event_override",
|
|
2385
|
+
"record>notification_event_type",
|
|
2386
|
+
"record>notification_preference",
|
|
2387
|
+
"record>notification_submission",
|
|
2388
|
+
"record>notify_outsider_door_baseline",
|
|
2389
|
+
"record>opinion_clusters",
|
|
2390
|
+
"record>opinions",
|
|
2391
|
+
"record>ops_auth_lock_watchdog_log",
|
|
2392
|
+
"record>ops_check_item",
|
|
2393
|
+
"record>ops_check_run",
|
|
2394
|
+
"record>ops_db_host_sample",
|
|
2395
|
+
"record>ops_issue_class",
|
|
2396
|
+
"record>ops_issue_event",
|
|
2397
|
+
"record>ops_perf_client_event",
|
|
2398
|
+
"record>ops_perf_sample",
|
|
2399
|
+
"record>ops_perf_statement_snapshot",
|
|
2400
|
+
"record>ops_proof_check",
|
|
2401
|
+
"record>ops_proof_run",
|
|
2402
|
+
"record>ops_proof_scenario",
|
|
2403
|
+
"record>ops_source_read_cache",
|
|
2404
|
+
"record>ops_test_replay_cache",
|
|
2405
|
+
"record>org_admin_audit",
|
|
2406
|
+
"record>org_change_policy",
|
|
2407
|
+
"record>org_context_ledger",
|
|
2408
|
+
"record>org_industries",
|
|
2409
|
+
"record>org_member_control",
|
|
2410
|
+
"record>org_plan",
|
|
1801
2411
|
"record>organization",
|
|
2412
|
+
"record>organization_preferences",
|
|
2413
|
+
"record>output_feedback",
|
|
2414
|
+
"record>outreach_acceptance",
|
|
1802
2415
|
"record>page_extraction_job",
|
|
2416
|
+
"record>page_extraction_page_run",
|
|
2417
|
+
"record>page_extraction_results",
|
|
2418
|
+
"record>page_extraction_runs",
|
|
2419
|
+
"record>page_vitals",
|
|
1803
2420
|
"record>party",
|
|
2421
|
+
"record>party_contact_point",
|
|
2422
|
+
"record>passkey_credential",
|
|
1804
2423
|
"record>pc_article",
|
|
1805
2424
|
"record>pc_episode",
|
|
1806
2425
|
"record>pc_show",
|
|
1807
2426
|
"record>pc_studio_run",
|
|
2427
|
+
"record>pc_studio_run_asset",
|
|
2428
|
+
"record>pdf_consolidation_log",
|
|
2429
|
+
"record>pdf_redaction_audit",
|
|
2430
|
+
"record>pdf_redaction_key_escrow",
|
|
2431
|
+
"record>permission_grant",
|
|
2432
|
+
"record>personal_data_column",
|
|
2433
|
+
"record>plan_cms_fill_item",
|
|
2434
|
+
"record>plan_cms_fill_job",
|
|
2435
|
+
"record>plan_entity",
|
|
2436
|
+
"record>plan_node",
|
|
2437
|
+
"record>plan_node_artifact",
|
|
2438
|
+
"record>plan_node_step",
|
|
2439
|
+
"record>plan_profile",
|
|
2440
|
+
"record>platform_action_request",
|
|
2441
|
+
"record>platform_actor_session",
|
|
2442
|
+
"record>platform_actor_token",
|
|
2443
|
+
"record>platform_actor_token_event",
|
|
2444
|
+
"record>platform_class_approval_by_arman",
|
|
2445
|
+
"record>platform_class_approval_by_org_admin",
|
|
2446
|
+
"record>platform_continued_access",
|
|
2447
|
+
"record>platform_cutover_census_run",
|
|
2448
|
+
"record>platform_cutover_evaluation_replaced",
|
|
2449
|
+
"record>platform_cutover_evaluation_write",
|
|
2450
|
+
"record>platform_cutover_seam",
|
|
2451
|
+
"record>platform_cutover_seam_measure",
|
|
2452
|
+
"record>platform_cutover_seam_press",
|
|
2453
|
+
"record>platform_dated_change",
|
|
2454
|
+
"record>platform_google_calendar_event_create_intent",
|
|
2455
|
+
"record>platform_google_task_create_intent",
|
|
2456
|
+
"record>platform_hidden_item",
|
|
2457
|
+
"record>platform_kernel_fingerprint_record",
|
|
2458
|
+
"record>platform_outcome_event",
|
|
2459
|
+
"record>platform_outsider_consumer",
|
|
2460
|
+
"record>platform_reference_declaration",
|
|
2461
|
+
"record>platform_saved_view",
|
|
2462
|
+
"record>platform_secure_delivery",
|
|
2463
|
+
"record>platform_share_link",
|
|
2464
|
+
"record>platform_strict_class_probe",
|
|
2465
|
+
"record>podcast_race",
|
|
2466
|
+
"record>position",
|
|
2467
|
+
"record>presentation",
|
|
1808
2468
|
"record>processed_document",
|
|
2469
|
+
"record>processed_document_page",
|
|
2470
|
+
"record>product_capture_file",
|
|
2471
|
+
"record>product_capture_item",
|
|
2472
|
+
"record>product_capture_payload",
|
|
2473
|
+
"record>product_capture_product",
|
|
2474
|
+
"record>product_capture_question",
|
|
1809
2475
|
"record>project",
|
|
2476
|
+
"record>provider_account",
|
|
2477
|
+
"record>provider_account_credential",
|
|
2478
|
+
"record>provision",
|
|
2479
|
+
"record>provision_snapshot",
|
|
2480
|
+
"record>provision_spec_grandfather",
|
|
2481
|
+
"record>purpose",
|
|
1810
2482
|
"record>quiz_session",
|
|
2483
|
+
"record>rag_ingest_run",
|
|
2484
|
+
"record>rag_library_audit_log",
|
|
2485
|
+
"record>recompute_queue",
|
|
1811
2486
|
"record>record",
|
|
2487
|
+
"record>redaction_mapping",
|
|
2488
|
+
"record>relationship_rule",
|
|
2489
|
+
"record>research_analysis",
|
|
2490
|
+
"record>research_content",
|
|
1812
2491
|
"record>research_context_bundle",
|
|
2492
|
+
"record>research_document",
|
|
2493
|
+
"record>research_intent",
|
|
2494
|
+
"record>research_keyword",
|
|
2495
|
+
"record>research_media",
|
|
2496
|
+
"record>research_source",
|
|
2497
|
+
"record>research_synthesis",
|
|
2498
|
+
"record>research_tag",
|
|
1813
2499
|
"record>research_template",
|
|
1814
2500
|
"record>research_topic",
|
|
2501
|
+
"record>retention_policy",
|
|
2502
|
+
"record>retrieval_audit",
|
|
2503
|
+
"record>review_queue",
|
|
2504
|
+
"record>route_manifest_entry",
|
|
2505
|
+
"record>row_version",
|
|
1815
2506
|
"record>rulebook",
|
|
2507
|
+
"record>run_approval",
|
|
2508
|
+
"record>run_approval_event",
|
|
2509
|
+
"record>runtime_operation_stream",
|
|
2510
|
+
"record>runtime_operation_stream_batch",
|
|
2511
|
+
"record>sandbox_instance",
|
|
2512
|
+
"record>sch_agent_task",
|
|
2513
|
+
"record>sch_run",
|
|
1816
2514
|
"record>sch_task",
|
|
2515
|
+
"record>sch_trigger",
|
|
2516
|
+
"record>scheduler_automation_run_subject",
|
|
2517
|
+
"record>schema_templates",
|
|
2518
|
+
"record>scope_association_suggestion",
|
|
2519
|
+
"record>scope_item_value_suggestion",
|
|
2520
|
+
"record>scope_suggestion",
|
|
1817
2521
|
"record>scope_type",
|
|
2522
|
+
"record>scrape_domain",
|
|
2523
|
+
"record>scrape_domain_settings",
|
|
2524
|
+
"record>scrape_failure_log",
|
|
2525
|
+
"record>scrape_parsed_page",
|
|
2526
|
+
"record>scrape_path_override",
|
|
2527
|
+
"record>scrape_path_pattern",
|
|
2528
|
+
"record>scrape_retry_queue",
|
|
2529
|
+
"record>scraper_comparison_run",
|
|
2530
|
+
"record>scraper_data_fetch_job",
|
|
2531
|
+
"record>scraper_data_source",
|
|
2532
|
+
"record>seo_ai_capability",
|
|
2533
|
+
"record>seo_ai_visibility_brand_check",
|
|
2534
|
+
"record>seo_ai_visibility_citation",
|
|
2535
|
+
"record>seo_ai_visibility_claim",
|
|
2536
|
+
"record>seo_ai_visibility_panel",
|
|
2537
|
+
"record>seo_ai_visibility_response",
|
|
2538
|
+
"record>seo_ai_visibility_signal",
|
|
2539
|
+
"record>seo_backlink",
|
|
2540
|
+
"record>seo_backlink_change_event",
|
|
2541
|
+
"record>seo_backlink_dimension_snapshot",
|
|
2542
|
+
"record>seo_backlink_observation",
|
|
2543
|
+
"record>seo_backlink_snapshot",
|
|
2544
|
+
"record>seo_change_assessment",
|
|
2545
|
+
"record>seo_change_event",
|
|
2546
|
+
"record>seo_change_item",
|
|
2547
|
+
"record>seo_change_metric",
|
|
2548
|
+
"record>seo_change_set",
|
|
2549
|
+
"record>seo_change_theory",
|
|
2550
|
+
"record>seo_competitor",
|
|
2551
|
+
"record>seo_competitor_observation",
|
|
2552
|
+
"record>seo_competitor_opportunity",
|
|
2553
|
+
"record>seo_coverage_mention",
|
|
2554
|
+
"record>seo_coverage_tracker",
|
|
2555
|
+
"record>seo_dimension_value_matcher",
|
|
2556
|
+
"record>seo_engine_schedule",
|
|
2557
|
+
"record>seo_geo_place",
|
|
2558
|
+
"record>seo_gsc_dig_rule",
|
|
1818
2559
|
"record>seo_keyword",
|
|
2560
|
+
"record>seo_keyword_class_rule",
|
|
2561
|
+
"record>seo_keyword_edge",
|
|
2562
|
+
"record>seo_keyword_facet",
|
|
2563
|
+
"record>seo_keyword_market",
|
|
2564
|
+
"record>seo_keyword_market_observation",
|
|
2565
|
+
"record>seo_keyword_place",
|
|
2566
|
+
"record>seo_keyword_saved_view",
|
|
2567
|
+
"record>seo_keyword_topic",
|
|
2568
|
+
"record>seo_landscape_brief",
|
|
2569
|
+
"record>seo_link_gap_domain",
|
|
2570
|
+
"record>seo_link_gap_match",
|
|
2571
|
+
"record>seo_map_facet",
|
|
2572
|
+
"record>seo_map_facet_value",
|
|
2573
|
+
"record>seo_map_topic",
|
|
2574
|
+
"record>seo_page_measurement_health",
|
|
2575
|
+
"record>seo_page_performance",
|
|
2576
|
+
"record>seo_pr_moment",
|
|
2577
|
+
"record>seo_provider_call",
|
|
2578
|
+
"record>seo_provider_task",
|
|
2579
|
+
"record>seo_rank_observation",
|
|
2580
|
+
"record>seo_rank_target",
|
|
2581
|
+
"record>seo_raw_payload",
|
|
2582
|
+
"record>seo_referring_domain_profile",
|
|
2583
|
+
"record>seo_reputation_case",
|
|
2584
|
+
"record>seo_search_performance_daily",
|
|
2585
|
+
"record>seo_serp_mention",
|
|
2586
|
+
"record>seo_serp_opportunity",
|
|
2587
|
+
"record>seo_serp_result",
|
|
2588
|
+
"record>seo_serp_snapshot",
|
|
2589
|
+
"record>seo_site_geo_area",
|
|
2590
|
+
"record>seo_site_keyword_offering",
|
|
2591
|
+
"record>seo_site_keyword_value",
|
|
2592
|
+
"record>seo_site_offering_value",
|
|
2593
|
+
"record>seo_site_topic_value",
|
|
2594
|
+
"record>seo_site_value_combo",
|
|
2595
|
+
"record>seo_site_value_worth",
|
|
2596
|
+
"record>seo_site_vocabulary",
|
|
2597
|
+
"record>seo_source_request",
|
|
2598
|
+
"record>seo_starter_pack",
|
|
2599
|
+
"record>seo_starter_pack_item",
|
|
2600
|
+
"record>seo_story_angle",
|
|
1819
2601
|
"record>seo_topic",
|
|
2602
|
+
"record>seo_topical_map",
|
|
2603
|
+
"record>seo_tracker_story",
|
|
2604
|
+
"record>seo_web_analytics_daily",
|
|
2605
|
+
"record>shareable_resource_registry",
|
|
1820
2606
|
"record>shared_canvas_item",
|
|
2607
|
+
"record>short_link",
|
|
1821
2608
|
"record>skill",
|
|
2609
|
+
"record>skill_detail",
|
|
2610
|
+
"record>sms_consent",
|
|
2611
|
+
"record>sms_conversation",
|
|
2612
|
+
"record>sms_message",
|
|
2613
|
+
"record>sms_message_media",
|
|
2614
|
+
"record>sms_notification",
|
|
2615
|
+
"record>sms_notification_preference",
|
|
2616
|
+
"record>sms_phone_number",
|
|
2617
|
+
"record>sms_rate_limits",
|
|
2618
|
+
"record>sms_webhook_logs",
|
|
2619
|
+
"record>social_account_insight_daily",
|
|
1822
2620
|
"record>social_ad",
|
|
2621
|
+
"record>social_captured_post",
|
|
2622
|
+
"record>social_kpi_goal",
|
|
2623
|
+
"record>social_own_post_metric",
|
|
1823
2624
|
"record>social_post",
|
|
2625
|
+
"record>social_post_analysis",
|
|
2626
|
+
"record>social_post_comment",
|
|
2627
|
+
"record>social_post_metric_snapshot",
|
|
2628
|
+
"record>social_post_stat",
|
|
2629
|
+
"record>social_post_transcript",
|
|
1824
2630
|
"record>social_profile",
|
|
2631
|
+
"record>social_profile_snapshot",
|
|
2632
|
+
"record>social_remix_output",
|
|
1825
2633
|
"record>social_swipe_collection",
|
|
1826
2634
|
"record>social_tracked_account",
|
|
2635
|
+
"record>social_video_composition_version",
|
|
2636
|
+
"record>social_video_project",
|
|
2637
|
+
"record>social_video_variant",
|
|
2638
|
+
"record>social_watchlist_hit",
|
|
2639
|
+
"record>soft_delete_cascade_job",
|
|
2640
|
+
"record>soft_delete_edge",
|
|
2641
|
+
"record>source_authority",
|
|
2642
|
+
"record>space_payload",
|
|
2643
|
+
"record>stage_ref_kind",
|
|
2644
|
+
"record>structure",
|
|
1827
2645
|
"record>structured_list",
|
|
2646
|
+
"record>studio_cleaned_segments",
|
|
2647
|
+
"record>studio_concept_items",
|
|
2648
|
+
"record>studio_documents",
|
|
2649
|
+
"record>studio_module_segments",
|
|
2650
|
+
"record>studio_raw_segments",
|
|
2651
|
+
"record>studio_recording_chunks",
|
|
2652
|
+
"record>studio_recording_segments",
|
|
2653
|
+
"record>studio_run",
|
|
1828
2654
|
"record>studio_session",
|
|
2655
|
+
"record>studio_session_settings",
|
|
2656
|
+
"record>study_attempt",
|
|
1829
2657
|
"record>study_goal",
|
|
1830
2658
|
"record>study_media",
|
|
1831
2659
|
"record>study_plan",
|
|
1832
2660
|
"record>study_plan_block",
|
|
2661
|
+
"record>study_plan_day",
|
|
2662
|
+
"record>study_reminder_context",
|
|
2663
|
+
"record>study_reminder_delivery",
|
|
2664
|
+
"record>study_session",
|
|
2665
|
+
"record>study_source_chunk",
|
|
2666
|
+
"record>study_streak",
|
|
2667
|
+
"record>study_structured_section",
|
|
2668
|
+
"record>superseded_policy",
|
|
2669
|
+
"record>support_session",
|
|
2670
|
+
"record>support_session_event",
|
|
1833
2671
|
"record>surface",
|
|
2672
|
+
"record>system_announcement",
|
|
2673
|
+
"record>system_context_item",
|
|
2674
|
+
"record>system_context_item_org_value",
|
|
2675
|
+
"record>system_error",
|
|
2676
|
+
"record>system_write_failure",
|
|
2677
|
+
"record>t13_backfill_ledger",
|
|
2678
|
+
"record>tag",
|
|
1834
2679
|
"record>task",
|
|
2680
|
+
"record>taxonomy_node",
|
|
1835
2681
|
"record>team",
|
|
2682
|
+
"record>template_context_items",
|
|
2683
|
+
"record>template_scope_types",
|
|
2684
|
+
"record>templates",
|
|
2685
|
+
"record>test_handset_inbox",
|
|
2686
|
+
"record>test_handset_verification",
|
|
1836
2687
|
"record>thread",
|
|
1837
2688
|
"record>tool",
|
|
2689
|
+
"record>tool_battle",
|
|
2690
|
+
"record>tool_battle_cell",
|
|
2691
|
+
"record>tool_binding",
|
|
1838
2692
|
"record>tool_bundle",
|
|
2693
|
+
"record>tool_call",
|
|
2694
|
+
"record>tool_canary_run",
|
|
2695
|
+
"record>tool_catalog_cache",
|
|
2696
|
+
"record>tool_catalog_call",
|
|
2697
|
+
"record>tool_catalog_call_attempt",
|
|
2698
|
+
"record>tool_catalog_call_detail",
|
|
2699
|
+
"record>tool_catalog_endpoint",
|
|
2700
|
+
"record>tool_catalog_entry",
|
|
2701
|
+
"record>tool_catalog_provider",
|
|
2702
|
+
"record>tool_definition_version",
|
|
2703
|
+
"record>tool_executor",
|
|
2704
|
+
"record>tool_feature_scorecard",
|
|
2705
|
+
"record>tool_surface_defaults",
|
|
2706
|
+
"record>tool_test_sample",
|
|
2707
|
+
"record>tool_ui",
|
|
2708
|
+
"record>tool_ui_incident",
|
|
2709
|
+
"record>tool_ui_version",
|
|
1839
2710
|
"record>transcript",
|
|
2711
|
+
"record>trigger_event",
|
|
1840
2712
|
"record>udt_document",
|
|
2713
|
+
"record>udt_document_snapshot",
|
|
2714
|
+
"record>udt_workbook_snapshot",
|
|
2715
|
+
"record>ui_client",
|
|
2716
|
+
"record>ui_decision_pick",
|
|
2717
|
+
"record>ui_surface_action",
|
|
2718
|
+
"record>ui_surface_agent_pref",
|
|
2719
|
+
"record>ui_surface_agent_role",
|
|
2720
|
+
"record>ui_surface_client_tool",
|
|
2721
|
+
"record>ui_surface_config",
|
|
2722
|
+
"record>ui_surface_item_type",
|
|
2723
|
+
"record>ui_surface_value",
|
|
2724
|
+
"record>ui_surface_write_target",
|
|
2725
|
+
"record>univer_payload",
|
|
2726
|
+
"record>unsubscribe_token",
|
|
2727
|
+
"record>uploads_inflight",
|
|
2728
|
+
"record>user",
|
|
2729
|
+
"record>user_achievement",
|
|
2730
|
+
"record>user_active_context",
|
|
2731
|
+
"record>user_analysis_preference",
|
|
2732
|
+
"record>user_email_preference",
|
|
2733
|
+
"record>user_feedback",
|
|
2734
|
+
"record>user_follows",
|
|
1841
2735
|
"record>user_markdown_sample",
|
|
2736
|
+
"record>user_memory",
|
|
2737
|
+
"record>user_preference",
|
|
2738
|
+
"record>user_profile",
|
|
2739
|
+
"record>user_secret",
|
|
2740
|
+
"record>user_secret_audit",
|
|
2741
|
+
"record>user_secret_grant",
|
|
2742
|
+
"record>user_stat",
|
|
2743
|
+
"record>user_surface_state",
|
|
2744
|
+
"record>users_calendar_feed",
|
|
2745
|
+
"record>vault_fill_approvals",
|
|
2746
|
+
"record>vault_fill_devices",
|
|
1842
2747
|
"record>voice",
|
|
1843
2748
|
"record>war_room",
|
|
2749
|
+
"record>wbx_demo",
|
|
2750
|
+
"record>wbx_guidance",
|
|
2751
|
+
"record>wbx_highlight",
|
|
1844
2752
|
"record>wbx_pattern",
|
|
2753
|
+
"record>wbx_recipe",
|
|
2754
|
+
"record>wbx_screenshot",
|
|
2755
|
+
"record>wbx_seo_audit",
|
|
2756
|
+
"record>wc_claim",
|
|
2757
|
+
"record>wc_impairment_definition",
|
|
2758
|
+
"record>wc_injury",
|
|
2759
|
+
"record>wc_report",
|
|
1845
2760
|
"record>web_analysis_item",
|
|
1846
2761
|
"record>web_brand",
|
|
2762
|
+
"record>web_brand_asset",
|
|
2763
|
+
"record>web_brand_choice",
|
|
2764
|
+
"record>web_brand_exclusion",
|
|
2765
|
+
"record>web_brand_offering",
|
|
1847
2766
|
"record>web_brand_persona",
|
|
2767
|
+
"record>web_brand_relation_kind",
|
|
2768
|
+
"record>web_brand_review",
|
|
2769
|
+
"record>web_brand_testimony",
|
|
2770
|
+
"record>web_business_fact",
|
|
2771
|
+
"record>web_business_location",
|
|
2772
|
+
"record>web_channel_analytics_daily",
|
|
2773
|
+
"record>web_crawl_event",
|
|
2774
|
+
"record>web_crawl_preset",
|
|
2775
|
+
"record>web_crawl_schedule",
|
|
2776
|
+
"record>web_crawl_session",
|
|
2777
|
+
"record>web_crawl_url",
|
|
2778
|
+
"record>web_discovered_item",
|
|
2779
|
+
"record>web_domain_category",
|
|
2780
|
+
"record>web_domain_category_observation",
|
|
2781
|
+
"record>web_finding",
|
|
2782
|
+
"record>web_gsc_page_stat",
|
|
2783
|
+
"record>web_link_edge",
|
|
2784
|
+
"record>web_listing_publisher",
|
|
2785
|
+
"record>web_location_listing",
|
|
2786
|
+
"record>web_news_item",
|
|
2787
|
+
"record>web_offering_template",
|
|
1848
2788
|
"record>web_page",
|
|
2789
|
+
"record>web_page_content",
|
|
2790
|
+
"record>web_page_evidence",
|
|
2791
|
+
"record>web_page_sitemap",
|
|
1849
2792
|
"record>web_property",
|
|
1850
2793
|
"record>web_provider",
|
|
2794
|
+
"record>web_result",
|
|
1851
2795
|
"record>web_site",
|
|
2796
|
+
"record>web_site_endpoint_rule",
|
|
2797
|
+
"record>web_site_item_config",
|
|
2798
|
+
"record>web_site_offering",
|
|
2799
|
+
"record>web_sitemap",
|
|
2800
|
+
"record>web_snapshot",
|
|
2801
|
+
"record>web_tag_manager_snapshot",
|
|
2802
|
+
"record>web_temp_brand_firmographic",
|
|
2803
|
+
"record>web_temp_brand_presence",
|
|
2804
|
+
"record>web_temp_brand_recognition",
|
|
2805
|
+
"record>web_voice_fingerprint",
|
|
2806
|
+
"record>web_youtube_video",
|
|
2807
|
+
"record>webhook_deliveries",
|
|
2808
|
+
"record>webhook_dispatch_state",
|
|
2809
|
+
"record>webhook_test_receipt",
|
|
2810
|
+
"record>webhooks",
|
|
2811
|
+
"record>wf_node_data_slot",
|
|
2812
|
+
"record>work_claim",
|
|
2813
|
+
"record>work_item",
|
|
1852
2814
|
"record>workbook",
|
|
1853
2815
|
"record>workflow",
|
|
2816
|
+
"record>workflow_card",
|
|
2817
|
+
"record>workflow_checkpoint",
|
|
2818
|
+
"record>workflow_checkpoint_value",
|
|
2819
|
+
"record>workflow_comparison",
|
|
2820
|
+
"record>workflow_definition_overview",
|
|
2821
|
+
"record>workflow_definition_version",
|
|
2822
|
+
"record>workflow_idempotency",
|
|
2823
|
+
"record>workflow_job",
|
|
2824
|
+
"record>workflow_node_events",
|
|
2825
|
+
"record>workflow_node_outcome",
|
|
1854
2826
|
"record>workflow_plan",
|
|
2827
|
+
"record>workflow_plan_event",
|
|
2828
|
+
"record>workflow_plan_sample",
|
|
2829
|
+
"record>workflow_recovery_audit",
|
|
2830
|
+
"record>workflow_review_issue",
|
|
2831
|
+
"record>workflow_run",
|
|
2832
|
+
"record>workflow_run_log",
|
|
2833
|
+
"record>workflow_runtime_surface",
|
|
1855
2834
|
"record>workflow_template",
|
|
1856
2835
|
"record>workflow_trigger",
|
|
2836
|
+
"record>workflow_trigger_fire",
|
|
2837
|
+
"record>workflow_work_item",
|
|
2838
|
+
"record>write_guard_key",
|
|
2839
|
+
"record>youtube_search",
|
|
1857
2840
|
"record>youtube_video",
|
|
1858
2841
|
"research_media>category",
|
|
1859
2842
|
"research_media>web_brand",
|
|
@@ -2952,96 +3935,23 @@ var import_react_dom = require("react-dom");
|
|
|
2952
3935
|
var import_design_system2 = require("@ai-matrx/design-system");
|
|
2953
3936
|
|
|
2954
3937
|
// src/react/icons.tsx
|
|
2955
|
-
var
|
|
2956
|
-
|
|
2957
|
-
|
|
2958
|
-
|
|
2959
|
-
|
|
2960
|
-
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
|
|
2967
|
-
|
|
2968
|
-
...props
|
|
2969
|
-
};
|
|
2970
|
-
}
|
|
2971
|
-
function SpinnerIcon(props) {
|
|
2972
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("svg", { ...base(props), children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" }) });
|
|
2973
|
-
}
|
|
2974
|
-
function Link2Icon(props) {
|
|
2975
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { ...base(props), children: [
|
|
2976
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9 17H7A5 5 0 0 1 7 7h2" }),
|
|
2977
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M15 7h2a5 5 0 1 1 0 10h-2" }),
|
|
2978
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("line", { x1: "8", x2: "16", y1: "12", y2: "12" })
|
|
2979
|
-
] });
|
|
2980
|
-
}
|
|
2981
|
-
function RefreshIcon(props) {
|
|
2982
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { ...base(props), children: [
|
|
2983
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" }),
|
|
2984
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M21 3v5h-5" }),
|
|
2985
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" }),
|
|
2986
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 16H3v5" })
|
|
2987
|
-
] });
|
|
2988
|
-
}
|
|
2989
|
-
function UploadIcon(props) {
|
|
2990
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { ...base(props), children: [
|
|
2991
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }),
|
|
2992
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("polyline", { points: "17 8 12 3 7 8" }),
|
|
2993
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("line", { x1: "12", x2: "12", y1: "3", y2: "15" })
|
|
2994
|
-
] });
|
|
2995
|
-
}
|
|
2996
|
-
function FolderOpenIcon(props) {
|
|
2997
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("svg", { ...base(props), children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("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" }) });
|
|
2998
|
-
}
|
|
2999
|
-
function CornerDownRightIcon(props) {
|
|
3000
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { ...base(props), children: [
|
|
3001
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("polyline", { points: "15 10 20 15 15 20" }),
|
|
3002
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 4v7a4 4 0 0 0 4 4h12" })
|
|
3003
|
-
] });
|
|
3004
|
-
}
|
|
3005
|
-
function TagIcon(props) {
|
|
3006
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { ...base(props), children: [
|
|
3007
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("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" }),
|
|
3008
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "7.5", cy: "7.5", r: ".5", fill: "currentColor" })
|
|
3009
|
-
] });
|
|
3010
|
-
}
|
|
3011
|
-
function DefaultEntityIcon(props) {
|
|
3012
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { ...base(props), children: [
|
|
3013
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("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" }),
|
|
3014
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m7 16.5-4.74-2.85" }),
|
|
3015
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m7 16.5 5-3" }),
|
|
3016
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7 16.5v5.17" }),
|
|
3017
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("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" }),
|
|
3018
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m17 16.5-5-3" }),
|
|
3019
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m17 16.5 4.74-2.85" }),
|
|
3020
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M17 16.5v5.17" }),
|
|
3021
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("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" }),
|
|
3022
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 8 7.26 5.15" }),
|
|
3023
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m12 8 4.74-2.85" }),
|
|
3024
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 13.5V8" })
|
|
3025
|
-
] });
|
|
3026
|
-
}
|
|
3027
|
-
function RestoreIcon(props) {
|
|
3028
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { ...base(props), children: [
|
|
3029
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 14h6v6" }),
|
|
3030
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M20 10h-6V4" }),
|
|
3031
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M14 10l7-7" }),
|
|
3032
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 21l7-7" })
|
|
3033
|
-
] });
|
|
3034
|
-
}
|
|
3035
|
-
function GripResizeIcon(props) {
|
|
3036
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { ...base(props), children: [
|
|
3037
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M21 15 15 21" }),
|
|
3038
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M21 20 20 21" })
|
|
3039
|
-
] });
|
|
3040
|
-
}
|
|
3938
|
+
var import_icons = require("@ai-matrx/design-system/icons");
|
|
3939
|
+
var sized = (Glyph) => (0, import_icons.withGlyphDefaults)(Glyph, { width: 24, height: 24 });
|
|
3940
|
+
var SpinnerIcon = sized(import_icons.Loader2Icon);
|
|
3941
|
+
var Link2Icon = sized(import_icons.Link2Icon);
|
|
3942
|
+
var RefreshIcon = sized(import_icons.RefreshCwIcon);
|
|
3943
|
+
var UploadIcon = sized(import_icons.UploadIcon);
|
|
3944
|
+
var FolderOpenIcon = sized(import_icons.FolderOpenIcon);
|
|
3945
|
+
var FileTextIcon = sized(import_icons.FileTextIcon);
|
|
3946
|
+
var CornerDownRightIcon = sized(import_icons.CornerDownRightIcon);
|
|
3947
|
+
var TagIcon = sized(import_icons.TagIcon);
|
|
3948
|
+
var DefaultEntityIcon = sized(import_icons.BoxesIcon);
|
|
3949
|
+
var RestoreIcon = sized(import_icons.RestoreIcon);
|
|
3950
|
+
var GripResizeIcon = sized(import_icons.GripResizeIcon);
|
|
3041
3951
|
|
|
3042
3952
|
// src/react/components/DefaultWindowShell.tsx
|
|
3043
|
-
var
|
|
3044
|
-
var
|
|
3953
|
+
var import_icons3 = require("@ai-matrx/design-system/icons");
|
|
3954
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
3045
3955
|
var DEFAULT_WIDTH = 440;
|
|
3046
3956
|
var DEFAULT_HEIGHT = 580;
|
|
3047
3957
|
var MIN_WIDTH = 330;
|
|
@@ -3125,7 +4035,7 @@ function DefaultWindowShell({
|
|
|
3125
4035
|
height: rect.height
|
|
3126
4036
|
};
|
|
3127
4037
|
return (0, import_react_dom.createPortal)(
|
|
3128
|
-
/* @__PURE__ */ (0,
|
|
4038
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_design_system2.FloatingLayer, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
|
|
3129
4039
|
"div",
|
|
3130
4040
|
{
|
|
3131
4041
|
ref: setPanelRef,
|
|
@@ -3142,7 +4052,7 @@ function DefaultWindowShell({
|
|
|
3142
4052
|
className
|
|
3143
4053
|
),
|
|
3144
4054
|
children: [
|
|
3145
|
-
/* @__PURE__ */ (0,
|
|
4055
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
|
|
3146
4056
|
"header",
|
|
3147
4057
|
{
|
|
3148
4058
|
onPointerDown: drag.onPointerDown,
|
|
@@ -3154,51 +4064,51 @@ function DefaultWindowShell({
|
|
|
3154
4064
|
isMobile ? "" : "cursor-move touch-none"
|
|
3155
4065
|
),
|
|
3156
4066
|
children: [
|
|
3157
|
-
/* @__PURE__ */ (0,
|
|
4067
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
|
|
3158
4068
|
"span",
|
|
3159
4069
|
{
|
|
3160
4070
|
id: labelId,
|
|
3161
4071
|
className: "flex min-w-0 items-center gap-1.5 text-sm font-medium text-foreground",
|
|
3162
4072
|
children: [
|
|
3163
4073
|
icon,
|
|
3164
|
-
/* @__PURE__ */ (0,
|
|
4074
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "truncate", children: title })
|
|
3165
4075
|
]
|
|
3166
4076
|
}
|
|
3167
4077
|
),
|
|
3168
|
-
/* @__PURE__ */ (0,
|
|
3169
|
-
isMobile ? null : /* @__PURE__ */ (0,
|
|
4078
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("span", { className: "flex shrink-0 items-center gap-0.5", children: [
|
|
4079
|
+
isMobile ? null : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
3170
4080
|
"button",
|
|
3171
4081
|
{
|
|
3172
4082
|
type: "button",
|
|
3173
4083
|
onClick: () => setMaximized((v) => !v),
|
|
3174
4084
|
"aria-label": maximized ? "Restore window" : "Maximize window",
|
|
3175
4085
|
className: "flex h-6 w-6 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
|
|
3176
|
-
children: maximized ? /* @__PURE__ */ (0,
|
|
4086
|
+
children: maximized ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(RestoreIcon, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons3.Maximize2Icon, { className: "h-3.5 w-3.5" })
|
|
3177
4087
|
}
|
|
3178
4088
|
),
|
|
3179
|
-
/* @__PURE__ */ (0,
|
|
4089
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
3180
4090
|
"button",
|
|
3181
4091
|
{
|
|
3182
4092
|
type: "button",
|
|
3183
4093
|
onClick: onClose,
|
|
3184
4094
|
"aria-label": "Close",
|
|
3185
4095
|
className: "flex h-6 w-6 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
|
|
3186
|
-
children: /* @__PURE__ */ (0,
|
|
4096
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons3.XIcon, { className: "h-3.5 w-3.5" })
|
|
3187
4097
|
}
|
|
3188
4098
|
)
|
|
3189
4099
|
] })
|
|
3190
4100
|
]
|
|
3191
4101
|
}
|
|
3192
4102
|
),
|
|
3193
|
-
/* @__PURE__ */ (0,
|
|
3194
|
-
isMobile || maximized ? null : /* @__PURE__ */ (0,
|
|
4103
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "min-h-0 flex-1 overflow-hidden", children }),
|
|
4104
|
+
isMobile || maximized ? null : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
3195
4105
|
"button",
|
|
3196
4106
|
{
|
|
3197
4107
|
type: "button",
|
|
3198
4108
|
"aria-label": "Resize window",
|
|
3199
4109
|
onPointerDown: drag.resizeHandle("se"),
|
|
3200
4110
|
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",
|
|
3201
|
-
children: /* @__PURE__ */ (0,
|
|
4111
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(GripResizeIcon, { className: "h-3 w-3" })
|
|
3202
4112
|
}
|
|
3203
4113
|
)
|
|
3204
4114
|
]
|
|
@@ -3209,7 +4119,7 @@ function DefaultWindowShell({
|
|
|
3209
4119
|
}
|
|
3210
4120
|
|
|
3211
4121
|
// src/react/components/AssociationWindow.tsx
|
|
3212
|
-
var
|
|
4122
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
3213
4123
|
function AssociationWindow({
|
|
3214
4124
|
open,
|
|
3215
4125
|
onClose,
|
|
@@ -3222,16 +4132,16 @@ function AssociationWindow({
|
|
|
3222
4132
|
const instanceId = (0, import_react13.useId)();
|
|
3223
4133
|
const { windowShell } = useAssociationsUiPorts();
|
|
3224
4134
|
if (!open) return null;
|
|
3225
|
-
const body = /* @__PURE__ */ (0,
|
|
3226
|
-
subtitle ? /* @__PURE__ */ (0,
|
|
4135
|
+
const body = /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex h-full min-h-0 flex-col gap-2 p-3", children: [
|
|
4136
|
+
subtitle ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "shrink-0 text-xs text-muted-foreground", children: subtitle }) : null,
|
|
3227
4137
|
children
|
|
3228
4138
|
] });
|
|
3229
4139
|
const windowId = `association:${scopeId}:${instanceId}`;
|
|
3230
4140
|
if (windowShell) {
|
|
3231
4141
|
const HostWindow = windowShell.Window;
|
|
3232
|
-
return /* @__PURE__ */ (0,
|
|
4142
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(HostWindow, { id: windowId, title, onClose, children: body });
|
|
3233
4143
|
}
|
|
3234
|
-
return /* @__PURE__ */ (0,
|
|
4144
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
3235
4145
|
DefaultWindowShell,
|
|
3236
4146
|
{
|
|
3237
4147
|
id: windowId,
|
|
@@ -3246,28 +4156,28 @@ function AssociationWindow({
|
|
|
3246
4156
|
// src/react/components/AssociationPicker.tsx
|
|
3247
4157
|
var import_react14 = require("react");
|
|
3248
4158
|
var import_design_system3 = require("@ai-matrx/design-system");
|
|
3249
|
-
var
|
|
3250
|
-
var
|
|
4159
|
+
var import_icons5 = require("@ai-matrx/design-system/icons");
|
|
4160
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
3251
4161
|
function AssociationPicker(props) {
|
|
3252
4162
|
const store = useAssociationsStore();
|
|
3253
4163
|
const { pickerOverrides } = useAssociationsUiPorts();
|
|
3254
4164
|
const info = store.registry.getEntityInfo(props.token);
|
|
3255
4165
|
const Icon = info.Icon ?? DefaultEntityIcon;
|
|
3256
4166
|
const Override = pickerOverrides?.[props.token];
|
|
3257
|
-
if (Override) return /* @__PURE__ */ (0,
|
|
4167
|
+
if (Override) return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Override, { ...props });
|
|
3258
4168
|
const title = `Add ${info.labelPlural}`;
|
|
3259
4169
|
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";
|
|
3260
4170
|
if (!props.open) return null;
|
|
3261
|
-
return /* @__PURE__ */ (0,
|
|
4171
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
3262
4172
|
AssociationWindow,
|
|
3263
4173
|
{
|
|
3264
4174
|
open: props.open,
|
|
3265
4175
|
onClose: () => props.onOpenChange(false),
|
|
3266
4176
|
scopeId: `picker:${props.token}`,
|
|
3267
4177
|
title,
|
|
3268
|
-
icon: /* @__PURE__ */ (0,
|
|
4178
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Icon, { className: "size-3.5 text-primary" }),
|
|
3269
4179
|
subtitle,
|
|
3270
|
-
children: /* @__PURE__ */ (0,
|
|
4180
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
3271
4181
|
AssociationCandidateBody,
|
|
3272
4182
|
{
|
|
3273
4183
|
token: props.token,
|
|
@@ -3292,7 +4202,7 @@ function AssociationCandidateBody({
|
|
|
3292
4202
|
onClose
|
|
3293
4203
|
}) {
|
|
3294
4204
|
void onClose;
|
|
3295
|
-
return /* @__PURE__ */ (0,
|
|
4205
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
3296
4206
|
EntityCandidateList,
|
|
3297
4207
|
{
|
|
3298
4208
|
token,
|
|
@@ -3352,10 +4262,10 @@ function EntityCandidateList({
|
|
|
3352
4262
|
setBusyId(null);
|
|
3353
4263
|
}
|
|
3354
4264
|
};
|
|
3355
|
-
return /* @__PURE__ */ (0,
|
|
3356
|
-
/* @__PURE__ */ (0,
|
|
3357
|
-
/* @__PURE__ */ (0,
|
|
3358
|
-
/* @__PURE__ */ (0,
|
|
4265
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
|
|
4266
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "relative mb-2", children: [
|
|
4267
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_icons5.SearchIcon, { className: "absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }),
|
|
4268
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
3359
4269
|
import_design_system3.Input,
|
|
3360
4270
|
{
|
|
3361
4271
|
autoFocus: true,
|
|
@@ -3367,8 +4277,8 @@ function EntityCandidateList({
|
|
|
3367
4277
|
}
|
|
3368
4278
|
)
|
|
3369
4279
|
] }),
|
|
3370
|
-
/* @__PURE__ */ (0,
|
|
3371
|
-
!search.trim() && !error && /* @__PURE__ */ (0,
|
|
4280
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "flex-1 min-h-0 overflow-y-auto -mx-1 px-1", children: [
|
|
4281
|
+
!search.trim() && !error && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
3372
4282
|
SearchFailureNotice,
|
|
3373
4283
|
{
|
|
3374
4284
|
error: null,
|
|
@@ -3378,13 +4288,13 @@ function EntityCandidateList({
|
|
|
3378
4288
|
className: "mb-1"
|
|
3379
4289
|
}
|
|
3380
4290
|
),
|
|
3381
|
-
(loading || recentsLoading) && visibleCount === 0 ? /* @__PURE__ */ (0,
|
|
3382
|
-
/* @__PURE__ */ (0,
|
|
4291
|
+
(loading || recentsLoading) && visibleCount === 0 ? /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(ListMessage, { children: [
|
|
4292
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(SpinnerIcon, { className: "h-4 w-4 animate-spin" }),
|
|
3383
4293
|
"Loading\u2026"
|
|
3384
|
-
] }) : error ? /* @__PURE__ */ (0,
|
|
3385
|
-
/* @__PURE__ */ (0,
|
|
3386
|
-
/* @__PURE__ */ (0,
|
|
3387
|
-
/* @__PURE__ */ (0,
|
|
4294
|
+
] }) : error ? /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-[12px] text-destructive", children: [
|
|
4295
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { className: "font-medium", children: "Couldn\u2019t load items" }),
|
|
4296
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { className: "opacity-80", children: error }),
|
|
4297
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
3388
4298
|
"button",
|
|
3389
4299
|
{
|
|
3390
4300
|
type: "button",
|
|
@@ -3393,32 +4303,32 @@ function EntityCandidateList({
|
|
|
3393
4303
|
children: "Retry"
|
|
3394
4304
|
}
|
|
3395
4305
|
)
|
|
3396
|
-
] }) : visibleCount === 0 ? /* @__PURE__ */ (0,
|
|
3397
|
-
visibleRecents.length > 0 && /* @__PURE__ */ (0,
|
|
4306
|
+
] }) : visibleCount === 0 ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ListMessage, { children: canCreate ? `Nothing to attach yet \u2014 create a new ${info.label.toLowerCase()} below.` : "Nothing to attach." }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "space-y-2", children: [
|
|
4307
|
+
visibleRecents.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
3398
4308
|
CandidateSection,
|
|
3399
4309
|
{
|
|
3400
4310
|
label: "Recent",
|
|
3401
4311
|
candidates: visibleRecents,
|
|
3402
4312
|
attachedIds,
|
|
3403
4313
|
busyId,
|
|
3404
|
-
icon: /* @__PURE__ */ (0,
|
|
4314
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Icon, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
|
|
3405
4315
|
onToggle: toggle
|
|
3406
4316
|
}
|
|
3407
4317
|
),
|
|
3408
|
-
ordinaryCandidates.length > 0 && /* @__PURE__ */ (0,
|
|
4318
|
+
ordinaryCandidates.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
3409
4319
|
CandidateSection,
|
|
3410
4320
|
{
|
|
3411
4321
|
label: visibleRecents.length > 0 ? `All ${info.labelPlural}` : null,
|
|
3412
4322
|
candidates: ordinaryCandidates,
|
|
3413
4323
|
attachedIds,
|
|
3414
4324
|
busyId,
|
|
3415
|
-
icon: /* @__PURE__ */ (0,
|
|
4325
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Icon, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
|
|
3416
4326
|
onToggle: toggle
|
|
3417
4327
|
}
|
|
3418
4328
|
)
|
|
3419
4329
|
] })
|
|
3420
4330
|
] }),
|
|
3421
|
-
canCreate && /* @__PURE__ */ (0,
|
|
4331
|
+
canCreate && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
3422
4332
|
CreateAndAttachFooter,
|
|
3423
4333
|
{
|
|
3424
4334
|
token,
|
|
@@ -3438,12 +4348,12 @@ function CandidateSection({
|
|
|
3438
4348
|
icon,
|
|
3439
4349
|
onToggle
|
|
3440
4350
|
}) {
|
|
3441
|
-
return /* @__PURE__ */ (0,
|
|
3442
|
-
label && /* @__PURE__ */ (0,
|
|
3443
|
-
/* @__PURE__ */ (0,
|
|
4351
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("section", { className: "space-y-0.5", children: [
|
|
4352
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { className: "px-1 text-[10px] font-medium uppercase tracking-wider text-muted-foreground/60", children: label }),
|
|
4353
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("ul", { className: "space-y-0.5", children: candidates.map((candidate) => {
|
|
3444
4354
|
const attached = attachedIds.has(candidate.id);
|
|
3445
4355
|
const busy = busyId === candidate.id;
|
|
3446
|
-
return /* @__PURE__ */ (0,
|
|
4356
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
3447
4357
|
"button",
|
|
3448
4358
|
{
|
|
3449
4359
|
type: "button",
|
|
@@ -3456,15 +4366,15 @@ function CandidateSection({
|
|
|
3456
4366
|
),
|
|
3457
4367
|
children: [
|
|
3458
4368
|
icon,
|
|
3459
|
-
/* @__PURE__ */ (0,
|
|
3460
|
-
/* @__PURE__ */ (0,
|
|
4369
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "flex-1 min-w-0 truncate text-foreground", children: candidate.title }),
|
|
4370
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
3461
4371
|
"span",
|
|
3462
4372
|
{
|
|
3463
4373
|
className: (0, import_design_system3.cn)(
|
|
3464
4374
|
"flex h-5 w-5 items-center justify-center rounded-full shrink-0",
|
|
3465
4375
|
attached ? "bg-primary text-primary-foreground" : "border border-border text-muted-foreground group-hover:border-primary/60"
|
|
3466
4376
|
),
|
|
3467
|
-
children: busy ? /* @__PURE__ */ (0,
|
|
4377
|
+
children: busy ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(SpinnerIcon, { className: "h-3 w-3 animate-spin" }) : attached ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_icons5.CheckIcon, { className: "h-3 w-3" }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_icons5.PlusIcon, { className: "h-3 w-3" })
|
|
3468
4378
|
}
|
|
3469
4379
|
)
|
|
3470
4380
|
]
|
|
@@ -3520,7 +4430,7 @@ function CreateAndAttachFooter({
|
|
|
3520
4430
|
}
|
|
3521
4431
|
};
|
|
3522
4432
|
if (!editing) {
|
|
3523
|
-
return /* @__PURE__ */ (0,
|
|
4433
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
3524
4434
|
"button",
|
|
3525
4435
|
{
|
|
3526
4436
|
type: "button",
|
|
@@ -3530,10 +4440,10 @@ function CreateAndAttachFooter({
|
|
|
3530
4440
|
},
|
|
3531
4441
|
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",
|
|
3532
4442
|
children: [
|
|
3533
|
-
/* @__PURE__ */ (0,
|
|
4443
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_icons5.PlusIcon, { className: "h-4 w-4" }),
|
|
3534
4444
|
"New ",
|
|
3535
4445
|
info.label,
|
|
3536
|
-
seed ? /* @__PURE__ */ (0,
|
|
4446
|
+
seed ? /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("span", { className: "max-w-40 truncate text-muted-foreground/70", children: [
|
|
3537
4447
|
"\u201C",
|
|
3538
4448
|
seed,
|
|
3539
4449
|
"\u201D"
|
|
@@ -3542,8 +4452,8 @@ function CreateAndAttachFooter({
|
|
|
3542
4452
|
}
|
|
3543
4453
|
);
|
|
3544
4454
|
}
|
|
3545
|
-
return /* @__PURE__ */ (0,
|
|
3546
|
-
/* @__PURE__ */ (0,
|
|
4455
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "mt-2 flex shrink-0 items-center gap-1.5", children: [
|
|
4456
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
3547
4457
|
import_design_system3.Input,
|
|
3548
4458
|
{
|
|
3549
4459
|
autoFocus: true,
|
|
@@ -3562,17 +4472,17 @@ function CreateAndAttachFooter({
|
|
|
3562
4472
|
style: { fontSize: 16 }
|
|
3563
4473
|
}
|
|
3564
4474
|
),
|
|
3565
|
-
/* @__PURE__ */ (0,
|
|
4475
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
3566
4476
|
"button",
|
|
3567
4477
|
{
|
|
3568
4478
|
type: "button",
|
|
3569
4479
|
disabled: busy || !name.trim(),
|
|
3570
4480
|
onClick: () => void submit(),
|
|
3571
4481
|
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",
|
|
3572
|
-
children: busy ? /* @__PURE__ */ (0,
|
|
4482
|
+
children: busy ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(SpinnerIcon, { className: "h-3.5 w-3.5 animate-spin" }) : "Create"
|
|
3573
4483
|
}
|
|
3574
4484
|
),
|
|
3575
|
-
/* @__PURE__ */ (0,
|
|
4485
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
3576
4486
|
"button",
|
|
3577
4487
|
{
|
|
3578
4488
|
type: "button",
|
|
@@ -3583,35 +4493,35 @@ function CreateAndAttachFooter({
|
|
|
3583
4493
|
},
|
|
3584
4494
|
title: "Cancel",
|
|
3585
4495
|
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",
|
|
3586
|
-
children: /* @__PURE__ */ (0,
|
|
4496
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_icons5.XIcon, { className: "h-4 w-4" })
|
|
3587
4497
|
}
|
|
3588
4498
|
)
|
|
3589
4499
|
] });
|
|
3590
4500
|
}
|
|
3591
4501
|
function ListMessage({ children }) {
|
|
3592
|
-
return /* @__PURE__ */ (0,
|
|
4502
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "flex items-center justify-center gap-2 py-8 text-[13px] text-muted-foreground", children });
|
|
3593
4503
|
}
|
|
3594
4504
|
|
|
3595
4505
|
// src/react/components/UniversalAssociationPicker.tsx
|
|
3596
4506
|
var import_react15 = require("react");
|
|
3597
4507
|
var import_design_system5 = require("@ai-matrx/design-system");
|
|
3598
|
-
var
|
|
4508
|
+
var import_icons8 = require("@ai-matrx/design-system/icons");
|
|
3599
4509
|
|
|
3600
4510
|
// src/react/components/entityDoors.tsx
|
|
3601
4511
|
var import_design_system4 = require("@ai-matrx/design-system");
|
|
3602
|
-
var
|
|
4512
|
+
var import_icons6 = require("@ai-matrx/design-system/icons");
|
|
3603
4513
|
var import_outbound_react = require("@ai-matrx/kit/outbound-react");
|
|
3604
|
-
var
|
|
4514
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
3605
4515
|
function DoorRef(props) {
|
|
3606
4516
|
const { onOpen, ...refProps } = props;
|
|
3607
4517
|
const { entityDoors } = useAssociationsUiPorts();
|
|
3608
4518
|
const store = useAssociationsStore();
|
|
3609
4519
|
const HostRef = entityDoors?.EntityRef;
|
|
3610
|
-
if (HostRef) return /* @__PURE__ */ (0,
|
|
4520
|
+
if (HostRef) return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(HostRef, { ...refProps });
|
|
3611
4521
|
const name = refProps.name ?? null;
|
|
3612
4522
|
const href = store.registry.tryGetEntityInfo(refProps.token)?.hrefFor?.(refProps.id) ?? null;
|
|
3613
4523
|
if (onOpen) {
|
|
3614
|
-
return /* @__PURE__ */ (0,
|
|
4524
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
3615
4525
|
"button",
|
|
3616
4526
|
{
|
|
3617
4527
|
type: "button",
|
|
@@ -3625,7 +4535,7 @@ function DoorRef(props) {
|
|
|
3625
4535
|
);
|
|
3626
4536
|
}
|
|
3627
4537
|
if (href) {
|
|
3628
|
-
return /* @__PURE__ */ (0,
|
|
4538
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
3629
4539
|
"a",
|
|
3630
4540
|
{
|
|
3631
4541
|
href,
|
|
@@ -3636,19 +4546,19 @@ function DoorRef(props) {
|
|
|
3636
4546
|
refProps.className
|
|
3637
4547
|
),
|
|
3638
4548
|
children: [
|
|
3639
|
-
/* @__PURE__ */ (0,
|
|
3640
|
-
/* @__PURE__ */ (0,
|
|
4549
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "min-w-0 truncate", children: name }),
|
|
4550
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_icons6.ExternalLinkIcon, { className: "h-3 w-3 shrink-0 opacity-0 transition-opacity group-hover:opacity-60" })
|
|
3641
4551
|
]
|
|
3642
4552
|
}
|
|
3643
4553
|
);
|
|
3644
4554
|
}
|
|
3645
|
-
return /* @__PURE__ */ (0,
|
|
4555
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: (0, import_design_system4.cn)("min-w-0 truncate", refProps.className), children: name });
|
|
3646
4556
|
}
|
|
3647
4557
|
function UnresolvedRef({ token, id }) {
|
|
3648
4558
|
const { entityDoors } = useAssociationsUiPorts();
|
|
3649
4559
|
const HostUnresolved = entityDoors?.UnresolvedRef;
|
|
3650
|
-
if (HostUnresolved) return /* @__PURE__ */ (0,
|
|
3651
|
-
return /* @__PURE__ */ (0,
|
|
4560
|
+
if (HostUnresolved) return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(HostUnresolved, { token, id });
|
|
4561
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
3652
4562
|
"span",
|
|
3653
4563
|
{
|
|
3654
4564
|
className: "inline-flex items-center rounded border border-border/60 bg-muted/40 px-1.5 py-0.5 text-[11px] text-muted-foreground",
|
|
@@ -3661,11 +4571,11 @@ function DoorControlsSlot(props) {
|
|
|
3661
4571
|
const { entityDoors } = useAssociationsUiPorts();
|
|
3662
4572
|
const store = useAssociationsStore();
|
|
3663
4573
|
const HostControls = entityDoors?.DoorControls;
|
|
3664
|
-
if (HostControls) return /* @__PURE__ */ (0,
|
|
4574
|
+
if (HostControls) return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(HostControls, { ...props });
|
|
3665
4575
|
const href = store.registry.tryGetEntityInfo(props.token)?.hrefFor?.(props.id) ?? null;
|
|
3666
4576
|
if (!href) return null;
|
|
3667
4577
|
const label = props.name ? `Open ${props.name}` : `Open this ${props.token}`;
|
|
3668
|
-
return /* @__PURE__ */ (0,
|
|
4578
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
3669
4579
|
import_outbound_react.OutboundLink,
|
|
3670
4580
|
{
|
|
3671
4581
|
href,
|
|
@@ -3675,13 +4585,13 @@ function DoorControlsSlot(props) {
|
|
|
3675
4585
|
"inline-flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
|
|
3676
4586
|
props.className
|
|
3677
4587
|
),
|
|
3678
|
-
children: /* @__PURE__ */ (0,
|
|
4588
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_icons6.ExternalLinkIcon, { className: "h-3 w-3" })
|
|
3679
4589
|
}
|
|
3680
4590
|
);
|
|
3681
4591
|
}
|
|
3682
4592
|
|
|
3683
4593
|
// src/react/components/UniversalAssociationPicker.tsx
|
|
3684
|
-
var
|
|
4594
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
3685
4595
|
function attachedKey(token, id) {
|
|
3686
4596
|
return `${token}:${id}`;
|
|
3687
4597
|
}
|
|
@@ -3736,10 +4646,10 @@ function UniversalAssociationPicker(props) {
|
|
|
3736
4646
|
groups.set(r.token, list);
|
|
3737
4647
|
}
|
|
3738
4648
|
const BrowseOverride = browseToken ? pickerOverrides?.[browseToken] : void 0;
|
|
3739
|
-
return /* @__PURE__ */ (0,
|
|
3740
|
-
/* @__PURE__ */ (0,
|
|
3741
|
-
/* @__PURE__ */ (0,
|
|
3742
|
-
/* @__PURE__ */ (0,
|
|
4649
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: (0, import_design_system5.cn)("flex min-h-0 flex-1 flex-col gap-2", className), children: [
|
|
4650
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "relative", children: [
|
|
4651
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_icons8.SearchIcon, { className: "absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }),
|
|
4652
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
3743
4653
|
import_design_system5.Input,
|
|
3744
4654
|
{
|
|
3745
4655
|
autoFocus: true,
|
|
@@ -3753,9 +4663,9 @@ function UniversalAssociationPicker(props) {
|
|
|
3753
4663
|
style: { fontSize: 16 }
|
|
3754
4664
|
}
|
|
3755
4665
|
),
|
|
3756
|
-
loading && browseToken === null && /* @__PURE__ */ (0,
|
|
4666
|
+
loading && browseToken === null && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SpinnerIcon, { className: "absolute right-2.5 top-1/2 h-4 w-4 -translate-y-1/2 animate-spin text-muted-foreground" })
|
|
3757
4667
|
] }),
|
|
3758
|
-
/* @__PURE__ */ (0,
|
|
4668
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
3759
4669
|
"div",
|
|
3760
4670
|
{
|
|
3761
4671
|
role: "group",
|
|
@@ -3765,7 +4675,7 @@ function UniversalAssociationPicker(props) {
|
|
|
3765
4675
|
const info = store.registry.getEntityInfo(t);
|
|
3766
4676
|
const ChipIcon = info.Icon ?? DefaultEntityIcon;
|
|
3767
4677
|
const active = browseToken === t;
|
|
3768
|
-
return /* @__PURE__ */ (0,
|
|
4678
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
3769
4679
|
"button",
|
|
3770
4680
|
{
|
|
3771
4681
|
type: "button",
|
|
@@ -3776,7 +4686,7 @@ function UniversalAssociationPicker(props) {
|
|
|
3776
4686
|
active ? "border-primary/50 bg-primary/10 text-foreground" : "border-border text-muted-foreground hover:text-foreground hover:bg-accent"
|
|
3777
4687
|
),
|
|
3778
4688
|
children: [
|
|
3779
|
-
/* @__PURE__ */ (0,
|
|
4689
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ChipIcon, { className: "h-3 w-3" }),
|
|
3780
4690
|
info.labelPlural
|
|
3781
4691
|
]
|
|
3782
4692
|
},
|
|
@@ -3789,17 +4699,17 @@ function UniversalAssociationPicker(props) {
|
|
|
3789
4699
|
// The token's canonical host picker (e.g. the stored-files browser)
|
|
3790
4700
|
// owns per-token browsing when registered — never a plain list twin.
|
|
3791
4701
|
// It opens in its own window; this body says where it went.
|
|
3792
|
-
/* @__PURE__ */ (0,
|
|
4702
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
3793
4703
|
"div",
|
|
3794
4704
|
{
|
|
3795
4705
|
role: "region",
|
|
3796
4706
|
"aria-label": `${store.registry.getEntityInfo(browseToken).labelPlural} window`,
|
|
3797
4707
|
className: "flex flex-1 flex-col items-center justify-center gap-3 px-4 py-8 text-center",
|
|
3798
4708
|
children: [
|
|
3799
|
-
/* @__PURE__ */ (0,
|
|
3800
|
-
/* @__PURE__ */ (0,
|
|
3801
|
-
/* @__PURE__ */ (0,
|
|
3802
|
-
/* @__PURE__ */ (0,
|
|
4709
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("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.` }),
|
|
4710
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("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." }),
|
|
4711
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex flex-wrap items-center justify-center gap-2", children: [
|
|
4712
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
3803
4713
|
import_design_system5.Button,
|
|
3804
4714
|
{
|
|
3805
4715
|
type: "button",
|
|
@@ -3810,12 +4720,12 @@ function UniversalAssociationPicker(props) {
|
|
|
3810
4720
|
setOverrideMount((n) => n + 1);
|
|
3811
4721
|
},
|
|
3812
4722
|
children: [
|
|
3813
|
-
/* @__PURE__ */ (0,
|
|
4723
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_icons8.Maximize2Icon, { className: "mr-1.5 h-3.5 w-3.5" }),
|
|
3814
4724
|
overrideOpen ? "Bring window to front" : "Reopen window"
|
|
3815
4725
|
]
|
|
3816
4726
|
}
|
|
3817
4727
|
),
|
|
3818
|
-
/* @__PURE__ */ (0,
|
|
4728
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
3819
4729
|
import_design_system5.Button,
|
|
3820
4730
|
{
|
|
3821
4731
|
type: "button",
|
|
@@ -3826,7 +4736,7 @@ function UniversalAssociationPicker(props) {
|
|
|
3826
4736
|
}
|
|
3827
4737
|
)
|
|
3828
4738
|
] }),
|
|
3829
|
-
overrideOpen && /* @__PURE__ */ (0,
|
|
4739
|
+
overrideOpen && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
3830
4740
|
BrowseOverride,
|
|
3831
4741
|
{
|
|
3832
4742
|
open: true,
|
|
@@ -3846,7 +4756,7 @@ function UniversalAssociationPicker(props) {
|
|
|
3846
4756
|
]
|
|
3847
4757
|
}
|
|
3848
4758
|
)
|
|
3849
|
-
) : browseToken ? /* @__PURE__ */ (0,
|
|
4759
|
+
) : browseToken ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "flex min-h-0 flex-1 flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
3850
4760
|
AssociationCandidateBody,
|
|
3851
4761
|
{
|
|
3852
4762
|
token: browseToken,
|
|
@@ -3859,13 +4769,13 @@ function UniversalAssociationPicker(props) {
|
|
|
3859
4769
|
onAttach: (id, title) => onAttach(browseToken, id, title),
|
|
3860
4770
|
onDetach: (id) => onDetach(browseToken, id)
|
|
3861
4771
|
}
|
|
3862
|
-
) }) : /* @__PURE__ */ (0,
|
|
4772
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
3863
4773
|
"div",
|
|
3864
4774
|
{
|
|
3865
4775
|
role: "region",
|
|
3866
4776
|
"aria-label": "Association search results",
|
|
3867
4777
|
className: "-mx-1 min-h-24 flex-1 overflow-y-auto overscroll-contain px-1",
|
|
3868
|
-
children: error ? /* @__PURE__ */ (0,
|
|
4778
|
+
children: error ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
3869
4779
|
SearchFailureNotice,
|
|
3870
4780
|
{
|
|
3871
4781
|
error,
|
|
@@ -3873,8 +4783,8 @@ function UniversalAssociationPicker(props) {
|
|
|
3873
4783
|
operation: "Search to attach",
|
|
3874
4784
|
origin: "associations/UniversalAssociationPicker"
|
|
3875
4785
|
}
|
|
3876
|
-
) : results.length === 0 && failures.length === 0 ? /* @__PURE__ */ (0,
|
|
3877
|
-
/* @__PURE__ */ (0,
|
|
4786
|
+
) : results.length === 0 && failures.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("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__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "space-y-2", children: [
|
|
4787
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
3878
4788
|
SearchFailureNotice,
|
|
3879
4789
|
{
|
|
3880
4790
|
error: null,
|
|
@@ -3883,20 +4793,20 @@ function UniversalAssociationPicker(props) {
|
|
|
3883
4793
|
origin: "associations/UniversalAssociationPicker"
|
|
3884
4794
|
}
|
|
3885
4795
|
),
|
|
3886
|
-
source !== "search" && results.length > 0 && /* @__PURE__ */ (0,
|
|
4796
|
+
source !== "search" && results.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { className: "px-1 text-[10px] font-medium uppercase tracking-wider text-muted-foreground/60", children: source === "recents" ? "Recent" : "Browse" }),
|
|
3887
4797
|
[...groups.entries()].map(([token, items]) => {
|
|
3888
4798
|
const info = store.registry.getEntityInfo(token);
|
|
3889
4799
|
const GroupIcon = info.Icon ?? DefaultEntityIcon;
|
|
3890
|
-
return /* @__PURE__ */ (0,
|
|
3891
|
-
/* @__PURE__ */ (0,
|
|
3892
|
-
/* @__PURE__ */ (0,
|
|
4800
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "space-y-0.5", children: [
|
|
4801
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("p", { className: "flex items-center gap-1 px-1 text-[10px] font-medium uppercase tracking-wider text-muted-foreground/70", children: [
|
|
4802
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(GroupIcon, { className: "h-3 w-3" }),
|
|
3893
4803
|
info.labelPlural
|
|
3894
4804
|
] }),
|
|
3895
|
-
/* @__PURE__ */ (0,
|
|
4805
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("ul", { className: "space-y-0.5", children: items.map((c) => {
|
|
3896
4806
|
const key = attachedKey(c.token, c.id);
|
|
3897
4807
|
const attached = attachedKeys.has(key);
|
|
3898
4808
|
const busy = busyKey === key;
|
|
3899
|
-
return /* @__PURE__ */ (0,
|
|
4809
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
3900
4810
|
"li",
|
|
3901
4811
|
{
|
|
3902
4812
|
className: (0, import_design_system5.cn)(
|
|
@@ -3905,7 +4815,7 @@ function UniversalAssociationPicker(props) {
|
|
|
3905
4815
|
attached && "bg-accent/40"
|
|
3906
4816
|
),
|
|
3907
4817
|
children: [
|
|
3908
|
-
/* @__PURE__ */ (0,
|
|
4818
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
3909
4819
|
"button",
|
|
3910
4820
|
{
|
|
3911
4821
|
type: "button",
|
|
@@ -3917,21 +4827,21 @@ function UniversalAssociationPicker(props) {
|
|
|
3917
4827
|
"disabled:opacity-50"
|
|
3918
4828
|
),
|
|
3919
4829
|
children: [
|
|
3920
|
-
/* @__PURE__ */ (0,
|
|
3921
|
-
/* @__PURE__ */ (0,
|
|
4830
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "min-w-0 flex-1 truncate text-foreground", children: c.title }),
|
|
4831
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
3922
4832
|
"span",
|
|
3923
4833
|
{
|
|
3924
4834
|
className: (0, import_design_system5.cn)(
|
|
3925
4835
|
"flex h-5 w-5 shrink-0 items-center justify-center rounded-full",
|
|
3926
4836
|
attached ? "bg-primary text-primary-foreground" : "border border-border text-muted-foreground group-hover:border-primary/60"
|
|
3927
4837
|
),
|
|
3928
|
-
children: busy ? /* @__PURE__ */ (0,
|
|
4838
|
+
children: busy ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SpinnerIcon, { className: "h-3 w-3 animate-spin" }) : attached ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_icons8.CheckIcon, { className: "h-3 w-3" }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_icons8.PlusIcon, { className: "h-3 w-3" })
|
|
3929
4839
|
}
|
|
3930
4840
|
)
|
|
3931
4841
|
]
|
|
3932
4842
|
}
|
|
3933
4843
|
),
|
|
3934
|
-
/* @__PURE__ */ (0,
|
|
4844
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
3935
4845
|
DoorControlsSlot,
|
|
3936
4846
|
{
|
|
3937
4847
|
token: c.token,
|
|
@@ -3955,8 +4865,8 @@ function UniversalAssociationPicker(props) {
|
|
|
3955
4865
|
// src/react/components/AttachedItemsSheet.tsx
|
|
3956
4866
|
var import_react16 = require("react");
|
|
3957
4867
|
var import_design_system6 = require("@ai-matrx/design-system");
|
|
3958
|
-
var
|
|
3959
|
-
var
|
|
4868
|
+
var import_icons10 = require("@ai-matrx/design-system/icons");
|
|
4869
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
3960
4870
|
function metadataIsPinned(metadata) {
|
|
3961
4871
|
return metadata !== null && typeof metadata === "object" && !Array.isArray(metadata) && Reflect.get(metadata, "pinned") === true;
|
|
3962
4872
|
}
|
|
@@ -3967,9 +4877,9 @@ function AttachedItemsSheet(props) {
|
|
|
3967
4877
|
const title = info.labelPlural;
|
|
3968
4878
|
const containerName = props.container?.label ?? props.containerLabel;
|
|
3969
4879
|
const filing = props.container?.direction === "outgoing";
|
|
3970
|
-
const subtitle = props.container ? /* @__PURE__ */ (0,
|
|
4880
|
+
const subtitle = props.container ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("span", { className: "inline-flex min-w-0 max-w-full items-center gap-1", children: [
|
|
3971
4881
|
filing ? "What this is filed under:" : "Attached to",
|
|
3972
|
-
/* @__PURE__ */ (0,
|
|
4882
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
3973
4883
|
DoorRef,
|
|
3974
4884
|
{
|
|
3975
4885
|
token: props.container.type,
|
|
@@ -3980,16 +4890,16 @@ function AttachedItemsSheet(props) {
|
|
|
3980
4890
|
)
|
|
3981
4891
|
] }) : props.containerLabel ? `Attached to ${props.containerLabel}` : "Attached items";
|
|
3982
4892
|
if (!props.open) return null;
|
|
3983
|
-
return /* @__PURE__ */ (0,
|
|
4893
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
3984
4894
|
AssociationWindow,
|
|
3985
4895
|
{
|
|
3986
4896
|
open: props.open,
|
|
3987
4897
|
onClose: () => props.onOpenChange(false),
|
|
3988
4898
|
scopeId: `attached:${props.token}`,
|
|
3989
4899
|
title,
|
|
3990
|
-
icon: /* @__PURE__ */ (0,
|
|
4900
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Icon, { className: "size-3.5 text-primary" }),
|
|
3991
4901
|
subtitle,
|
|
3992
|
-
children: /* @__PURE__ */ (0,
|
|
4902
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
3993
4903
|
AttachedItemsBody,
|
|
3994
4904
|
{
|
|
3995
4905
|
token: props.token,
|
|
@@ -4078,31 +4988,31 @@ function AttachedItemsBody({
|
|
|
4078
4988
|
setBusyId(null);
|
|
4079
4989
|
}
|
|
4080
4990
|
};
|
|
4081
|
-
return /* @__PURE__ */ (0,
|
|
4082
|
-
titleError ? /* @__PURE__ */ (0,
|
|
4991
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
|
|
4992
|
+
titleError ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "mb-2 rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-[12px] text-destructive", children: [
|
|
4083
4993
|
"Showing names recorded at attach time \u2014 they may be out of date.",
|
|
4084
4994
|
" ",
|
|
4085
4995
|
titleError
|
|
4086
4996
|
] }) : null,
|
|
4087
|
-
/* @__PURE__ */ (0,
|
|
4088
|
-
/* @__PURE__ */ (0,
|
|
4997
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "flex-1 min-h-0 overflow-y-auto -mx-1 px-1", children: links.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "flex items-center justify-center py-8 text-[13px] text-muted-foreground", children: "Nothing attached yet." }) : titles === null ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "flex items-center justify-center gap-2 py-8 text-[13px] text-muted-foreground", children: [
|
|
4998
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(SpinnerIcon, { className: "h-4 w-4 animate-spin" }),
|
|
4089
4999
|
"Loading\u2026"
|
|
4090
|
-
] }) : /* @__PURE__ */ (0,
|
|
5000
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("ul", { className: "space-y-0.5", children: links.map((link) => {
|
|
4091
5001
|
const resolved = titles.get(link.resourceId);
|
|
4092
5002
|
const missing = !titles.has(link.resourceId);
|
|
4093
5003
|
const name = resolved ?? link.label ?? (missing ? null : "Untitled");
|
|
4094
5004
|
const busy = busyId === link.resourceId;
|
|
4095
5005
|
const pinned = metadataIsPinned(link.metadata);
|
|
4096
|
-
return /* @__PURE__ */ (0,
|
|
5006
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
4097
5007
|
"li",
|
|
4098
5008
|
{
|
|
4099
5009
|
className: "group/entity-ref group flex items-center gap-2 rounded-md px-2.5 py-2 text-sm transition-colors hover:bg-accent",
|
|
4100
5010
|
children: [
|
|
4101
|
-
/* @__PURE__ */ (0,
|
|
4102
|
-
/* @__PURE__ */ (0,
|
|
5011
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Icon, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
|
|
5012
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "flex-1 min-w-0 truncate", children: name === null ? (
|
|
4103
5013
|
// The X beside the row stays the one-click detach.
|
|
4104
|
-
/* @__PURE__ */ (0,
|
|
4105
|
-
) : /* @__PURE__ */ (0,
|
|
5014
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(UnresolvedRef, { token, id: link.resourceId })
|
|
5015
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
4106
5016
|
DoorRef,
|
|
4107
5017
|
{
|
|
4108
5018
|
token,
|
|
@@ -4112,7 +5022,7 @@ function AttachedItemsBody({
|
|
|
4112
5022
|
className: "text-foreground"
|
|
4113
5023
|
}
|
|
4114
5024
|
) }),
|
|
4115
|
-
onSetPinned ? /* @__PURE__ */ (0,
|
|
5025
|
+
onSetPinned ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
4116
5026
|
"button",
|
|
4117
5027
|
{
|
|
4118
5028
|
type: "button",
|
|
@@ -4124,8 +5034,8 @@ function AttachedItemsBody({
|
|
|
4124
5034
|
"flex h-6 w-6 shrink-0 items-center justify-center rounded-md transition-colors hover:bg-accent hover:text-foreground disabled:opacity-50",
|
|
4125
5035
|
pinned ? "text-primary" : "text-muted-foreground"
|
|
4126
5036
|
),
|
|
4127
|
-
children: /* @__PURE__ */ (0,
|
|
4128
|
-
|
|
5037
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
5038
|
+
import_icons10.PinIcon,
|
|
4129
5039
|
{
|
|
4130
5040
|
className: (0, import_design_system6.cn)(
|
|
4131
5041
|
"h-3.5 w-3.5",
|
|
@@ -4135,7 +5045,7 @@ function AttachedItemsBody({
|
|
|
4135
5045
|
)
|
|
4136
5046
|
}
|
|
4137
5047
|
) : null,
|
|
4138
|
-
/* @__PURE__ */ (0,
|
|
5048
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
4139
5049
|
"button",
|
|
4140
5050
|
{
|
|
4141
5051
|
type: "button",
|
|
@@ -4146,7 +5056,7 @@ function AttachedItemsBody({
|
|
|
4146
5056
|
"flex h-6 w-6 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors",
|
|
4147
5057
|
"hover:bg-destructive/10 hover:text-destructive disabled:opacity-50"
|
|
4148
5058
|
),
|
|
4149
|
-
children: busy ? /* @__PURE__ */ (0,
|
|
5059
|
+
children: busy ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(SpinnerIcon, { className: "h-3.5 w-3.5 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_icons10.XIcon, { className: "h-3.5 w-3.5" })
|
|
4150
5060
|
}
|
|
4151
5061
|
)
|
|
4152
5062
|
]
|
|
@@ -4154,14 +5064,14 @@ function AttachedItemsBody({
|
|
|
4154
5064
|
link.edgeId
|
|
4155
5065
|
);
|
|
4156
5066
|
}) }) }),
|
|
4157
|
-
onAdd ? /* @__PURE__ */ (0,
|
|
5067
|
+
onAdd ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
4158
5068
|
"button",
|
|
4159
5069
|
{
|
|
4160
5070
|
type: "button",
|
|
4161
5071
|
onClick: onAdd,
|
|
4162
5072
|
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",
|
|
4163
5073
|
children: [
|
|
4164
|
-
/* @__PURE__ */ (0,
|
|
5074
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_icons10.PlusIcon, { className: "h-4 w-4" }),
|
|
4165
5075
|
"Attach ",
|
|
4166
5076
|
info.labelPlural.toLowerCase()
|
|
4167
5077
|
]
|
|
@@ -4223,8 +5133,8 @@ function getContentRoleMeta(role) {
|
|
|
4223
5133
|
}
|
|
4224
5134
|
|
|
4225
5135
|
// src/react/components/AssociationCard.tsx
|
|
4226
|
-
var
|
|
4227
|
-
var
|
|
5136
|
+
var import_icons12 = require("@ai-matrx/design-system/icons");
|
|
5137
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
4228
5138
|
function AssociationCard({
|
|
4229
5139
|
token,
|
|
4230
5140
|
container: containerProp,
|
|
@@ -4263,7 +5173,7 @@ function AssociationCard({
|
|
|
4263
5173
|
const canDrillIn = count > 0;
|
|
4264
5174
|
const countWord = filing ? "filed under" : "attached";
|
|
4265
5175
|
const drillTitle = canDrillIn ? `View the ${info.labelPlural.toLowerCase()} attached to ${container.label ?? "this"}` : void 0;
|
|
4266
|
-
return /* @__PURE__ */ (0,
|
|
5176
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment, { children: [
|
|
4267
5177
|
look !== "tiles" ? (
|
|
4268
5178
|
// ONE-LINE LOOKS (opt-in, off by default): small icon, UPPERCASE name,
|
|
4269
5179
|
// count, then the "+".
|
|
@@ -4275,7 +5185,7 @@ function AssociationCard({
|
|
|
4275
5185
|
// so the tap target's own 44px box centers the 28px circle with
|
|
4276
5186
|
// 8px on every side. Never pass a layout class to a tap button —
|
|
4277
5187
|
// its className lands on the ICON (the 2026-09-27 crooked "+").
|
|
4278
|
-
/* @__PURE__ */ (0,
|
|
5188
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
4279
5189
|
"div",
|
|
4280
5190
|
{
|
|
4281
5191
|
"data-association-card": token,
|
|
@@ -4286,7 +5196,7 @@ function AssociationCard({
|
|
|
4286
5196
|
className
|
|
4287
5197
|
),
|
|
4288
5198
|
children: [
|
|
4289
|
-
/* @__PURE__ */ (0,
|
|
5199
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
4290
5200
|
"button",
|
|
4291
5201
|
{
|
|
4292
5202
|
type: "button",
|
|
@@ -4299,13 +5209,13 @@ function AssociationCard({
|
|
|
4299
5209
|
canDrillIn ? "cursor-pointer hover:text-foreground" : "cursor-default"
|
|
4300
5210
|
),
|
|
4301
5211
|
children: [
|
|
4302
|
-
/* @__PURE__ */ (0,
|
|
4303
|
-
/* @__PURE__ */ (0,
|
|
4304
|
-
loading ? /* @__PURE__ */ (0,
|
|
5212
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Icon, { className: "h-3.5 w-3.5 shrink-0 text-muted-foreground" }),
|
|
5213
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "min-w-0 truncate text-xs font-semibold uppercase tracking-wider text-foreground", children: info.labelPlural }),
|
|
5214
|
+
loading ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(SpinnerIcon, { className: "h-3 w-3 animate-spin text-muted-foreground" }) : /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "text-xs tabular-nums text-muted-foreground", children: count })
|
|
4305
5215
|
]
|
|
4306
5216
|
}
|
|
4307
5217
|
),
|
|
4308
|
-
canAttach && (look === "compact" ? /* @__PURE__ */ (0,
|
|
5218
|
+
canAttach && (look === "compact" ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
4309
5219
|
import_buttons.PlusTapButton,
|
|
4310
5220
|
{
|
|
4311
5221
|
variant: "outline",
|
|
@@ -4313,7 +5223,7 @@ function AssociationCard({
|
|
|
4313
5223
|
tooltip: false,
|
|
4314
5224
|
onClick: () => setOpen(true)
|
|
4315
5225
|
}
|
|
4316
|
-
) : /* @__PURE__ */ (0,
|
|
5226
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
4317
5227
|
"button",
|
|
4318
5228
|
{
|
|
4319
5229
|
type: "button",
|
|
@@ -4321,13 +5231,13 @@ function AssociationCard({
|
|
|
4321
5231
|
"aria-label": `Attach ${info.labelPlural.toLowerCase()}`,
|
|
4322
5232
|
title: `Attach ${info.labelPlural.toLowerCase()}`,
|
|
4323
5233
|
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",
|
|
4324
|
-
children: /* @__PURE__ */ (0,
|
|
5234
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_icons12.PlusIcon, { className: "h-4 w-4" })
|
|
4325
5235
|
}
|
|
4326
5236
|
))
|
|
4327
5237
|
]
|
|
4328
5238
|
}
|
|
4329
5239
|
)
|
|
4330
|
-
) : /* @__PURE__ */ (0,
|
|
5240
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
4331
5241
|
"div",
|
|
4332
5242
|
{
|
|
4333
5243
|
"data-association-card": token,
|
|
@@ -4337,7 +5247,7 @@ function AssociationCard({
|
|
|
4337
5247
|
className
|
|
4338
5248
|
),
|
|
4339
5249
|
children: [
|
|
4340
|
-
/* @__PURE__ */ (0,
|
|
5250
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
4341
5251
|
"span",
|
|
4342
5252
|
{
|
|
4343
5253
|
className: (0, import_design_system7.cn)(
|
|
@@ -4346,7 +5256,7 @@ function AssociationCard({
|
|
|
4346
5256
|
)
|
|
4347
5257
|
}
|
|
4348
5258
|
),
|
|
4349
|
-
/* @__PURE__ */ (0,
|
|
5259
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
4350
5260
|
"button",
|
|
4351
5261
|
{
|
|
4352
5262
|
type: "button",
|
|
@@ -4358,7 +5268,7 @@ function AssociationCard({
|
|
|
4358
5268
|
canDrillIn ? "cursor-pointer" : "cursor-default"
|
|
4359
5269
|
),
|
|
4360
5270
|
children: [
|
|
4361
|
-
/* @__PURE__ */ (0,
|
|
5271
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
4362
5272
|
"span",
|
|
4363
5273
|
{
|
|
4364
5274
|
className: (0, import_design_system7.cn)(
|
|
@@ -4366,20 +5276,20 @@ function AssociationCard({
|
|
|
4366
5276
|
role.accentBg,
|
|
4367
5277
|
role.accentText
|
|
4368
5278
|
),
|
|
4369
|
-
children: /* @__PURE__ */ (0,
|
|
5279
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Icon, { className: "h-4 w-4" })
|
|
4370
5280
|
}
|
|
4371
5281
|
),
|
|
4372
|
-
/* @__PURE__ */ (0,
|
|
4373
|
-
/* @__PURE__ */ (0,
|
|
4374
|
-
/* @__PURE__ */ (0,
|
|
4375
|
-
/* @__PURE__ */ (0,
|
|
5282
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("span", { className: "min-w-0 flex-1", children: [
|
|
5283
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "block truncate text-sm font-medium text-foreground", children: info.labelPlural }),
|
|
5284
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "block text-xs text-muted-foreground tabular-nums", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("span", { className: "inline-flex items-center gap-1", children: [
|
|
5285
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(SpinnerIcon, { className: "h-3 w-3 animate-spin" }),
|
|
4376
5286
|
"Loading\u2026"
|
|
4377
5287
|
] }) : `${count} ${countWord}` })
|
|
4378
5288
|
] })
|
|
4379
5289
|
]
|
|
4380
5290
|
}
|
|
4381
5291
|
),
|
|
4382
|
-
canAttach && /* @__PURE__ */ (0,
|
|
5292
|
+
canAttach && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
4383
5293
|
"button",
|
|
4384
5294
|
{
|
|
4385
5295
|
type: "button",
|
|
@@ -4387,13 +5297,13 @@ function AssociationCard({
|
|
|
4387
5297
|
"aria-label": `Attach ${info.labelPlural.toLowerCase()}`,
|
|
4388
5298
|
title: `Attach ${info.labelPlural.toLowerCase()}`,
|
|
4389
5299
|
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",
|
|
4390
|
-
children: /* @__PURE__ */ (0,
|
|
5300
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_icons12.PlusIcon, { className: "h-4 w-4" })
|
|
4391
5301
|
}
|
|
4392
5302
|
)
|
|
4393
5303
|
]
|
|
4394
5304
|
}
|
|
4395
5305
|
),
|
|
4396
|
-
listOpen && /* @__PURE__ */ (0,
|
|
5306
|
+
listOpen && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
4397
5307
|
AttachedItemsSheet,
|
|
4398
5308
|
{
|
|
4399
5309
|
open: listOpen,
|
|
@@ -4412,7 +5322,7 @@ function AssociationCard({
|
|
|
4412
5322
|
onSetPinned: (resourceId, pinned, role2) => setPinned(token, resourceId, pinned, role2 ?? void 0)
|
|
4413
5323
|
}
|
|
4414
5324
|
),
|
|
4415
|
-
canAttach && /* @__PURE__ */ (0,
|
|
5325
|
+
canAttach && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
4416
5326
|
AssociationPicker,
|
|
4417
5327
|
{
|
|
4418
5328
|
open,
|
|
@@ -4431,7 +5341,7 @@ function AssociationCard({
|
|
|
4431
5341
|
|
|
4432
5342
|
// src/react/components/AssociationCardGrid.tsx
|
|
4433
5343
|
var import_design_system8 = require("@ai-matrx/design-system");
|
|
4434
|
-
var
|
|
5344
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
4435
5345
|
var SIMPLE_GROUP_LABEL = "mb-1 text-xs font-medium uppercase tracking-wider text-muted-foreground";
|
|
4436
5346
|
var SIMPLE_TILE_ROW = "flex flex-wrap gap-2 [&>*]:min-w-[16rem] [&>*]:flex-1";
|
|
4437
5347
|
var TILE_GRID = "grid grid-cols-1 gap-2 @md:grid-cols-2 @3xl:grid-cols-3";
|
|
@@ -4440,11 +5350,11 @@ function GroupHeader({
|
|
|
4440
5350
|
title,
|
|
4441
5351
|
dotClassName
|
|
4442
5352
|
}) {
|
|
4443
|
-
if (look !== "tiles") return /* @__PURE__ */ (0,
|
|
4444
|
-
return /* @__PURE__ */ (0,
|
|
4445
|
-
/* @__PURE__ */ (0,
|
|
4446
|
-
/* @__PURE__ */ (0,
|
|
4447
|
-
] }) : /* @__PURE__ */ (0,
|
|
5353
|
+
if (look !== "tiles") return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("h3", { className: SIMPLE_GROUP_LABEL, children: title });
|
|
5354
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "mb-2.5 flex items-baseline gap-3 pl-1.5", children: dotClassName ? /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
5355
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: (0, import_design_system8.cn)("h-2.5 w-2.5 rounded-full", dotClassName) }),
|
|
5356
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: title })
|
|
5357
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: title }) });
|
|
4448
5358
|
}
|
|
4449
5359
|
function AssociationCardGrid({
|
|
4450
5360
|
tokens,
|
|
@@ -4457,13 +5367,13 @@ function AssociationCardGrid({
|
|
|
4457
5367
|
const excluded = new Set(excludeTokens ?? []);
|
|
4458
5368
|
const filing = primary?.direction === "outgoing";
|
|
4459
5369
|
const links = useContainerLinks(containerLinksArgs(primary));
|
|
4460
|
-
const
|
|
5370
|
+
const base = tokens ?? store.registry.curatedTokens();
|
|
4461
5371
|
const withPresent = filing ? [
|
|
4462
|
-
...
|
|
5372
|
+
...base,
|
|
4463
5373
|
...links.presentTokens.filter(
|
|
4464
|
-
(t) => isEntityTypeToken(t) && !
|
|
5374
|
+
(t) => isEntityTypeToken(t) && !base.includes(t)
|
|
4465
5375
|
)
|
|
4466
|
-
] :
|
|
5376
|
+
] : base;
|
|
4467
5377
|
const list = withPresent.filter(
|
|
4468
5378
|
(token) => !excluded.has(token) && (!filing || isAssociationTargetType(token))
|
|
4469
5379
|
);
|
|
@@ -4473,7 +5383,7 @@ function AssociationCardGrid({
|
|
|
4473
5383
|
return !role || !roleIds.has(role);
|
|
4474
5384
|
}) : [];
|
|
4475
5385
|
const rowClass = look !== "tiles" ? SIMPLE_TILE_ROW : TILE_GRID;
|
|
4476
|
-
return /* @__PURE__ */ (0,
|
|
5386
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
4477
5387
|
"div",
|
|
4478
5388
|
{
|
|
4479
5389
|
"data-association-grid-look": look,
|
|
@@ -4484,8 +5394,8 @@ function AssociationCardGrid({
|
|
|
4484
5394
|
(token) => store.registry.getEntityInfo(token).contentRole === role.id
|
|
4485
5395
|
);
|
|
4486
5396
|
if (inRole.length === 0) return null;
|
|
4487
|
-
return /* @__PURE__ */ (0,
|
|
4488
|
-
/* @__PURE__ */ (0,
|
|
5397
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("section", { children: [
|
|
5398
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
4489
5399
|
GroupHeader,
|
|
4490
5400
|
{
|
|
4491
5401
|
look,
|
|
@@ -4493,18 +5403,18 @@ function AssociationCardGrid({
|
|
|
4493
5403
|
dotClassName: role.accentBar
|
|
4494
5404
|
}
|
|
4495
5405
|
),
|
|
4496
|
-
/* @__PURE__ */ (0,
|
|
5406
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: rowClass, children: inRole.map((token) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(AssociationCard, { token, look }, token)) })
|
|
4497
5407
|
] }, role.id);
|
|
4498
5408
|
}),
|
|
4499
|
-
roleless.length > 0 && /* @__PURE__ */ (0,
|
|
4500
|
-
/* @__PURE__ */ (0,
|
|
5409
|
+
roleless.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("section", { children: [
|
|
5410
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
4501
5411
|
GroupHeader,
|
|
4502
5412
|
{
|
|
4503
5413
|
look,
|
|
4504
5414
|
title: "Filed under"
|
|
4505
5415
|
}
|
|
4506
5416
|
),
|
|
4507
|
-
/* @__PURE__ */ (0,
|
|
5417
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: rowClass, children: roleless.map((token) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(AssociationCard, { token, look }, token)) })
|
|
4508
5418
|
] })
|
|
4509
5419
|
]
|
|
4510
5420
|
}
|
|
@@ -4514,9 +5424,9 @@ function AssociationCardGrid({
|
|
|
4514
5424
|
// src/react/components/AssociationList.tsx
|
|
4515
5425
|
var import_react18 = require("react");
|
|
4516
5426
|
var import_design_system9 = require("@ai-matrx/design-system");
|
|
4517
|
-
var
|
|
5427
|
+
var import_icons14 = require("@ai-matrx/design-system/icons");
|
|
4518
5428
|
var import_outbound = require("@ai-matrx/kit/outbound");
|
|
4519
|
-
var
|
|
5429
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
4520
5430
|
function metadataIsPinned2(metadata) {
|
|
4521
5431
|
return metadata !== null && typeof metadata === "object" && !Array.isArray(metadata) && Reflect.get(metadata, "pinned") === true;
|
|
4522
5432
|
}
|
|
@@ -4627,15 +5537,15 @@ function AssociationList(props) {
|
|
|
4627
5537
|
const grouped = groupRows(store, visibleRows);
|
|
4628
5538
|
const isLoading = adapter.status === "loading" || adapter.status === "idle";
|
|
4629
5539
|
const attachableTokens = tokenFilter ?? store.registry.listableTokens();
|
|
4630
|
-
return /* @__PURE__ */ (0,
|
|
4631
|
-
/* @__PURE__ */ (0,
|
|
4632
|
-
props.title === null ? null : /* @__PURE__ */ (0,
|
|
4633
|
-
/* @__PURE__ */ (0,
|
|
5540
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: (0, import_design_system9.cn)("flex flex-col gap-2 text-foreground", props.className), children: [
|
|
5541
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: (0, import_design_system9.cn)("flex items-center gap-2 px-1", props.title === null ? "justify-end" : "justify-between"), children: [
|
|
5542
|
+
props.title === null ? null : /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("h3", { className: "flex items-center gap-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: [
|
|
5543
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Link2Icon, { className: "h-3.5 w-3.5" }),
|
|
4634
5544
|
props.title ?? "Resources",
|
|
4635
|
-
visibleRows.length > 0 && /* @__PURE__ */ (0,
|
|
5545
|
+
visibleRows.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "rounded bg-muted px-1 text-[10px] font-medium text-muted-foreground", children: visibleRows.length })
|
|
4636
5546
|
] }),
|
|
4637
|
-
/* @__PURE__ */ (0,
|
|
4638
|
-
/* @__PURE__ */ (0,
|
|
5547
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center gap-1.5", children: [
|
|
5548
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
4639
5549
|
"button",
|
|
4640
5550
|
{
|
|
4641
5551
|
type: "button",
|
|
@@ -4645,19 +5555,19 @@ function AssociationList(props) {
|
|
|
4645
5555
|
showUniversal ? "bg-accent text-foreground" : "text-muted-foreground hover:bg-accent hover:text-foreground"
|
|
4646
5556
|
),
|
|
4647
5557
|
children: [
|
|
4648
|
-
/* @__PURE__ */ (0,
|
|
5558
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_icons14.PlusIcon, { className: "h-3 w-3" }),
|
|
4649
5559
|
"Add"
|
|
4650
5560
|
]
|
|
4651
5561
|
}
|
|
4652
5562
|
),
|
|
4653
|
-
/* @__PURE__ */ (0,
|
|
5563
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
4654
5564
|
"button",
|
|
4655
5565
|
{
|
|
4656
5566
|
type: "button",
|
|
4657
5567
|
onClick: () => void adapter.reload(),
|
|
4658
5568
|
title: "Refresh",
|
|
4659
5569
|
className: "text-muted-foreground/60 transition-colors hover:text-foreground",
|
|
4660
|
-
children: /* @__PURE__ */ (0,
|
|
5570
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
4661
5571
|
RefreshIcon,
|
|
4662
5572
|
{
|
|
4663
5573
|
className: (0, import_design_system9.cn)(
|
|
@@ -4670,7 +5580,7 @@ function AssociationList(props) {
|
|
|
4670
5580
|
)
|
|
4671
5581
|
] })
|
|
4672
5582
|
] }),
|
|
4673
|
-
showUniversal && /* @__PURE__ */ (0,
|
|
5583
|
+
showUniversal && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "rounded-md border border-border/60 bg-muted/30 p-2 max-h-80 flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
4674
5584
|
UniversalAssociationPicker,
|
|
4675
5585
|
{
|
|
4676
5586
|
tokens: attachableTokens,
|
|
@@ -4680,9 +5590,9 @@ function AssociationList(props) {
|
|
|
4680
5590
|
onDetach: (token, id) => adapter.detach(token, id)
|
|
4681
5591
|
}
|
|
4682
5592
|
) }),
|
|
4683
|
-
adapter.status === "error" && /* @__PURE__ */ (0,
|
|
4684
|
-
/* @__PURE__ */ (0,
|
|
4685
|
-
/* @__PURE__ */ (0,
|
|
5593
|
+
adapter.status === "error" && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center justify-between gap-2 rounded-md border border-destructive/40 bg-destructive/10 px-2.5 py-2", children: [
|
|
5594
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "truncate text-[11px] text-destructive", children: adapter.error || "Failed to load resources" }),
|
|
5595
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
4686
5596
|
"button",
|
|
4687
5597
|
{
|
|
4688
5598
|
type: "button",
|
|
@@ -4692,17 +5602,17 @@ function AssociationList(props) {
|
|
|
4692
5602
|
}
|
|
4693
5603
|
)
|
|
4694
5604
|
] }),
|
|
4695
|
-
adapter.status !== "error" && isLoading && visibleRows.length === 0 && /* @__PURE__ */ (0,
|
|
4696
|
-
/* @__PURE__ */ (0,
|
|
4697
|
-
/* @__PURE__ */ (0,
|
|
4698
|
-
/* @__PURE__ */ (0,
|
|
5605
|
+
adapter.status !== "error" && isLoading && visibleRows.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "space-y-1.5 px-1", children: [
|
|
5606
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_design_system9.Skeleton, { className: "h-3 w-20" }),
|
|
5607
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_design_system9.Skeleton, { className: "h-7 w-full rounded-md" }),
|
|
5608
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_design_system9.Skeleton, { className: "h-7 w-3/4 rounded-md" })
|
|
4699
5609
|
] }),
|
|
4700
|
-
adapter.status === "ready" && visibleRows.length === 0 && /* @__PURE__ */ (0,
|
|
4701
|
-
visibleRows.length > 0 && /* @__PURE__ */ (0,
|
|
5610
|
+
adapter.status === "ready" && visibleRows.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("p", { className: "px-1 py-1 text-[11px] text-muted-foreground", children: "Nothing attached yet \u2014 use Add to link anything." }),
|
|
5611
|
+
visibleRows.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "space-y-2.5", children: grouped.map(({ role, tokens: tokenGroups }) => {
|
|
4702
5612
|
const roleMeta = getContentRoleMeta(role);
|
|
4703
|
-
return /* @__PURE__ */ (0,
|
|
4704
|
-
variant === "full" && /* @__PURE__ */ (0,
|
|
4705
|
-
/* @__PURE__ */ (0,
|
|
5613
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "space-y-1.5", children: [
|
|
5614
|
+
variant === "full" && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center gap-1.5 px-1", children: [
|
|
5615
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
4706
5616
|
"span",
|
|
4707
5617
|
{
|
|
4708
5618
|
className: (0, import_design_system9.cn)(
|
|
@@ -4711,7 +5621,7 @@ function AssociationList(props) {
|
|
|
4711
5621
|
)
|
|
4712
5622
|
}
|
|
4713
5623
|
),
|
|
4714
|
-
/* @__PURE__ */ (0,
|
|
5624
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
4715
5625
|
"p",
|
|
4716
5626
|
{
|
|
4717
5627
|
className: (0, import_design_system9.cn)(
|
|
@@ -4724,28 +5634,28 @@ function AssociationList(props) {
|
|
|
4724
5634
|
] }),
|
|
4725
5635
|
tokenGroups.map(({ info, token, rows: tokenRows }) => {
|
|
4726
5636
|
const TokenIcon = info?.Icon ?? null;
|
|
4727
|
-
return /* @__PURE__ */ (0,
|
|
4728
|
-
/* @__PURE__ */ (0,
|
|
4729
|
-
/* @__PURE__ */ (0,
|
|
4730
|
-
TokenIcon ? /* @__PURE__ */ (0,
|
|
5637
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "space-y-0.5", children: [
|
|
5638
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center justify-between gap-1 px-1", children: [
|
|
5639
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("p", { className: "flex items-center gap-1 text-[10px] font-medium text-muted-foreground/80", children: [
|
|
5640
|
+
TokenIcon ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(TokenIcon, { className: "h-3 w-3" }) : null,
|
|
4731
5641
|
info?.labelPlural ?? titleize(token),
|
|
4732
|
-
/* @__PURE__ */ (0,
|
|
5642
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-muted-foreground/50", children: tokenRows.length })
|
|
4733
5643
|
] }),
|
|
4734
|
-
/* @__PURE__ */ (0,
|
|
5644
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center gap-1", children: [
|
|
4735
5645
|
props.renderSectionActions && info ? props.renderSectionActions(info.token) : null,
|
|
4736
|
-
info?.canListCandidates && /* @__PURE__ */ (0,
|
|
5646
|
+
info?.canListCandidates && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
4737
5647
|
"button",
|
|
4738
5648
|
{
|
|
4739
5649
|
type: "button",
|
|
4740
5650
|
onClick: () => setPickerToken(info.token),
|
|
4741
5651
|
title: `Add ${info.labelPlural}`,
|
|
4742
5652
|
className: "rounded p-0.5 text-muted-foreground/60 transition-colors hover:bg-accent hover:text-foreground",
|
|
4743
|
-
children: /* @__PURE__ */ (0,
|
|
5653
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_icons14.PlusIcon, { className: "h-3 w-3" })
|
|
4744
5654
|
}
|
|
4745
5655
|
)
|
|
4746
5656
|
] })
|
|
4747
5657
|
] }),
|
|
4748
|
-
/* @__PURE__ */ (0,
|
|
5658
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("ul", { className: "space-y-0.5", children: tokenRows.map((row) => {
|
|
4749
5659
|
const busy = removingKeys.has(row.key);
|
|
4750
5660
|
const custom = props.renderRow?.(row, {
|
|
4751
5661
|
title: titleFor({
|
|
@@ -4758,9 +5668,9 @@ function AssociationList(props) {
|
|
|
4758
5668
|
onOpen: () => openRow(row)
|
|
4759
5669
|
});
|
|
4760
5670
|
if (custom != null) {
|
|
4761
|
-
return /* @__PURE__ */ (0,
|
|
5671
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("li", { children: custom }, row.key);
|
|
4762
5672
|
}
|
|
4763
|
-
return /* @__PURE__ */ (0,
|
|
5673
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
4764
5674
|
"div",
|
|
4765
5675
|
{
|
|
4766
5676
|
className: (0, import_design_system9.cn)(
|
|
@@ -4772,7 +5682,7 @@ function AssociationList(props) {
|
|
|
4772
5682
|
token: row.token,
|
|
4773
5683
|
id: row.resourceId,
|
|
4774
5684
|
label: row.label
|
|
4775
|
-
}) ? /* @__PURE__ */ (0,
|
|
5685
|
+
}) ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "min-w-0 flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(UnresolvedRef, { token: row.token, id: row.resourceId }) }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
4776
5686
|
DoorRef,
|
|
4777
5687
|
{
|
|
4778
5688
|
token: row.token,
|
|
@@ -4788,9 +5698,9 @@ function AssociationList(props) {
|
|
|
4788
5698
|
className: "min-w-0 flex-1 text-foreground"
|
|
4789
5699
|
}
|
|
4790
5700
|
),
|
|
4791
|
-
row.originRefs && row.originRefs.length > 0 ? /* @__PURE__ */ (0,
|
|
5701
|
+
row.originRefs && row.originRefs.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("span", { className: "flex shrink-0 items-center gap-1 text-[10px] text-muted-foreground/60", children: [
|
|
4792
5702
|
"via",
|
|
4793
|
-
row.originRefs.map((origin) => /* @__PURE__ */ (0,
|
|
5703
|
+
row.originRefs.map((origin) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
4794
5704
|
DoorRef,
|
|
4795
5705
|
{
|
|
4796
5706
|
token: origin.token,
|
|
@@ -4802,8 +5712,8 @@ function AssociationList(props) {
|
|
|
4802
5712
|
},
|
|
4803
5713
|
`${origin.token}:${origin.id}`
|
|
4804
5714
|
))
|
|
4805
|
-
] }) : row.originNote ? /* @__PURE__ */ (0,
|
|
4806
|
-
adapter.setPinned && info && row.removable && /* @__PURE__ */ (0,
|
|
5715
|
+
] }) : row.originNote ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "shrink-0 text-[10px] text-muted-foreground/60", children: row.originNote }) : null,
|
|
5716
|
+
adapter.setPinned && info && row.removable && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
4807
5717
|
"button",
|
|
4808
5718
|
{
|
|
4809
5719
|
type: "button",
|
|
@@ -4815,8 +5725,8 @@ function AssociationList(props) {
|
|
|
4815
5725
|
"shrink-0 rounded p-0.5 transition-colors hover:!text-foreground",
|
|
4816
5726
|
row.pinned ? "text-primary" : "text-muted-foreground/0 group-hover:text-muted-foreground"
|
|
4817
5727
|
),
|
|
4818
|
-
children: pinningKeys.has(row.key) ? /* @__PURE__ */ (0,
|
|
4819
|
-
|
|
5728
|
+
children: pinningKeys.has(row.key) ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SpinnerIcon, { className: "h-3 w-3 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
5729
|
+
import_icons14.PinIcon,
|
|
4820
5730
|
{
|
|
4821
5731
|
className: (0, import_design_system9.cn)(
|
|
4822
5732
|
"h-3 w-3",
|
|
@@ -4826,7 +5736,7 @@ function AssociationList(props) {
|
|
|
4826
5736
|
)
|
|
4827
5737
|
}
|
|
4828
5738
|
),
|
|
4829
|
-
row.removable && /* @__PURE__ */ (0,
|
|
5739
|
+
row.removable && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
4830
5740
|
"button",
|
|
4831
5741
|
{
|
|
4832
5742
|
type: "button",
|
|
@@ -4835,7 +5745,7 @@ function AssociationList(props) {
|
|
|
4835
5745
|
title: "Detach",
|
|
4836
5746
|
"aria-label": "Detach",
|
|
4837
5747
|
className: "shrink-0 rounded p-0.5 text-muted-foreground/0 transition-colors group-hover:text-muted-foreground hover:!text-destructive disabled:opacity-50",
|
|
4838
|
-
children: busy ? /* @__PURE__ */ (0,
|
|
5748
|
+
children: busy ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(SpinnerIcon, { className: "h-3 w-3 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_icons14.XIcon, { className: "h-3 w-3" })
|
|
4839
5749
|
}
|
|
4840
5750
|
)
|
|
4841
5751
|
]
|
|
@@ -4846,7 +5756,7 @@ function AssociationList(props) {
|
|
|
4846
5756
|
})
|
|
4847
5757
|
] }, role);
|
|
4848
5758
|
}) }),
|
|
4849
|
-
pickerToken && /* @__PURE__ */ (0,
|
|
5759
|
+
pickerToken && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
4850
5760
|
AssociationPicker,
|
|
4851
5761
|
{
|
|
4852
5762
|
open: true,
|
|
@@ -4904,9 +5814,9 @@ function titleize(token) {
|
|
|
4904
5814
|
// src/react/components/AssociationCaptureToolbar.tsx
|
|
4905
5815
|
var import_react19 = require("react");
|
|
4906
5816
|
var import_design_system10 = require("@ai-matrx/design-system");
|
|
4907
|
-
var
|
|
5817
|
+
var import_icons16 = require("@ai-matrx/design-system/icons");
|
|
4908
5818
|
var import_outbound2 = require("@ai-matrx/kit/outbound");
|
|
4909
|
-
var
|
|
5819
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
4910
5820
|
function AssociationCaptureToolbar({
|
|
4911
5821
|
attach,
|
|
4912
5822
|
uploadFolderPath,
|
|
@@ -5139,7 +6049,7 @@ function AssociationCaptureToolbar({
|
|
|
5139
6049
|
}
|
|
5140
6050
|
};
|
|
5141
6051
|
const anyBuiltIn = actions.upload || actions.addFile || actions.newDocument;
|
|
5142
|
-
return /* @__PURE__ */ (0,
|
|
6052
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
5143
6053
|
"div",
|
|
5144
6054
|
{
|
|
5145
6055
|
className: (0, import_design_system10.cn)(
|
|
@@ -5160,11 +6070,11 @@ function AssociationCaptureToolbar({
|
|
|
5160
6070
|
},
|
|
5161
6071
|
onDrop: handleDrop,
|
|
5162
6072
|
children: [
|
|
5163
|
-
isDragOver ? /* @__PURE__ */ (0,
|
|
5164
|
-
/* @__PURE__ */ (0,
|
|
6073
|
+
isDragOver ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "pointer-events-none absolute inset-0 z-10 grid place-items-center bg-background/70", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("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: [
|
|
6074
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(UploadIcon, { className: "size-3.5 text-primary" }),
|
|
5165
6075
|
"Drop to upload & attach"
|
|
5166
6076
|
] }) }) : null,
|
|
5167
|
-
/* @__PURE__ */ (0,
|
|
6077
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
5168
6078
|
"input",
|
|
5169
6079
|
{
|
|
5170
6080
|
ref: fileInputRef,
|
|
@@ -5174,8 +6084,8 @@ function AssociationCaptureToolbar({
|
|
|
5174
6084
|
onChange: handleFilesSelected
|
|
5175
6085
|
}
|
|
5176
6086
|
),
|
|
5177
|
-
showToolbar && (anyBuiltIn || extraActions) ? /* @__PURE__ */ (0,
|
|
5178
|
-
/* @__PURE__ */ (0,
|
|
6087
|
+
showToolbar && (anyBuiltIn || extraActions) ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "flex flex-wrap items-center gap-0.5 border-b border-border/60 px-1.5 py-1", children: namingDoc ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex flex-1 items-center gap-1.5 py-0.5", children: [
|
|
6088
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
5179
6089
|
import_design_system10.Input,
|
|
5180
6090
|
{
|
|
5181
6091
|
autoFocus: true,
|
|
@@ -5194,17 +6104,17 @@ function AssociationCaptureToolbar({
|
|
|
5194
6104
|
style: { fontSize: 16 }
|
|
5195
6105
|
}
|
|
5196
6106
|
),
|
|
5197
|
-
/* @__PURE__ */ (0,
|
|
6107
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
5198
6108
|
"button",
|
|
5199
6109
|
{
|
|
5200
6110
|
type: "button",
|
|
5201
6111
|
disabled: creatingDoc || !docName.trim(),
|
|
5202
6112
|
onClick: () => void handleCreateDoc(),
|
|
5203
6113
|
className: "flex h-7 items-center rounded-md bg-primary px-2 text-[11px] font-medium text-primary-foreground disabled:opacity-50",
|
|
5204
|
-
children: creatingDoc ? /* @__PURE__ */ (0,
|
|
6114
|
+
children: creatingDoc ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SpinnerIcon, { className: "size-3.5 animate-spin" }) : "Create"
|
|
5205
6115
|
}
|
|
5206
6116
|
),
|
|
5207
|
-
/* @__PURE__ */ (0,
|
|
6117
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
5208
6118
|
"button",
|
|
5209
6119
|
{
|
|
5210
6120
|
type: "button",
|
|
@@ -5217,8 +6127,8 @@ function AssociationCaptureToolbar({
|
|
|
5217
6127
|
children: "Cancel"
|
|
5218
6128
|
}
|
|
5219
6129
|
)
|
|
5220
|
-
] }) : /* @__PURE__ */ (0,
|
|
5221
|
-
actions.upload ? /* @__PURE__ */ (0,
|
|
6130
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
|
|
6131
|
+
actions.upload ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
5222
6132
|
CaptureToolbarAction,
|
|
5223
6133
|
{
|
|
5224
6134
|
icon: isUploading ? SpinnerIcon : UploadIcon,
|
|
@@ -5228,7 +6138,7 @@ function AssociationCaptureToolbar({
|
|
|
5228
6138
|
disabled: isPicking || isUploading
|
|
5229
6139
|
}
|
|
5230
6140
|
) : null,
|
|
5231
|
-
actions.addFile ? /* @__PURE__ */ (0,
|
|
6141
|
+
actions.addFile ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
5232
6142
|
CaptureToolbarAction,
|
|
5233
6143
|
{
|
|
5234
6144
|
icon: isPicking ? SpinnerIcon : FolderOpenIcon,
|
|
@@ -5238,11 +6148,11 @@ function AssociationCaptureToolbar({
|
|
|
5238
6148
|
disabled: isPicking || isUploading
|
|
5239
6149
|
}
|
|
5240
6150
|
) : null,
|
|
5241
|
-
(actions.upload || actions.addFile) && actions.newDocument ? /* @__PURE__ */ (0,
|
|
5242
|
-
actions.newDocument ? /* @__PURE__ */ (0,
|
|
6151
|
+
(actions.upload || actions.addFile) && actions.newDocument ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "mx-1 h-4 w-px bg-border" }) : null,
|
|
6152
|
+
actions.newDocument ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
5243
6153
|
CaptureToolbarAction,
|
|
5244
6154
|
{
|
|
5245
|
-
icon: creatingDoc ? SpinnerIcon :
|
|
6155
|
+
icon: creatingDoc ? SpinnerIcon : import_icons16.PlusIcon,
|
|
5246
6156
|
spinning: creatingDoc,
|
|
5247
6157
|
label: "New document",
|
|
5248
6158
|
onClick: () => setNamingDoc(true),
|
|
@@ -5263,7 +6173,7 @@ function CaptureToolbarAction({
|
|
|
5263
6173
|
disabled,
|
|
5264
6174
|
spinning
|
|
5265
6175
|
}) {
|
|
5266
|
-
return /* @__PURE__ */ (0,
|
|
6176
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
5267
6177
|
import_design_system10.Button,
|
|
5268
6178
|
{
|
|
5269
6179
|
type: "button",
|
|
@@ -5273,7 +6183,7 @@ function CaptureToolbarAction({
|
|
|
5273
6183
|
disabled,
|
|
5274
6184
|
className: "h-7 gap-1 px-2 text-[11px] text-muted-foreground hover:text-foreground",
|
|
5275
6185
|
children: [
|
|
5276
|
-
/* @__PURE__ */ (0,
|
|
6186
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Icon, { className: (0, import_design_system10.cn)("size-3.5", spinning && "animate-spin") }),
|
|
5277
6187
|
label
|
|
5278
6188
|
]
|
|
5279
6189
|
}
|
|
@@ -5282,7 +6192,7 @@ function CaptureToolbarAction({
|
|
|
5282
6192
|
|
|
5283
6193
|
// src/react/lazyPorts.tsx
|
|
5284
6194
|
var import_react20 = require("react");
|
|
5285
|
-
var
|
|
6195
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
5286
6196
|
function lazyComponent(load) {
|
|
5287
6197
|
return (0, import_react20.lazy)(async () => {
|
|
5288
6198
|
const loaded = await load();
|
|
@@ -5292,14 +6202,14 @@ function lazyComponent(load) {
|
|
|
5292
6202
|
function lazyWindowShell(load) {
|
|
5293
6203
|
const Loaded = lazyComponent(load);
|
|
5294
6204
|
return function LazyWindowShell(props) {
|
|
5295
|
-
return /* @__PURE__ */ (0,
|
|
6205
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react20.Suspense, { fallback: null, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Loaded, { ...props }) });
|
|
5296
6206
|
};
|
|
5297
6207
|
}
|
|
5298
6208
|
function lazyPickerOverride(load) {
|
|
5299
6209
|
const Loaded = lazyComponent(load);
|
|
5300
6210
|
return function LazyPickerOverride(props) {
|
|
5301
6211
|
if (!props.open) return null;
|
|
5302
|
-
return /* @__PURE__ */ (0,
|
|
6212
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react20.Suspense, { fallback: null, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Loaded, { ...props }) });
|
|
5303
6213
|
};
|
|
5304
6214
|
}
|
|
5305
6215
|
|
|
@@ -5413,8 +6323,8 @@ function useAssociationPickerBridge(props, options = {}) {
|
|
|
5413
6323
|
// src/react/components/AssociationEntitySelect.tsx
|
|
5414
6324
|
var import_react22 = require("react");
|
|
5415
6325
|
var import_design_system11 = require("@ai-matrx/design-system");
|
|
5416
|
-
var
|
|
5417
|
-
var
|
|
6326
|
+
var import_icons18 = require("@ai-matrx/design-system/icons");
|
|
6327
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
5418
6328
|
function AssociationEntitySelect({
|
|
5419
6329
|
token,
|
|
5420
6330
|
adapter,
|
|
@@ -5455,7 +6365,7 @@ function AssociationEntitySelect({
|
|
|
5455
6365
|
if (id) close();
|
|
5456
6366
|
else notifier.error(`Couldn't create the ${entityLabel}`);
|
|
5457
6367
|
};
|
|
5458
|
-
return /* @__PURE__ */ (0,
|
|
6368
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
5459
6369
|
"div",
|
|
5460
6370
|
{
|
|
5461
6371
|
className: (0, import_design_system11.cn)(
|
|
@@ -5463,7 +6373,7 @@ function AssociationEntitySelect({
|
|
|
5463
6373
|
className
|
|
5464
6374
|
),
|
|
5465
6375
|
children: [
|
|
5466
|
-
showIcon ? /* @__PURE__ */ (0,
|
|
6376
|
+
showIcon ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
5467
6377
|
InfoIcon,
|
|
5468
6378
|
{
|
|
5469
6379
|
className: (0, import_design_system11.cn)(
|
|
@@ -5473,7 +6383,7 @@ function AssociationEntitySelect({
|
|
|
5473
6383
|
"aria-hidden": true
|
|
5474
6384
|
}
|
|
5475
6385
|
) : null,
|
|
5476
|
-
active ? /* @__PURE__ */ (0,
|
|
6386
|
+
active ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
5477
6387
|
import_design_system11.EditableLabel,
|
|
5478
6388
|
{
|
|
5479
6389
|
value: active.title,
|
|
@@ -5492,8 +6402,8 @@ function AssociationEntitySelect({
|
|
|
5492
6402
|
inputClassName: "text-xs font-medium"
|
|
5493
6403
|
}
|
|
5494
6404
|
) : null,
|
|
5495
|
-
active ? /* @__PURE__ */ (0,
|
|
5496
|
-
!active ? /* @__PURE__ */ (0,
|
|
6405
|
+
active ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(DoorControlsSlot, { token, id: active.id, name: active.title }) : null,
|
|
6406
|
+
!active ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
5497
6407
|
"span",
|
|
5498
6408
|
{
|
|
5499
6409
|
className: (0, import_design_system11.cn)(
|
|
@@ -5503,13 +6413,13 @@ function AssociationEntitySelect({
|
|
|
5503
6413
|
children: adapter.loading ? "\u2026" : emptyLabel ?? info.labelPlural
|
|
5504
6414
|
}
|
|
5505
6415
|
) : null,
|
|
5506
|
-
/* @__PURE__ */ (0,
|
|
6416
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
5507
6417
|
import_design_system11.Popover,
|
|
5508
6418
|
{
|
|
5509
6419
|
open,
|
|
5510
6420
|
onOpenChange: (next) => next ? setOpen(true) : close(),
|
|
5511
6421
|
children: [
|
|
5512
|
-
/* @__PURE__ */ (0,
|
|
6422
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_design_system11.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
5513
6423
|
"button",
|
|
5514
6424
|
{
|
|
5515
6425
|
type: "button",
|
|
@@ -5517,17 +6427,17 @@ function AssociationEntitySelect({
|
|
|
5517
6427
|
title: `Switch or add ${info.labelPlural.toLowerCase()}`,
|
|
5518
6428
|
"aria-label": `Switch or add ${info.labelPlural.toLowerCase()}`,
|
|
5519
6429
|
children: [
|
|
5520
|
-
items.length > 1 ? /* @__PURE__ */ (0,
|
|
6430
|
+
items.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "tabular-nums", children: [
|
|
5521
6431
|
activeIndex >= 0 ? activeIndex + 1 : "\u2014",
|
|
5522
6432
|
"/",
|
|
5523
6433
|
items.length
|
|
5524
6434
|
] }) : null,
|
|
5525
|
-
/* @__PURE__ */ (0,
|
|
6435
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons18.ChevronDownIcon, { className: "size-3 opacity-60" })
|
|
5526
6436
|
]
|
|
5527
6437
|
}
|
|
5528
6438
|
) }),
|
|
5529
|
-
/* @__PURE__ */ (0,
|
|
5530
|
-
items.length > 5 ? /* @__PURE__ */ (0,
|
|
6439
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_design_system11.PopoverContent, { sizing: "content", className: "p-0", align, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_design_system11.Command, { children: [
|
|
6440
|
+
items.length > 5 ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
5531
6441
|
import_design_system11.CommandInput,
|
|
5532
6442
|
{
|
|
5533
6443
|
value: query,
|
|
@@ -5535,9 +6445,9 @@ function AssociationEntitySelect({
|
|
|
5535
6445
|
placeholder: `Search ${info.labelPlural.toLowerCase()}\u2026`
|
|
5536
6446
|
}
|
|
5537
6447
|
) : null,
|
|
5538
|
-
/* @__PURE__ */ (0,
|
|
5539
|
-
/* @__PURE__ */ (0,
|
|
5540
|
-
items.length > 0 ? /* @__PURE__ */ (0,
|
|
6448
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_design_system11.CommandList, { children: [
|
|
6449
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_design_system11.CommandEmpty, { children: "No match." }),
|
|
6450
|
+
items.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_design_system11.CommandGroup, { children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
5541
6451
|
import_design_system11.CommandItem,
|
|
5542
6452
|
{
|
|
5543
6453
|
value: `${item.title} ${item.id}`,
|
|
@@ -5548,8 +6458,8 @@ function AssociationEntitySelect({
|
|
|
5548
6458
|
},
|
|
5549
6459
|
className: "group/entity-ref group gap-2",
|
|
5550
6460
|
children: [
|
|
5551
|
-
/* @__PURE__ */ (0,
|
|
5552
|
-
|
|
6461
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
6462
|
+
import_icons18.CheckIcon,
|
|
5553
6463
|
{
|
|
5554
6464
|
className: (0, import_design_system11.cn)(
|
|
5555
6465
|
"size-3.5 shrink-0",
|
|
@@ -5557,8 +6467,8 @@ function AssociationEntitySelect({
|
|
|
5557
6467
|
)
|
|
5558
6468
|
}
|
|
5559
6469
|
),
|
|
5560
|
-
/* @__PURE__ */ (0,
|
|
5561
|
-
/* @__PURE__ */ (0,
|
|
6470
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "min-w-0 flex-1 truncate", children: item.title }),
|
|
6471
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
5562
6472
|
"span",
|
|
5563
6473
|
{
|
|
5564
6474
|
className: "inline-flex shrink-0 items-center",
|
|
@@ -5566,7 +6476,7 @@ function AssociationEntitySelect({
|
|
|
5566
6476
|
e.preventDefault();
|
|
5567
6477
|
e.stopPropagation();
|
|
5568
6478
|
},
|
|
5569
|
-
children: /* @__PURE__ */ (0,
|
|
6479
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
5570
6480
|
DoorControlsSlot,
|
|
5571
6481
|
{
|
|
5572
6482
|
token,
|
|
@@ -5576,7 +6486,7 @@ function AssociationEntitySelect({
|
|
|
5576
6486
|
)
|
|
5577
6487
|
}
|
|
5578
6488
|
),
|
|
5579
|
-
adapter.detach && item.id !== activeId ? /* @__PURE__ */ (0,
|
|
6489
|
+
adapter.detach && item.id !== activeId ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
5580
6490
|
"button",
|
|
5581
6491
|
{
|
|
5582
6492
|
type: "button",
|
|
@@ -5591,7 +6501,7 @@ function AssociationEntitySelect({
|
|
|
5591
6501
|
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",
|
|
5592
6502
|
title: `Remove this ${entityLabel} from here (does not delete it)`,
|
|
5593
6503
|
"aria-label": `Remove ${item.title}`,
|
|
5594
|
-
children: /* @__PURE__ */ (0,
|
|
6504
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons18.XIcon, { className: "size-3" })
|
|
5595
6505
|
}
|
|
5596
6506
|
) : null
|
|
5597
6507
|
]
|
|
@@ -5599,9 +6509,9 @@ function AssociationEntitySelect({
|
|
|
5599
6509
|
item.id
|
|
5600
6510
|
)) }) : null
|
|
5601
6511
|
] }),
|
|
5602
|
-
createSlot !== void 0 ? /* @__PURE__ */ (0,
|
|
5603
|
-
createSlot === void 0 && adapter.createAndAttach ? /* @__PURE__ */ (0,
|
|
5604
|
-
/* @__PURE__ */ (0,
|
|
6512
|
+
createSlot !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "border-t border-border p-1", children: typeof createSlot === "function" ? createSlot(close) : createSlot }) : null,
|
|
6513
|
+
createSlot === void 0 && adapter.createAndAttach ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "border-t border-border p-1", children: creating ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex items-center gap-1 px-1 py-0.5", children: [
|
|
6514
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
5605
6515
|
"input",
|
|
5606
6516
|
{
|
|
5607
6517
|
autoFocus: true,
|
|
@@ -5625,17 +6535,17 @@ function AssociationEntitySelect({
|
|
|
5625
6535
|
"aria-label": `New ${entityLabel} name`
|
|
5626
6536
|
}
|
|
5627
6537
|
),
|
|
5628
|
-
/* @__PURE__ */ (0,
|
|
6538
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
5629
6539
|
"button",
|
|
5630
6540
|
{
|
|
5631
6541
|
type: "button",
|
|
5632
6542
|
disabled: busy || !draftName.trim(),
|
|
5633
6543
|
onClick: () => void create(draftName),
|
|
5634
6544
|
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",
|
|
5635
|
-
children: busy ? /* @__PURE__ */ (0,
|
|
6545
|
+
children: busy ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(SpinnerIcon, { className: "size-3 animate-spin" }) : "Create"
|
|
5636
6546
|
}
|
|
5637
6547
|
)
|
|
5638
|
-
] }) : /* @__PURE__ */ (0,
|
|
6548
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
5639
6549
|
"button",
|
|
5640
6550
|
{
|
|
5641
6551
|
type: "button",
|
|
@@ -5646,7 +6556,7 @@ function AssociationEntitySelect({
|
|
|
5646
6556
|
},
|
|
5647
6557
|
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",
|
|
5648
6558
|
children: [
|
|
5649
|
-
busy ? /* @__PURE__ */ (0,
|
|
6559
|
+
busy ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(SpinnerIcon, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons18.PlusIcon, { className: "size-3.5" }),
|
|
5650
6560
|
query.trim() ? `Create "${query.trim()}"` : `New ${info.label}`
|
|
5651
6561
|
]
|
|
5652
6562
|
}
|
|
@@ -5729,7 +6639,7 @@ function buildCategoryHierarchy(categories) {
|
|
|
5729
6639
|
}
|
|
5730
6640
|
|
|
5731
6641
|
// src/react/components/CategorySelect.tsx
|
|
5732
|
-
var
|
|
6642
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
5733
6643
|
var NONE = "__none__";
|
|
5734
6644
|
var ROOT_PARENT = "__root__";
|
|
5735
6645
|
function plural(noun) {
|
|
@@ -5765,9 +6675,9 @@ function CategorySelect({
|
|
|
5765
6675
|
// The type-ahead matches the parent's name too, so someone who knows
|
|
5766
6676
|
// the branch but not the leaf still finds it.
|
|
5767
6677
|
keywords: parent ? parent.name : "",
|
|
5768
|
-
render: depth === 0 ? /* @__PURE__ */ (0,
|
|
5769
|
-
/* @__PURE__ */ (0,
|
|
5770
|
-
/* @__PURE__ */ (0,
|
|
6678
|
+
render: depth === 0 ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "font-medium", children: category.name }) : /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("span", { className: "flex items-center gap-1.5 pl-3 text-muted-foreground", children: [
|
|
6679
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CornerDownRightIcon, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
6680
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "text-foreground", children: category.name })
|
|
5771
6681
|
] })
|
|
5772
6682
|
})) : categories.map((category) => ({
|
|
5773
6683
|
value: category.id,
|
|
@@ -5814,8 +6724,8 @@ function CategorySelect({
|
|
|
5814
6724
|
);
|
|
5815
6725
|
return result.id;
|
|
5816
6726
|
};
|
|
5817
|
-
return /* @__PURE__ */ (0,
|
|
5818
|
-
/* @__PURE__ */ (0,
|
|
6727
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
|
|
6728
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
5819
6729
|
import_design_system12.CreatablePicker,
|
|
5820
6730
|
{
|
|
5821
6731
|
value: value ?? (allowNone ? NONE : null),
|
|
@@ -5831,18 +6741,18 @@ function CategorySelect({
|
|
|
5831
6741
|
emptyLabel: `No ${noun} matches that.`,
|
|
5832
6742
|
...allowCreate ? { onCreate: create } : {},
|
|
5833
6743
|
...allowCreate && hierarchy.hasHierarchy ? {
|
|
5834
|
-
createExtra: /* @__PURE__ */ (0,
|
|
5835
|
-
/* @__PURE__ */ (0,
|
|
6744
|
+
createExtra: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_design_system12.Select, { value: createParentId, onValueChange: setCreateParentId, children: [
|
|
6745
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
5836
6746
|
import_design_system12.SelectTrigger,
|
|
5837
6747
|
{
|
|
5838
6748
|
className: "h-7 text-xs",
|
|
5839
6749
|
"aria-label": `Put the new ${noun} under`,
|
|
5840
|
-
children: /* @__PURE__ */ (0,
|
|
6750
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_design_system12.SelectValue, {})
|
|
5841
6751
|
}
|
|
5842
6752
|
),
|
|
5843
|
-
/* @__PURE__ */ (0,
|
|
5844
|
-
/* @__PURE__ */ (0,
|
|
5845
|
-
hierarchy.items.filter((item) => item.depth === 0).map((item) => /* @__PURE__ */ (0,
|
|
6753
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_design_system12.SelectContent, { children: [
|
|
6754
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_design_system12.SelectItem, { value: ROOT_PARENT, className: "text-xs", children: "Top level" }),
|
|
6755
|
+
hierarchy.items.filter((item) => item.depth === 0).map((item) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
5846
6756
|
import_design_system12.SelectItem,
|
|
5847
6757
|
{
|
|
5848
6758
|
value: item.category.id,
|
|
@@ -5862,21 +6772,21 @@ function CategorySelect({
|
|
|
5862
6772
|
selected === null && value !== null ? (
|
|
5863
6773
|
// A stored id whose row this reader cannot see is not "nothing chosen":
|
|
5864
6774
|
// saying so beats a blank box that looks like an unsaved field.
|
|
5865
|
-
/* @__PURE__ */ (0,
|
|
6775
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("p", { className: "mt-1 text-xs text-muted-foreground", children: [
|
|
5866
6776
|
"This ",
|
|
5867
6777
|
noun,
|
|
5868
6778
|
" is no longer available to you."
|
|
5869
6779
|
] })
|
|
5870
6780
|
) : null,
|
|
5871
|
-
error ? /* @__PURE__ */ (0,
|
|
6781
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: "mt-1 text-xs text-destructive", children: error }) : null
|
|
5872
6782
|
] });
|
|
5873
6783
|
}
|
|
5874
6784
|
|
|
5875
6785
|
// src/react/components/CategoryTagPicker.tsx
|
|
5876
6786
|
var import_react24 = require("react");
|
|
5877
6787
|
var import_design_system13 = require("@ai-matrx/design-system");
|
|
5878
|
-
var
|
|
5879
|
-
var
|
|
6788
|
+
var import_icons21 = require("@ai-matrx/design-system/icons");
|
|
6789
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
5880
6790
|
var ROOT_PARENT2 = "__root__";
|
|
5881
6791
|
function CategoryTagPicker({
|
|
5882
6792
|
entityType,
|
|
@@ -6000,44 +6910,44 @@ function CategoryTagPicker({
|
|
|
6000
6910
|
const exactMatch = categories.some(
|
|
6001
6911
|
(c) => c.name.toLowerCase() === search.trim().toLowerCase()
|
|
6002
6912
|
);
|
|
6003
|
-
return /* @__PURE__ */ (0,
|
|
6004
|
-
selected.map((c) => /* @__PURE__ */ (0,
|
|
6913
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex flex-wrap items-center gap-1.5", children: [
|
|
6914
|
+
selected.map((c) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
6005
6915
|
import_design_system13.Badge,
|
|
6006
6916
|
{
|
|
6007
6917
|
variant: "secondary",
|
|
6008
6918
|
className: "gap-1 pr-1 text-xs font-medium",
|
|
6009
6919
|
children: [
|
|
6010
6920
|
showHierarchy ? hierarchyById.get(c.id)?.displayName ?? c.name : c.name,
|
|
6011
|
-
/* @__PURE__ */ (0,
|
|
6921
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
6012
6922
|
"button",
|
|
6013
6923
|
{
|
|
6014
6924
|
type: "button",
|
|
6015
6925
|
onClick: () => void toggle(c.id),
|
|
6016
6926
|
className: "ml-0.5 rounded-full p-0.5 hover:bg-muted-foreground/20",
|
|
6017
6927
|
"aria-label": `Remove ${c.name}`,
|
|
6018
|
-
children: /* @__PURE__ */ (0,
|
|
6928
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_icons21.XIcon, { className: "h-2.5 w-2.5" })
|
|
6019
6929
|
}
|
|
6020
6930
|
)
|
|
6021
6931
|
]
|
|
6022
6932
|
},
|
|
6023
6933
|
c.id
|
|
6024
6934
|
)),
|
|
6025
|
-
/* @__PURE__ */ (0,
|
|
6026
|
-
/* @__PURE__ */ (0,
|
|
6935
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_design_system13.Popover, { open, onOpenChange: setOpen, children: [
|
|
6936
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_design_system13.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
6027
6937
|
import_design_system13.Button,
|
|
6028
6938
|
{
|
|
6029
6939
|
variant: "outline",
|
|
6030
6940
|
size: "sm",
|
|
6031
6941
|
className: "h-7 gap-1 px-2 text-xs",
|
|
6032
6942
|
children: [
|
|
6033
|
-
/* @__PURE__ */ (0,
|
|
6943
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Icon, { className: "h-3.5 w-3.5" }),
|
|
6034
6944
|
selected.length === 0 ? addLabel : "Edit",
|
|
6035
|
-
/* @__PURE__ */ (0,
|
|
6945
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_design_system13.SelectChevron, { size: "sm" })
|
|
6036
6946
|
]
|
|
6037
6947
|
}
|
|
6038
6948
|
) }),
|
|
6039
|
-
/* @__PURE__ */ (0,
|
|
6040
|
-
/* @__PURE__ */ (0,
|
|
6949
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_design_system13.PopoverContent, { sizing: "content", className: "p-0", align: "start", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_design_system13.Command, { shouldFilter: false, children: [
|
|
6950
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
6041
6951
|
import_design_system13.CommandInput,
|
|
6042
6952
|
{
|
|
6043
6953
|
placeholder: allowCreate ? "Search or create..." : "Search...",
|
|
@@ -6045,9 +6955,9 @@ function CategoryTagPicker({
|
|
|
6045
6955
|
onValueChange: setSearch
|
|
6046
6956
|
}
|
|
6047
6957
|
),
|
|
6048
|
-
/* @__PURE__ */ (0,
|
|
6049
|
-
/* @__PURE__ */ (0,
|
|
6050
|
-
/* @__PURE__ */ (0,
|
|
6958
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_design_system13.CommandList, { children: [
|
|
6959
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_design_system13.CommandEmpty, { className: "px-2 py-3 text-xs text-muted-foreground", children: search.trim() ? "No match." : emptyText }),
|
|
6960
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_design_system13.CommandGroup, { children: showHierarchy ? filteredHierarchy.map(({ category, depth, parent }) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
6051
6961
|
import_design_system13.CommandItem,
|
|
6052
6962
|
{
|
|
6053
6963
|
value: category.id,
|
|
@@ -6055,8 +6965,8 @@ function CategoryTagPicker({
|
|
|
6055
6965
|
onSelect: () => void toggle(category.id),
|
|
6056
6966
|
className: (0, import_design_system13.cn)("text-xs", depth === 1 && "pl-6"),
|
|
6057
6967
|
children: [
|
|
6058
|
-
/* @__PURE__ */ (0,
|
|
6059
|
-
|
|
6968
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
6969
|
+
import_icons21.CheckIcon,
|
|
6060
6970
|
{
|
|
6061
6971
|
className: (0, import_design_system13.cn)(
|
|
6062
6972
|
"mr-2 h-3.5 w-3.5",
|
|
@@ -6064,20 +6974,20 @@ function CategoryTagPicker({
|
|
|
6064
6974
|
)
|
|
6065
6975
|
}
|
|
6066
6976
|
),
|
|
6067
|
-
depth === 1 ? /* @__PURE__ */ (0,
|
|
6068
|
-
/* @__PURE__ */ (0,
|
|
6977
|
+
depth === 1 ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CornerDownRightIcon, { className: "mr-1.5 h-3.5 w-3.5 shrink-0 text-muted-foreground" }) : null,
|
|
6978
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: (0, import_design_system13.cn)(depth === 0 && "font-medium"), children: category.name })
|
|
6069
6979
|
]
|
|
6070
6980
|
},
|
|
6071
6981
|
category.id
|
|
6072
|
-
)) : filtered.map((c) => /* @__PURE__ */ (0,
|
|
6982
|
+
)) : filtered.map((c) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
6073
6983
|
import_design_system13.CommandItem,
|
|
6074
6984
|
{
|
|
6075
6985
|
value: c.id,
|
|
6076
6986
|
onSelect: () => void toggle(c.id),
|
|
6077
6987
|
className: "text-xs",
|
|
6078
6988
|
children: [
|
|
6079
|
-
/* @__PURE__ */ (0,
|
|
6080
|
-
|
|
6989
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
6990
|
+
import_icons21.CheckIcon,
|
|
6081
6991
|
{
|
|
6082
6992
|
className: (0, import_design_system13.cn)(
|
|
6083
6993
|
"mr-2 h-3.5 w-3.5",
|
|
@@ -6090,25 +7000,25 @@ function CategoryTagPicker({
|
|
|
6090
7000
|
},
|
|
6091
7001
|
c.id
|
|
6092
7002
|
)) }),
|
|
6093
|
-
allowCreate && search.trim() && !exactMatch ? /* @__PURE__ */ (0,
|
|
6094
|
-
showHierarchy ? /* @__PURE__ */ (0,
|
|
6095
|
-
/* @__PURE__ */ (0,
|
|
6096
|
-
/* @__PURE__ */ (0,
|
|
7003
|
+
allowCreate && search.trim() && !exactMatch ? /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_design_system13.CommandGroup, { children: [
|
|
7004
|
+
showHierarchy ? /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "space-y-1.5 px-2 pb-2", children: [
|
|
7005
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "text-[11px] font-medium text-muted-foreground", children: "Place in" }),
|
|
7006
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
6097
7007
|
import_design_system13.Select,
|
|
6098
7008
|
{
|
|
6099
7009
|
value: createParentId,
|
|
6100
7010
|
onValueChange: setCreateParentId,
|
|
6101
7011
|
children: [
|
|
6102
|
-
/* @__PURE__ */ (0,
|
|
6103
|
-
/* @__PURE__ */ (0,
|
|
6104
|
-
/* @__PURE__ */ (0,
|
|
6105
|
-
hierarchy.roots.map((root) => /* @__PURE__ */ (0,
|
|
7012
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_design_system13.SelectTrigger, { size: "sm", className: "bg-background", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_design_system13.SelectValue, {}) }),
|
|
7013
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_design_system13.SelectContent, { children: [
|
|
7014
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_design_system13.SelectItem, { value: ROOT_PARENT2, children: "Top level" }),
|
|
7015
|
+
hierarchy.roots.map((root) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_design_system13.SelectItem, { value: root.id, children: root.name }, root.id))
|
|
6106
7016
|
] })
|
|
6107
7017
|
]
|
|
6108
7018
|
}
|
|
6109
7019
|
)
|
|
6110
7020
|
] }) : null,
|
|
6111
|
-
/* @__PURE__ */ (0,
|
|
7021
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
6112
7022
|
import_design_system13.CommandItem,
|
|
6113
7023
|
{
|
|
6114
7024
|
value: `__create__${search}`,
|
|
@@ -6116,7 +7026,7 @@ function CategoryTagPicker({
|
|
|
6116
7026
|
disabled: creating,
|
|
6117
7027
|
className: "text-xs text-primary",
|
|
6118
7028
|
children: [
|
|
6119
|
-
creating ? /* @__PURE__ */ (0,
|
|
7029
|
+
creating ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(SpinnerIcon, { className: "mr-2 h-3.5 w-3.5 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Icon, { className: "mr-2 h-3.5 w-3.5" }),
|
|
6120
7030
|
"Create \u201C",
|
|
6121
7031
|
search.trim(),
|
|
6122
7032
|
"\u201D"
|
|
@@ -6143,20 +7053,20 @@ function partKeyOf(comment) {
|
|
|
6143
7053
|
// src/react/components/CommentBody.tsx
|
|
6144
7054
|
var import_react25 = require("react");
|
|
6145
7055
|
var import_design_system14 = require("@ai-matrx/design-system");
|
|
6146
|
-
var
|
|
7056
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
6147
7057
|
var INLINE = /(\*\*[^*\n]+\*\*|`[^`\n]+`|\*[^*\n]+\*)/g;
|
|
6148
7058
|
function renderInline(text) {
|
|
6149
7059
|
return text.split(INLINE).map((part, i) => {
|
|
6150
7060
|
if (part.length > 4 && part.startsWith("**") && part.endsWith("**")) {
|
|
6151
|
-
return /* @__PURE__ */ (0,
|
|
7061
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("strong", { children: part.slice(2, -2) }, i);
|
|
6152
7062
|
}
|
|
6153
7063
|
if (part.length > 2 && part.startsWith("`") && part.endsWith("`")) {
|
|
6154
|
-
return /* @__PURE__ */ (0,
|
|
7064
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("code", { className: "rounded bg-muted px-1 text-[0.9em]", children: part.slice(1, -1) }, i);
|
|
6155
7065
|
}
|
|
6156
7066
|
if (part.length > 2 && part.startsWith("*") && part.endsWith("*")) {
|
|
6157
|
-
return /* @__PURE__ */ (0,
|
|
7067
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("em", { children: part.slice(1, -1) }, i);
|
|
6158
7068
|
}
|
|
6159
|
-
return /* @__PURE__ */ (0,
|
|
7069
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react25.Fragment, { children: part }, i);
|
|
6160
7070
|
});
|
|
6161
7071
|
}
|
|
6162
7072
|
var BULLET = /^\s*[-*]\s+(.*)$/;
|
|
@@ -6167,14 +7077,14 @@ function renderBlocks(lines, keyPrefix) {
|
|
|
6167
7077
|
const flushBullets = () => {
|
|
6168
7078
|
if (!bullets.length) return;
|
|
6169
7079
|
out.push(
|
|
6170
|
-
/* @__PURE__ */ (0,
|
|
7080
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("ul", { className: "list-disc pl-5", children: bullets.map((b, i) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("li", { children: renderInline(b) }, i)) }, `${keyPrefix}-u${out.length}`)
|
|
6171
7081
|
);
|
|
6172
7082
|
bullets = [];
|
|
6173
7083
|
};
|
|
6174
7084
|
const flushPara = () => {
|
|
6175
7085
|
if (!para.length) return;
|
|
6176
7086
|
out.push(
|
|
6177
|
-
/* @__PURE__ */ (0,
|
|
7087
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "whitespace-pre-wrap", children: renderInline(para.join("\n")) }, `${keyPrefix}-p${out.length}`)
|
|
6178
7088
|
);
|
|
6179
7089
|
para = [];
|
|
6180
7090
|
};
|
|
@@ -6208,20 +7118,20 @@ function renderCommentMarkdown(body) {
|
|
|
6208
7118
|
}
|
|
6209
7119
|
return runs.map((run, i) => {
|
|
6210
7120
|
const blocks = renderBlocks(run.lines, `r${i}`);
|
|
6211
|
-
return run.quoted ? /* @__PURE__ */ (0,
|
|
7121
|
+
return run.quoted ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
6212
7122
|
"blockquote",
|
|
6213
7123
|
{
|
|
6214
7124
|
className: "border-l-2 border-border pl-2 text-muted-foreground",
|
|
6215
7125
|
children: blocks
|
|
6216
7126
|
},
|
|
6217
7127
|
i
|
|
6218
|
-
) : /* @__PURE__ */ (0,
|
|
7128
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react25.Fragment, { children: blocks }, i);
|
|
6219
7129
|
});
|
|
6220
7130
|
}
|
|
6221
7131
|
function CommentBody({ body, className }) {
|
|
6222
7132
|
const { commentBody: HostBody } = useAssociationsUiPorts();
|
|
6223
|
-
if (HostBody) return /* @__PURE__ */ (0,
|
|
6224
|
-
return /* @__PURE__ */ (0,
|
|
7133
|
+
if (HostBody) return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(HostBody, { body, className });
|
|
7134
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
6225
7135
|
"div",
|
|
6226
7136
|
{
|
|
6227
7137
|
"data-comment-body": true,
|
|
@@ -6233,7 +7143,7 @@ function CommentBody({ body, className }) {
|
|
|
6233
7143
|
|
|
6234
7144
|
// src/react/components/CommentThread.tsx
|
|
6235
7145
|
var import_format = require("@ai-matrx/kit/format");
|
|
6236
|
-
var
|
|
7146
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
6237
7147
|
var AUTHOR_DOOR_TOKEN = "user";
|
|
6238
7148
|
var SYSTEM_AUTHOR_NAME = "AI Matrx";
|
|
6239
7149
|
function resolveAuthor(comment, authorDisplay) {
|
|
@@ -6248,24 +7158,24 @@ function resolveAuthor(comment, authorDisplay) {
|
|
|
6248
7158
|
isAgent: true
|
|
6249
7159
|
};
|
|
6250
7160
|
}
|
|
6251
|
-
const
|
|
7161
|
+
const base = {
|
|
6252
7162
|
userId: comment.createdBy,
|
|
6253
7163
|
email: comment.author.email,
|
|
6254
7164
|
displayName: comment.author.displayName,
|
|
6255
7165
|
avatarUrl: comment.author.avatarUrl
|
|
6256
7166
|
};
|
|
6257
|
-
const enriched = authorDisplay ? authorDisplay(
|
|
6258
|
-
const name = enriched?.displayName ??
|
|
7167
|
+
const enriched = authorDisplay ? authorDisplay(base) : null;
|
|
7168
|
+
const name = enriched?.displayName ?? base.displayName ?? base.email ?? "Unknown user";
|
|
6259
7169
|
return {
|
|
6260
7170
|
name,
|
|
6261
|
-
avatarUrl: enriched?.avatarUrl !== void 0 && enriched?.avatarUrl !== null ? enriched.avatarUrl :
|
|
7171
|
+
avatarUrl: enriched?.avatarUrl !== void 0 && enriched?.avatarUrl !== null ? enriched.avatarUrl : base.avatarUrl,
|
|
6262
7172
|
userId: comment.createdBy,
|
|
6263
7173
|
isAgent: false
|
|
6264
7174
|
};
|
|
6265
7175
|
}
|
|
6266
7176
|
function AuthorAvatar({ author }) {
|
|
6267
7177
|
if (author.avatarUrl) {
|
|
6268
|
-
return /* @__PURE__ */ (0,
|
|
7178
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6269
7179
|
"img",
|
|
6270
7180
|
{
|
|
6271
7181
|
src: author.avatarUrl,
|
|
@@ -6274,7 +7184,7 @@ function AuthorAvatar({ author }) {
|
|
|
6274
7184
|
}
|
|
6275
7185
|
);
|
|
6276
7186
|
}
|
|
6277
|
-
return /* @__PURE__ */ (0,
|
|
7187
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6278
7188
|
"span",
|
|
6279
7189
|
{
|
|
6280
7190
|
"aria-hidden": true,
|
|
@@ -6289,7 +7199,7 @@ function AuthorName({
|
|
|
6289
7199
|
}) {
|
|
6290
7200
|
const DoorRef2 = entityDoors?.EntityRef;
|
|
6291
7201
|
if (DoorRef2 && author.userId) {
|
|
6292
|
-
return /* @__PURE__ */ (0,
|
|
7202
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6293
7203
|
DoorRef2,
|
|
6294
7204
|
{
|
|
6295
7205
|
token: AUTHOR_DOOR_TOKEN,
|
|
@@ -6300,7 +7210,7 @@ function AuthorName({
|
|
|
6300
7210
|
}
|
|
6301
7211
|
);
|
|
6302
7212
|
}
|
|
6303
|
-
return /* @__PURE__ */ (0,
|
|
7213
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "text-sm font-medium text-foreground", children: author.name });
|
|
6304
7214
|
}
|
|
6305
7215
|
function CommentComposer({
|
|
6306
7216
|
onSubmit,
|
|
@@ -6331,8 +7241,8 @@ function CommentComposer({
|
|
|
6331
7241
|
}
|
|
6332
7242
|
setBody("");
|
|
6333
7243
|
}
|
|
6334
|
-
return /* @__PURE__ */ (0,
|
|
6335
|
-
/* @__PURE__ */ (0,
|
|
7244
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("form", { onSubmit: submit, className: "flex flex-col gap-1.5", children: [
|
|
7245
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6336
7246
|
"textarea",
|
|
6337
7247
|
{
|
|
6338
7248
|
value: body,
|
|
@@ -6347,7 +7257,7 @@ function CommentComposer({
|
|
|
6347
7257
|
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"
|
|
6348
7258
|
}
|
|
6349
7259
|
),
|
|
6350
|
-
error && /* @__PURE__ */ (0,
|
|
7260
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6351
7261
|
import_design_system15.ErrorBox,
|
|
6352
7262
|
{
|
|
6353
7263
|
className: "text-xs text-destructive",
|
|
@@ -6357,10 +7267,10 @@ function CommentComposer({
|
|
|
6357
7267
|
origin: "associations/CommentThread"
|
|
6358
7268
|
}
|
|
6359
7269
|
),
|
|
6360
|
-
error && signIn && isSignedOutMessage(error) && /* @__PURE__ */ (0,
|
|
6361
|
-
/* @__PURE__ */ (0,
|
|
6362
|
-
/* @__PURE__ */ (0,
|
|
6363
|
-
submitting && /* @__PURE__ */ (0,
|
|
7270
|
+
error && signIn && isSignedOutMessage(error) && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(SignInAgain, { onClick: signIn }),
|
|
7271
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
7272
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_design_system15.Button, { type: "submit", size: "sm", disabled: !body.trim() || submitting, children: [
|
|
7273
|
+
submitting && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(SpinnerIcon, { className: "mr-1 h-3 w-3 animate-spin" }),
|
|
6364
7274
|
submitLabel
|
|
6365
7275
|
] }),
|
|
6366
7276
|
trailing
|
|
@@ -6402,7 +7312,7 @@ function CommentItem({
|
|
|
6402
7312
|
notifier.error(res.error ?? "Could not delete the comment");
|
|
6403
7313
|
}
|
|
6404
7314
|
}
|
|
6405
|
-
return /* @__PURE__ */ (0,
|
|
7315
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
6406
7316
|
"div",
|
|
6407
7317
|
{
|
|
6408
7318
|
"data-comment-id": comment.id,
|
|
@@ -6411,15 +7321,15 @@ function CommentItem({
|
|
|
6411
7321
|
depth > 0 && "border-l border-border pl-3"
|
|
6412
7322
|
),
|
|
6413
7323
|
children: [
|
|
6414
|
-
/* @__PURE__ */ (0,
|
|
6415
|
-
/* @__PURE__ */ (0,
|
|
6416
|
-
/* @__PURE__ */ (0,
|
|
6417
|
-
author.isAgent && /* @__PURE__ */ (0,
|
|
6418
|
-
showPart && partLabel && /* @__PURE__ */ (0,
|
|
7324
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
7325
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AuthorAvatar, { author }),
|
|
7326
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AuthorName, { author, entityDoors }),
|
|
7327
|
+
author.isAgent && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "rounded bg-muted px-1 py-0.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground", children: "Agent" }),
|
|
7328
|
+
showPart && partLabel && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("span", { className: "truncate text-xs text-muted-foreground", title: partLabel, children: [
|
|
6419
7329
|
"on ",
|
|
6420
7330
|
partLabel
|
|
6421
7331
|
] }),
|
|
6422
|
-
/* @__PURE__ */ (0,
|
|
7332
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6423
7333
|
"span",
|
|
6424
7334
|
{
|
|
6425
7335
|
className: "text-xs text-muted-foreground",
|
|
@@ -6430,7 +7340,7 @@ function CommentItem({
|
|
|
6430
7340
|
})
|
|
6431
7341
|
}
|
|
6432
7342
|
),
|
|
6433
|
-
edited && /* @__PURE__ */ (0,
|
|
7343
|
+
edited && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6434
7344
|
"span",
|
|
6435
7345
|
{
|
|
6436
7346
|
className: "text-xs text-muted-foreground",
|
|
@@ -6439,7 +7349,7 @@ function CommentItem({
|
|
|
6439
7349
|
}
|
|
6440
7350
|
)
|
|
6441
7351
|
] }),
|
|
6442
|
-
editing ? /* @__PURE__ */ (0,
|
|
7352
|
+
editing ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "pl-8", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6443
7353
|
CommentComposer,
|
|
6444
7354
|
{
|
|
6445
7355
|
initialValue: comment.body,
|
|
@@ -6451,7 +7361,7 @@ function CommentItem({
|
|
|
6451
7361
|
if (res.ok) setEditing(false);
|
|
6452
7362
|
return res;
|
|
6453
7363
|
},
|
|
6454
|
-
trailing: /* @__PURE__ */ (0,
|
|
7364
|
+
trailing: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6455
7365
|
import_design_system15.Button,
|
|
6456
7366
|
{
|
|
6457
7367
|
type: "button",
|
|
@@ -6462,10 +7372,10 @@ function CommentItem({
|
|
|
6462
7372
|
}
|
|
6463
7373
|
)
|
|
6464
7374
|
}
|
|
6465
|
-
) }) : /* @__PURE__ */ (0,
|
|
6466
|
-
!editing && /* @__PURE__ */ (0,
|
|
6467
|
-
/* @__PURE__ */ (0,
|
|
6468
|
-
/* @__PURE__ */ (0,
|
|
7375
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(CommentBody, { body: comment.body, className: "pl-8" }),
|
|
7376
|
+
!editing && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "flex items-center gap-1 pl-7", children: confirmingDelete ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
|
|
7377
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "text-xs text-destructive", children: "Deletes this comment for everyone." }),
|
|
7378
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
6469
7379
|
import_design_system15.Button,
|
|
6470
7380
|
{
|
|
6471
7381
|
type: "button",
|
|
@@ -6474,12 +7384,12 @@ function CommentItem({
|
|
|
6474
7384
|
disabled: deleting,
|
|
6475
7385
|
onClick: () => void confirmDelete(),
|
|
6476
7386
|
children: [
|
|
6477
|
-
deleting && /* @__PURE__ */ (0,
|
|
7387
|
+
deleting && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(SpinnerIcon, { className: "mr-1 h-3 w-3 animate-spin" }),
|
|
6478
7388
|
"Delete"
|
|
6479
7389
|
]
|
|
6480
7390
|
}
|
|
6481
7391
|
),
|
|
6482
|
-
/* @__PURE__ */ (0,
|
|
7392
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6483
7393
|
import_design_system15.Button,
|
|
6484
7394
|
{
|
|
6485
7395
|
type: "button",
|
|
@@ -6490,8 +7400,8 @@ function CommentItem({
|
|
|
6490
7400
|
children: "Cancel"
|
|
6491
7401
|
}
|
|
6492
7402
|
)
|
|
6493
|
-
] }) : /* @__PURE__ */ (0,
|
|
6494
|
-
/* @__PURE__ */ (0,
|
|
7403
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
|
|
7404
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6495
7405
|
"button",
|
|
6496
7406
|
{
|
|
6497
7407
|
type: "button",
|
|
@@ -6500,8 +7410,8 @@ function CommentItem({
|
|
|
6500
7410
|
children: "Reply"
|
|
6501
7411
|
}
|
|
6502
7412
|
),
|
|
6503
|
-
isOwn && /* @__PURE__ */ (0,
|
|
6504
|
-
canEdit && /* @__PURE__ */ (0,
|
|
7413
|
+
isOwn && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
|
|
7414
|
+
canEdit && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6505
7415
|
"button",
|
|
6506
7416
|
{
|
|
6507
7417
|
type: "button",
|
|
@@ -6510,7 +7420,7 @@ function CommentItem({
|
|
|
6510
7420
|
children: "Edit"
|
|
6511
7421
|
}
|
|
6512
7422
|
),
|
|
6513
|
-
/* @__PURE__ */ (0,
|
|
7423
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6514
7424
|
"button",
|
|
6515
7425
|
{
|
|
6516
7426
|
type: "button",
|
|
@@ -6521,9 +7431,9 @@ function CommentItem({
|
|
|
6521
7431
|
)
|
|
6522
7432
|
] })
|
|
6523
7433
|
] }) }),
|
|
6524
|
-
replying && /* @__PURE__ */ (0,
|
|
6525
|
-
/* @__PURE__ */ (0,
|
|
6526
|
-
/* @__PURE__ */ (0,
|
|
7434
|
+
replying && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex items-start gap-2 pl-8 pt-1", children: [
|
|
7435
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(CornerDownRightIcon, { className: "mt-2 h-3.5 w-3.5 shrink-0 text-muted-foreground" }),
|
|
7436
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6527
7437
|
CommentComposer,
|
|
6528
7438
|
{
|
|
6529
7439
|
submitLabel: "Reply",
|
|
@@ -6540,7 +7450,7 @@ function CommentItem({
|
|
|
6540
7450
|
}
|
|
6541
7451
|
return res;
|
|
6542
7452
|
},
|
|
6543
|
-
trailing: /* @__PURE__ */ (0,
|
|
7453
|
+
trailing: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6544
7454
|
import_design_system15.Button,
|
|
6545
7455
|
{
|
|
6546
7456
|
type: "button",
|
|
@@ -6553,7 +7463,7 @@ function CommentItem({
|
|
|
6553
7463
|
}
|
|
6554
7464
|
) })
|
|
6555
7465
|
] }),
|
|
6556
|
-
replies.length > 0 && /* @__PURE__ */ (0,
|
|
7466
|
+
replies.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "flex flex-col gap-3 pl-8 pt-1", children: replies.map((reply) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6557
7467
|
CommentItem,
|
|
6558
7468
|
{
|
|
6559
7469
|
comment: reply,
|
|
@@ -6609,11 +7519,11 @@ function CommentThread({
|
|
|
6609
7519
|
const roots = part ? tree.roots.filter((c) => partKeyOf(c) === part.key) : tree.roots;
|
|
6610
7520
|
const shownCount = part ? countThread(roots, childrenOf) : thread.comments.length;
|
|
6611
7521
|
const loading = (thread.status === "loading" || thread.status === "idle") && thread.comments.length === 0;
|
|
6612
|
-
return /* @__PURE__ */ (0,
|
|
6613
|
-
showHeader && /* @__PURE__ */ (0,
|
|
6614
|
-
/* @__PURE__ */ (0,
|
|
6615
|
-
/* @__PURE__ */ (0,
|
|
6616
|
-
/* @__PURE__ */ (0,
|
|
7522
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("section", { className: (0, import_design_system15.cn)("flex flex-col gap-3", className), children: [
|
|
7523
|
+
showHeader && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("header", { className: "flex items-center gap-2", children: [
|
|
7524
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: "Comments" }),
|
|
7525
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "text-xs text-muted-foreground tabular-nums", children: shownCount }),
|
|
7526
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6617
7527
|
"button",
|
|
6618
7528
|
{
|
|
6619
7529
|
type: "button",
|
|
@@ -6621,11 +7531,11 @@ function CommentThread({
|
|
|
6621
7531
|
"aria-label": "Refresh comments",
|
|
6622
7532
|
title: "Refresh comments",
|
|
6623
7533
|
className: "ml-auto flex h-6 w-6 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
|
|
6624
|
-
children: thread.status === "loading" ? /* @__PURE__ */ (0,
|
|
7534
|
+
children: thread.status === "loading" ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(SpinnerIcon, { className: "h-3.5 w-3.5 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(RefreshIcon, { className: "h-3.5 w-3.5" })
|
|
6625
7535
|
}
|
|
6626
7536
|
)
|
|
6627
7537
|
] }),
|
|
6628
|
-
thread.error && /* @__PURE__ */ (0,
|
|
7538
|
+
thread.error && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
6629
7539
|
import_design_system15.ErrorBox,
|
|
6630
7540
|
{
|
|
6631
7541
|
as: "div",
|
|
@@ -6634,9 +7544,9 @@ function CommentThread({
|
|
|
6634
7544
|
operation: "Load comments",
|
|
6635
7545
|
origin: "associations/CommentThread",
|
|
6636
7546
|
children: [
|
|
6637
|
-
/* @__PURE__ */ (0,
|
|
6638
|
-
signInPort && isSignedOutMessage(thread.error) && /* @__PURE__ */ (0,
|
|
6639
|
-
/* @__PURE__ */ (0,
|
|
7547
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "min-w-0 flex-1", children: thread.error }),
|
|
7548
|
+
signInPort && isSignedOutMessage(thread.error) && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(SignInAgain, { onClick: signInPort }),
|
|
7549
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6640
7550
|
import_design_system15.Button,
|
|
6641
7551
|
{
|
|
6642
7552
|
type: "button",
|
|
@@ -6650,10 +7560,10 @@ function CommentThread({
|
|
|
6650
7560
|
]
|
|
6651
7561
|
}
|
|
6652
7562
|
),
|
|
6653
|
-
loading ? /* @__PURE__ */ (0,
|
|
6654
|
-
/* @__PURE__ */ (0,
|
|
6655
|
-
/* @__PURE__ */ (0,
|
|
6656
|
-
] }) : roots.length === 0 && !thread.error ? /* @__PURE__ */ (0,
|
|
7563
|
+
loading ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex flex-col gap-3", "aria-hidden": true, "data-testid": "comments-loading", children: [
|
|
7564
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_design_system15.Skeleton, { className: "h-12 w-full" }),
|
|
7565
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_design_system15.Skeleton, { className: "h-12 w-4/5" })
|
|
7566
|
+
] }) : roots.length === 0 && !thread.error ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "text-sm text-muted-foreground", children: "No comments yet." }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "flex flex-col gap-4", children: roots.map((comment) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6657
7567
|
CommentItem,
|
|
6658
7568
|
{
|
|
6659
7569
|
comment,
|
|
@@ -6666,7 +7576,7 @@ function CommentThread({
|
|
|
6666
7576
|
},
|
|
6667
7577
|
comment.id
|
|
6668
7578
|
)) }),
|
|
6669
|
-
/* @__PURE__ */ (0,
|
|
7579
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
6670
7580
|
CommentComposer,
|
|
6671
7581
|
{
|
|
6672
7582
|
onSubmit: async (body) => {
|
|
@@ -6680,6 +7590,6 @@ function CommentThread({
|
|
|
6680
7590
|
] });
|
|
6681
7591
|
}
|
|
6682
7592
|
function SignInAgain({ onClick }) {
|
|
6683
|
-
return /* @__PURE__ */ (0,
|
|
7593
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_design_system15.Button, { type: "button", size: "sm", variant: "outline", onClick, children: "Sign in" });
|
|
6684
7594
|
}
|
|
6685
7595
|
//# sourceMappingURL=index.cjs.map
|