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

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 (146) hide show
  1. package/dist/components/render-agent/agent-type.vue.css +3 -3
  2. package/dist/components/render-agent/agent-type.vue.js +1 -1
  3. package/dist/components/render-auto-height-textarea/index.vue.css +11 -11
  4. package/dist/components/render-auto-height-textarea/index.vue.js +1 -1
  5. package/dist/components/render-auto-refresh/index.vue.css +8 -8
  6. package/dist/components/render-auto-refresh/index.vue.js +1 -1
  7. package/dist/components/render-card/agent/prefix-info-tool.vue.css +5 -5
  8. package/dist/components/render-card/agent/prefix-info-tool.vue.js +1 -1
  9. package/dist/components/render-card/base/approval-strategy-popover.script.vue.js.js +198 -0
  10. package/dist/components/render-card/base/approval-strategy-popover.vue.d.ts +19 -0
  11. package/dist/components/render-card/base/approval-strategy-popover.vue.js +3 -0
  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.vue.css +2 -2
  17. package/dist/components/render-card/llm/icons.vue.js +1 -1
  18. package/dist/components/render-card/llm/info.vue.css +1 -1
  19. package/dist/components/render-card/llm/info.vue.js +1 -1
  20. package/dist/components/render-card/llm/tag-prefix.vue.css +3 -3
  21. package/dist/components/render-card/llm/tag-prefix.vue.js +1 -1
  22. package/dist/components/render-card/mcp/index.script.vue.js.js +24 -3
  23. package/dist/components/render-card/mcp/index.vue.d.ts +5 -2
  24. package/dist/components/render-card/mcp/name-suffix.vue.css +2 -2
  25. package/dist/components/render-card/mcp/name-suffix.vue.js +1 -1
  26. package/dist/components/render-card/mcp/selected-tools-info.script.vue.js.js +156 -0
  27. package/dist/components/render-card/mcp/selected-tools-info.vue.d.ts +26 -0
  28. package/dist/components/render-card/mcp/selected-tools-info.vue.js +3 -0
  29. package/dist/components/render-card/prompt/icons.vue.css +1 -1
  30. package/dist/components/render-card/prompt/icons.vue.js +1 -1
  31. package/dist/components/render-card/skill/tag-prefix.vue.css +3 -3
  32. package/dist/components/render-card/skill/tag-prefix.vue.js +1 -1
  33. package/dist/components/render-card/tool/index.script.vue.js.js +12 -4
  34. package/dist/components/render-card/tool/index.vue.d.ts +4 -1
  35. package/dist/components/render-card/tool/prefix-info-tool.script.vue.js.js +70 -20
  36. package/dist/components/render-card/tool/prefix-info-tool.vue.d.ts +4 -0
  37. package/dist/components/render-checkbox/index.vue.css +9 -9
  38. package/dist/components/render-checkbox/index.vue.js +1 -1
  39. package/dist/components/render-choose-tag/index.vue.css +7 -7
  40. package/dist/components/render-choose-tag/index.vue.js +1 -1
  41. package/dist/components/render-collapse/index.vue.css +2 -2
  42. package/dist/components/render-collapse/index.vue.js +1 -1
  43. package/dist/components/render-collection/content/index.vue.css +4 -4
  44. package/dist/components/render-collection/content/index.vue.js +1 -1
  45. package/dist/components/render-dataset/components/batch-delete-dataset-data/index.vue.css +3 -3
  46. package/dist/components/render-dataset/components/batch-delete-dataset-data/index.vue.js +1 -1
  47. package/dist/components/render-dataset/components/batch-edit-valid-dataset-data/index.vue.css +1 -1
  48. package/dist/components/render-dataset/components/batch-edit-valid-dataset-data/index.vue.js +1 -1
  49. package/dist/components/render-dataset/components/dataset-data-tool-icons/index.script.vue.js +1 -1
  50. package/dist/components/render-dataset/components/dataset-data-valid/index.vue.css +1 -1
  51. package/dist/components/render-dataset/components/dataset-data-valid/index.vue.js +1 -1
  52. package/dist/components/render-dataset/components/edit-dataset-data/index.vue.css +3 -3
  53. package/dist/components/render-dataset/components/edit-dataset-data/index.vue.js +1 -1
  54. package/dist/components/render-dataset/components/operation-record/index.vue.css +4 -4
  55. package/dist/components/render-dataset/components/operation-record/index.vue.js +1 -1
  56. package/dist/components/render-dataset/components/operation-record/table/index.vue.css +1 -1
  57. package/dist/components/render-dataset/components/operation-record/table/index.vue.js +1 -1
  58. package/dist/components/render-dataset/components/operation-record/view-op-result/index.vue.css +2 -2
  59. package/dist/components/render-dataset/components/operation-record/view-op-result/index.vue.js +1 -1
  60. package/dist/components/render-dataset/components/plus-dataset/index.vue.css +2 -2
  61. package/dist/components/render-dataset/components/plus-dataset/index.vue.js +1 -1
  62. package/dist/components/render-dataset/components/plus-dataset-data/form/api.vue.css +2 -2
  63. package/dist/components/render-dataset/components/plus-dataset-data/form/api.vue.js +1 -1
  64. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.vue.css +1 -1
  65. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.vue.js +1 -1
  66. package/dist/components/render-dataset/components/plus-dataset-data/form/index.vue.css +2 -2
  67. package/dist/components/render-dataset/components/plus-dataset-data/form/index.vue.js +1 -1
  68. package/dist/components/render-dataset/components/review-dataset-data/index.vue.css +10 -10
  69. package/dist/components/render-dataset/components/review-dataset-data/index.vue.js +1 -1
  70. package/dist/components/render-dataset-detail-origin-data/index.vue.css +3 -3
  71. package/dist/components/render-dataset-detail-origin-data/index.vue.js +1 -1
  72. package/dist/components/render-dataset-list/components/main.vue.css +3 -3
  73. package/dist/components/render-dataset-list/components/main.vue.js +1 -1
  74. package/dist/components/render-dataset-list/index.vue.css +2 -2
  75. package/dist/components/render-dataset-list/index.vue.js +1 -1
  76. package/dist/components/render-dialog/choose-resource.vue.css +3 -3
  77. package/dist/components/render-dialog/choose-resource.vue.js +1 -1
  78. package/dist/components/render-dialog/choose-result.vue.css +14 -14
  79. package/dist/components/render-dialog/choose-result.vue.js +1 -1
  80. package/dist/components/render-dialog/choose-space.vue.css +9 -9
  81. package/dist/components/render-dialog/choose-space.vue.js +1 -1
  82. package/dist/components/render-dialog/index.script.vue.js +2 -1
  83. package/dist/components/render-dialog/index.vue.css +6 -6
  84. package/dist/components/render-dialog/index.vue.js +1 -1
  85. package/dist/components/render-file-card/index.vue.css +11 -11
  86. package/dist/components/render-file-card/index.vue.js +1 -1
  87. package/dist/components/render-file-type-icon/index.vue.css +6 -6
  88. package/dist/components/render-file-type-icon/index.vue.js +1 -1
  89. package/dist/components/render-generate-tag/index.vue.css +5 -5
  90. package/dist/components/render-generate-tag/index.vue.js +1 -1
  91. package/dist/components/render-header/index.vue.css +3 -3
  92. package/dist/components/render-header/index.vue.js +1 -1
  93. package/dist/components/render-knowledge/icon/index.vue.css +1 -1
  94. package/dist/components/render-knowledge/icon/index.vue.js +1 -1
  95. package/dist/components/render-like/index.vue.css +5 -5
  96. package/dist/components/render-like/index.vue.js +1 -1
  97. package/dist/components/render-markdown/filter-css.ts.js +5 -0
  98. package/dist/components/render-markdown/view.ts.js +3 -0
  99. package/dist/components/render-prompt/content/index.vue.css +1 -1
  100. package/dist/components/render-prompt/content/index.vue.js +1 -1
  101. package/dist/components/render-reference/index.vue.css +2 -2
  102. package/dist/components/render-reference/index.vue.js +1 -1
  103. package/dist/components/render-resource-version/index.vue.css +2 -2
  104. package/dist/components/render-resource-version/index.vue.js +1 -1
  105. package/dist/components/render-router-tab/index.vue.css +3 -3
  106. package/dist/components/render-router-tab/index.vue.js +1 -1
  107. package/dist/components/render-select-plus-extension/index.vue.css +3 -3
  108. package/dist/components/render-select-plus-extension/index.vue.js +1 -1
  109. package/dist/components/render-skill/install/index.script.vue.js.js +28 -10
  110. package/dist/components/render-skill/install/{openclaw-linux-guide.script.vue.js.js → install-guide.script.vue.js.js} +10 -4
  111. package/dist/components/render-skill/install/{openclaw-linux-guide.vue.d.ts → install-guide.vue.d.ts} +2 -0
  112. package/dist/components/render-skill/install/install-guide.vue.js +3 -0
  113. package/dist/components/render-skill/install/openclaw-windows-instances.script.vue.js.js +22 -9
  114. package/dist/components/render-t-table/index.vue.css +27 -28
  115. package/dist/components/render-t-table/index.vue.js +1 -1
  116. package/dist/components/render-tag-tree/index.vue.css +7 -7
  117. package/dist/components/render-tag-tree/index.vue.js +1 -1
  118. package/dist/components/render-tags/index.vue.css +6 -6
  119. package/dist/components/render-tags/index.vue.js +1 -1
  120. package/dist/components.d.ts +3 -1
  121. package/dist/components.ts.js +3 -1
  122. package/dist/css/fonts/iconcool.eot +0 -0
  123. package/dist/css/fonts/iconcool.ttf +0 -0
  124. package/dist/css/fonts/iconcool.woff +0 -0
  125. package/dist/css/g-utilities.css +114 -0
  126. package/dist/css/g-utilities.manifest.json +23 -0
  127. package/dist/hooks/use-chat.d.ts +4 -0
  128. package/dist/hooks/use-skill-http.d.ts +2 -2
  129. package/dist/hooks/use-skill-http.ts.js +2 -2
  130. package/dist/http/helper/agent.d.ts +13 -1
  131. package/dist/http/helper/agent.ts.js +24 -2
  132. package/dist/http/helper/common.d.ts +13 -1
  133. package/dist/http/helper/common.ts.js +16 -0
  134. package/dist/http/helper/mcp.ts.js +5 -5
  135. package/dist/http/helper/skill.d.ts +2 -1
  136. package/dist/http/helper/skill.ts.js +3 -0
  137. package/dist/http/helper/tool.ts.js +3 -3
  138. package/dist/types/agent.d.ts +14 -0
  139. package/dist/types/common.d.ts +8 -0
  140. package/dist/types/enum.d.ts +2 -1
  141. package/dist/types/enum.ts.js +1 -0
  142. package/dist/types/mcp.d.ts +3 -3
  143. package/dist/types/skill.d.ts +6 -0
  144. package/dist/types/tool.d.ts +3 -3
  145. package/package.json +2 -2
  146. package/dist/components/render-skill/install/openclaw-linux-guide.vue.js +0 -3
@@ -1,15 +1,15 @@
1
1
 
2
- .agent-type[data-v-pofi0abt] {
2
+ .agent-type[data-v-1d7f69gi] {
3
3
  display: inline-block;
4
4
  border-radius: 2px;
5
5
  text-align: left;
6
6
  white-space: nowrap;
7
7
  }
8
- .agent-type.single[data-v-pofi0abt] {
8
+ .agent-type.single[data-v-1d7f69gi] {
9
9
  color: #1768EF;
10
10
  background-color: #E1ECFF;
11
11
  }
12
- .agent-type.flow[data-v-pofi0abt] {
12
+ .agent-type.flow[data-v-1d7f69gi] {
13
13
  color: #E38B02;
14
14
  background: #FDEED8;
15
15
  }
@@ -1,5 +1,5 @@
1
1
  import script from './agent-type.script.vue.js.js';
2
- script.__scopeId = "data-v-pofi0abt";
2
+ script.__scopeId = "data-v-1d7f69gi";
3
3
  script.__file = "./src/components/render-agent/agent-type.vue";
4
4
  import './agent-type.vue.css';
5
5
  export default script;
@@ -1,40 +1,40 @@
1
1
 
2
- .send-container[data-v-tfrf409w] {
2
+ .send-container[data-v-sdlyj3lv] {
3
3
  position: relative;
4
4
  }
5
- .send-container[data-v-tfrf409w]:has(textarea:focus) {
5
+ .send-container[data-v-sdlyj3lv]:has(textarea:focus) {
6
6
  z-index: 2;
7
7
  }
8
- .send-container:hover .send-clear[data-v-tfrf409w] {
8
+ .send-container:hover .send-clear[data-v-sdlyj3lv] {
9
9
  display: inline-flex !important;
10
10
  }
11
- .send-input[data-v-tfrf409w] {
11
+ .send-input[data-v-sdlyj3lv] {
12
12
  width: 100%;
13
13
  flex-direction: row;
14
14
  height: var(--origin-height);
15
15
  }
16
- .send-input[data-v-tfrf409w]:has(textarea:focus) {
16
+ .send-input[data-v-sdlyj3lv]:has(textarea:focus) {
17
17
  height: var(--text-height);
18
18
  }
19
- .send-input[data-v-tfrf409w] textarea {
19
+ .send-input[data-v-sdlyj3lv] textarea {
20
20
  font-size: 12px;
21
21
  line-height: 16px;
22
22
  padding: 7px;
23
23
  resize: none !important;
24
24
  }
25
- .send-input[data-v-tfrf409w] textarea::-webkit-scrollbar {
25
+ .send-input[data-v-sdlyj3lv] textarea::-webkit-scrollbar {
26
26
  width: 4px;
27
27
  height: 4px;
28
28
  }
29
- .send-input[data-v-tfrf409w] textarea::-webkit-scrollbar-thumb {
29
+ .send-input[data-v-sdlyj3lv] textarea::-webkit-scrollbar-thumb {
30
30
  height: 5px;
31
31
  border-radius: 3px;
32
32
  background-color: #dcdee5;
33
33
  }
34
- .send-input[data-v-tfrf409w] textarea::placeholder {
34
+ .send-input[data-v-sdlyj3lv] textarea::placeholder {
35
35
  line-height: 16px;
36
36
  }
37
- .send-clear[data-v-tfrf409w] {
37
+ .send-clear[data-v-sdlyj3lv] {
38
38
  display: none !important;
39
39
  position: absolute;
40
40
  right: 10px;
@@ -43,6 +43,6 @@
43
43
  font-size: 14px;
44
44
  cursor: pointer;
45
45
  }
46
- .send-clear[data-v-tfrf409w]:hover {
46
+ .send-clear[data-v-sdlyj3lv]:hover {
47
47
  color: #313238;
48
48
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-tfrf409w";
2
+ script.__scopeId = "data-v-sdlyj3lv";
3
3
  script.__file = "./src/components/render-auto-height-textarea/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,12 +1,12 @@
1
1
 
2
- .auto-refresh[data-v-apx48x7s] {
2
+ .auto-refresh[data-v-6fxaql29] {
3
3
  position: relative;
4
4
  cursor: pointer;
5
5
  line-height: 26px;
6
6
  padding: 0 4px;
7
7
  white-space: nowrap;
8
8
  }
9
- .auto-refresh[data-v-apx48x7s]:after {
9
+ .auto-refresh[data-v-6fxaql29]:after {
10
10
  content: '';
11
11
  position: absolute;
12
12
  top: 5px;
@@ -16,31 +16,31 @@
16
16
  background-color: #dcdee5;
17
17
  z-index: 1;
18
18
  }
19
- .auto-refresh[data-v-apx48x7s]:hover {
19
+ .auto-refresh[data-v-6fxaql29]:hover {
20
20
  color: #3A84FF;
21
21
  background-color: #E1ECFF;
22
22
  }
23
- .refresh[data-v-apx48x7s] {
23
+ .refresh[data-v-6fxaql29] {
24
24
  cursor: pointer;
25
25
  line-height: 26px;
26
26
  padding: 0 4px;
27
27
  }
28
- .refresh[data-v-apx48x7s]:hover {
28
+ .refresh[data-v-6fxaql29]:hover {
29
29
  color: #3A84FF;
30
30
  background-color: #E1ECFF;
31
31
  }
32
- .textarea-list[data-v-apx48x7s] {
32
+ .textarea-list[data-v-6fxaql29] {
33
33
  padding: 4px 0;
34
34
  line-height: 32px;
35
35
  max-height: 300px;
36
36
  position: relative;
37
37
  z-index: 2;
38
38
  }
39
- .textarea-list .textarea-item[data-v-apx48x7s] {
39
+ .textarea-list .textarea-item[data-v-6fxaql29] {
40
40
  padding: 0 12px;
41
41
  cursor: pointer;
42
42
  }
43
- .textarea-list .textarea-item[data-v-apx48x7s]:hover {
43
+ .textarea-list .textarea-item[data-v-6fxaql29]:hover {
44
44
  background: #E1ECFF;
45
45
  color: #3A84FF;
46
46
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-apx48x7s";
2
+ script.__scopeId = "data-v-6fxaql29";
3
3
  script.__file = "./src/components/render-auto-refresh/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,10 +1,10 @@
1
1
 
2
- .command-number[data-v-6lou5awu] {
2
+ .command-number[data-v-dtukoscg] {
3
3
  width: 24px;
4
4
  border-radius: 2px;
5
5
  background: #A3C5FD;
6
6
  }
7
- .delete-icon[data-v-6lou5awu] {
7
+ .delete-icon[data-v-dtukoscg] {
8
8
  width: 18px;
9
9
  height: 17px;
10
10
  background: #C4C6CC;
@@ -12,7 +12,7 @@
12
12
  top: 0;
13
13
  right: 0;
14
14
  }
15
- .li-content[data-v-6lou5awu] {
15
+ .li-content[data-v-dtukoscg] {
16
16
  width: 220px;
17
17
  border: 1px solid #DCDEE5;
18
18
  border-radius: 12px;
@@ -20,9 +20,9 @@
20
20
  margin-left: 15px;
21
21
  padding: 0 10px;
22
22
  }
23
- .confirm-button[data-v-6lou5awu] {
23
+ .confirm-button[data-v-dtukoscg] {
24
24
  margin: 0 8px 0 68px;
25
25
  }
26
- .command-name-text[data-v-6lou5awu] {
26
+ .command-name-text[data-v-dtukoscg] {
27
27
  max-width: 165px;
28
28
  }
@@ -1,5 +1,5 @@
1
1
  import script from './prefix-info-tool.script.vue.js.js';
2
- script.__scopeId = "data-v-6lou5awu";
2
+ script.__scopeId = "data-v-dtukoscg";
3
3
  script.__file = "./src/components/render-card/agent/prefix-info-tool.vue";
4
4
  import './prefix-info-tool.vue.css';
5
5
  export default script;
@@ -0,0 +1,198 @@
1
+ import { defineComponent as _defineComponent } from 'vue';
2
+ import { normalizeClass as _normalizeClass, resolveDirective as _resolveDirective, createElementVNode as _createElementVNode, withDirectives as _withDirectives, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, withCtx as _withCtx, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode } from "vue";
3
+ const _hoisted_1 = {
4
+ class: "g-pt-12 g-pr-16 g-pl-12 g-flex g-items-center g-justify-between g-mb-12"
5
+ };
6
+ const _hoisted_2 = {
7
+ class: "g-flex g-items-center g-gap-4"
8
+ };
9
+ const _hoisted_3 = {
10
+ key: 1,
11
+ class: "g-pl-16 g-pr-16 g-pb-12"
12
+ };
13
+ const _hoisted_4 = {
14
+ key: 0,
15
+ class: "g-flex g-flex-col g-items-start g-gap-8 g-mt-12"
16
+ };
17
+ const _hoisted_5 = {
18
+ class: "g-flex g-flex-wrap g-gap-4"
19
+ };
20
+ const _hoisted_6 = {
21
+ key: 2,
22
+ class: "g-pl-16 g-text-12 g-text-normal g-mb-12"
23
+ };
24
+ const _hoisted_7 = {
25
+ class: "g-font-bold"
26
+ };
27
+ import { ref } from 'vue';
28
+ import { isEmpty } from '../../../common/util.ts.js';
29
+ export default /*@__PURE__*/ _defineComponent({
30
+ props: {
31
+ approvalEnabled: {
32
+ type: Boolean
33
+ },
34
+ approvalStrategyId: {},
35
+ approvalSettings: {},
36
+ toolName: {},
37
+ disabled: {
38
+ type: Boolean
39
+ },
40
+ disabledText: {},
41
+ placement: {},
42
+ extCls: {}
43
+ },
44
+ emits: [
45
+ "confirm"
46
+ ],
47
+ setup (__props, { emit: __emit }) {
48
+ const props = __props;
49
+ const emits = __emit;
50
+ const renderEnabled = ref();
51
+ const renderApprovalStrategyId = ref();
52
+ const getTooltipContent = ()=>{
53
+ if (props.disabled) return props.disabledText;
54
+ return '配置审批策略';
55
+ };
56
+ const getIconClass = ()=>{
57
+ const baseClass = 'g-text-16 g-flex-shrink-0';
58
+ const extCls = props.extCls || '';
59
+ if (props.disabled) {
60
+ return `${baseClass} ai-ui-sdk-icon ai-ui-sdk-shenpi g-text-gray !g-disabled ${extCls}`;
61
+ }
62
+ if (props.approvalEnabled) {
63
+ return `${baseClass} ai-ui-sdk-icon ai-ui-sdk-yishenpi g-cursor-pointer g-text-green ${extCls}`;
64
+ }
65
+ return `${baseClass} ai-ui-sdk-icon ai-ui-sdk-shenpi g-text-gray g-cursor-pointer hover:!g-text-blue ${extCls}`;
66
+ };
67
+ const getSelectedApprovers = ()=>{
68
+ var _props_approvalSettings;
69
+ const strategy = (_props_approvalSettings = props.approvalSettings) === null || _props_approvalSettings === void 0 ? void 0 : _props_approvalSettings.find((approvalStrategySetting)=>approvalStrategySetting.strategyId === renderApprovalStrategyId.value);
70
+ return strategy === null || strategy === void 0 ? void 0 : strategy.approvers;
71
+ };
72
+ const getDefaultStrategyId = ()=>{
73
+ var _props_approvalSettings;
74
+ const defaultStrategy = (_props_approvalSettings = props.approvalSettings) === null || _props_approvalSettings === void 0 ? void 0 : _props_approvalSettings.find((approvalStrategySetting)=>approvalStrategySetting.isDefault);
75
+ return defaultStrategy === null || defaultStrategy === void 0 ? void 0 : defaultStrategy.strategyId;
76
+ };
77
+ const handleShow = ()=>{
78
+ renderEnabled.value = !!props.approvalEnabled;
79
+ renderApprovalStrategyId.value = props.approvalStrategyId || getDefaultStrategyId();
80
+ };
81
+ const handleConfirm = ()=>{
82
+ emits('confirm', {
83
+ approvalEnabled: renderEnabled.value,
84
+ approvalStrategyId: renderEnabled.value ? renderApprovalStrategyId.value : ''
85
+ });
86
+ };
87
+ return (_ctx, _cache)=>{
88
+ const _component_bk_switcher = _resolveComponent("bk-switcher");
89
+ const _component_bk_alert = _resolveComponent("bk-alert");
90
+ const _component_bk_option = _resolveComponent("bk-option");
91
+ const _component_bk_select = _resolveComponent("bk-select");
92
+ const _component_bk_tag = _resolveComponent("bk-tag");
93
+ const _component_bk_pop_confirm = _resolveComponent("bk-pop-confirm");
94
+ const _directive_bk_tooltips = _resolveDirective("bk-tooltips");
95
+ return _openBlock(), _createBlock(_component_bk_pop_confirm, {
96
+ "ext-cls": "empty-padding g-popover-confirm",
97
+ theme: "light",
98
+ trigger: "click",
99
+ arrow: "true",
100
+ width: "422",
101
+ placement: __props.placement,
102
+ disabled: props.disabled,
103
+ onConfirm: handleConfirm,
104
+ onAfterShow: handleShow
105
+ }, {
106
+ content: _withCtx(()=>[
107
+ _createElementVNode("section", _hoisted_1, [
108
+ _cache[3] || (_cache[3] = _createElementVNode("span", {
109
+ class: "g-text-14 g-font-bold g-text-black"
110
+ }, "配置审批策略", -1 /* CACHED */ )),
111
+ _createElementVNode("section", _hoisted_2, [
112
+ _createVNode(_component_bk_switcher, {
113
+ modelValue: renderEnabled.value,
114
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event)=>renderEnabled.value = $event),
115
+ size: "small",
116
+ theme: "primary"
117
+ }, null, 8 /* PROPS */ , [
118
+ "modelValue"
119
+ ]),
120
+ _cache[2] || (_cache[2] = _createElementVNode("span", {
121
+ class: "g-text-12 g-text-gray"
122
+ }, "开启审批", -1 /* CACHED */ ))
123
+ ])
124
+ ]),
125
+ renderEnabled.value ? (_openBlock(), _createBlock(_component_bk_alert, {
126
+ key: 0,
127
+ class: "g-ml-16 g-mr-16 g-mb-12",
128
+ closable: "",
129
+ theme: "info",
130
+ title: "资源被调用时,自动生成相关审批单,审批通过后可继续执行"
131
+ })) : _createCommentVNode("v-if", true),
132
+ renderEnabled.value ? (_openBlock(), _createElementBlock("section", _hoisted_3, [
133
+ _createVNode(_component_bk_select, {
134
+ modelValue: renderApprovalStrategyId.value,
135
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event)=>renderApprovalStrategyId.value = $event),
136
+ class: "g-flex-1 !g-w-full",
137
+ prefix: "策略",
138
+ clearable: false
139
+ }, {
140
+ default: _withCtx(()=>[
141
+ (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(__props.approvalSettings, (strategy)=>{
142
+ return _openBlock(), _createBlock(_component_bk_option, {
143
+ key: strategy.strategyId,
144
+ label: strategy.approvalName,
145
+ value: strategy.strategyId
146
+ }, null, 8 /* PROPS */ , [
147
+ "label",
148
+ "value"
149
+ ]);
150
+ }), 128 /* KEYED_FRAGMENT */ ))
151
+ ]),
152
+ _: 1 /* STABLE */
153
+ }, 8 /* PROPS */ , [
154
+ "modelValue"
155
+ ]),
156
+ !_unref(isEmpty)(getSelectedApprovers()) ? (_openBlock(), _createElementBlock("section", _hoisted_4, [
157
+ _cache[4] || (_cache[4] = _createElementVNode("label", {
158
+ class: "g-flex-shrink-0 g-text-12 g-text-black"
159
+ }, "审批人:", -1 /* CACHED */ )),
160
+ _createElementVNode("section", _hoisted_5, [
161
+ (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(getSelectedApprovers(), (approver)=>{
162
+ return _openBlock(), _createBlock(_component_bk_tag, {
163
+ key: approver
164
+ }, {
165
+ default: _withCtx(()=>[
166
+ _createTextVNode(_toDisplayString(approver), 1 /* TEXT */ )
167
+ ]),
168
+ _: 2 /* DYNAMIC */
169
+ }, 1024 /* DYNAMIC_SLOTS */ );
170
+ }), 128 /* KEYED_FRAGMENT */ ))
171
+ ])
172
+ ])) : _createCommentVNode("v-if", true)
173
+ ])) : (_openBlock(), _createElementBlock("section", _hoisted_6, [
174
+ _createElementVNode("span", _hoisted_7, _toDisplayString(__props.toolName), 1 /* TEXT */ ),
175
+ _cache[5] || (_cache[5] = _createTextVNode("未开启审批功能 ", -1 /* CACHED */ ))
176
+ ]))
177
+ ]),
178
+ default: _withCtx(()=>[
179
+ _withDirectives(_createElementVNode("i", {
180
+ class: _normalizeClass(getIconClass())
181
+ }, null, 2 /* CLASS */ ), [
182
+ [
183
+ _directive_bk_tooltips,
184
+ {
185
+ content: getTooltipContent(),
186
+ placement: 'top'
187
+ }
188
+ ]
189
+ ])
190
+ ]),
191
+ _: 1 /* STABLE */
192
+ }, 8 /* PROPS */ , [
193
+ "placement",
194
+ "disabled"
195
+ ]);
196
+ };
197
+ }
198
+ });
@@ -0,0 +1,19 @@
1
+ import type { IApprovalSetting } from '@/types/agent';
2
+ import type { IApprovalSettingValue } from '@/types/common';
3
+ interface IProps {
4
+ approvalEnabled?: boolean;
5
+ approvalStrategyId?: string;
6
+ approvalSettings: IApprovalSetting[];
7
+ toolName?: string;
8
+ disabled?: boolean;
9
+ disabledText?: string;
10
+ placement?: string;
11
+ extCls?: string;
12
+ }
13
+ declare const __VLS_export: import("vue").DefineComponent<IProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
14
+ confirm: (data: IApprovalSettingValue) => any;
15
+ }, string, import("vue").PublicProps, Readonly<IProps> & Readonly<{
16
+ onConfirm?: (data: IApprovalSettingValue) => any;
17
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
+ declare const _default: typeof __VLS_export;
19
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import script from './approval-strategy-popover.script.vue.js.js';
2
+ script.__file = "./src/components/render-card/base/approval-strategy-popover.vue";
3
+ export default script;
@@ -1,53 +1,53 @@
1
1
 
2
- .resource-card-home[data-v-cb8j0fiz] {
2
+ .resource-card-home[data-v-z3sjwtlz] {
3
3
  background: #FFFFFF;
4
4
  }
5
- .resource-card-home .resource-card-sub-name[data-v-cb8j0fiz] {
5
+ .resource-card-home .resource-card-sub-name[data-v-z3sjwtlz] {
6
6
  margin-right: -4px;
7
7
  }
8
- .resource-card-home.full[data-v-cb8j0fiz], .resource-card-home.application[data-v-cb8j0fiz], .resource-card-home.market[data-v-cb8j0fiz] {
8
+ .resource-card-home.full[data-v-z3sjwtlz], .resource-card-home.application[data-v-z3sjwtlz], .resource-card-home.market[data-v-z3sjwtlz] {
9
9
  padding: 16px 16px 0;
10
10
  box-shadow: 0 2px 4px 0 #0000000d;
11
11
  border-radius: 8px;
12
12
  }
13
- .resource-card-home.full[data-v-cb8j0fiz]:hover, .resource-card-home.application[data-v-cb8j0fiz]:hover, .resource-card-home.market[data-v-cb8j0fiz]:hover {
13
+ .resource-card-home.full[data-v-z3sjwtlz]:hover, .resource-card-home.application[data-v-z3sjwtlz]:hover, .resource-card-home.market[data-v-z3sjwtlz]:hover {
14
14
  box-shadow: 0 2px 10px 0 #0000001f;
15
15
  }
16
- .resource-card-home.full .resource-card-name[data-v-cb8j0fiz], .resource-card-home.application .resource-card-name[data-v-cb8j0fiz], .resource-card-home.market .resource-card-name[data-v-cb8j0fiz] {
16
+ .resource-card-home.full .resource-card-name[data-v-z3sjwtlz], .resource-card-home.application .resource-card-name[data-v-z3sjwtlz], .resource-card-home.market .resource-card-name[data-v-z3sjwtlz] {
17
17
  font-size: 14px;
18
18
  color: #313238;
19
19
  font-weight: bold;
20
20
  }
21
- .resource-card-home.full .resource-card-description[data-v-cb8j0fiz], .resource-card-home.application .resource-card-description[data-v-cb8j0fiz], .resource-card-home.market .resource-card-description[data-v-cb8j0fiz] {
21
+ .resource-card-home.full .resource-card-description[data-v-z3sjwtlz], .resource-card-home.application .resource-card-description[data-v-z3sjwtlz], .resource-card-home.market .resource-card-description[data-v-z3sjwtlz] {
22
22
  color: #4D4F56;
23
23
  height: 60px;
24
24
  white-space: pre-wrap;
25
25
  word-break: break-all;
26
26
  }
27
- .resource-card-home.choose[data-v-cb8j0fiz] {
27
+ .resource-card-home.choose[data-v-z3sjwtlz] {
28
28
  padding: 10px 12px 0;
29
29
  border: 1px solid #DCDEE5;
30
30
  border-radius: 4px;
31
31
  }
32
- .resource-card-home.choose .resource-card-name[data-v-cb8j0fiz] {
32
+ .resource-card-home.choose .resource-card-name[data-v-z3sjwtlz] {
33
33
  font-size: 14px;
34
34
  color: #000000;
35
35
  font-weight: bold;
36
36
  }
37
- .resource-card-home.choose .resource-card-description[data-v-cb8j0fiz] {
37
+ .resource-card-home.choose .resource-card-description[data-v-z3sjwtlz] {
38
38
  color: #4D4F56;
39
39
  height: 20px;
40
40
  }
41
- .resource-card-home.info[data-v-cb8j0fiz],.resource-card-home.record[data-v-cb8j0fiz] {
41
+ .resource-card-home.info[data-v-z3sjwtlz],.resource-card-home.record[data-v-z3sjwtlz] {
42
42
  padding: 10px 12px;
43
43
  border: 1px solid #DCDEE5;
44
44
  border-radius: 4px;
45
45
  }
46
- .resource-card-home.info .resource-card-name[data-v-cb8j0fiz], .resource-card-home.record .resource-card-name[data-v-cb8j0fiz] {
46
+ .resource-card-home.info .resource-card-name[data-v-z3sjwtlz], .resource-card-home.record .resource-card-name[data-v-z3sjwtlz] {
47
47
  font-size: 12px;
48
48
  color: #313238;
49
49
  }
50
- .resource-card-actions[data-v-cb8j0fiz] {
50
+ .resource-card-actions[data-v-z3sjwtlz] {
51
51
  border-top: 1px solid #F5F7FA;
52
52
  height: 58px;
53
53
  gap: 0 8px;
@@ -1,5 +1,5 @@
1
1
  import script from './base.script.vue.js';
2
- script.__scopeId = "data-v-cb8j0fiz";
2
+ script.__scopeId = "data-v-z3sjwtlz";
3
3
  script.__file = "./src/components/render-card/base.vue";
4
4
  import './base.vue.css';
5
5
  export default script;
@@ -1,5 +1,5 @@
1
1
 
2
- .llm-corner-badge[data-v-dppuikky] {
2
+ .llm-corner-badge[data-v-p0drumi0] {
3
3
  top: 0;
4
4
  right: 0;
5
5
  width: 48px;
@@ -8,10 +8,10 @@
8
8
  clip-path: polygon(100% 0, 0 0, 100% 100%);
9
9
  border-radius: 0 8px;
10
10
  }
11
- .llm-corner-badge[data-v-dppuikky]:hover {
11
+ .llm-corner-badge[data-v-p0drumi0]:hover {
12
12
  background: linear-gradient(142.7deg, #fdf4e8 0%, #e5a239 100%);
13
13
  }
14
- .llm-corner-badge-text[data-v-dppuikky] {
14
+ .llm-corner-badge-text[data-v-p0drumi0] {
15
15
  top: 8px;
16
16
  right: 0;
17
17
  transform: rotate(45deg);
@@ -1,5 +1,5 @@
1
1
  import script from './corner-badge.script.vue.js';
2
- script.__scopeId = "data-v-dppuikky";
2
+ script.__scopeId = "data-v-p0drumi0";
3
3
  script.__file = "./src/components/render-card/llm/corner-badge.vue";
4
4
  import './corner-badge.vue.css';
5
5
  export default script;
@@ -1,7 +1,7 @@
1
1
 
2
- .like-button:hover .ai-ui-sdk-icon[data-v-tdf8ryf4], .like-button:hover span[data-v-tdf8ryf4] {
2
+ .like-button:hover .ai-ui-sdk-icon[data-v-l7kfzjgl], .like-button:hover span[data-v-l7kfzjgl] {
3
3
  color: #3A84FF !important;
4
4
  }
5
- .dislike-button:hover .ai-ui-sdk-icon[data-v-tdf8ryf4], .dislike-button:hover span[data-v-tdf8ryf4], .dislike-button:active .ai-ui-sdk-icon[data-v-tdf8ryf4], .dislike-button:active span[data-v-tdf8ryf4] {
5
+ .dislike-button:hover .ai-ui-sdk-icon[data-v-l7kfzjgl], .dislike-button:hover span[data-v-l7kfzjgl], .dislike-button:active .ai-ui-sdk-icon[data-v-l7kfzjgl], .dislike-button:active span[data-v-l7kfzjgl] {
6
6
  color: #EA3636 !important;
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import script from './icons.script.vue.js.js';
2
- script.__scopeId = "data-v-tdf8ryf4";
2
+ script.__scopeId = "data-v-l7kfzjgl";
3
3
  script.__file = "./src/components/render-card/llm/icons.vue";
4
4
  import './icons.vue.css';
5
5
  export default script;
@@ -1,5 +1,5 @@
1
1
 
2
- .llm-info[data-v-fwhw6kb1] {
2
+ .llm-info[data-v-ebbyv176] {
3
3
  background: #F5F7FA;
4
4
  border-radius: 2px;
5
5
  padding: 8px;
@@ -1,5 +1,5 @@
1
1
  import script from './info.script.vue.js.js';
2
- script.__scopeId = "data-v-fwhw6kb1";
2
+ script.__scopeId = "data-v-ebbyv176";
3
3
  script.__file = "./src/components/render-card/llm/info.vue";
4
4
  import './info.vue.css';
5
5
  export default script;
@@ -1,12 +1,12 @@
1
1
 
2
- .tag-item[data-v-0u0uvtc4] {
2
+ .tag-item[data-v-aciq69rf] {
3
3
  padding: 0 4px;
4
4
  }
5
- .tag-external[data-v-0u0uvtc4] {
5
+ .tag-external[data-v-aciq69rf] {
6
6
  color: #636a2f;
7
7
  background: #EAEFC6;
8
8
  }
9
- .tag-public[data-v-0u0uvtc4], .tag-private[data-v-0u0uvtc4] {
9
+ .tag-public[data-v-aciq69rf], .tag-private[data-v-aciq69rf] {
10
10
  color: #3a84ff;
11
11
  background: #e1ecff;
12
12
  }
@@ -1,5 +1,5 @@
1
1
  import script from './tag-prefix.script.vue.js.js';
2
- script.__scopeId = "data-v-0u0uvtc4";
2
+ script.__scopeId = "data-v-aciq69rf";
3
3
  script.__file = "./src/components/render-card/llm/tag-prefix.vue";
4
4
  import './tag-prefix.vue.css';
5
5
  export default script;
@@ -6,6 +6,7 @@ import RenderActions from './actions.vue.js';
6
6
  import RenderCodeSuffix from './code-suffix.vue.js';
7
7
  import RenderNameSuffix from './name-suffix.vue.js';
8
8
  import RenderPrefixInfoTool from './prefix-info-tool.vue.js';
9
+ import RenderSelectedToolsInfo from './selected-tools-info.vue.js';
9
10
  import RenderTooltip from './tooltip.vue.js';
10
11
  import { Module, ResourceStatus } from '../../../types/enum.ts.js';
11
12
  export default /*@__PURE__*/ _defineComponent({
@@ -42,7 +43,8 @@ export default /*@__PURE__*/ _defineComponent({
42
43
  defaultIcon: {},
43
44
  showGenerateType: {
44
45
  type: Boolean
45
- }
46
+ },
47
+ approvalSettings: {}
46
48
  },
47
49
  emits: [
48
50
  "success-delete",
@@ -51,7 +53,9 @@ export default /*@__PURE__*/ _defineComponent({
51
53
  "edit",
52
54
  "choose",
53
55
  "settings",
54
- "view"
56
+ "view",
57
+ "delete",
58
+ "update:mcp"
55
59
  ],
56
60
  setup (__props, { emit: __emit }) {
57
61
  const props = __props;
@@ -77,6 +81,12 @@ export default /*@__PURE__*/ _defineComponent({
77
81
  const handleNavigate = (route)=>{
78
82
  emits('navigate', route);
79
83
  };
84
+ const handleUpdateMcp = (data)=>{
85
+ emits('update:mcp', data);
86
+ };
87
+ const handleDelete = ()=>{
88
+ emits('delete', props.mcp);
89
+ };
80
90
  return (_ctx, _cache)=>{
81
91
  return _openBlock(), _createBlock(RenderBase, {
82
92
  class: "g-relative",
@@ -111,7 +121,8 @@ export default /*@__PURE__*/ _defineComponent({
111
121
  "default-icon": props.defaultIcon,
112
122
  "show-generate-type": props.showGenerateType,
113
123
  onChoose: handleChoose,
114
- onView: handleView
124
+ onView: handleView,
125
+ onDelete: handleDelete
115
126
  }, {
116
127
  "prefix-info-tool": _withCtx(()=>[
117
128
  _createVNode(RenderPrefixInfoTool, {
@@ -150,6 +161,16 @@ export default /*@__PURE__*/ _defineComponent({
150
161
  "type"
151
162
  ])
152
163
  ]),
164
+ info: _withCtx(()=>[
165
+ _createVNode(RenderSelectedToolsInfo, {
166
+ mcp: props.mcp,
167
+ "approval-settings": props.approvalSettings,
168
+ "onUpdate:mcp": handleUpdateMcp
169
+ }, null, 8 /* PROPS */ , [
170
+ "mcp",
171
+ "approval-settings"
172
+ ])
173
+ ]),
153
174
  "footer-icons": _withCtx(()=>[
154
175
  props.mcp.status !== _unref(ResourceStatus).Deleted ? (_openBlock(), _createBlock(RenderReferenceIcon, {
155
176
  key: 0,