@sparkelf/dsh-dataops-managed 0.3.27 → 0.3.29

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/lib/client.js CHANGED
@@ -747,22 +747,22 @@ window.__ModuleLoader__.load({
747
747
  document.head.appendChild(tag);
748
748
  }
749
749
  var ManagedDataOpsSection_module_css_default = {
750
+ "section": "_2dqzjG_section",
751
+ "status": "_2dqzjG_status",
752
+ "actions": "_2dqzjG_actions",
753
+ "refusal": "_2dqzjG_refusal",
754
+ "reviewActions": "_2dqzjG_reviewActions",
750
755
  "heading": "_2dqzjG_heading",
751
- "row": "_2dqzjG_row",
756
+ "reviewRows": "_2dqzjG_reviewRows",
757
+ "reviewRow": "_2dqzjG_reviewRow",
758
+ "copy": "_2dqzjG_copy",
759
+ "meta": "_2dqzjG_meta",
752
760
  "title": "_2dqzjG_title",
761
+ "reviewHint": "_2dqzjG_reviewHint",
753
762
  "label": "_2dqzjG_label",
754
763
  "card": "_2dqzjG_card",
755
- "refusal": "_2dqzjG_refusal",
756
- "reviewRow": "_2dqzjG_reviewRow",
757
764
  "fields": "_2dqzjG_fields",
758
- "reviewRows": "_2dqzjG_reviewRows",
759
- "reviewActions": "_2dqzjG_reviewActions",
760
- "meta": "_2dqzjG_meta",
761
- "section": "_2dqzjG_section",
762
- "copy": "_2dqzjG_copy",
763
- "reviewHint": "_2dqzjG_reviewHint",
764
- "actions": "_2dqzjG_actions",
765
- "status": "_2dqzjG_status"
765
+ "row": "_2dqzjG_row"
766
766
  };
767
767
  //#endregion
768
768
  //#region src/client/ReviewSettingsCard.tsx
@@ -1617,24 +1617,24 @@ window.__ModuleLoader__.load({
1617
1617
  document.head.appendChild(tag);
1618
1618
  }
1619
1619
  var NotificationBell_module_css_default = {
1620
- "button": "tE0trG_button",
1621
- "list": "tE0trG_list",
1622
1620
  "row": "tE0trG_row",
1623
- "badge": "tE0trG_badge",
1624
- "bell": "tE0trG_bell",
1625
- "rowTime": "tE0trG_rowTime",
1626
- "linkButton": "tE0trG_linkButton",
1621
+ "list": "tE0trG_list",
1622
+ "actions": "tE0trG_actions",
1627
1623
  "rowBody": "tE0trG_rowBody",
1624
+ "dot": "tE0trG_dot",
1625
+ "rowIcon": "tE0trG_rowIcon",
1628
1626
  "rowText": "tE0trG_rowText",
1627
+ "demo": "tE0trG_demo",
1629
1628
  "rowTitle": "tE0trG_rowTitle",
1630
- "rowMeta": "tE0trG_rowMeta",
1631
- "actions": "tE0trG_actions",
1632
- "empty": "tE0trG_empty",
1633
- "rowIcon": "tE0trG_rowIcon",
1634
1629
  "pager": "tE0trG_pager",
1635
- "dot": "tE0trG_dot",
1630
+ "empty": "tE0trG_empty",
1631
+ "button": "tE0trG_button",
1632
+ "rowMeta": "tE0trG_rowMeta",
1633
+ "rowTime": "tE0trG_rowTime",
1634
+ "badge": "tE0trG_badge",
1635
+ "bell": "tE0trG_bell",
1636
1636
  "dialog": "tE0trG_dialog",
1637
- "demo": "tE0trG_demo"
1637
+ "linkButton": "tE0trG_linkButton"
1638
1638
  };
1639
1639
  //#endregion
1640
1640
  //#region src/client/NotificationBell.tsx
@@ -1925,62 +1925,62 @@ window.__ModuleLoader__.load({
1925
1925
  document.head.appendChild(tag);
1926
1926
  }
1927
1927
  var SkillPlazaSection_module_css_default = {
1928
- "demoTag": "_9FdZvq_demoTag",
1929
- "mine": "_9FdZvq_mine",
1930
- "notice": "_9FdZvq_notice",
1931
- "title": "_9FdZvq_title",
1932
- "status": "_9FdZvq_status",
1933
- "headRow": "_9FdZvq_headRow",
1934
- "findingHint": "_9FdZvq_findingHint",
1928
+ "titleCount": "_9FdZvq_titleCount",
1935
1929
  "head": "_9FdZvq_head",
1936
- "dialog": "_9FdZvq_dialog",
1937
- "emptyText": "_9FdZvq_emptyText",
1938
- "detailButton": "_9FdZvq_detailButton",
1939
- "sharedTag": "_9FdZvq_sharedTag",
1940
- "section": "_9FdZvq_section",
1941
- "riskHead": "_9FdZvq_riskHead",
1942
- "detail": "_9FdZvq_detail",
1943
- "audit": "_9FdZvq_audit",
1944
- "reviewButton": "_9FdZvq_reviewButton",
1945
- "cardMarks": "_9FdZvq_cardMarks",
1946
- "detailValue": "_9FdZvq_detailValue",
1947
- "tabCount": "_9FdZvq_tabCount",
1948
1930
  "noteField": "_9FdZvq_noteField",
1949
- "riskFailed": "_9FdZvq_riskFailed",
1950
- "riskEmpty": "_9FdZvq_riskEmpty",
1951
- "cardIcon": "_9FdZvq_cardIcon",
1952
- "departmentSelect": "_9FdZvq_departmentSelect",
1953
- "risk": "_9FdZvq_risk",
1954
- "cards": "_9FdZvq_cards",
1955
- "riskSummary": "_9FdZvq_riskSummary",
1956
- "empty": "_9FdZvq_empty",
1931
+ "tabCount": "_9FdZvq_tabCount",
1932
+ "detailValue": "_9FdZvq_detailValue",
1933
+ "detail": "_9FdZvq_detail",
1934
+ "emptyText": "_9FdZvq_emptyText",
1935
+ "card": "_9FdZvq_card",
1957
1936
  "tabActive": "_9FdZvq_tabActive",
1958
- "cardTop": "_9FdZvq_cardTop",
1959
- "departmentBar": "_9FdZvq_departmentBar",
1960
- "tagTop": "_9FdZvq_tagTop",
1961
- "pendingTag": "_9FdZvq_pendingTag",
1962
- "auditDialog": "_9FdZvq_auditDialog",
1937
+ "reviewNote": "_9FdZvq_reviewNote",
1963
1938
  "auditFooter": "_9FdZvq_auditFooter",
1939
+ "riskSummary": "_9FdZvq_riskSummary",
1964
1940
  "tabs": "_9FdZvq_tabs",
1965
- "reviewNote": "_9FdZvq_reviewNote",
1966
- "severity": "_9FdZvq_severity",
1941
+ "title": "_9FdZvq_title",
1942
+ "cards": "_9FdZvq_cards",
1967
1943
  "cardDesc": "_9FdZvq_cardDesc",
1968
- "tab": "_9FdZvq_tab",
1944
+ "tagTop": "_9FdZvq_tagTop",
1945
+ "pendingTag": "_9FdZvq_pendingTag",
1946
+ "section": "_9FdZvq_section",
1947
+ "cardMarks": "_9FdZvq_cardMarks",
1948
+ "departmentSelect": "_9FdZvq_departmentSelect",
1949
+ "cardTitle": "_9FdZvq_cardTitle",
1950
+ "detailRow": "_9FdZvq_detailRow",
1951
+ "departmentBar": "_9FdZvq_departmentBar",
1952
+ "notice": "_9FdZvq_notice",
1953
+ "reviewError": "_9FdZvq_reviewError",
1954
+ "dialog": "_9FdZvq_dialog",
1955
+ "finding": "_9FdZvq_finding",
1956
+ "findingText": "_9FdZvq_findingText",
1957
+ "findingHint": "_9FdZvq_findingHint",
1958
+ "emptyIcon": "_9FdZvq_emptyIcon",
1959
+ "detailButton": "_9FdZvq_detailButton",
1960
+ "cardTop": "_9FdZvq_cardTop",
1961
+ "departmentLabel": "_9FdZvq_departmentLabel",
1962
+ "empty": "_9FdZvq_empty",
1963
+ "sharedTag": "_9FdZvq_sharedTag",
1969
1964
  "rejectedTag": "_9FdZvq_rejectedTag",
1965
+ "reviewButton": "_9FdZvq_reviewButton",
1966
+ "risk": "_9FdZvq_risk",
1967
+ "status": "_9FdZvq_status",
1968
+ "tab": "_9FdZvq_tab",
1969
+ "riskHead": "_9FdZvq_riskHead",
1970
+ "severity": "_9FdZvq_severity",
1971
+ "cardIcon": "_9FdZvq_cardIcon",
1972
+ "demoTag": "_9FdZvq_demoTag",
1970
1973
  "mark": "_9FdZvq_mark",
1974
+ "auditDialog": "_9FdZvq_auditDialog",
1971
1975
  "cardEnd": "_9FdZvq_cardEnd",
1972
- "findingText": "_9FdZvq_findingText",
1973
- "titleCount": "_9FdZvq_titleCount",
1974
- "departmentLabel": "_9FdZvq_departmentLabel",
1975
- "emptyIcon": "_9FdZvq_emptyIcon",
1976
+ "mine": "_9FdZvq_mine",
1977
+ "audit": "_9FdZvq_audit",
1976
1978
  "detailLabel": "_9FdZvq_detailLabel",
1977
- "cardTitle": "_9FdZvq_cardTitle",
1979
+ "headRow": "_9FdZvq_headRow",
1980
+ "riskEmpty": "_9FdZvq_riskEmpty",
1981
+ "riskFailed": "_9FdZvq_riskFailed",
1978
1982
  "findings": "_9FdZvq_findings",
1979
- "reviewError": "_9FdZvq_reviewError",
1980
- "riskScore": "_9FdZvq_riskScore",
1981
- "card": "_9FdZvq_card",
1982
- "finding": "_9FdZvq_finding",
1983
- "detailRow": "_9FdZvq_detailRow"
1983
+ "riskScore": "_9FdZvq_riskScore"
1984
1984
  };
1985
1985
  //#endregion
1986
1986
  //#region src/client/SkillPlazaSection.tsx
@@ -2645,19 +2645,19 @@ window.__ModuleLoader__.load({
2645
2645
  document.head.appendChild(tag);
2646
2646
  }
2647
2647
  var WanxiangBrand_module_css_default = {
2648
- "unitTop": "s0HPxG_unitTop",
2649
- "unit-top": "s0HPxG_unit-top",
2650
- "unit-right": "s0HPxG_unit-right",
2651
- "unit-core": "s0HPxG_unit-core",
2652
2648
  "unitLeft": "s0HPxG_unitLeft",
2653
- "wordmark": "s0HPxG_wordmark",
2654
- "harness": "s0HPxG_harness",
2655
2649
  "mark": "s0HPxG_mark",
2656
- "unitCore": "s0HPxG_unitCore",
2657
2650
  "sidebarName": "s0HPxG_sidebarName",
2658
2651
  "unitRight": "s0HPxG_unitRight",
2652
+ "unitCore": "s0HPxG_unitCore",
2653
+ "wordmark": "s0HPxG_wordmark",
2654
+ "harness": "s0HPxG_harness",
2655
+ "unit-right": "s0HPxG_unit-right",
2659
2656
  "unit-left": "s0HPxG_unit-left",
2660
- "animatedMark": "s0HPxG_animatedMark"
2657
+ "unit-top": "s0HPxG_unit-top",
2658
+ "animatedMark": "s0HPxG_animatedMark",
2659
+ "unit-core": "s0HPxG_unit-core",
2660
+ "unitTop": "s0HPxG_unitTop"
2661
2661
  };
2662
2662
  //#endregion
2663
2663
  //#region src/client/WanxiangBrand.tsx
@@ -3074,72 +3074,72 @@ window.__ModuleLoader__.load({
3074
3074
  document.head.appendChild(tag);
3075
3075
  }
3076
3076
  var PermissionCenterSection_module_css_default = {
3077
- "treeToggle": "PNbOqW_treeToggle",
3078
- "copied": "PNbOqW_copied",
3079
- "detailGrid": "PNbOqW_detailGrid",
3080
- "dialogHint": "PNbOqW_dialogHint",
3081
- "error": "PNbOqW_error",
3082
- "matrixGroup": "PNbOqW_matrixGroup",
3083
- "comboboxOption": "PNbOqW_comboboxOption",
3077
+ "pager": "PNbOqW_pager",
3078
+ "dialogFooter": "PNbOqW_dialogFooter",
3079
+ "subtitle": "PNbOqW_subtitle",
3080
+ "comboboxHint": "PNbOqW_comboboxHint",
3081
+ "treeSpacer": "PNbOqW_treeSpacer",
3082
+ "field": "PNbOqW_field",
3084
3083
  "title": "PNbOqW_title",
3085
- "notice": "PNbOqW_notice",
3086
- "scopeBadge": "PNbOqW_scopeBadge",
3087
- "comboboxTrigger": "PNbOqW_comboboxTrigger",
3088
- "treeRoot": "PNbOqW_treeRoot",
3089
- "permission": "PNbOqW_permission",
3090
- "matrixModule": "PNbOqW_matrixModule",
3091
- "comboboxCheck": "PNbOqW_comboboxCheck",
3092
- "comboboxSearch": "PNbOqW_comboboxSearch",
3093
- "comboboxOptionActive": "PNbOqW_comboboxOptionActive",
3094
- "demo": "PNbOqW_demo",
3095
- "dialogBody": "PNbOqW_dialogBody",
3096
- "candidates": "PNbOqW_candidates",
3097
- "tabActive": "PNbOqW_tabActive",
3098
- "permDescription": "PNbOqW_permDescription",
3099
- "sectionTitle": "PNbOqW_sectionTitle",
3100
3084
  "departments": "PNbOqW_departments",
3085
+ "treeChildren": "PNbOqW_treeChildren",
3086
+ "treeActions": "PNbOqW_treeActions",
3087
+ "sectionTitle": "PNbOqW_sectionTitle",
3088
+ "treeRow": "PNbOqW_treeRow",
3101
3089
  "tabs": "PNbOqW_tabs",
3102
- "subtitle": "PNbOqW_subtitle",
3103
- "panelHead": "PNbOqW_panelHead",
3104
- "dialogFooter": "PNbOqW_dialogFooter",
3105
- "comboboxMenu": "PNbOqW_comboboxMenu",
3106
- "adminTag": "PNbOqW_adminTag",
3090
+ "matrixPermission": "PNbOqW_matrixPermission",
3091
+ "comboboxCheck": "PNbOqW_comboboxCheck",
3092
+ "dialogBody": "PNbOqW_dialogBody",
3093
+ "deptAdmins": "PNbOqW_deptAdmins",
3094
+ "head": "PNbOqW_head",
3095
+ "comboboxEmpty": "PNbOqW_comboboxEmpty",
3096
+ "permission": "PNbOqW_permission",
3097
+ "matrixNote": "PNbOqW_matrixNote",
3098
+ "treeName": "PNbOqW_treeName",
3099
+ "comboboxSearch": "PNbOqW_comboboxSearch",
3100
+ "copied": "PNbOqW_copied",
3101
+ "empty": "PNbOqW_empty",
3102
+ "treeRoot": "PNbOqW_treeRoot",
3103
+ "tab": "PNbOqW_tab",
3107
3104
  "comboboxPlaceholder": "PNbOqW_comboboxPlaceholder",
3108
- "matrix": "PNbOqW_matrix",
3109
- "treeActions": "PNbOqW_treeActions",
3110
- "pager": "PNbOqW_pager",
3111
- "muted": "PNbOqW_muted",
3105
+ "page": "PNbOqW_page",
3112
3106
  "department": "PNbOqW_department",
3113
- "field": "PNbOqW_field",
3114
- "matrixScroll": "PNbOqW_matrixScroll",
3115
- "treeSpacer": "PNbOqW_treeSpacer",
3116
- "table": "PNbOqW_table",
3117
- "onlyAdmin": "PNbOqW_onlyAdmin",
3118
3107
  "rowActions": "PNbOqW_rowActions",
3119
- "treeChildren": "PNbOqW_treeChildren",
3120
- "page": "PNbOqW_page",
3121
- "waiting": "PNbOqW_waiting",
3122
- "comboboxList": "PNbOqW_comboboxList",
3108
+ "permCopy": "PNbOqW_permCopy",
3109
+ "readOnly": "PNbOqW_readOnly",
3110
+ "table": "PNbOqW_table",
3111
+ "adminTag": "PNbOqW_adminTag",
3112
+ "candidates": "PNbOqW_candidates",
3123
3113
  "panelFoot": "PNbOqW_panelFoot",
3124
- "head": "PNbOqW_head",
3125
- "tab": "PNbOqW_tab",
3126
- "comboboxEmpty": "PNbOqW_comboboxEmpty",
3127
- "comboboxHint": "PNbOqW_comboboxHint",
3128
- "tableScroll": "PNbOqW_tableScroll",
3129
- "matrixNote": "PNbOqW_matrixNote",
3130
- "combobox": "PNbOqW_combobox",
3131
3114
  "dialog": "PNbOqW_dialog",
3132
- "treeRow": "PNbOqW_treeRow",
3133
- "panel": "PNbOqW_panel",
3115
+ "treeToggle": "PNbOqW_treeToggle",
3116
+ "comboboxOption": "PNbOqW_comboboxOption",
3134
3117
  "protected": "PNbOqW_protected",
3135
- "matrixPermission": "PNbOqW_matrixPermission",
3136
- "deptAdmins": "PNbOqW_deptAdmins",
3137
- "permCopy": "PNbOqW_permCopy",
3118
+ "muted": "PNbOqW_muted",
3119
+ "tableScroll": "PNbOqW_tableScroll",
3120
+ "demo": "PNbOqW_demo",
3121
+ "permDescription": "PNbOqW_permDescription",
3122
+ "combobox": "PNbOqW_combobox",
3138
3123
  "search": "PNbOqW_search",
3139
- "empty": "PNbOqW_empty",
3124
+ "matrix": "PNbOqW_matrix",
3140
3125
  "candidate": "PNbOqW_candidate",
3141
- "treeName": "PNbOqW_treeName",
3142
- "readOnly": "PNbOqW_readOnly"
3126
+ "tabActive": "PNbOqW_tabActive",
3127
+ "matrixScroll": "PNbOqW_matrixScroll",
3128
+ "panelHead": "PNbOqW_panelHead",
3129
+ "dialogHint": "PNbOqW_dialogHint",
3130
+ "onlyAdmin": "PNbOqW_onlyAdmin",
3131
+ "comboboxTrigger": "PNbOqW_comboboxTrigger",
3132
+ "detailGrid": "PNbOqW_detailGrid",
3133
+ "comboboxOptionActive": "PNbOqW_comboboxOptionActive",
3134
+ "scopeBadge": "PNbOqW_scopeBadge",
3135
+ "waiting": "PNbOqW_waiting",
3136
+ "error": "PNbOqW_error",
3137
+ "comboboxList": "PNbOqW_comboboxList",
3138
+ "notice": "PNbOqW_notice",
3139
+ "matrixGroup": "PNbOqW_matrixGroup",
3140
+ "panel": "PNbOqW_panel",
3141
+ "matrixModule": "PNbOqW_matrixModule",
3142
+ "comboboxMenu": "PNbOqW_comboboxMenu"
3143
3143
  };
3144
3144
  //#endregion
3145
3145
  //#region src/client/combobox.ts
@@ -4568,18 +4568,18 @@ window.__ModuleLoader__.load({
4568
4568
  document.head.appendChild(tag);
4569
4569
  }
4570
4570
  var WorkspaceUpgradePrompt_module_css_default = {
4571
- "sessionRow": "razUfG_sessionRow",
4572
- "sessionTitle": "razUfG_sessionTitle",
4573
- "sessionPath": "razUfG_sessionPath",
4574
- "error": "razUfG_error",
4575
4571
  "dialogBody": "razUfG_dialogBody",
4576
- "banner": "razUfG_banner",
4577
- "body": "razUfG_body",
4578
- "actions": "razUfG_actions",
4579
- "dialogText": "razUfG_dialogText",
4580
4572
  "title": "razUfG_title",
4573
+ "copy": "razUfG_copy",
4581
4574
  "sessionList": "razUfG_sessionList",
4582
- "copy": "razUfG_copy"
4575
+ "body": "razUfG_body",
4576
+ "sessionRow": "razUfG_sessionRow",
4577
+ "banner": "razUfG_banner",
4578
+ "dialogText": "razUfG_dialogText",
4579
+ "sessionTitle": "razUfG_sessionTitle",
4580
+ "actions": "razUfG_actions",
4581
+ "sessionPath": "razUfG_sessionPath",
4582
+ "error": "razUfG_error"
4583
4583
  };
4584
4584
  //#endregion
4585
4585
  //#region src/client/WorkspaceUpgradePrompt.tsx
@@ -4812,7 +4812,7 @@ window.__ModuleLoader__.load({
4812
4812
  fontSize: "11px"
4813
4813
  };
4814
4814
  /** Render the embedded DataOps resource page and translate its parent messages. */
4815
- function DataOpsResourcesTab({ tab, scope, sendReference }) {
4815
+ function DataOpsResourcesTab({ tab, scope, insertResourceReference }) {
4816
4816
  const [config, setConfig] = (0, react.useState)(null);
4817
4817
  const [error, setError] = (0, react.useState)("");
4818
4818
  const [loading, setLoading] = (0, react.useState)(true);
@@ -4871,19 +4871,43 @@ window.__ModuleLoader__.load({
4871
4871
  name: payload.resource?.name,
4872
4872
  table: payload.resource?.table
4873
4873
  };
4874
- if (sendReference === void 0) {
4875
- setNotice("当前会话不可用,无法把资源加入对话");
4874
+ if (insertResourceReference === void 0) {
4875
+ setNotice("当前会话不可用,无法插入资源引用");
4876
4876
  return;
4877
4877
  }
4878
- sendReference("引用数据资源:\n\n```resource-ref\n" + JSON.stringify(reference, null, 2) + "\n```\n", scope?.sessionId).then(() => setNotice("已把资源加入当前对话")).catch((sendError) => setNotice("加入对话失败:" + (sendError instanceof Error ? sendError.message : String(sendError))));
4878
+ try {
4879
+ insertResourceReference(payload.resource ?? {}, reference, scope?.sessionId);
4880
+ setNotice("");
4881
+ } catch (insertError) {
4882
+ setNotice("插入引用失败:" + (insertError instanceof Error ? insertError.message : String(insertError)));
4883
+ }
4879
4884
  };
4880
4885
  window.addEventListener("message", onMessage);
4881
4886
  return () => window.removeEventListener("message", onMessage);
4882
4887
  }, [
4883
4888
  config,
4884
- sendReference,
4889
+ insertResourceReference,
4885
4890
  scope?.sessionId
4886
4891
  ]);
4892
+ (0, react.useEffect)(() => {
4893
+ const style = document.createElement("style");
4894
+ style.dataset.dataopsResourceChipIcon = "true";
4895
+ style.textContent = `
4896
+ [data-composer-chip="dataops-resource"]:not(:has(svg)) > span:last-child::before {
4897
+ content: "";
4898
+ display: inline-block;
4899
+ width: 14px;
4900
+ height: 14px;
4901
+ margin-right: 5px;
4902
+ vertical-align: -2px;
4903
+ background: currentColor;
4904
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E") center / contain no-repeat;
4905
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E") center / contain no-repeat;
4906
+ }
4907
+ `;
4908
+ document.head.appendChild(style);
4909
+ return () => style.remove();
4910
+ }, []);
4887
4911
  (0, react.useEffect)(() => {
4888
4912
  if (!notice) return void 0;
4889
4913
  const timer = window.setTimeout(() => setNotice(""), 2400);
@@ -4906,19 +4930,6 @@ window.__ModuleLoader__.load({
4906
4930
  role: "status",
4907
4931
  children: "正在准备数据资源页…"
4908
4932
  });
4909
- let topOrigin = "";
4910
- try {
4911
- topOrigin = window.top?.location.origin ?? "";
4912
- } catch {
4913
- topOrigin = "";
4914
- }
4915
- let embedOrigin = "";
4916
- try {
4917
- embedOrigin = new URL(config.embedBaseUrl).origin;
4918
- } catch {
4919
- embedOrigin = "";
4920
- }
4921
- const frameIsSameOrigin = config.sameOrigin === true || topOrigin !== "" && topOrigin === embedOrigin;
4922
4933
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
4923
4934
  style: {
4924
4935
  display: "flex",
@@ -4932,13 +4943,6 @@ window.__ModuleLoader__.load({
4932
4943
  role: "status",
4933
4944
  children: notice
4934
4945
  }) : null,
4935
- !frameIsSameOrigin ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
4936
- style: {
4937
- ...stateStyle,
4938
- paddingBottom: 6
4939
- },
4940
- children: "当前部署不是同源代理,资源页可能无法复用门户登录态。"
4941
- }) : null,
4942
4946
  loading ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
4943
4947
  style: stateStyle,
4944
4948
  role: "status",
@@ -5499,17 +5503,72 @@ window.__ModuleLoader__.load({
5499
5503
  inject?.([
5500
5504
  "betterSidebar",
5501
5505
  "conversation",
5502
- "sessions"
5506
+ "sessions",
5507
+ "inputTriggers"
5503
5508
  ], (injected) => {
5504
5509
  const service = injected.betterSidebar;
5505
5510
  if (service?.registerTab === void 0) return;
5506
5511
  const conversation = injected.conversation;
5507
5512
  const sessions = injected.sessions;
5508
- const sendReference = async (text, sessionId) => {
5513
+ const inputTriggers = injected.inputTriggers;
5514
+ if (inputTriggers?.registerSource !== void 0) {
5515
+ const source = {
5516
+ trigger: "@",
5517
+ name: "dataops-resource",
5518
+ showGroupTitle: false,
5519
+ candidates: async () => [],
5520
+ codec: {
5521
+ clipboardText: (ref) => {
5522
+ try {
5523
+ return "@" + String(JSON.parse(ref).name ?? "资源");
5524
+ } catch {
5525
+ return "@资源";
5526
+ }
5527
+ },
5528
+ serialize: async (ref) => {
5529
+ try {
5530
+ const parsed = JSON.parse(ref);
5531
+ return "引用数据资源:\n\n```resource-ref\n" + JSON.stringify({
5532
+ kind: "dataops-resource",
5533
+ resourceId: parsed.resourceId,
5534
+ name: parsed.name,
5535
+ table: parsed.table ?? null
5536
+ }, null, 2) + "\n```\n";
5537
+ } catch {
5538
+ return ref;
5539
+ }
5540
+ }
5541
+ }
5542
+ };
5543
+ try {
5544
+ inputTriggers.registerSource(source);
5545
+ } catch {}
5546
+ }
5547
+ const insertResourceReference = (resource, reference, sessionId) => {
5509
5548
  if (!sessionId) throw new Error("no active session");
5510
- const target = (sessions?.scope?.(sessionId))?.get?.("conversation") ?? conversation;
5511
- if (target?.send === void 0) throw new Error("conversation service is unavailable");
5512
- await target.send(text);
5549
+ const scoped = sessions?.scope?.(sessionId);
5550
+ const input = conversation?.input?.for?.(scoped);
5551
+ if (!input?.insertReference || !input.state?.getSnapshot) throw new Error("composer is unavailable");
5552
+ const state = input.state.getSnapshot();
5553
+ const span = {
5554
+ start: state.draft.length,
5555
+ end: state.draft.length,
5556
+ draftRev: state.draftRev
5557
+ };
5558
+ const name = String(resource.name ?? reference.name ?? "资源");
5559
+ const payload = {
5560
+ kind: "dataops-resource",
5561
+ resourceId: resource.id ?? reference.resourceId,
5562
+ name,
5563
+ table: resource.table ?? reference.table ?? null
5564
+ };
5565
+ if (!input.insertReference({
5566
+ source: "dataops-resource",
5567
+ ref: JSON.stringify(payload),
5568
+ label: name,
5569
+ appearance: "resource",
5570
+ clipboardText: "@" + name
5571
+ }, span)) throw new Error("输入框正忙,请稍后再试");
5513
5572
  };
5514
5573
  disposeTab = service.registerTab({
5515
5574
  id: RESOURCE_TAB_TYPE,
@@ -5519,7 +5578,7 @@ window.__ModuleLoader__.load({
5519
5578
  single: true,
5520
5579
  component: ((props) => DataOpsResourcesTab({
5521
5580
  ...props,
5522
- sendReference
5581
+ insertResourceReference
5523
5582
  }))
5524
5583
  });
5525
5584
  disposeBridge = ctx.slots.inject("sidebar.footer.action", () => ctx.slots.register({