@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,21 +1,21 @@
1
1
 
2
- .upload-file-home[data-v-ruio7ibi] {
2
+ .upload-file-home[data-v-irrf9cso] {
3
3
  position: relative;
4
4
  background: #FFFFFF;
5
5
  border: 1px solid #DCDEE5;
6
6
  border-radius: 4px;
7
7
  padding: 12px 12px 10px 12px;
8
8
  }
9
- .upload-file-home[data-v-ruio7ibi]:hover {
9
+ .upload-file-home[data-v-irrf9cso]:hover {
10
10
  border: 1px solid #3A84FF;
11
11
  }
12
- .upload-file-home:hover .file-icons[data-v-ruio7ibi] {
12
+ .upload-file-home:hover .file-icons[data-v-irrf9cso] {
13
13
  display: flex;
14
14
  }
15
- .upload-file-home .file-icon[data-v-ruio7ibi] {
15
+ .upload-file-home .file-icon[data-v-irrf9cso] {
16
16
  font-size: 32px;
17
17
  }
18
- .upload-file-home .file-content[data-v-ruio7ibi] {
18
+ .upload-file-home .file-content[data-v-irrf9cso] {
19
19
  font-size: 12px;
20
20
  flex: 1;
21
21
  align-items: flex-start;
@@ -23,28 +23,28 @@
23
23
  font-weight: normal;
24
24
  width: 0;
25
25
  }
26
- .upload-file-home .file-content .file-name[data-v-ruio7ibi] {
26
+ .upload-file-home .file-content .file-name[data-v-irrf9cso] {
27
27
  width: 100%;
28
28
  font-size: 14px;
29
29
  line-height: 20px;
30
30
  }
31
- .upload-file-home .file-content .file-size[data-v-ruio7ibi] {
31
+ .upload-file-home .file-content .file-size[data-v-irrf9cso] {
32
32
  font-size: 12px;
33
33
  color: #979BA5;
34
34
  line-height: 20px;
35
35
  }
36
- .upload-file-home .file-icons[data-v-ruio7ibi] {
36
+ .upload-file-home .file-icons[data-v-irrf9cso] {
37
37
  display: none;
38
38
  color: #979BA5;
39
39
  }
40
- .upload-file-home .file-icons .ai-ui-sdk-icon[data-v-ruio7ibi] {
40
+ .upload-file-home .file-icons .ai-ui-sdk-icon[data-v-irrf9cso] {
41
41
  cursor: pointer;
42
42
  margin-right: 15px;
43
43
  font-size: 16px;
44
44
  }
45
- .upload-file-home .file-icons .ai-ui-sdk-icon[data-v-ruio7ibi]:hover {
45
+ .upload-file-home .file-icons .ai-ui-sdk-icon[data-v-irrf9cso]:hover {
46
46
  color: #3A84FF;
47
47
  }
48
- .upload-file-home .file-icons .ai-ui-sdk-delete[data-v-ruio7ibi] {
48
+ .upload-file-home .file-icons .ai-ui-sdk-delete[data-v-irrf9cso] {
49
49
  margin: 0;
50
50
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-ruio7ibi";
2
+ script.__scopeId = "data-v-irrf9cso";
3
3
  script.__file = "./src/components/render-file-card/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,19 +1,19 @@
1
1
 
2
- .ai-ui-sdk-icon.ai-ui-sdk-pdf[data-v-ybvfbld0] {
2
+ .ai-ui-sdk-icon.ai-ui-sdk-pdf[data-v-bcxnywp6] {
3
3
  color: #EA3636;
4
4
  }
5
- .ai-ui-sdk-icon.ai-ui-sdk-doc-2[data-v-ybvfbld0], .ai-ui-sdk-icon.ai-ui-sdk-ppt-2[data-v-ybvfbld0], .ai-ui-sdk-icon.ai-ui-sdk-markdown[data-v-ybvfbld0] {
5
+ .ai-ui-sdk-icon.ai-ui-sdk-doc-2[data-v-bcxnywp6], .ai-ui-sdk-icon.ai-ui-sdk-ppt-2[data-v-bcxnywp6], .ai-ui-sdk-icon.ai-ui-sdk-markdown[data-v-bcxnywp6] {
6
6
  color: #3A84FF;
7
7
  }
8
- .ai-ui-sdk-icon.ai-ui-sdk-folder-fill[data-v-ybvfbld0] {
8
+ .ai-ui-sdk-icon.ai-ui-sdk-folder-fill[data-v-bcxnywp6] {
9
9
  color: #C4C6CC;
10
10
  }
11
- .ai-ui-sdk-icon.ai-ui-sdk-archive-line[data-v-ybvfbld0] {
11
+ .ai-ui-sdk-icon.ai-ui-sdk-archive-line[data-v-bcxnywp6] {
12
12
  color: #979BA5;
13
13
  }
14
- .ai-ui-sdk-icon.ai-ui-sdk-excel[data-v-ybvfbld0] {
14
+ .ai-ui-sdk-icon.ai-ui-sdk-excel[data-v-bcxnywp6] {
15
15
  color: #2DCB56;
16
16
  }
17
- .ai-ui-sdk-icon.ai-ui-sdk-wangye[data-v-ybvfbld0] {
17
+ .ai-ui-sdk-icon.ai-ui-sdk-wangye[data-v-bcxnywp6] {
18
18
  color: #14A568;
19
19
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-ybvfbld0";
2
+ script.__scopeId = "data-v-bcxnywp6";
3
3
  script.__file = "./src/components/render-file-type-icon/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,22 +1,22 @@
1
1
 
2
- .generate-type-tag[data-v-fdy4fokd] {
2
+ .generate-type-tag[data-v-qlamk38z] {
3
3
  border-radius: 2px;
4
4
  text-align: left;
5
5
  white-space: nowrap;
6
6
  }
7
- .generate-type-tag.public[data-v-fdy4fokd] {
7
+ .generate-type-tag.public[data-v-qlamk38z] {
8
8
  color: #2CAF5E;
9
9
  background-color: #DAF6E5;
10
10
  }
11
- .generate-type-tag.public[data-v-fdy4fokd]:hover {
11
+ .generate-type-tag.public[data-v-qlamk38z]:hover {
12
12
  color: #299E56;
13
13
  background-color: #CBF0DA;
14
14
  }
15
- .generate-type-tag.space[data-v-fdy4fokd] {
15
+ .generate-type-tag.space[data-v-qlamk38z] {
16
16
  color: #45A0A5;
17
17
  background-color: #D8F4F5;
18
18
  }
19
- .generate-type-tag.space[data-v-fdy4fokd]:hover {
19
+ .generate-type-tag.space[data-v-qlamk38z]:hover {
20
20
  color: #388A8E;
21
21
  background-color: #B6E7E9;
22
22
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-fdy4fokd";
2
+ script.__scopeId = "data-v-qlamk38z";
3
3
  script.__file = "./src/components/render-generate-tag/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,13 +1,13 @@
1
1
 
2
- .header-home[data-v-rojp7k3d] {
2
+ .header-home[data-v-zw5eirme] {
3
3
  width: 100%;
4
4
  background: #FFFFFF;
5
5
  box-shadow: 0 3px 4px 0 #0000000a;
6
6
  }
7
- .render-tab[data-v-rojp7k3d] {
7
+ .render-tab[data-v-zw5eirme] {
8
8
  border-bottom: 2px solid transparent;
9
9
  }
10
- .render-tab.active[data-v-rojp7k3d] {
10
+ .render-tab.active[data-v-zw5eirme] {
11
11
  color: #3A84FF;
12
12
  border-bottom: 2px solid #3A84FF;
13
13
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-rojp7k3d";
2
+ script.__scopeId = "data-v-zw5eirme";
3
3
  script.__file = "./src/components/render-header/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,4 +1,4 @@
1
1
 
2
- .ai-ui-sdk-icon[data-v-d78yqzr0] {
2
+ .ai-ui-sdk-icon[data-v-ptm0xbz4] {
3
3
  color: #979ba5;
4
4
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-d78yqzr0";
2
+ script.__scopeId = "data-v-ptm0xbz4";
3
3
  script.__file = "./src/components/render-knowledge/icon/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,20 +1,20 @@
1
1
 
2
- .dislike-icon[data-v-v0dact9o] {
2
+ .dislike-icon[data-v-sr2plh08] {
3
3
  transform: rotateX(180deg);
4
4
  }
5
- .option-items[data-v-v0dact9o] {
5
+ .option-items[data-v-sr2plh08] {
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-v0dact9o]:hover {
11
+ .option-items[data-v-sr2plh08]:hover {
12
12
  background-color: #E1ECFF;
13
13
  color: #3A84FF;
14
14
  }
15
- .option-items-selected[data-v-v0dact9o]{
15
+ .option-items-selected[data-v-sr2plh08]{
16
16
  background-color: #E1ECFF;
17
17
  }
18
- [data-v-v0dact9o] .bk-form-item {
18
+ [data-v-sr2plh08] .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-v0dact9o";
2
+ script.__scopeId = "data-v-sr2plh08";
3
3
  script.__file = "./src/components/render-like/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -200,6 +200,11 @@ export const escapeHtml = (html)=>{
200
200
  'align'
201
201
  ]
202
202
  },
203
+ onTagAttr (tag, name, value) {
204
+ if (name === 'data-nodeid') {
205
+ return `${name}="${value}"`;
206
+ }
207
+ },
203
208
  css: false
204
209
  }));
205
210
  };
@@ -55,6 +55,9 @@ export default defineComponent({
55
55
  initialValue: props.value,
56
56
  customHTMLSanitizer: escapeHtml
57
57
  }, commonConfig));
58
+ viewer.eventEmitter.listen('updatePreview', (editResult)=>{
59
+ editResult.forEach((item)=>viewer.preview.replaceRangeNodes(item));
60
+ });
58
61
  };
59
62
  const handleDestroy = ()=>{
60
63
  viewer.destroy();
@@ -1,5 +1,5 @@
1
1
 
2
- .resource-card-description[data-v-xl0bob09] {
2
+ .resource-card-description[data-v-2fe6dzzu] {
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-xl0bob09";
2
+ script.__scopeId = "data-v-2fe6dzzu";
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-w10nvg3s]{
2
+ .reference-table[data-v-2slaq5m4]{
3
3
  padding: 18px 24px;
4
4
  }
5
- .bk-radio-button[data-v-w10nvg3s]{
5
+ .bk-radio-button[data-v-2slaq5m4]{
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-w10nvg3s";
2
+ script.__scopeId = "data-v-2slaq5m4";
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-8yks5p1h] {
2
+ .resource-version[data-v-3xd80zha] {
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-8yks5p1h] {
9
+ .resource-version .bkaidev-rizhifenxi[data-v-3xd80zha] {
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-8yks5p1h";
2
+ script.__scopeId = "data-v-3xd80zha";
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-8ofw8rsq] {
2
+ .router-tab[data-v-acu208kr] {
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-8ofw8rsq] {
9
+ .router-tab a[data-v-acu208kr] {
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-8ofw8rsq] {
18
+ .router-tab a.router-link-exact-active[data-v-acu208kr] {
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-8ofw8rsq";
2
+ script.__scopeId = "data-v-acu208kr";
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-mufvv3qh] {
2
+ .select-plus-extension[data-v-ovw55bu5] {
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-mufvv3qh] {
11
+ .select-plus-extension .ai-ui-sdk-icon[data-v-ovw55bu5] {
12
12
  font-size: 14px;
13
13
  margin-right: 6px;
14
14
  }
15
- .select-plus-extension[data-v-mufvv3qh]:hover {
15
+ .select-plus-extension[data-v-ovw55bu5]: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-mufvv3qh";
2
+ script.__scopeId = "data-v-ovw55bu5";
3
3
  script.__file = "./src/components/render-select-plus-extension/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -80,7 +80,7 @@ function _object_spread_props(target, source) {
80
80
  return target;
81
81
  }
82
82
  import { defineComponent as _defineComponent } from 'vue';
83
- import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from "vue";
83
+ import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeClass as _normalizeClass, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from "vue";
84
84
  const _hoisted_1 = {
85
85
  class: "g-flex-row"
86
86
  };
@@ -89,7 +89,7 @@ const _hoisted_2 = {
89
89
  };
90
90
  import { Message } from 'bkui-vue';
91
91
  import { onBeforeUnmount, ref, toRef, useTemplateRef, watch } from 'vue';
92
- import RenderOpenclawLinuxGuide from './openclaw-linux-guide.vue.js';
92
+ import RenderInstallGuide from './install-guide.vue.js';
93
93
  import RenderOpenclawWindowsInstances from './openclaw-windows-instances.vue.js';
94
94
  import { TEN_SECONDS } from '../../../common/constants.ts.js';
95
95
  import { useSkillHttp } from '../../../hooks/use-skill-http.ts.js';
@@ -121,11 +121,16 @@ export default /*@__PURE__*/ _defineComponent({
121
121
  emits('update:isShow', false);
122
122
  };
123
123
  const handleConfirm = ()=>{
124
- if (selectedInstallTargetType.value === SkillInstallTargetType.OpenclawLinux) {
125
- handleClose();
126
- }
127
- if (selectedInstallTargetType.value === SkillInstallTargetType.OpenclawWindows) {
128
- handleInstallOpenclawWindows();
124
+ switch(selectedInstallTargetType.value){
125
+ case SkillInstallTargetType.OpenclawLinux:
126
+ case SkillInstallTargetType.Cursor:
127
+ handleClose();
128
+ break;
129
+ case SkillInstallTargetType.OpenclawWindows:
130
+ handleInstallOpenclawWindows();
131
+ break;
132
+ default:
133
+ break;
129
134
  }
130
135
  };
131
136
  const handleInstallOpenclawWindows = function() {
@@ -263,6 +268,12 @@ export default /*@__PURE__*/ _defineComponent({
263
268
  }, {
264
269
  default: _withCtx(()=>[
265
270
  _createVNode(_component_bk_form_item, {
271
+ class: _normalizeClass({
272
+ '!g-mb-6': [
273
+ _unref(SkillInstallTargetType).OpenclawLinux,
274
+ _unref(SkillInstallTargetType).Cursor
275
+ ].includes(selectedInstallTargetType.value)
276
+ }),
266
277
  label: "安装至",
267
278
  property: "selectedInstallTargetType",
268
279
  required: ""
@@ -284,20 +295,27 @@ export default /*@__PURE__*/ _defineComponent({
284
295
  ])
285
296
  ]),
286
297
  _: 1 /* STABLE */
287
- }),
288
- selectedInstallTargetType.value === _unref(SkillInstallTargetType).OpenclawLinux ? (_openBlock(), _createBlock(RenderOpenclawLinuxGuide, {
298
+ }, 8 /* PROPS */ , [
299
+ "class"
300
+ ]),
301
+ [
302
+ _unref(SkillInstallTargetType).OpenclawLinux,
303
+ _unref(SkillInstallTargetType).Cursor
304
+ ].includes(selectedInstallTargetType.value) ? (_openBlock(), _createBlock(RenderInstallGuide, {
289
305
  key: 0,
306
+ "skill-install-target-type": selectedInstallTargetType.value,
290
307
  id: props.selectedSkill.id,
291
308
  "api-prefix": props.apiPrefix,
292
309
  "space-id": props.spaceId
293
310
  }, null, 8 /* PROPS */ , [
311
+ "skill-install-target-type",
294
312
  "id",
295
313
  "api-prefix",
296
314
  "space-id"
297
315
  ])) : _createCommentVNode("v-if", true),
298
316
  selectedInstallTargetType.value === _unref(SkillInstallTargetType).OpenclawWindows ? (_openBlock(), _createBlock(_component_bk_form_item, {
299
317
  key: 1,
300
- label: "请选择 Openclaw 实例",
318
+ label: "Openclaw 实例",
301
319
  property: "selectedOpenclawWindowsInstances",
302
320
  required: ""
303
321
  }, {
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as _defineComponent } from 'vue';
2
2
  import { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, withCtx as _withCtx } from "vue";
3
- import { onBeforeMount, ref, toRef } from 'vue';
3
+ import { ref, toRef, watch } from 'vue';
4
4
  import RenderMarkdown from '../../render-markdown/view.ts.js';
5
5
  import RenderSearchEmpty from '../../render-search-empty/index.vue.js';
6
6
  import { useSkillHttp } from '../../../hooks/use-skill-http.ts.js';
@@ -8,7 +8,8 @@ export default /*@__PURE__*/ _defineComponent({
8
8
  props: {
9
9
  id: {},
10
10
  apiPrefix: {},
11
- spaceId: {}
11
+ spaceId: {},
12
+ skillInstallTargetType: {}
12
13
  },
13
14
  setup (__props) {
14
15
  const props = __props;
@@ -18,13 +19,18 @@ export default /*@__PURE__*/ _defineComponent({
18
19
  const handleGetLinuxInstallGuide = ()=>{
19
20
  if (!props.id) return;
20
21
  isLoading.value = true;
21
- getSkillInstallGuide(props.id).then((res)=>{
22
+ const params = {
23
+ targetType: props.skillInstallTargetType
24
+ };
25
+ getSkillInstallGuide(props.id, params).then((res)=>{
22
26
  installGuide.value = res.markdown;
23
27
  }).finally(()=>{
24
28
  isLoading.value = false;
25
29
  });
26
30
  };
27
- onBeforeMount(handleGetLinuxInstallGuide);
31
+ watch(()=>props.skillInstallTargetType, handleGetLinuxInstallGuide, {
32
+ immediate: true
33
+ });
28
34
  return (_ctx, _cache)=>{
29
35
  const _component_bk_loading = _resolveComponent("bk-loading");
30
36
  return _openBlock(), _createBlock(_component_bk_loading, {
@@ -1,7 +1,9 @@
1
+ import type { SkillInstallTargetType } from '@/types/enum';
1
2
  interface IProps {
2
3
  id?: number;
3
4
  apiPrefix: string;
4
5
  spaceId?: string;
6
+ skillInstallTargetType?: SkillInstallTargetType;
5
7
  }
6
8
  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>;
7
9
  declare const _default: typeof __VLS_export;
@@ -0,0 +1,3 @@
1
+ import script from './install-guide.script.vue.js.js';
2
+ script.__file = "./src/components/render-skill/install/install-guide.vue";
3
+ export default script;
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as _defineComponent } from 'vue';
2
- import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, normalizeClass as _normalizeClass, createBlock as _createBlock } from "vue";
2
+ import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createBlock as _createBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, normalizeClass as _normalizeClass, unref as _unref } from "vue";
3
3
  const _hoisted_1 = [
4
4
  "onClick"
5
5
  ];
@@ -19,6 +19,7 @@ const _hoisted_5 = {
19
19
  class: "!g-text-12 g-text-gray g-leading-22 g-truncate"
20
20
  };
21
21
  import { onBeforeMount, ref, toRef } from 'vue';
22
+ import { isEmpty } from '../../../common/util.ts.js';
22
23
  import RenderCheckbox from '../../render-checkbox/index.vue.js';
23
24
  import { useSkillHttp } from '../../../hooks/use-skill-http.ts.js';
24
25
  export default /*@__PURE__*/ _defineComponent({
@@ -49,7 +50,7 @@ export default /*@__PURE__*/ _defineComponent({
49
50
  return (_instanceStatusMap_value_instance_hostName = instanceStatusMap.value[instance.hostName]) === null || _instanceStatusMap_value_instance_hostName === void 0 ? void 0 : _instanceStatusMap_value_instance_hostName.isInstalled;
50
51
  };
51
52
  const handleSelectOpenclawWindowsInstance = (instance)=>{
52
- if (getIsInstanceInstalled(instance)) return;
53
+ if (isLoadingInstanceStatus.value || getIsInstanceInstalled(instance)) return;
53
54
  if (props.selectedOpenclawWindowsInstances.some((item)=>item.hostName === instance.hostName)) {
54
55
  emits('update:selectedOpenclawWindowsInstances', props.selectedOpenclawWindowsInstances.filter((item)=>item.hostName !== instance.hostName));
55
56
  } else {
@@ -83,19 +84,21 @@ export default /*@__PURE__*/ _defineComponent({
83
84
  onBeforeMount(handleGetOpenclawWindowsInstances);
84
85
  return (_ctx, _cache)=>{
85
86
  const _component_bk_loading = _resolveComponent("bk-loading");
87
+ const _component_bk_exception = _resolveComponent("bk-exception");
86
88
  return _openBlock(), _createBlock(_component_bk_loading, {
87
89
  loading: isLoadingInstances.value,
88
- class: "g-max-h-400 g-scrollbar"
90
+ class: "g-max-h-400 g-scrollbar g-min-h-98"
89
91
  }, {
90
92
  default: _withCtx(()=>[
91
93
  (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(openclawWindowsInstances.value, (instance, index)=>{
92
94
  return _openBlock(), _createElementBlock("section", {
93
95
  key: instance.hostName,
94
96
  class: _normalizeClass([
95
- 'g-flex-row g-rounded-2 !g-cursor-pointer',
97
+ 'g-flex-row g-rounded-2',
96
98
  'g-pt-12 g-pb-12 !g-pr-16 g-pl-12',
97
99
  '!g-bg-dark-gray hover:!g-bg-light-blue',
98
- index > 0 ? 'g-mt-10' : ''
100
+ index > 0 ? 'g-mt-10' : '',
101
+ isLoadingInstanceStatus.value ? 'g-disabled' : 'g-cursor-pointer'
99
102
  ]),
100
103
  onClick: ($event)=>handleSelectOpenclawWindowsInstance(instance)
101
104
  }, [
@@ -106,24 +109,34 @@ export default /*@__PURE__*/ _defineComponent({
106
109
  ]),
107
110
  _createVNode(_component_bk_loading, {
108
111
  loading: isLoadingInstanceStatus.value,
112
+ theme: "primary",
109
113
  mode: "spin",
110
- class: "g-flex-row !g-items-center"
114
+ size: "mini",
115
+ class: "g-flex-row !g-items-center g-w-16"
111
116
  }, {
112
117
  default: _withCtx(()=>[
113
- _createVNode(RenderCheckbox, {
118
+ !isLoadingInstanceStatus.value ? (_openBlock(), _createBlock(RenderCheckbox, {
119
+ key: 0,
114
120
  checked: getIsInstanceChecked(instance),
115
121
  disabled: getIsInstanceInstalled(instance)
116
122
  }, null, 8 /* PROPS */ , [
117
123
  "checked",
118
124
  "disabled"
119
- ])
125
+ ])) : _createCommentVNode("v-if", true)
120
126
  ]),
121
127
  _: 2 /* DYNAMIC */
122
128
  }, 1032 /* PROPS, DYNAMIC_SLOTS */ , [
123
129
  "loading"
124
130
  ])
125
131
  ], 10 /* CLASS, PROPS */ , _hoisted_1);
126
- }), 128 /* KEYED_FRAGMENT */ ))
132
+ }), 128 /* KEYED_FRAGMENT */ )),
133
+ _unref(isEmpty)(openclawWindowsInstances.value) ? (_openBlock(), _createBlock(_component_bk_exception, {
134
+ key: 0,
135
+ class: "agent-empty",
136
+ type: "empty",
137
+ scene: "part",
138
+ description: "暂无 Openclaw 实例"
139
+ })) : _createCommentVNode("v-if", true)
127
140
  ]),
128
141
  _: 1 /* STABLE */
129
142
  }, 8 /* PROPS */ , [