@blueking/ai-ui-sdk 0.3.0-beta.24 → 0.3.0-beta.26

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.
Files changed (153) hide show
  1. package/dist/common/util.d.ts +6 -0
  2. package/dist/common/util.ts.js +16 -0
  3. package/dist/components/render-agent/agent-type.vue.css +3 -3
  4. package/dist/components/render-agent/agent-type.vue.js +1 -1
  5. package/dist/components/render-auto-height-textarea/index.vue.css +11 -11
  6. package/dist/components/render-auto-height-textarea/index.vue.js +1 -1
  7. package/dist/components/render-auto-refresh/index.vue.css +8 -8
  8. package/dist/components/render-auto-refresh/index.vue.js +1 -1
  9. package/dist/components/render-card/agent/prefix-info-tool.vue.css +5 -5
  10. package/dist/components/render-card/agent/prefix-info-tool.vue.js +1 -1
  11. package/dist/components/render-card/base/reference-icon.script.vue.js.js +12 -5
  12. package/dist/components/render-card/base.vue.css +12 -12
  13. package/dist/components/render-card/base.vue.js +1 -1
  14. package/dist/components/render-card/llm/corner-badge.vue.css +3 -3
  15. package/dist/components/render-card/llm/corner-badge.vue.js +1 -1
  16. package/dist/components/render-card/llm/icons.script.vue.js.js +5 -7
  17. package/dist/components/render-card/llm/icons.vue.css +2 -2
  18. package/dist/components/render-card/llm/icons.vue.js +1 -1
  19. package/dist/components/render-card/llm/index.script.vue.js.js +18 -0
  20. package/dist/components/render-card/llm/info.script.vue.js.js +4 -3
  21. package/dist/components/render-card/llm/info.vue.css +1 -1
  22. package/dist/components/render-card/llm/info.vue.js +1 -1
  23. package/dist/components/render-card/llm/tag-prefix.vue.css +3 -3
  24. package/dist/components/render-card/llm/tag-prefix.vue.js +1 -1
  25. package/dist/components/render-card/mcp/actions.script.vue.js.js +6 -2
  26. package/dist/components/render-card/mcp/index.script.vue.js.js +3 -24
  27. package/dist/components/render-card/mcp/index.vue.d.ts +2 -5
  28. package/dist/components/render-card/mcp/name-suffix.vue.css +2 -2
  29. package/dist/components/render-card/mcp/name-suffix.vue.js +1 -1
  30. package/dist/components/render-card/prompt/icons.vue.css +1 -1
  31. package/dist/components/render-card/prompt/icons.vue.js +1 -1
  32. package/dist/components/render-card/skill/tag-prefix.vue.css +3 -3
  33. package/dist/components/render-card/skill/tag-prefix.vue.js +1 -1
  34. package/dist/components/render-card/tool/index.script.vue.js.js +4 -12
  35. package/dist/components/render-card/tool/index.vue.d.ts +1 -4
  36. package/dist/components/render-card/tool/prefix-info-tool.script.vue.js.js +20 -70
  37. package/dist/components/render-card/tool/prefix-info-tool.vue.d.ts +0 -4
  38. package/dist/components/render-checkbox/index.vue.css +9 -9
  39. package/dist/components/render-checkbox/index.vue.js +1 -1
  40. package/dist/components/render-choose-tag/index.vue.css +7 -7
  41. package/dist/components/render-choose-tag/index.vue.js +1 -1
  42. package/dist/components/render-collapse/index.vue.css +2 -2
  43. package/dist/components/render-collapse/index.vue.js +1 -1
  44. package/dist/components/render-collection/content/index.vue.css +4 -4
  45. package/dist/components/render-collection/content/index.vue.js +1 -1
  46. package/dist/components/render-dataset/components/batch-delete-dataset-data/index.vue.css +3 -3
  47. package/dist/components/render-dataset/components/batch-delete-dataset-data/index.vue.js +1 -1
  48. package/dist/components/render-dataset/components/batch-edit-valid-dataset-data/index.vue.css +1 -1
  49. package/dist/components/render-dataset/components/batch-edit-valid-dataset-data/index.vue.js +1 -1
  50. package/dist/components/render-dataset/components/dataset-data-tool-icons/index.script.vue.js +1 -1
  51. package/dist/components/render-dataset/components/dataset-data-valid/index.vue.css +1 -1
  52. package/dist/components/render-dataset/components/dataset-data-valid/index.vue.js +1 -1
  53. package/dist/components/render-dataset/components/edit-dataset-data/index.vue.css +3 -3
  54. package/dist/components/render-dataset/components/edit-dataset-data/index.vue.js +1 -1
  55. package/dist/components/render-dataset/components/operation-record/index.vue.css +4 -4
  56. package/dist/components/render-dataset/components/operation-record/index.vue.js +1 -1
  57. package/dist/components/render-dataset/components/operation-record/table/index.vue.css +1 -1
  58. package/dist/components/render-dataset/components/operation-record/table/index.vue.js +1 -1
  59. package/dist/components/render-dataset/components/operation-record/view-op-result/index.vue.css +2 -2
  60. package/dist/components/render-dataset/components/operation-record/view-op-result/index.vue.js +1 -1
  61. package/dist/components/render-dataset/components/plus-dataset/index.script.vue.js.js +1 -1
  62. package/dist/components/render-dataset/components/plus-dataset/index.vue.css +1 -5
  63. package/dist/components/render-dataset/components/plus-dataset/index.vue.js +1 -1
  64. package/dist/components/render-dataset/components/plus-dataset-data/form/api.vue.css +2 -2
  65. package/dist/components/render-dataset/components/plus-dataset-data/form/api.vue.js +1 -1
  66. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.vue.css +1 -1
  67. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.vue.js +1 -1
  68. package/dist/components/render-dataset/components/plus-dataset-data/form/index.script.vue.js.js +1 -1
  69. package/dist/components/render-dataset/components/plus-dataset-data/form/index.vue.css +1 -4
  70. package/dist/components/render-dataset/components/plus-dataset-data/form/index.vue.js +1 -1
  71. package/dist/components/render-dataset/components/review-dataset-data/index.vue.css +10 -10
  72. package/dist/components/render-dataset/components/review-dataset-data/index.vue.js +1 -1
  73. package/dist/components/render-dataset-detail-origin-data/index.vue.css +3 -3
  74. package/dist/components/render-dataset-detail-origin-data/index.vue.js +1 -1
  75. package/dist/components/render-dataset-list/components/main.vue.css +3 -3
  76. package/dist/components/render-dataset-list/components/main.vue.js +1 -1
  77. package/dist/components/render-dataset-list/index.vue.css +2 -2
  78. package/dist/components/render-dataset-list/index.vue.js +1 -1
  79. package/dist/components/render-dialog/choose-resource.vue.css +3 -3
  80. package/dist/components/render-dialog/choose-resource.vue.js +1 -1
  81. package/dist/components/render-dialog/choose-result.vue.css +14 -14
  82. package/dist/components/render-dialog/choose-result.vue.js +1 -1
  83. package/dist/components/render-dialog/choose-space.script.vue.js.js +2 -1
  84. package/dist/components/render-dialog/choose-space.vue.css +9 -9
  85. package/dist/components/render-dialog/choose-space.vue.js +1 -1
  86. package/dist/components/render-dialog/index.vue.css +6 -6
  87. package/dist/components/render-dialog/index.vue.js +1 -1
  88. package/dist/components/render-file-card/index.vue.css +11 -11
  89. package/dist/components/render-file-card/index.vue.js +1 -1
  90. package/dist/components/render-file-type-icon/index.vue.css +6 -6
  91. package/dist/components/render-file-type-icon/index.vue.js +1 -1
  92. package/dist/components/render-generate-tag/index.vue.css +5 -5
  93. package/dist/components/render-generate-tag/index.vue.js +1 -1
  94. package/dist/components/render-header/index.vue.css +3 -3
  95. package/dist/components/render-header/index.vue.js +1 -1
  96. package/dist/components/render-knowledge/icon/index.vue.css +1 -1
  97. package/dist/components/render-knowledge/icon/index.vue.js +1 -1
  98. package/dist/components/render-like/index.vue.css +5 -5
  99. package/dist/components/render-like/index.vue.js +1 -1
  100. package/dist/components/render-markdown/filter-css.ts.js +7 -2
  101. package/dist/components/render-mcp/install/index.script.vue.js.js +65 -36
  102. package/dist/components/render-mcp/install/index.vue.d.ts +4 -2
  103. package/dist/components/render-mcp/install/install-guide.script.vue.js.js +60 -0
  104. package/dist/components/render-mcp/install/install-guide.vue.d.ts +11 -0
  105. package/dist/components/render-mcp/install/install-guide.vue.js +3 -0
  106. package/dist/components/render-prompt/content/index.vue.css +1 -1
  107. package/dist/components/render-prompt/content/index.vue.js +1 -1
  108. package/dist/components/render-reference/index.vue.css +2 -2
  109. package/dist/components/render-reference/index.vue.js +1 -1
  110. package/dist/components/render-resource-version/index.vue.css +2 -2
  111. package/dist/components/render-resource-version/index.vue.js +1 -1
  112. package/dist/components/render-router-tab/index.vue.css +3 -3
  113. package/dist/components/render-router-tab/index.vue.js +1 -1
  114. package/dist/components/render-select-plus-extension/index.vue.css +3 -3
  115. package/dist/components/render-select-plus-extension/index.vue.js +1 -1
  116. package/dist/components/render-t-table/index.vue.css +28 -27
  117. package/dist/components/render-t-table/index.vue.js +1 -1
  118. package/dist/components/render-tag-tree/index.vue.css +7 -7
  119. package/dist/components/render-tag-tree/index.vue.js +1 -1
  120. package/dist/components/render-tags/index.vue.css +6 -6
  121. package/dist/components/render-tags/index.vue.js +1 -1
  122. package/dist/components.d.ts +1 -3
  123. package/dist/components.ts.js +1 -3
  124. package/dist/css/fonts/iconcool.eot +0 -0
  125. package/dist/css/fonts/iconcool.ttf +0 -0
  126. package/dist/css/fonts/iconcool.woff +0 -0
  127. package/dist/css/g-utilities.css +13 -77
  128. package/dist/css/g-utilities.manifest.json +4 -20
  129. package/dist/hooks/use-chat.d.ts +0 -4
  130. package/dist/hooks/use-mcp-http.d.ts +5 -1
  131. package/dist/hooks/use-mcp-http.ts.js +16 -2
  132. package/dist/http/helper/agent.d.ts +1 -13
  133. package/dist/http/helper/agent.ts.js +2 -24
  134. package/dist/http/helper/common.d.ts +1 -13
  135. package/dist/http/helper/common.ts.js +0 -16
  136. package/dist/http/helper/mcp.d.ts +3 -1
  137. package/dist/http/helper/mcp.ts.js +16 -6
  138. package/dist/http/helper/model.ts.js +4 -1
  139. package/dist/http/helper/tool.ts.js +3 -3
  140. package/dist/types/agent.d.ts +0 -14
  141. package/dist/types/common.d.ts +0 -8
  142. package/dist/types/enum.d.ts +4 -0
  143. package/dist/types/enum.ts.js +5 -0
  144. package/dist/types/mcp.d.ts +24 -4
  145. package/dist/types/model.d.ts +6 -0
  146. package/dist/types/tool.d.ts +3 -3
  147. package/package.json +2 -2
  148. package/dist/components/render-card/base/approval-strategy-popover.script.vue.js.js +0 -198
  149. package/dist/components/render-card/base/approval-strategy-popover.vue.d.ts +0 -19
  150. package/dist/components/render-card/base/approval-strategy-popover.vue.js +0 -3
  151. package/dist/components/render-card/mcp/selected-tools-info.script.vue.js.js +0 -156
  152. package/dist/components/render-card/mcp/selected-tools-info.vue.d.ts +0 -26
  153. package/dist/components/render-card/mcp/selected-tools-info.vue.js +0 -3
@@ -1,20 +1,20 @@
1
1
 
2
- .dislike-icon[data-v-sr2plh08] {
2
+ .dislike-icon[data-v-04xlj5on] {
3
3
  transform: rotateX(180deg);
4
4
  }
5
- .option-items[data-v-sr2plh08] {
5
+ .option-items[data-v-04xlj5on] {
6
6
  padding: 1px 8px;
7
7
  background-color: #F0F1F5;
8
8
  line-height: 22px;
9
9
  border-radius: 2px;
10
10
  }
11
- .option-items[data-v-sr2plh08]:hover {
11
+ .option-items[data-v-04xlj5on]:hover {
12
12
  background-color: #E1ECFF;
13
13
  color: #3A84FF;
14
14
  }
15
- .option-items-selected[data-v-sr2plh08]{
15
+ .option-items-selected[data-v-04xlj5on]{
16
16
  background-color: #E1ECFF;
17
17
  }
18
- [data-v-sr2plh08] .bk-form-item {
18
+ [data-v-04xlj5on] .bk-form-item {
19
19
  margin-bottom: 17px;
20
20
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-sr2plh08";
2
+ script.__scopeId = "data-v-04xlj5on";
3
3
  script.__file = "./src/components/render-like/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -49,6 +49,10 @@ const SAFE_COLOR_KEYWORDS = new Set([
49
49
  'pink',
50
50
  'brown'
51
51
  ]);
52
+ const SAFE_ATTRIBUTES = new Set([
53
+ 'data-nodeid',
54
+ 'data-clipboard-text'
55
+ ]);
52
56
  const isSafeCssValue = (value)=>{
53
57
  return !DANGEROUS_CSS_VALUE_RE.test(value);
54
58
  };
@@ -132,7 +136,8 @@ export const escapeHtml = (html)=>{
132
136
  'class'
133
137
  ],
134
138
  i: [
135
- 'class'
139
+ 'class',
140
+ 'title'
136
141
  ],
137
142
  span: [
138
143
  'class',
@@ -201,7 +206,7 @@ export const escapeHtml = (html)=>{
201
206
  ]
202
207
  },
203
208
  onTagAttr (tag, name, value) {
204
- if (name === 'data-nodeid') {
209
+ if (SAFE_ATTRIBUTES.has(name)) {
205
210
  return `${name}="${value}"`;
206
211
  }
207
212
  },
@@ -1,19 +1,24 @@
1
1
  import { defineComponent as _defineComponent } from 'vue';
2
- import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from "vue";
2
+ import { unref as _unref, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from "vue";
3
3
  const _hoisted_1 = {
4
4
  class: "g-flex-row"
5
5
  };
6
6
  const _hoisted_2 = {
7
7
  class: "g-text-14 g-text-gray"
8
8
  };
9
- import { ref } from 'vue';
9
+ import { ref, toRef, watch } from 'vue';
10
+ import RenderInstallGuide from './install-guide.vue.js';
11
+ import { useMcpHttp } from '../../../hooks/use-mcp-http.ts.js';
12
+ import { McpInstallTargetType } from '../../../types/enum.ts.js';
10
13
  export default /*@__PURE__*/ _defineComponent({
11
14
  props: {
12
15
  isShow: {
13
16
  type: Boolean
14
17
  },
18
+ mcpConfig: {},
15
19
  selectedMcp: {},
16
- mcpConfig: {}
20
+ apiPrefix: {},
21
+ spaceId: {}
17
22
  },
18
23
  emits: [
19
24
  "update:isShow"
@@ -21,30 +26,13 @@ export default /*@__PURE__*/ _defineComponent({
21
26
  setup (__props, { emit: __emit }) {
22
27
  const props = __props;
23
28
  const emits = __emit;
24
- const formData = ref({
25
- selectedId: 'Cursor'
26
- });
27
- const formRef = ref(null);
28
- const IDEList = ref([
29
- {
30
- id: 'Cursor',
31
- name: 'Cursor'
32
- }
33
- ]);
29
+ const { getMcpInstallTargets } = useMcpHttp(props.apiPrefix, toRef(props, 'spaceId'));
30
+ const isLoadingInstallTargets = ref(false);
31
+ const installTargets = ref([]);
32
+ const selectedInstallTargetType = ref();
34
33
  const handleClose = ()=>{
35
34
  emits('update:isShow', false);
36
35
  };
37
- const handleConfirm = ()=>{
38
- var _formRef_value;
39
- (_formRef_value = formRef.value) === null || _formRef_value === void 0 ? void 0 : _formRef_value.validate().then(()=>{
40
- handleMcpInstall();
41
- });
42
- };
43
- const handleMcpInstall = ()=>{
44
- if (formData.value.selectedId === IDEList.value[0].id) {
45
- handleCursorInstall();
46
- }
47
- };
48
36
  // 安装至 Cursor
49
37
  const handleCursorInstall = ()=>{
50
38
  const base64Config = btoa(String.fromCharCode(...new TextEncoder().encode(props.mcpConfig)));
@@ -53,15 +41,37 @@ export default /*@__PURE__*/ _defineComponent({
53
41
  config: base64Config
54
42
  });
55
43
  window.open(`cursor://anysphere.cursor-deeplink/mcp/install?${params}`, '_blank');
44
+ };
45
+ const handleConfirm = ()=>{
46
+ if (selectedInstallTargetType.value === McpInstallTargetType.Cursor) {
47
+ handleCursorInstall();
48
+ }
56
49
  handleClose();
57
50
  };
51
+ const handleGetInstallTargets = ()=>{
52
+ isLoadingInstallTargets.value = true;
53
+ getMcpInstallTargets().then((res)=>{
54
+ var _res_;
55
+ installTargets.value = res;
56
+ selectedInstallTargetType.value = (_res_ = res[0]) === null || _res_ === void 0 ? void 0 : _res_.targetType;
57
+ }).finally(()=>{
58
+ isLoadingInstallTargets.value = false;
59
+ });
60
+ };
61
+ watch(()=>props.isShow, (val)=>{
62
+ if (val) {
63
+ handleGetInstallTargets();
64
+ }
65
+ });
58
66
  return (_ctx, _cache)=>{
59
67
  const _component_bk_select = _resolveComponent("bk-select");
60
68
  const _component_bk_form_item = _resolveComponent("bk-form-item");
61
69
  const _component_bk_form = _resolveComponent("bk-form");
62
70
  const _component_bk_dialog = _resolveComponent("bk-dialog");
63
71
  return _openBlock(), _createBlock(_component_bk_dialog, {
72
+ width: 600,
64
73
  "is-show": props.isShow,
74
+ "confirm-text": selectedInstallTargetType.value === _unref(McpInstallTargetType).Cursor ? '安装' : '确认',
65
75
  onClosed: handleClose,
66
76
  onConfirm: handleConfirm
67
77
  }, {
@@ -78,31 +88,49 @@ export default /*@__PURE__*/ _defineComponent({
78
88
  ]),
79
89
  default: _withCtx(()=>[
80
90
  _createVNode(_component_bk_form, {
81
- ref_key: "formRef",
82
- ref: formRef,
83
91
  "form-type": "vertical",
84
- model: formData.value
92
+ class: "g-small-form g-small-gap-form",
93
+ model: {
94
+ selectedInstallTargetType: selectedInstallTargetType.value
95
+ }
85
96
  }, {
86
97
  default: _withCtx(()=>[
87
98
  _createVNode(_component_bk_form_item, {
88
99
  label: "安装至 IDE",
89
- property: "selectedId",
100
+ property: "selectedInstallTargetType",
90
101
  required: ""
91
102
  }, {
92
103
  default: _withCtx(()=>[
93
104
  _createVNode(_component_bk_select, {
94
- modelValue: formData.value.selectedId,
95
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event)=>formData.value.selectedId = $event),
96
- "id-key": "id",
97
- "display-key": "name",
98
- list: IDEList.value
105
+ modelValue: selectedInstallTargetType.value,
106
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event)=>selectedInstallTargetType.value = $event),
107
+ "id-key": "targetType",
108
+ "display-key": "displayName",
109
+ list: installTargets.value,
110
+ loading: isLoadingInstallTargets.value,
111
+ clearable: false
99
112
  }, null, 8 /* PROPS */ , [
100
113
  "modelValue",
101
- "list"
114
+ "list",
115
+ "loading"
102
116
  ])
103
117
  ]),
104
118
  _: 1 /* STABLE */
105
- })
119
+ }),
120
+ selectedInstallTargetType.value ? (_openBlock(), _createBlock(RenderInstallGuide, {
121
+ key: 0,
122
+ "mcp-type": props.selectedMcp.mcpType,
123
+ "mcp-id": props.selectedMcp.id,
124
+ "api-prefix": props.apiPrefix,
125
+ "space-id": props.spaceId,
126
+ "mcp-install-target-type": selectedInstallTargetType.value
127
+ }, null, 8 /* PROPS */ , [
128
+ "mcp-type",
129
+ "mcp-id",
130
+ "api-prefix",
131
+ "space-id",
132
+ "mcp-install-target-type"
133
+ ])) : _createCommentVNode("v-if", true)
106
134
  ]),
107
135
  _: 1 /* STABLE */
108
136
  }, 8 /* PROPS */ , [
@@ -111,7 +139,8 @@ export default /*@__PURE__*/ _defineComponent({
111
139
  ]),
112
140
  _: 1 /* STABLE */
113
141
  }, 8 /* PROPS */ , [
114
- "is-show"
142
+ "is-show",
143
+ "confirm-text"
115
144
  ]);
116
145
  };
117
146
  }
@@ -1,8 +1,10 @@
1
- import { IMcp } from '@/types/mcp';
1
+ import type { IMcp } from '@/types/mcp';
2
2
  interface IProps {
3
3
  isShow: boolean;
4
- selectedMcp: IMcp;
5
4
  mcpConfig?: string;
5
+ selectedMcp: IMcp;
6
+ apiPrefix: string;
7
+ spaceId?: string;
6
8
  }
7
9
  declare const __VLS_export: import("vue").DefineComponent<IProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
8
10
  "update:isShow": (value: boolean) => any;
@@ -0,0 +1,60 @@
1
+ import { defineComponent as _defineComponent } from 'vue';
2
+ import { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, withCtx as _withCtx } from "vue";
3
+ import { ref, toRef, watch } from 'vue';
4
+ import RenderMarkdown from '../../render-markdown/view.ts.js';
5
+ import RenderSearchEmpty from '../../render-search-empty/index.vue.js';
6
+ import { useMcpHttp } from '../../../hooks/use-mcp-http.ts.js';
7
+ export default /*@__PURE__*/ _defineComponent({
8
+ props: {
9
+ apiPrefix: {},
10
+ spaceId: {},
11
+ mcpInstallTargetType: {},
12
+ mcpType: {},
13
+ mcpId: {}
14
+ },
15
+ setup (__props) {
16
+ const props = __props;
17
+ const { getMcpInstallGuide } = useMcpHttp(props.apiPrefix, toRef(props, 'spaceId'));
18
+ const isLoading = ref(false);
19
+ const installGuide = ref('');
20
+ const handleGetInstallGuide = ()=>{
21
+ isLoading.value = true;
22
+ const params = {
23
+ targetType: props.mcpInstallTargetType,
24
+ mcpType: props.mcpType,
25
+ mcpId: props.mcpId
26
+ };
27
+ getMcpInstallGuide(params).then((res)=>{
28
+ installGuide.value = res.markdown;
29
+ }).finally(()=>{
30
+ isLoading.value = false;
31
+ });
32
+ };
33
+ watch(()=>props.mcpInstallTargetType, handleGetInstallGuide, {
34
+ immediate: true
35
+ });
36
+ return (_ctx, _cache)=>{
37
+ const _component_bk_loading = _resolveComponent("bk-loading");
38
+ return _openBlock(), _createBlock(_component_bk_loading, {
39
+ loading: isLoading.value
40
+ }, {
41
+ default: _withCtx(()=>[
42
+ installGuide.value ? (_openBlock(), _createBlock(_unref(RenderMarkdown), {
43
+ key: 0,
44
+ value: installGuide.value,
45
+ padding: "0"
46
+ }, null, 8 /* PROPS */ , [
47
+ "value"
48
+ ])) : !isLoading.value ? (_openBlock(), _createBlock(RenderSearchEmpty, {
49
+ key: 1,
50
+ scene: "part",
51
+ description: "暂无安装指南"
52
+ })) : _createCommentVNode("v-if", true)
53
+ ]),
54
+ _: 1 /* STABLE */
55
+ }, 8 /* PROPS */ , [
56
+ "loading"
57
+ ]);
58
+ };
59
+ }
60
+ });
@@ -0,0 +1,11 @@
1
+ import { McpType } from '@/types/enum';
2
+ interface IProps {
3
+ apiPrefix: string;
4
+ spaceId?: string;
5
+ mcpInstallTargetType?: string;
6
+ mcpType: McpType;
7
+ mcpId: number;
8
+ }
9
+ declare const __VLS_export: import("vue").DefineComponent<IProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<IProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ declare const _default: typeof __VLS_export;
11
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import script from './install-guide.script.vue.js.js';
2
+ script.__file = "./src/components/render-mcp/install/install-guide.vue";
3
+ export default script;
@@ -1,5 +1,5 @@
1
1
 
2
- .resource-card-description[data-v-2fe6dzzu] {
2
+ .resource-card-description[data-v-0bvls7gl] {
3
3
  color: #4D4F56;
4
4
  height: 120px;
5
5
  white-space: pre-wrap;
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-2fe6dzzu";
2
+ script.__scopeId = "data-v-0bvls7gl";
3
3
  script.__file = "./src/components/render-prompt/content/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,8 +1,8 @@
1
1
 
2
- .reference-table[data-v-2slaq5m4]{
2
+ .reference-table[data-v-r11dnu7s]{
3
3
  padding: 18px 24px;
4
4
  }
5
- .bk-radio-button[data-v-2slaq5m4]{
5
+ .bk-radio-button[data-v-r11dnu7s]{
6
6
  flex: 1;
7
7
  text-align: center;
8
8
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js';
2
- script.__scopeId = "data-v-2slaq5m4";
2
+ script.__scopeId = "data-v-r11dnu7s";
3
3
  script.__file = "./src/components/render-reference/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,11 +1,11 @@
1
1
 
2
- .resource-version[data-v-3xd80zha] {
2
+ .resource-version[data-v-qm4bcjxl] {
3
3
  border-radius: 2px;
4
4
  text-align: left;
5
5
  color: #4D4F56;
6
6
  background-color: #F0F1F5;
7
7
  white-space: nowrap;
8
8
  }
9
- .resource-version .bkaidev-rizhifenxi[data-v-3xd80zha] {
9
+ .resource-version .bkaidev-rizhifenxi[data-v-qm4bcjxl] {
10
10
  color: #3A84FF;
11
11
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-3xd80zha";
2
+ script.__scopeId = "data-v-qm4bcjxl";
3
3
  script.__file = "./src/components/render-resource-version/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,12 +1,12 @@
1
1
 
2
- .router-tab[data-v-acu208kr] {
2
+ .router-tab[data-v-grpipa06] {
3
3
  margin-top: 2px;
4
4
  height: 42px;
5
5
  background: #FFFFFF;
6
6
  box-shadow: 0 2px 4px 0 #1919290d;
7
7
  padding: 0 24px;
8
8
  }
9
- .router-tab a[data-v-acu208kr] {
9
+ .router-tab a[data-v-grpipa06] {
10
10
  padding: 0 8px;
11
11
  margin-right: 24px;
12
12
  font-size: 14px;
@@ -15,7 +15,7 @@
15
15
  color: #4D4F56;
16
16
  box-sizing: border-box;
17
17
  }
18
- .router-tab a.router-link-exact-active[data-v-acu208kr] {
18
+ .router-tab a.router-link-exact-active[data-v-grpipa06] {
19
19
  color: #3A84FF;
20
20
  border-bottom: 2px solid #3A84FF;
21
21
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-acu208kr";
2
+ script.__scopeId = "data-v-grpipa06";
3
3
  script.__file = "./src/components/render-router-tab/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,5 +1,5 @@
1
1
 
2
- .select-plus-extension[data-v-ovw55bu5] {
2
+ .select-plus-extension[data-v-lhgb7f4a] {
3
3
  cursor: pointer;
4
4
  width: 100%;
5
5
  display: flex;
@@ -8,10 +8,10 @@
8
8
  font-size: 12px;
9
9
  line-height: 20px;
10
10
  }
11
- .select-plus-extension .ai-ui-sdk-icon[data-v-ovw55bu5] {
11
+ .select-plus-extension .ai-ui-sdk-icon[data-v-lhgb7f4a] {
12
12
  font-size: 14px;
13
13
  margin-right: 6px;
14
14
  }
15
- .select-plus-extension[data-v-ovw55bu5]:hover {
15
+ .select-plus-extension[data-v-lhgb7f4a]:hover {
16
16
  color: #3A84FF;
17
17
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-ovw55bu5";
2
+ script.__scopeId = "data-v-lhgb7f4a";
3
3
  script.__file = "./src/components/render-select-plus-extension/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,12 +1,12 @@
1
1
 
2
- .t-t-pagination[data-v-2lgfoy1s] {
2
+ .t-t-pagination[data-v-0q9zv5ls] {
3
3
  position: relative;
4
4
  padding: 16px 16px 0 16px;
5
5
  }
6
- .t-t-pagination[data-v-2lgfoy1s] .bk-pagination-list.is-last {
6
+ .t-t-pagination[data-v-0q9zv5ls] .bk-pagination-list.is-last {
7
7
  margin-left: auto;
8
8
  }
9
- .pagination-loading[data-v-2lgfoy1s]::after {
9
+ .pagination-loading[data-v-0q9zv5ls]::after {
10
10
  content: '';
11
11
  position: absolute;
12
12
  top: 0;
@@ -16,92 +16,93 @@
16
16
  background-color: rgba(255, 255, 255, 0.6);
17
17
  z-index: 72;
18
18
  }
19
- .pagination-border[data-v-2lgfoy1s] {
19
+ .pagination-border[data-v-0q9zv5ls] {
20
20
  border-right: 1px solid #dcdee5;
21
21
  border-left: 1px solid #dcdee5;
22
22
  border-bottom: 1px solid #dcdee5;
23
23
  padding-bottom: 16px;
24
24
  }
25
- .t-t-table[data-v-2lgfoy1s] {
25
+ .t-t-table[data-v-0q9zv5ls] {
26
26
  display: inline;
27
27
  font-size: 12px;
28
28
  }
29
- .t-t-table[data-v-2lgfoy1s] .t-table__th-cell-inner {
29
+ .t-t-table[data-v-0q9zv5ls] .t-table__th-cell-inner {
30
30
  color: #313238;
31
31
  }
32
- .t-t-table[data-v-2lgfoy1s] th {
32
+ .t-t-table[data-v-0q9zv5ls] th {
33
33
  padding: 0 16px;
34
34
  height: 42px;
35
35
  background-color: #FAFBFD !important;
36
36
  }
37
- .t-t-table[data-v-2lgfoy1s] .t-table__body tr {
37
+ .t-t-table[data-v-0q9zv5ls] .t-table__body tr {
38
38
  color: #63656e;
39
39
  font-size: 12px;
40
40
  }
41
- .t-t-table[data-v-2lgfoy1s] .t-table__body tr td {
41
+ .t-t-table[data-v-0q9zv5ls] .t-table__body tr td {
42
42
  padding: 0 16px;
43
43
  height: 40px;
44
+ background-color: #fff;
44
45
  }
45
- .t-t-table[data-v-2lgfoy1s] .t-table__body tr:hover td {
46
+ .t-t-table[data-v-0q9zv5ls] .t-table__body tr:hover td {
46
47
  background-color: #f5f7fa !important;
47
48
  color: #63656E;
48
49
  }
49
- .t-t-table[data-v-2lgfoy1s] .t-table__content .t-table__body .t-table__empty-row {
50
+ .t-t-table[data-v-0q9zv5ls] .t-table__content .t-table__body .t-table__empty-row {
50
51
  background-color: #fff !important;
51
52
  }
52
- .t-t-table[data-v-2lgfoy1s] .t-table__content .t-table__body .t-table__empty-row >td {
53
+ .t-t-table[data-v-0q9zv5ls] .t-table__content .t-table__body .t-table__empty-row >td {
53
54
  border: none;
54
55
  }
55
- .t-t-table[data-v-2lgfoy1s] th .t-table__ellipsis {
56
+ .t-t-table[data-v-0q9zv5ls] th .t-table__ellipsis {
56
57
  width: auto !important;
57
58
  }
58
- .t-t-table[data-v-2lgfoy1s] .t-loading__gradient.t-icon-loading {
59
+ .t-t-table[data-v-0q9zv5ls] .t-loading__gradient.t-icon-loading {
59
60
  display: none;
60
61
  }
61
- .t-t-table[data-v-2lgfoy1s]:first-of-type .t-table__affixed-header-elm-wrap{
62
+ .t-t-table[data-v-0q9zv5ls]:first-of-type .t-table__affixed-header-elm-wrap{
62
63
  width: calc(100% - 6px) !important;
63
64
  }
64
- .t-t-table[data-v-2lgfoy1s] .t-table__affixed-header-elm-wrap>div {
65
+ .t-t-table[data-v-0q9zv5ls] .t-table__affixed-header-elm-wrap>div {
65
66
  width: 100% !important;
66
67
  scrollbar-width: none;
67
68
  }
68
- .t-t-table[data-v-2lgfoy1s] .t-table--layout-fixed{
69
+ .t-t-table[data-v-0q9zv5ls] .t-table--layout-fixed{
69
70
  width: 100% !important;
70
71
  }
71
- .t-t-table[data-v-2lgfoy1s] .bk-exception-description{
72
+ .t-t-table[data-v-0q9zv5ls] .bk-exception-description{
72
73
  margin-bottom: 0;
73
74
  }
74
- .t-t-table[data-v-2lgfoy1s] .t-table__content{
75
+ .t-t-table[data-v-0q9zv5ls] .t-table__content{
75
76
  z-index: 2;
76
77
  max-height: 100%;
77
78
  overflow: auto;
78
79
  }
79
- .t-t-table[data-v-2lgfoy1s] .t-table__content::-webkit-scrollbar {
80
+ .t-t-table[data-v-0q9zv5ls] .t-table__content::-webkit-scrollbar {
80
81
  width: 6px;
81
82
  height: 6px;
82
83
  }
83
- .t-t-table[data-v-2lgfoy1s] .t-table__content::-webkit-scrollbar-thumb {
84
+ .t-t-table[data-v-0q9zv5ls] .t-table__content::-webkit-scrollbar-thumb {
84
85
  width: 6px;
85
86
  height: 6px;
86
87
  border-radius: 3px;
87
88
  background-color: #dcdee5;
88
89
  }
89
- .t-t-table[data-v-2lgfoy1s] .t-table__content::-webkit-scrollbar-thumb:hover {
90
+ .t-t-table[data-v-0q9zv5ls] .t-table__content::-webkit-scrollbar-thumb:hover {
90
91
  background-color: #979ba5;
91
92
  }
92
- .t-t-table[data-v-2lgfoy1s] .t-table__ellipsis.t-text-ellipsis:has(.checkbox){
93
+ .t-t-table[data-v-0q9zv5ls] .t-table__ellipsis.t-text-ellipsis:has(.checkbox){
93
94
  line-height: 100%;
94
95
  }
95
- .t-t-table[data-v-2lgfoy1s] .t-table__cell--sort-trigger.t-table__double-icons{
96
+ .t-t-table[data-v-0q9zv5ls] .t-table__cell--sort-trigger.t-table__double-icons{
96
97
  gap: 5px;
97
98
  }
98
- .t-t-table[data-v-2lgfoy1s] .t-table__sort-icon--active>i{
99
+ .t-t-table[data-v-0q9zv5ls] .t-table__sort-icon--active>i{
99
100
  color: #3a84ff !important;
100
101
  }
101
- .t-t-table[data-v-2lgfoy1s] .t-table__cell--fixed-left:has(.checkbox){
102
+ .t-t-table[data-v-0q9zv5ls] .t-table__cell--fixed-left:has(.checkbox){
102
103
  line-height: 100%;
103
104
  }
104
- .t-t-table[data-v-2lgfoy1s] .t-table__filter-icon.t-is-focus>span{
105
+ .t-t-table[data-v-0q9zv5ls] .t-table__filter-icon.t-is-focus>span{
105
106
  color: #3a84ff !important;
106
107
  }
107
108
 
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js';
2
- script.__scopeId = "data-v-2lgfoy1s";
2
+ script.__scopeId = "data-v-0q9zv5ls";
3
3
  script.__file = "./src/components/render-t-table/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,28 +1,28 @@
1
1
 
2
- .tag-tree[data-v-nkgebzcn] {
2
+ .tag-tree[data-v-wsb3lib0] {
3
3
  font-size: 12px;
4
4
  height: auto;
5
5
  max-height: calc(100% - 44px);
6
6
  }
7
- .tag-tree .manage-tree-item[data-v-nkgebzcn] {
7
+ .tag-tree .manage-tree-item[data-v-wsb3lib0] {
8
8
  height: 32px;
9
9
  flex: 1;
10
10
  }
11
- .tag-tree .quick-icon[data-v-nkgebzcn] {
11
+ .tag-tree .quick-icon[data-v-wsb3lib0] {
12
12
  margin-left: -24px;
13
13
  padding-left: 8px;
14
14
  }
15
- .tag-tree[data-v-nkgebzcn] .tree-item:has(.bottom-line) {
15
+ .tag-tree[data-v-wsb3lib0] .tree-item:has(.bottom-line) {
16
16
  border-bottom: 1px solid #F0F1F5;
17
17
  }
18
- .tag-tree[data-v-nkgebzcn] .tree-item.active .quick-icon {
18
+ .tag-tree[data-v-wsb3lib0] .tree-item.active .quick-icon {
19
19
  color: #3A84FF;
20
20
  }
21
- .tag-tree[data-v-nkgebzcn] .tree-item.active .tag-number {
21
+ .tag-tree[data-v-wsb3lib0] .tree-item.active .tag-number {
22
22
  background: #A3C5FD;
23
23
  color: #fff;
24
24
  }
25
- .tag-number[data-v-nkgebzcn] {
25
+ .tag-number[data-v-wsb3lib0] {
26
26
  line-height: 16px;
27
27
  padding: 0 4px;
28
28
  background-color: #F0F1F5;
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-nkgebzcn";
2
+ script.__scopeId = "data-v-wsb3lib0";
3
3
  script.__file = "./src/components/render-tag-tree/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;