@blueking/ai-ui-sdk 0.3.0-beta.31 → 0.3.0-beta.32

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 (135) hide show
  1. package/dist/common/util.d.ts +1 -1
  2. package/dist/common/util.ts.js +48 -11
  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/approval-strategy-popover.script.vue.js.js +198 -0
  12. package/dist/components/render-card/base/approval-strategy-popover.vue.d.ts +19 -0
  13. package/dist/components/render-card/base/approval-strategy-popover.vue.js +3 -0
  14. package/dist/components/render-card/base.vue.css +12 -12
  15. package/dist/components/render-card/base.vue.js +1 -1
  16. package/dist/components/render-card/llm/corner-badge.vue.css +3 -3
  17. package/dist/components/render-card/llm/corner-badge.vue.js +1 -1
  18. package/dist/components/render-card/llm/icons.vue.css +2 -2
  19. package/dist/components/render-card/llm/icons.vue.js +1 -1
  20. package/dist/components/render-card/llm/info.vue.css +1 -1
  21. package/dist/components/render-card/llm/info.vue.js +1 -1
  22. package/dist/components/render-card/llm/tag-prefix.vue.css +3 -3
  23. package/dist/components/render-card/llm/tag-prefix.vue.js +1 -1
  24. package/dist/components/render-card/mcp/index.script.vue.js.js +24 -3
  25. package/dist/components/render-card/mcp/index.vue.d.ts +5 -2
  26. package/dist/components/render-card/mcp/name-suffix.vue.css +2 -2
  27. package/dist/components/render-card/mcp/name-suffix.vue.js +1 -1
  28. package/dist/components/render-card/mcp/selected-tools-info.script.vue.js.js +156 -0
  29. package/dist/components/render-card/mcp/selected-tools-info.vue.d.ts +26 -0
  30. package/dist/components/render-card/mcp/selected-tools-info.vue.js +3 -0
  31. package/dist/components/render-card/prompt/icons.vue.css +1 -1
  32. package/dist/components/render-card/prompt/icons.vue.js +1 -1
  33. package/dist/components/render-card/role/index.vue.d.ts +1 -1
  34. package/dist/components/render-card/skill/tag-prefix.vue.css +3 -3
  35. package/dist/components/render-card/skill/tag-prefix.vue.js +1 -1
  36. package/dist/components/render-card/tool/index.script.vue.js.js +12 -4
  37. package/dist/components/render-card/tool/index.vue.d.ts +4 -1
  38. package/dist/components/render-card/tool/prefix-info-tool.script.vue.js.js +70 -20
  39. package/dist/components/render-card/tool/prefix-info-tool.vue.d.ts +4 -0
  40. package/dist/components/render-checkbox/index.vue.css +9 -9
  41. package/dist/components/render-checkbox/index.vue.js +1 -1
  42. package/dist/components/render-choose-tag/index.vue.css +7 -7
  43. package/dist/components/render-choose-tag/index.vue.js +1 -1
  44. package/dist/components/render-collapse/index.vue.css +2 -2
  45. package/dist/components/render-collapse/index.vue.js +1 -1
  46. package/dist/components/render-collection/actions/index.vue.d.ts +2 -2
  47. package/dist/components/render-collection/content/index.vue.css +4 -4
  48. package/dist/components/render-collection/content/index.vue.js +1 -1
  49. package/dist/components/render-dataset/components/batch-delete-dataset-data/index.vue.css +3 -3
  50. package/dist/components/render-dataset/components/batch-delete-dataset-data/index.vue.js +1 -1
  51. package/dist/components/render-dataset/components/batch-edit-valid-dataset-data/index.vue.css +1 -1
  52. package/dist/components/render-dataset/components/batch-edit-valid-dataset-data/index.vue.js +1 -1
  53. package/dist/components/render-dataset/components/dataset-data-tool-icons/index.script.vue.js +1 -1
  54. package/dist/components/render-dataset/components/dataset-data-valid/index.vue.css +1 -1
  55. package/dist/components/render-dataset/components/dataset-data-valid/index.vue.js +1 -1
  56. package/dist/components/render-dataset/components/edit-dataset-data/index.vue.css +3 -3
  57. package/dist/components/render-dataset/components/edit-dataset-data/index.vue.js +1 -1
  58. package/dist/components/render-dataset/components/operation-record/index.vue.css +4 -4
  59. package/dist/components/render-dataset/components/operation-record/index.vue.js +1 -1
  60. package/dist/components/render-dataset/components/operation-record/table/index.vue.css +1 -1
  61. package/dist/components/render-dataset/components/operation-record/table/index.vue.js +1 -1
  62. package/dist/components/render-dataset/components/operation-record/view-op-result/index.vue.css +2 -2
  63. package/dist/components/render-dataset/components/operation-record/view-op-result/index.vue.js +1 -1
  64. package/dist/components/render-dataset/components/plus-dataset/index.vue.css +1 -1
  65. package/dist/components/render-dataset/components/plus-dataset/index.vue.js +1 -1
  66. package/dist/components/render-dataset/components/plus-dataset-data/form/api.vue.css +2 -2
  67. package/dist/components/render-dataset/components/plus-dataset-data/form/api.vue.js +1 -1
  68. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.vue.css +1 -1
  69. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.vue.js +1 -1
  70. package/dist/components/render-dataset/components/plus-dataset-data/form/index.vue.css +1 -1
  71. package/dist/components/render-dataset/components/plus-dataset-data/form/index.vue.js +1 -1
  72. package/dist/components/render-dataset/components/review-dataset-data/index.vue.css +10 -10
  73. package/dist/components/render-dataset/components/review-dataset-data/index.vue.js +1 -1
  74. package/dist/components/render-dataset-detail-origin-data/index.vue.css +3 -3
  75. package/dist/components/render-dataset-detail-origin-data/index.vue.js +1 -1
  76. package/dist/components/render-dataset-list/components/main.vue.css +3 -3
  77. package/dist/components/render-dataset-list/components/main.vue.js +1 -1
  78. package/dist/components/render-dataset-list/index.vue.css +2 -2
  79. package/dist/components/render-dataset-list/index.vue.js +1 -1
  80. package/dist/components/render-dialog/choose-resource.vue.css +3 -3
  81. package/dist/components/render-dialog/choose-resource.vue.js +1 -1
  82. package/dist/components/render-dialog/choose-result.vue.css +14 -14
  83. package/dist/components/render-dialog/choose-result.vue.js +1 -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-prompt/content/index.vue.css +1 -1
  101. package/dist/components/render-prompt/content/index.vue.js +1 -1
  102. package/dist/components/render-reference/index.vue.css +2 -2
  103. package/dist/components/render-reference/index.vue.js +1 -1
  104. package/dist/components/render-resource-version/index.vue.css +2 -2
  105. package/dist/components/render-resource-version/index.vue.js +1 -1
  106. package/dist/components/render-router-tab/index.vue.css +3 -3
  107. package/dist/components/render-router-tab/index.vue.js +1 -1
  108. package/dist/components/render-select-plus-extension/index.vue.css +3 -3
  109. package/dist/components/render-select-plus-extension/index.vue.js +1 -1
  110. package/dist/components/render-t-table/index.vue.css +27 -28
  111. package/dist/components/render-t-table/index.vue.js +1 -1
  112. package/dist/components/render-tag-tree/index.vue.css +7 -7
  113. package/dist/components/render-tag-tree/index.vue.js +1 -1
  114. package/dist/components/render-tags/index.vue.css +6 -6
  115. package/dist/components/render-tags/index.vue.js +1 -1
  116. package/dist/components.d.ts +3 -1
  117. package/dist/components.ts.js +3 -1
  118. package/dist/css/fonts/iconcool.eot +0 -0
  119. package/dist/css/fonts/iconcool.ttf +0 -0
  120. package/dist/css/fonts/iconcool.woff +0 -0
  121. package/dist/css/g-utilities.css +81 -0
  122. package/dist/css/g-utilities.manifest.json +20 -0
  123. package/dist/hooks/use-chat.d.ts +4 -0
  124. package/dist/hooks/use-click-proxy.ts.js +1 -3
  125. package/dist/http/helper/agent.d.ts +13 -1
  126. package/dist/http/helper/agent.ts.js +24 -2
  127. package/dist/http/helper/common.d.ts +13 -1
  128. package/dist/http/helper/common.ts.js +16 -0
  129. package/dist/http/helper/mcp.ts.js +5 -5
  130. package/dist/http/helper/tool.ts.js +3 -3
  131. package/dist/types/agent.d.ts +14 -0
  132. package/dist/types/common.d.ts +8 -0
  133. package/dist/types/mcp.d.ts +3 -3
  134. package/dist/types/tool.d.ts +3 -3
  135. package/package.json +2 -2
@@ -81,7 +81,7 @@ export declare function durationFormatter(val: number): string;
81
81
  * @param {*} filename 文件名
82
82
  */
83
83
  export declare function handleDownLoad(source: string, filename?: string): void;
84
- export declare const handleCopy: (text: string) => void;
84
+ export declare const handleCopy: (text: string) => Promise<void>;
85
85
  /**
86
86
  * 时间格式化
87
87
  * @param val 待格式化时间
@@ -1,3 +1,32 @@
1
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
+ try {
3
+ var info = gen[key](arg);
4
+ var value = info.value;
5
+ } catch (error) {
6
+ reject(error);
7
+ return;
8
+ }
9
+ if (info.done) {
10
+ resolve(value);
11
+ } else {
12
+ Promise.resolve(value).then(_next, _throw);
13
+ }
14
+ }
15
+ function _async_to_generator(fn) {
16
+ return function() {
17
+ var self = this, args = arguments;
18
+ return new Promise(function(resolve, reject) {
19
+ var gen = fn.apply(self, args);
20
+ function _next(value) {
21
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
+ }
23
+ function _throw(err) {
24
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
+ }
26
+ _next(undefined);
27
+ });
28
+ };
29
+ }
1
30
  import { Message } from 'bkui-vue';
2
31
  import dayjs from 'dayjs';
3
32
  /**
@@ -218,18 +247,26 @@ export const mergeStringWithoutLastSlash = (str1 = '', str2 = '')=>{
218
247
  downloadEl.click();
219
248
  document.body.removeChild(downloadEl);
220
249
  }
221
- export const handleCopy = (text)=>{
222
- const textarea = document.createElement('textarea');
223
- textarea.value = text;
224
- document.body.appendChild(textarea);
225
- textarea.select();
226
- document.execCommand('copy');
227
- Message({
228
- theme: 'success',
229
- message: '复制成功'
250
+ export const handleCopy = function() {
251
+ var _ref = _async_to_generator(function*(text) {
252
+ try {
253
+ yield navigator.clipboard.writeText(text);
254
+ Message({
255
+ theme: 'success',
256
+ message: '复制成功'
257
+ });
258
+ } catch (err) {
259
+ console.error('复制失败:', err);
260
+ Message({
261
+ theme: 'error',
262
+ message: '复制失败'
263
+ });
264
+ }
230
265
  });
231
- document.body.removeChild(textarea);
232
- };
266
+ return function handleCopy(text) {
267
+ return _ref.apply(this, arguments);
268
+ };
269
+ }();
233
270
  /**
234
271
  * 时间格式化
235
272
  * @param val 待格式化时间
@@ -1,15 +1,15 @@
1
1
 
2
- .agent-type[data-v-i4amiwwn] {
2
+ .agent-type[data-v-jaqxcuxy] {
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-i4amiwwn] {
8
+ .agent-type.single[data-v-jaqxcuxy] {
9
9
  color: #1768EF;
10
10
  background-color: #E1ECFF;
11
11
  }
12
- .agent-type.flow[data-v-i4amiwwn] {
12
+ .agent-type.flow[data-v-jaqxcuxy] {
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-i4amiwwn";
2
+ script.__scopeId = "data-v-jaqxcuxy";
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-3d6gaqv2] {
2
+ .send-container[data-v-83ro1tzu] {
3
3
  position: relative;
4
4
  }
5
- .send-container[data-v-3d6gaqv2]:has(textarea:focus) {
5
+ .send-container[data-v-83ro1tzu]:has(textarea:focus) {
6
6
  z-index: 2;
7
7
  }
8
- .send-container:hover .send-clear[data-v-3d6gaqv2] {
8
+ .send-container:hover .send-clear[data-v-83ro1tzu] {
9
9
  display: inline-flex !important;
10
10
  }
11
- .send-input[data-v-3d6gaqv2] {
11
+ .send-input[data-v-83ro1tzu] {
12
12
  width: 100%;
13
13
  flex-direction: row;
14
14
  height: var(--origin-height);
15
15
  }
16
- .send-input[data-v-3d6gaqv2]:has(textarea:focus) {
16
+ .send-input[data-v-83ro1tzu]:has(textarea:focus) {
17
17
  height: var(--text-height);
18
18
  }
19
- .send-input[data-v-3d6gaqv2] textarea {
19
+ .send-input[data-v-83ro1tzu] 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-3d6gaqv2] textarea::-webkit-scrollbar {
25
+ .send-input[data-v-83ro1tzu] textarea::-webkit-scrollbar {
26
26
  width: 4px;
27
27
  height: 4px;
28
28
  }
29
- .send-input[data-v-3d6gaqv2] textarea::-webkit-scrollbar-thumb {
29
+ .send-input[data-v-83ro1tzu] 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-3d6gaqv2] textarea::placeholder {
34
+ .send-input[data-v-83ro1tzu] textarea::placeholder {
35
35
  line-height: 16px;
36
36
  }
37
- .send-clear[data-v-3d6gaqv2] {
37
+ .send-clear[data-v-83ro1tzu] {
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-3d6gaqv2]:hover {
46
+ .send-clear[data-v-83ro1tzu]: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-3d6gaqv2";
2
+ script.__scopeId = "data-v-83ro1tzu";
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-ussvo1p4] {
2
+ .auto-refresh[data-v-cbccerku] {
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-ussvo1p4]:after {
9
+ .auto-refresh[data-v-cbccerku]: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-ussvo1p4]:hover {
19
+ .auto-refresh[data-v-cbccerku]:hover {
20
20
  color: #3A84FF;
21
21
  background-color: #E1ECFF;
22
22
  }
23
- .refresh[data-v-ussvo1p4] {
23
+ .refresh[data-v-cbccerku] {
24
24
  cursor: pointer;
25
25
  line-height: 26px;
26
26
  padding: 0 4px;
27
27
  }
28
- .refresh[data-v-ussvo1p4]:hover {
28
+ .refresh[data-v-cbccerku]:hover {
29
29
  color: #3A84FF;
30
30
  background-color: #E1ECFF;
31
31
  }
32
- .textarea-list[data-v-ussvo1p4] {
32
+ .textarea-list[data-v-cbccerku] {
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-ussvo1p4] {
39
+ .textarea-list .textarea-item[data-v-cbccerku] {
40
40
  padding: 0 12px;
41
41
  cursor: pointer;
42
42
  }
43
- .textarea-list .textarea-item[data-v-ussvo1p4]:hover {
43
+ .textarea-list .textarea-item[data-v-cbccerku]: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-ussvo1p4";
2
+ script.__scopeId = "data-v-cbccerku";
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-2lxh1t2b] {
2
+ .command-number[data-v-ma2kaxzk] {
3
3
  width: 24px;
4
4
  border-radius: 2px;
5
5
  background: #A3C5FD;
6
6
  }
7
- .delete-icon[data-v-2lxh1t2b] {
7
+ .delete-icon[data-v-ma2kaxzk] {
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-2lxh1t2b] {
15
+ .li-content[data-v-ma2kaxzk] {
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-2lxh1t2b] {
23
+ .confirm-button[data-v-ma2kaxzk] {
24
24
  margin: 0 8px 0 68px;
25
25
  }
26
- .command-name-text[data-v-2lxh1t2b] {
26
+ .command-name-text[data-v-ma2kaxzk] {
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-2lxh1t2b";
2
+ script.__scopeId = "data-v-ma2kaxzk";
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-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-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-9fjua8k5] {
2
+ .resource-card-home[data-v-i3xfx72y] {
3
3
  background: #FFFFFF;
4
4
  }
5
- .resource-card-home .resource-card-sub-name[data-v-9fjua8k5] {
5
+ .resource-card-home .resource-card-sub-name[data-v-i3xfx72y] {
6
6
  margin-right: -4px;
7
7
  }
8
- .resource-card-home.full[data-v-9fjua8k5], .resource-card-home.application[data-v-9fjua8k5], .resource-card-home.market[data-v-9fjua8k5] {
8
+ .resource-card-home.full[data-v-i3xfx72y], .resource-card-home.application[data-v-i3xfx72y], .resource-card-home.market[data-v-i3xfx72y] {
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-9fjua8k5]:hover, .resource-card-home.application[data-v-9fjua8k5]:hover, .resource-card-home.market[data-v-9fjua8k5]:hover {
13
+ .resource-card-home.full[data-v-i3xfx72y]:hover, .resource-card-home.application[data-v-i3xfx72y]:hover, .resource-card-home.market[data-v-i3xfx72y]:hover {
14
14
  box-shadow: 0 2px 10px 0 #0000001f;
15
15
  }
16
- .resource-card-home.full .resource-card-name[data-v-9fjua8k5], .resource-card-home.application .resource-card-name[data-v-9fjua8k5], .resource-card-home.market .resource-card-name[data-v-9fjua8k5] {
16
+ .resource-card-home.full .resource-card-name[data-v-i3xfx72y], .resource-card-home.application .resource-card-name[data-v-i3xfx72y], .resource-card-home.market .resource-card-name[data-v-i3xfx72y] {
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-9fjua8k5], .resource-card-home.application .resource-card-description[data-v-9fjua8k5], .resource-card-home.market .resource-card-description[data-v-9fjua8k5] {
21
+ .resource-card-home.full .resource-card-description[data-v-i3xfx72y], .resource-card-home.application .resource-card-description[data-v-i3xfx72y], .resource-card-home.market .resource-card-description[data-v-i3xfx72y] {
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-9fjua8k5] {
27
+ .resource-card-home.choose[data-v-i3xfx72y] {
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-9fjua8k5] {
32
+ .resource-card-home.choose .resource-card-name[data-v-i3xfx72y] {
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-9fjua8k5] {
37
+ .resource-card-home.choose .resource-card-description[data-v-i3xfx72y] {
38
38
  color: #4D4F56;
39
39
  height: 20px;
40
40
  }
41
- .resource-card-home.info[data-v-9fjua8k5],.resource-card-home.record[data-v-9fjua8k5] {
41
+ .resource-card-home.info[data-v-i3xfx72y],.resource-card-home.record[data-v-i3xfx72y] {
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-9fjua8k5], .resource-card-home.record .resource-card-name[data-v-9fjua8k5] {
46
+ .resource-card-home.info .resource-card-name[data-v-i3xfx72y], .resource-card-home.record .resource-card-name[data-v-i3xfx72y] {
47
47
  font-size: 12px;
48
48
  color: #313238;
49
49
  }
50
- .resource-card-actions[data-v-9fjua8k5] {
50
+ .resource-card-actions[data-v-i3xfx72y] {
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-9fjua8k5";
2
+ script.__scopeId = "data-v-i3xfx72y";
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-gek4fjc6] {
2
+ .llm-corner-badge[data-v-fhzcghx4] {
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-gek4fjc6]:hover {
11
+ .llm-corner-badge[data-v-fhzcghx4]:hover {
12
12
  background: linear-gradient(142.7deg, #fdf4e8 0%, #e5a239 100%);
13
13
  }
14
- .llm-corner-badge-text[data-v-gek4fjc6] {
14
+ .llm-corner-badge-text[data-v-fhzcghx4] {
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-gek4fjc6";
2
+ script.__scopeId = "data-v-fhzcghx4";
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-551lirwe], .like-button:hover span[data-v-551lirwe] {
2
+ .like-button:hover .ai-ui-sdk-icon[data-v-cpd2ea0w], .like-button:hover span[data-v-cpd2ea0w] {
3
3
  color: #3A84FF !important;
4
4
  }
5
- .dislike-button:hover .ai-ui-sdk-icon[data-v-551lirwe], .dislike-button:hover span[data-v-551lirwe], .dislike-button:active .ai-ui-sdk-icon[data-v-551lirwe], .dislike-button:active span[data-v-551lirwe] {
5
+ .dislike-button:hover .ai-ui-sdk-icon[data-v-cpd2ea0w], .dislike-button:hover span[data-v-cpd2ea0w], .dislike-button:active .ai-ui-sdk-icon[data-v-cpd2ea0w], .dislike-button:active span[data-v-cpd2ea0w] {
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-551lirwe";
2
+ script.__scopeId = "data-v-cpd2ea0w";
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-xl33nsjk] {
2
+ .llm-info[data-v-weh6mzv0] {
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-xl33nsjk";
2
+ script.__scopeId = "data-v-weh6mzv0";
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-kkcuawuf] {
2
+ .tag-item[data-v-oeqnvqfe] {
3
3
  padding: 0 4px;
4
4
  }
5
- .tag-external[data-v-kkcuawuf] {
5
+ .tag-external[data-v-oeqnvqfe] {
6
6
  color: #636a2f;
7
7
  background: #EAEFC6;
8
8
  }
9
- .tag-public[data-v-kkcuawuf], .tag-private[data-v-kkcuawuf] {
9
+ .tag-public[data-v-oeqnvqfe], .tag-private[data-v-oeqnvqfe] {
10
10
  color: #3a84ff;
11
11
  background: #e1ecff;
12
12
  }