@sparkelf/dsh-dataops-managed 0.3.21 → 0.3.22

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/README.md CHANGED
@@ -16,6 +16,10 @@ DataOps设置中的“应用万相品牌”默认开启,并在本机浏览器
16
16
 
17
17
  本包增加命名空间化DataOps MCP tool schema,但不把JWT写入system prompt、tool参数、结果或session log。认证本身不增加token或改变KV cache。
18
18
 
19
+ ### 工具按权限披露
20
+
21
+ 工作区的DataOps角色决定模型能看到哪些技能/审核工具:插件在JWT变更、首次连接和审核上下文刷新时读取`/api/ai/review/context`,按`skill:*`能力与审核角色注册或注销工具;没有能力的工具不会出现在模型工具列表中。工具执行时不再重复读取角色,DataOps后端仍对每次API调用做最终授权、参数校验、审批与审计。`dataops_api_docs`只向「超级管理员」披露,用于只读检索`/api/openapi.json`。同一份 scope 还会通过`ctx.skills.useViewer`约束技能目录;技能中心的连接器 Tab 读取`/api/dsh-skill-center/connectors`,未授权能力不会出现在目录中。
22
+
19
23
  ### 已知限制
20
24
 
21
25
  - JWT尚未同步或DataOps拒绝当前权限时,MCP client直接呈现对应连接或工具错误。
@@ -36,6 +40,10 @@ The Apply Wanxiang branding setting defaults on and persists in the local browse
36
40
 
37
41
  The package adds namespaced DataOps MCP tool schemas but never places the JWT in the system prompt, tool arguments, results, or Session log. Authentication adds no model tokens and does not affect the KV cache.
38
42
 
43
+ ### Permission-Based Tool Disclosure
44
+
45
+ The workspace's DataOps role decides which skill and review tools the model can see. The plugin reads `/api/ai/review/context` when the JWT changes, on the first connect, and whenever the review-context route refreshes, then registers or disposes tools according to the `skill:*` capabilities and review role. A tool the principal cannot use is never offered. Execution does not re-read the role; DataOps still performs final authorization, parameter validation, approval and audit on every API call. `dataops_api_docs` is disclosed only to 超级管理员 and searches `/api/openapi.json` read-only. The same scope is applied to the skill catalog through `ctx.skills.useViewer`; the skill center's connector tab reads `/api/dsh-skill-center/connectors`, which omits capabilities the account cannot use.
46
+
39
47
  ### Known Limitations
40
48
 
41
49
  - Before JWT synchronization, or when DataOps rejects current permissions, the MCP client exposes the corresponding connection or tool error.
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
- "refusal": "_2dqzjG_refusal",
751
- "heading": "_2dqzjG_heading",
752
- "section": "_2dqzjG_section",
753
- "status": "_2dqzjG_status",
754
- "card": "_2dqzjG_card",
755
- "meta": "_2dqzjG_meta",
756
750
  "title": "_2dqzjG_title",
757
- "reviewActions": "_2dqzjG_reviewActions",
758
- "reviewRows": "_2dqzjG_reviewRows",
759
- "reviewHint": "_2dqzjG_reviewHint",
760
751
  "row": "_2dqzjG_row",
761
- "label": "_2dqzjG_label",
762
- "fields": "_2dqzjG_fields",
752
+ "reviewActions": "_2dqzjG_reviewActions",
753
+ "heading": "_2dqzjG_heading",
763
754
  "actions": "_2dqzjG_actions",
755
+ "refusal": "_2dqzjG_refusal",
756
+ "copy": "_2dqzjG_copy",
757
+ "section": "_2dqzjG_section",
764
758
  "reviewRow": "_2dqzjG_reviewRow",
765
- "copy": "_2dqzjG_copy"
759
+ "reviewHint": "_2dqzjG_reviewHint",
760
+ "card": "_2dqzjG_card",
761
+ "label": "_2dqzjG_label",
762
+ "reviewRows": "_2dqzjG_reviewRows",
763
+ "status": "_2dqzjG_status",
764
+ "meta": "_2dqzjG_meta",
765
+ "fields": "_2dqzjG_fields"
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
- "empty": "tE0trG_empty",
1621
- "button": "tE0trG_button",
1622
- "rowTime": "tE0trG_rowTime",
1623
- "pager": "tE0trG_pager",
1624
- "rowText": "tE0trG_rowText",
1625
- "demo": "tE0trG_demo",
1626
1620
  "row": "tE0trG_row",
1627
- "rowTitle": "tE0trG_rowTitle",
1628
- "actions": "tE0trG_actions",
1629
- "dialog": "tE0trG_dialog",
1621
+ "button": "tE0trG_button",
1630
1622
  "rowMeta": "tE0trG_rowMeta",
1623
+ "rowBody": "tE0trG_rowBody",
1624
+ "demo": "tE0trG_demo",
1625
+ "rowText": "tE0trG_rowText",
1626
+ "list": "tE0trG_list",
1627
+ "linkButton": "tE0trG_linkButton",
1631
1628
  "dot": "tE0trG_dot",
1629
+ "bell": "tE0trG_bell",
1630
+ "dialog": "tE0trG_dialog",
1631
+ "rowTime": "tE0trG_rowTime",
1632
+ "actions": "tE0trG_actions",
1632
1633
  "rowIcon": "tE0trG_rowIcon",
1633
- "list": "tE0trG_list",
1634
+ "empty": "tE0trG_empty",
1635
+ "pager": "tE0trG_pager",
1634
1636
  "badge": "tE0trG_badge",
1635
- "bell": "tE0trG_bell",
1636
- "rowBody": "tE0trG_rowBody",
1637
- "linkButton": "tE0trG_linkButton"
1637
+ "rowTitle": "tE0trG_rowTitle"
1638
1638
  };
1639
1639
  //#endregion
1640
1640
  //#region src/client/NotificationBell.tsx
@@ -1926,61 +1926,61 @@ window.__ModuleLoader__.load({
1926
1926
  }
1927
1927
  var SkillPlazaSection_module_css_default = {
1928
1928
  "reviewError": "_9FdZvq_reviewError",
1929
- "chipOn": "_9FdZvq_chipOn",
1930
- "tabs": "_9FdZvq_tabs",
1931
- "sharedTag": "_9FdZvq_sharedTag",
1932
- "noteField": "_9FdZvq_noteField",
1933
- "mark": "_9FdZvq_mark",
1934
- "severity": "_9FdZvq_severity",
1935
- "findingText": "_9FdZvq_findingText",
1936
- "section": "_9FdZvq_section",
1929
+ "title": "_9FdZvq_title",
1937
1930
  "head": "_9FdZvq_head",
1938
- "cardMarks": "_9FdZvq_cardMarks",
1939
- "cardTop": "_9FdZvq_cardTop",
1940
- "cardTitle": "_9FdZvq_cardTitle",
1941
- "detailLabel": "_9FdZvq_detailLabel",
1942
- "riskHead": "_9FdZvq_riskHead",
1943
- "riskSummary": "_9FdZvq_riskSummary",
1944
- "tab": "_9FdZvq_tab",
1931
+ "dialog": "_9FdZvq_dialog",
1932
+ "cards": "_9FdZvq_cards",
1933
+ "sharedTag": "_9FdZvq_sharedTag",
1934
+ "cardDesc": "_9FdZvq_cardDesc",
1935
+ "detailButton": "_9FdZvq_detailButton",
1936
+ "empty": "_9FdZvq_empty",
1945
1937
  "reviewButton": "_9FdZvq_reviewButton",
1946
- "headRow": "_9FdZvq_headRow",
1947
1938
  "risk": "_9FdZvq_risk",
1948
- "tagBar": "_9FdZvq_tagBar",
1949
1939
  "riskEmpty": "_9FdZvq_riskEmpty",
1950
- "emptyText": "_9FdZvq_emptyText",
1951
- "cards": "_9FdZvq_cards",
1952
- "cardEnd": "_9FdZvq_cardEnd",
1940
+ "noteField": "_9FdZvq_noteField",
1941
+ "tab": "_9FdZvq_tab",
1942
+ "demoTag": "_9FdZvq_demoTag",
1953
1943
  "chip": "_9FdZvq_chip",
1954
- "notice": "_9FdZvq_notice",
1955
- "cardIcon": "_9FdZvq_cardIcon",
1956
- "detailButton": "_9FdZvq_detailButton",
1944
+ "emptyIcon": "_9FdZvq_emptyIcon",
1945
+ "detailLabel": "_9FdZvq_detailLabel",
1957
1946
  "status": "_9FdZvq_status",
1958
- "tagTop": "_9FdZvq_tagTop",
1959
- "title": "_9FdZvq_title",
1960
- "detailRow": "_9FdZvq_detailRow",
1961
- "detailValue": "_9FdZvq_detailValue",
1962
- "card": "_9FdZvq_card",
1963
- "detail": "_9FdZvq_detail",
1947
+ "chipOn": "_9FdZvq_chipOn",
1948
+ "headRow": "_9FdZvq_headRow",
1964
1949
  "tabActive": "_9FdZvq_tabActive",
1965
1950
  "tabCount": "_9FdZvq_tabCount",
1951
+ "tagBar": "_9FdZvq_tagBar",
1952
+ "section": "_9FdZvq_section",
1953
+ "tabs": "_9FdZvq_tabs",
1966
1954
  "pendingTag": "_9FdZvq_pendingTag",
1967
- "rejectedTag": "_9FdZvq_rejectedTag",
1968
- "demoTag": "_9FdZvq_demoTag",
1969
- "empty": "_9FdZvq_empty",
1970
- "auditDialog": "_9FdZvq_auditDialog",
1971
- "audit": "_9FdZvq_audit",
1955
+ "reviewNote": "_9FdZvq_reviewNote",
1956
+ "emptyText": "_9FdZvq_emptyText",
1972
1957
  "auditFooter": "_9FdZvq_auditFooter",
1973
- "riskScore": "_9FdZvq_riskScore",
1974
- "finding": "_9FdZvq_finding",
1975
- "findingHint": "_9FdZvq_findingHint",
1958
+ "notice": "_9FdZvq_notice",
1959
+ "cardMarks": "_9FdZvq_cardMarks",
1960
+ "tagTop": "_9FdZvq_tagTop",
1961
+ "riskSummary": "_9FdZvq_riskSummary",
1962
+ "mark": "_9FdZvq_mark",
1963
+ "detailValue": "_9FdZvq_detailValue",
1964
+ "riskHead": "_9FdZvq_riskHead",
1965
+ "severity": "_9FdZvq_severity",
1966
+ "mine": "_9FdZvq_mine",
1967
+ "detailRow": "_9FdZvq_detailRow",
1976
1968
  "riskFailed": "_9FdZvq_riskFailed",
1977
- "emptyIcon": "_9FdZvq_emptyIcon",
1978
- "reviewNote": "_9FdZvq_reviewNote",
1979
- "cardDesc": "_9FdZvq_cardDesc",
1980
- "dialog": "_9FdZvq_dialog",
1969
+ "auditDialog": "_9FdZvq_auditDialog",
1970
+ "riskScore": "_9FdZvq_riskScore",
1981
1971
  "findings": "_9FdZvq_findings",
1972
+ "cardTitle": "_9FdZvq_cardTitle",
1973
+ "cardIcon": "_9FdZvq_cardIcon",
1974
+ "finding": "_9FdZvq_finding",
1975
+ "findingText": "_9FdZvq_findingText",
1976
+ "cardEnd": "_9FdZvq_cardEnd",
1977
+ "detail": "_9FdZvq_detail",
1978
+ "audit": "_9FdZvq_audit",
1982
1979
  "titleCount": "_9FdZvq_titleCount",
1983
- "mine": "_9FdZvq_mine"
1980
+ "cardTop": "_9FdZvq_cardTop",
1981
+ "card": "_9FdZvq_card",
1982
+ "findingHint": "_9FdZvq_findingHint",
1983
+ "rejectedTag": "_9FdZvq_rejectedTag"
1984
1984
  };
1985
1985
  //#endregion
1986
1986
  //#region src/client/SkillPlazaSection.tsx
@@ -2627,19 +2627,19 @@ window.__ModuleLoader__.load({
2627
2627
  document.head.appendChild(tag);
2628
2628
  }
2629
2629
  var WanxiangBrand_module_css_default = {
2630
+ "unit-core": "s0HPxG_unit-core",
2630
2631
  "unitRight": "s0HPxG_unitRight",
2631
- "unitCore": "s0HPxG_unitCore",
2632
- "animatedMark": "s0HPxG_animatedMark",
2632
+ "mark": "s0HPxG_mark",
2633
2633
  "wordmark": "s0HPxG_wordmark",
2634
- "unit-left": "s0HPxG_unit-left",
2634
+ "animatedMark": "s0HPxG_animatedMark",
2635
2635
  "unitLeft": "s0HPxG_unitLeft",
2636
- "unit-top": "s0HPxG_unit-top",
2637
- "unit-core": "s0HPxG_unit-core",
2638
2636
  "sidebarName": "s0HPxG_sidebarName",
2639
- "mark": "s0HPxG_mark",
2640
- "unitTop": "s0HPxG_unitTop",
2637
+ "unitCore": "s0HPxG_unitCore",
2638
+ "unit-top": "s0HPxG_unit-top",
2639
+ "unit-left": "s0HPxG_unit-left",
2640
+ "unit-right": "s0HPxG_unit-right",
2641
2641
  "harness": "s0HPxG_harness",
2642
- "unit-right": "s0HPxG_unit-right"
2642
+ "unitTop": "s0HPxG_unitTop"
2643
2643
  };
2644
2644
  //#endregion
2645
2645
  //#region src/client/WanxiangBrand.tsx
@@ -2886,11 +2886,9 @@ window.__ModuleLoader__.load({
2886
2886
  * signed in any more. This prompt names that state once, with the one action that clears it.
2887
2887
  *
2888
2888
  * It reports and nothing more. It does not retry, expire, or re-authenticate — the portal owns
2889
- * the login form and is the only thing that can issue a session. It also cannot navigate the
2890
- * operator there: the portal is a different origin, so this frame cannot read or drive its
2891
- * window, and the gateway does not forward the browser's origin to the workspace. Guessing a
2892
- * URL from inside here would open the wrong page on some deployments, so the dialog tells the
2893
- * operator which window to switch to instead of pretending it can take them.
2889
+ * the login form and is the only thing that can issue a session. Its action navigates the parent
2890
+ * portal when the frame's ancestor origin is known, and opens the portal separately when the
2891
+ * browser blocks top-level navigation from the frame.
2894
2892
  *
2895
2893
  * @module ReloginPrompt
2896
2894
  */
@@ -2959,7 +2957,19 @@ window.__ModuleLoader__.load({
2959
2957
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
2960
2958
  variant: "primary",
2961
2959
  onClick: () => {
2962
- window.location.reload();
2960
+ const portalOrigin = window.location.ancestorOrigins?.[0] ?? (document.referrer === "" ? void 0 : new URL(document.referrer).origin);
2961
+ if (portalOrigin === void 0 || portalOrigin === window.location.origin) {
2962
+ window.location.reload();
2963
+ return;
2964
+ }
2965
+ const portalUrl = `${portalOrigin}/`;
2966
+ try {
2967
+ if (window.top !== null && window.top !== window) {
2968
+ window.top.location.href = portalUrl;
2969
+ return;
2970
+ }
2971
+ } catch {}
2972
+ window.open(portalUrl, "_blank", "noopener");
2963
2973
  },
2964
2974
  children: t("reloginAction")
2965
2975
  })] })
@@ -3046,72 +3056,72 @@ window.__ModuleLoader__.load({
3046
3056
  document.head.appendChild(tag);
3047
3057
  }
3048
3058
  var PermissionCenterSection_module_css_default = {
3049
- "panelFoot": "PNbOqW_panelFoot",
3050
- "comboboxHint": "PNbOqW_comboboxHint",
3051
- "matrixGroup": "PNbOqW_matrixGroup",
3052
- "permDescription": "PNbOqW_permDescription",
3059
+ "detailGrid": "PNbOqW_detailGrid",
3060
+ "candidate": "PNbOqW_candidate",
3061
+ "departments": "PNbOqW_departments",
3062
+ "notice": "PNbOqW_notice",
3063
+ "candidates": "PNbOqW_candidates",
3064
+ "department": "PNbOqW_department",
3065
+ "comboboxCheck": "PNbOqW_comboboxCheck",
3053
3066
  "protected": "PNbOqW_protected",
3067
+ "permDescription": "PNbOqW_permDescription",
3068
+ "tableScroll": "PNbOqW_tableScroll",
3069
+ "sectionTitle": "PNbOqW_sectionTitle",
3054
3070
  "matrixNote": "PNbOqW_matrixNote",
3055
- "dialogHint": "PNbOqW_dialogHint",
3056
- "pager": "PNbOqW_pager",
3057
- "tabs": "PNbOqW_tabs",
3058
- "permCopy": "PNbOqW_permCopy",
3059
- "comboboxSearch": "PNbOqW_comboboxSearch",
3060
- "error": "PNbOqW_error",
3061
- "dialog": "PNbOqW_dialog",
3062
- "treeSpacer": "PNbOqW_treeSpacer",
3063
- "matrixPermission": "PNbOqW_matrixPermission",
3064
3071
  "treeActions": "PNbOqW_treeActions",
3065
- "panel": "PNbOqW_panel",
3066
- "tab": "PNbOqW_tab",
3067
- "adminTag": "PNbOqW_adminTag",
3068
- "candidates": "PNbOqW_candidates",
3069
- "department": "PNbOqW_department",
3070
- "copied": "PNbOqW_copied",
3071
- "tabActive": "PNbOqW_tabActive",
3072
- "treeRoot": "PNbOqW_treeRoot",
3072
+ "comboboxList": "PNbOqW_comboboxList",
3073
+ "title": "PNbOqW_title",
3074
+ "field": "PNbOqW_field",
3075
+ "treeChildren": "PNbOqW_treeChildren",
3076
+ "pager": "PNbOqW_pager",
3077
+ "combobox": "PNbOqW_combobox",
3078
+ "comboboxHint": "PNbOqW_comboboxHint",
3079
+ "search": "PNbOqW_search",
3080
+ "treeRow": "PNbOqW_treeRow",
3073
3081
  "comboboxOption": "PNbOqW_comboboxOption",
3074
- "table": "PNbOqW_table",
3082
+ "empty": "PNbOqW_empty",
3083
+ "panelHead": "PNbOqW_panelHead",
3084
+ "tabActive": "PNbOqW_tabActive",
3075
3085
  "onlyAdmin": "PNbOqW_onlyAdmin",
3076
3086
  "permission": "PNbOqW_permission",
3077
- "combobox": "PNbOqW_combobox",
3087
+ "matrixGroup": "PNbOqW_matrixGroup",
3088
+ "waiting": "PNbOqW_waiting",
3078
3089
  "treeToggle": "PNbOqW_treeToggle",
3079
- "dialogFooter": "PNbOqW_dialogFooter",
3080
- "candidate": "PNbOqW_candidate",
3081
- "empty": "PNbOqW_empty",
3082
- "comboboxList": "PNbOqW_comboboxList",
3083
- "sectionTitle": "PNbOqW_sectionTitle",
3084
- "readOnly": "PNbOqW_readOnly",
3085
- "treeRow": "PNbOqW_treeRow",
3086
- "detailGrid": "PNbOqW_detailGrid",
3087
- "matrix": "PNbOqW_matrix",
3088
- "field": "PNbOqW_field",
3090
+ "matrixScroll": "PNbOqW_matrixScroll",
3091
+ "table": "PNbOqW_table",
3092
+ "comboboxMenu": "PNbOqW_comboboxMenu",
3089
3093
  "subtitle": "PNbOqW_subtitle",
3090
- "demo": "PNbOqW_demo",
3091
- "title": "PNbOqW_title",
3092
- "treeChildren": "PNbOqW_treeChildren",
3094
+ "rowActions": "PNbOqW_rowActions",
3095
+ "matrix": "PNbOqW_matrix",
3096
+ "head": "PNbOqW_head",
3097
+ "scopeBadge": "PNbOqW_scopeBadge",
3093
3098
  "matrixModule": "PNbOqW_matrixModule",
3099
+ "panel": "PNbOqW_panel",
3100
+ "tab": "PNbOqW_tab",
3101
+ "copied": "PNbOqW_copied",
3094
3102
  "comboboxPlaceholder": "PNbOqW_comboboxPlaceholder",
3095
- "comboboxMenu": "PNbOqW_comboboxMenu",
3096
- "comboboxCheck": "PNbOqW_comboboxCheck",
3097
- "scopeBadge": "PNbOqW_scopeBadge",
3103
+ "panelFoot": "PNbOqW_panelFoot",
3098
3104
  "comboboxEmpty": "PNbOqW_comboboxEmpty",
3099
- "treeName": "PNbOqW_treeName",
3100
- "panelHead": "PNbOqW_panelHead",
3101
- "rowActions": "PNbOqW_rowActions",
3105
+ "error": "PNbOqW_error",
3106
+ "matrixPermission": "PNbOqW_matrixPermission",
3107
+ "permCopy": "PNbOqW_permCopy",
3108
+ "tabs": "PNbOqW_tabs",
3109
+ "dialogBody": "PNbOqW_dialogBody",
3110
+ "comboboxSearch": "PNbOqW_comboboxSearch",
3111
+ "comboboxOptionActive": "PNbOqW_comboboxOptionActive",
3112
+ "treeSpacer": "PNbOqW_treeSpacer",
3113
+ "page": "PNbOqW_page",
3114
+ "readOnly": "PNbOqW_readOnly",
3115
+ "treeRoot": "PNbOqW_treeRoot",
3116
+ "adminTag": "PNbOqW_adminTag",
3117
+ "dialogHint": "PNbOqW_dialogHint",
3118
+ "dialog": "PNbOqW_dialog",
3119
+ "demo": "PNbOqW_demo",
3102
3120
  "deptAdmins": "PNbOqW_deptAdmins",
3121
+ "dialogFooter": "PNbOqW_dialogFooter",
3103
3122
  "comboboxTrigger": "PNbOqW_comboboxTrigger",
3104
- "waiting": "PNbOqW_waiting",
3105
- "tableScroll": "PNbOqW_tableScroll",
3106
- "muted": "PNbOqW_muted",
3107
- "search": "PNbOqW_search",
3108
- "page": "PNbOqW_page",
3109
- "departments": "PNbOqW_departments",
3110
- "notice": "PNbOqW_notice",
3111
- "dialogBody": "PNbOqW_dialogBody",
3112
- "head": "PNbOqW_head",
3113
- "matrixScroll": "PNbOqW_matrixScroll",
3114
- "comboboxOptionActive": "PNbOqW_comboboxOptionActive"
3123
+ "treeName": "PNbOqW_treeName",
3124
+ "muted": "PNbOqW_muted"
3115
3125
  };
3116
3126
  //#endregion
3117
3127
  //#region src/client/combobox.ts
@@ -4540,18 +4550,18 @@ window.__ModuleLoader__.load({
4540
4550
  document.head.appendChild(tag);
4541
4551
  }
4542
4552
  var WorkspaceUpgradePrompt_module_css_default = {
4543
- "sessionPath": "razUfG_sessionPath",
4553
+ "dialogBody": "razUfG_dialogBody",
4554
+ "sessionList": "razUfG_sessionList",
4544
4555
  "banner": "razUfG_banner",
4545
- "copy": "razUfG_copy",
4546
- "actions": "razUfG_actions",
4547
4556
  "sessionRow": "razUfG_sessionRow",
4548
- "dialogText": "razUfG_dialogText",
4557
+ "sessionPath": "razUfG_sessionPath",
4558
+ "copy": "razUfG_copy",
4559
+ "body": "razUfG_body",
4549
4560
  "sessionTitle": "razUfG_sessionTitle",
4550
- "title": "razUfG_title",
4551
- "sessionList": "razUfG_sessionList",
4552
4561
  "error": "razUfG_error",
4553
- "dialogBody": "razUfG_dialogBody",
4554
- "body": "razUfG_body"
4562
+ "dialogText": "razUfG_dialogText",
4563
+ "actions": "razUfG_actions",
4564
+ "title": "razUfG_title"
4555
4565
  };
4556
4566
  //#endregion
4557
4567
  //#region src/client/WorkspaceUpgradePrompt.tsx
@@ -4730,10 +4740,10 @@ window.__ModuleLoader__.load({
4730
4740
  //#region src/client/locales.ts
4731
4741
  /** English managed DataOps Settings copy. */
4732
4742
  const en = {
4733
- nav: "DataOps",
4734
- title: "DataOps",
4735
- managed: "Connected to DataOps",
4736
- unavailable: "DataOps is not connected.",
4743
+ nav: "万相AI中台",
4744
+ title: "万相AI中台",
4745
+ managed: "Connected to 万相AI中台",
4746
+ unavailable: "万相AI中台 is not connected.",
4737
4747
  loadFailed: "Loading failed. Try again.",
4738
4748
  brandingTitle: "Wanxiang branding",
4739
4749
  brandingToggle: "Wanxiang branding",
@@ -4743,7 +4753,7 @@ window.__ModuleLoader__.load({
4743
4753
  limitsInvalid: "Enter a size in MiB.",
4744
4754
  limitsSave: "Save",
4745
4755
  limitsSaving: "Saving…",
4746
- timeoutTitle: "DataOps query timeout",
4756
+ timeoutTitle: "万相AI中台 query timeout",
4747
4757
  timeoutLabel: "Longest single query (seconds)",
4748
4758
  timeoutInvalid: "Enter 1 to 3600 seconds.",
4749
4759
  defaultsTitle: "Default configuration",
@@ -4764,7 +4774,7 @@ window.__ModuleLoader__.load({
4764
4774
  plazaUnshare: "Stop sharing",
4765
4775
  plazaUnshared: "Removed from the plaza. Users who installed it keep their copy.",
4766
4776
  plazaEmpty: "No skills have been shared yet.",
4767
- plazaUnavailable: "The skill plaza is available once this workspace is connected to DataOps.",
4777
+ plazaUnavailable: "The skill plaza is available once this workspace is connected to 万相AI中台.",
4768
4778
  plazaLoadFailed: "The skill plaza could not be loaded. Try again.",
4769
4779
  plazaActionFailed: "The action could not be completed. Try again.",
4770
4780
  plazaRetry: "Try again",
@@ -4853,9 +4863,9 @@ window.__ModuleLoader__.load({
4853
4863
  permStatusApproved: "Approved",
4854
4864
  permStatusRejected: "Rejected",
4855
4865
  permDemo: "Demo data",
4856
- reloginTitle: "Sign in to DataOps again",
4857
- reloginBody: "This workspace can no longer reach DataOps: the sign-in for this session has ended, so settings, shared models and the skill plaza cannot load. Sign in again in the DataOps window, then reload this page.",
4858
- reloginAction: "Reload",
4866
+ reloginTitle: "Sign in to 万相AI中台 again",
4867
+ reloginBody: "Please sign in again.",
4868
+ reloginAction: "Sign in again",
4859
4869
  reloginDismiss: "Later",
4860
4870
  upgradeAvailableTitle: "A new workspace version is available",
4861
4871
  upgradeAvailableBody: "Restart the workspace to apply it.",
@@ -4874,10 +4884,10 @@ window.__ModuleLoader__.load({
4874
4884
  };
4875
4885
  /** Chinese managed DataOps Settings copy. */
4876
4886
  const zh = {
4877
- nav: "DataOps",
4878
- title: "DataOps",
4879
- managed: "已连接 DataOps",
4880
- unavailable: "未连接 DataOps。",
4887
+ nav: "万相AI中台",
4888
+ title: "万相AI中台",
4889
+ managed: "已连接 万相AI中台",
4890
+ unavailable: "未连接 万相AI中台。",
4881
4891
  loadFailed: "加载失败,请重试。",
4882
4892
  brandingTitle: "应用万相品牌",
4883
4893
  brandingToggle: "应用万相品牌",
@@ -4886,7 +4896,7 @@ window.__ModuleLoader__.load({
4886
4896
  limitsUploadLabel: "最大上传文件(MiB)",
4887
4897
  limitsInvalid: "请输入以 MiB 为单位的大小。",
4888
4898
  limitsSave: "保存",
4889
- timeoutTitle: "DataOps 查询超时",
4899
+ timeoutTitle: "万相AI中台查询超时",
4890
4900
  timeoutLabel: "单次查询上限(秒)",
4891
4901
  timeoutInvalid: "请输入 1 到 3600 秒。",
4892
4902
  limitsSaving: "保存中…",
@@ -4908,7 +4918,7 @@ window.__ModuleLoader__.load({
4908
4918
  plazaUnshare: "取消共享",
4909
4919
  plazaUnshared: "已从广场移除;已装载的用户保留其副本。",
4910
4920
  plazaEmpty: "还没有人共享技能。",
4911
- plazaUnavailable: "工作区接入 DataOps 后即可使用技能广场。",
4921
+ plazaUnavailable: "工作区接入万相AI中台后即可使用技能广场。",
4912
4922
  plazaLoadFailed: "技能广场加载失败,请重试。",
4913
4923
  plazaActionFailed: "操作未完成,请重试。",
4914
4924
  plazaRetry: "重试",
@@ -4997,9 +5007,9 @@ window.__ModuleLoader__.load({
4997
5007
  permStatusApproved: "已审核",
4998
5008
  permStatusRejected: "已拒绝",
4999
5009
  permDemo: "演示数据",
5000
- reloginTitle: "请重新登录 DataOps",
5001
- reloginBody: "该工作区已无法访问 DataOps:本次登录会话已过期,因此设置、共享模型与技能广场都无法加载。请在 DataOps 页面重新登录,然后重新加载本页。",
5002
- reloginAction: "重新加载",
5010
+ reloginTitle: "请重新登录万相AI中台",
5011
+ reloginBody: "请重新登录",
5012
+ reloginAction: "重新登录",
5003
5013
  reloginDismiss: "稍后再说",
5004
5014
  upgradeAvailableTitle: "工作区有新版本可用",
5005
5015
  upgradeAvailableBody: "重启工作区后生效。",