@blueking/ai-ui-sdk 0.5.2-beta.5 → 0.6.0-beta.10

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 (356) hide show
  1. package/README.md +66 -0
  2. package/dist/common/constants.ts.js +16 -15
  3. package/dist/common/util.d.ts +3 -2
  4. package/dist/common/util.ts.js +14 -5
  5. package/dist/components/render-agent/action/index.script.vue.js.js +43 -47
  6. package/dist/components/render-agent/agent-download.script.vue.js.js +3 -4
  7. package/dist/components/render-agent/agent-search.script.vue.js.js +19 -13
  8. package/dist/components/render-agent/agent-search.vue.d.ts +1 -0
  9. package/dist/components/render-agent/agent-share.script.vue.js.js +13 -8
  10. package/dist/components/render-agent/agent-type.script.vue.js.js +4 -3
  11. package/dist/components/render-agent/agent-type.vue.css +11 -11
  12. package/dist/components/render-agent/agent-type.vue.js +1 -1
  13. package/dist/components/render-auth/auth-dialog.script.vue.js.js +35 -35
  14. package/dist/components/render-auto-height-textarea/index.script.vue.js.js +7 -7
  15. package/dist/components/render-auto-height-textarea/index.vue.css +13 -13
  16. package/dist/components/render-auto-height-textarea/index.vue.js +1 -1
  17. package/dist/components/render-auto-refresh/index.vue.css +11 -11
  18. package/dist/components/render-auto-refresh/index.vue.js +1 -1
  19. package/dist/components/render-card/agent/index.script.vue.js.js +6 -1
  20. package/dist/components/render-card/agent/index.vue.d.ts +2 -1
  21. package/dist/components/render-card/agent/prefix-info-tool.script.vue.js.js +36 -35
  22. package/dist/components/render-card/agent/prefix-info-tool.vue.css +8 -8
  23. package/dist/components/render-card/agent/prefix-info-tool.vue.js +1 -1
  24. package/dist/components/render-card/agent/upgrade.script.vue.js.js +20 -15
  25. package/dist/components/render-card/agent/upgrade.vue.css +3 -3
  26. package/dist/components/render-card/agent/upgrade.vue.js +1 -1
  27. package/dist/components/render-card/agent-command/index.script.vue.js.js +4 -1
  28. package/dist/components/render-card/agent-command/index.vue.d.ts +1 -0
  29. package/dist/components/render-card/agent-command/info-tool.script.vue.js.js +23 -17
  30. package/dist/components/render-card/agent-command/name-suffix.script.vue.js.js +4 -5
  31. package/dist/components/render-card/base/application-base-actions.script.vue.js.js +12 -14
  32. package/dist/components/render-card/base/approval-strategy-popover.script.vue.js.js +118 -44
  33. package/dist/components/render-card/base/approval-strategy-popover.vue.d.ts +2 -0
  34. package/dist/components/render-card/base/collection-icon.script.vue.js.js +3 -2
  35. package/dist/components/render-card/base/reference-icon.script.vue.js.js +11 -5
  36. package/dist/components/render-card/base/reference-icon.vue.d.ts +1 -0
  37. package/dist/components/render-card/base/tag-suffix.script.vue.js.js +3 -4
  38. package/dist/components/render-card/base.script.vue.js +147 -163
  39. package/dist/components/render-card/base.vue.css +27 -24
  40. package/dist/components/render-card/base.vue.d.ts +1 -0
  41. package/dist/components/render-card/base.vue.js +1 -1
  42. package/dist/components/render-card/knowledge/index.script.vue.js.js +8 -5
  43. package/dist/components/render-card/knowledge/index.vue.d.ts +2 -1
  44. package/dist/components/render-card/knowledge/info-tool.script.vue.js.js +4 -2
  45. package/dist/components/render-card/knowledge/tooltip.script.vue.js.js +4 -1
  46. package/dist/components/render-card/knowledgebase/actions.script.vue.js.js +3 -4
  47. package/dist/components/render-card/knowledgebase/index.script.vue.js.js +5 -2
  48. package/dist/components/render-card/knowledgebase/index.vue.d.ts +2 -1
  49. package/dist/components/render-card/knowledgebase/info-tool.script.vue.js.js +4 -3
  50. package/dist/components/render-card/knowledgebase/tooltip.script.vue.js.js +5 -2
  51. package/dist/components/render-card/llm/actions.script.vue.js.js +5 -8
  52. package/dist/components/render-card/llm/corner-badge.script.vue.js +27 -33
  53. package/dist/components/render-card/llm/corner-badge.vue.css +4 -4
  54. package/dist/components/render-card/llm/corner-badge.vue.js +1 -1
  55. package/dist/components/render-card/llm/icons.script.vue.js.js +6 -5
  56. package/dist/components/render-card/llm/icons.vue.css +3 -3
  57. package/dist/components/render-card/llm/icons.vue.js +1 -1
  58. package/dist/components/render-card/llm/index.script.vue.js.js +6 -1
  59. package/dist/components/render-card/llm/index.vue.d.ts +2 -1
  60. package/dist/components/render-card/llm/info.script.vue.js.js +11 -4
  61. package/dist/components/render-card/llm/info.vue.css +3 -3
  62. package/dist/components/render-card/llm/info.vue.js +1 -1
  63. package/dist/components/render-card/llm/tag-prefix.script.vue.js.js +6 -5
  64. package/dist/components/render-card/llm/tag-prefix.vue.css +3 -3
  65. package/dist/components/render-card/llm/tag-prefix.vue.js +1 -1
  66. package/dist/components/render-card/mcp/actions.script.vue.js.js +65 -67
  67. package/dist/components/render-card/mcp/code-suffix.script.vue.js +45 -47
  68. package/dist/components/render-card/mcp/code-suffix.vue.d.ts +1 -0
  69. package/dist/components/render-card/mcp/index.script.vue.js.js +10 -3
  70. package/dist/components/render-card/mcp/index.vue.d.ts +2 -1
  71. package/dist/components/render-card/mcp/name-suffix.script.vue.js +21 -24
  72. package/dist/components/render-card/mcp/name-suffix.vue.css +4 -4
  73. package/dist/components/render-card/mcp/name-suffix.vue.js +1 -1
  74. package/dist/components/render-card/mcp/prefix-info-tool.script.vue.js.js +4 -3
  75. package/dist/components/render-card/mcp/selected-tools-info.script.vue.js.js +17 -10
  76. package/dist/components/render-card/mcp/selected-tools-info.vue.d.ts +1 -1
  77. package/dist/components/render-card/mcp/tooltip.script.vue.js.js +2 -1
  78. package/dist/components/render-card/prompt/icons.script.vue.js.js +4 -3
  79. package/dist/components/render-card/prompt/icons.vue.css +2 -2
  80. package/dist/components/render-card/prompt/icons.vue.js +1 -1
  81. package/dist/components/render-card/prompt/index.script.vue.js.js +4 -1
  82. package/dist/components/render-card/prompt/index.vue.d.ts +2 -1
  83. package/dist/components/render-card/role/index.script.vue.js.js +6 -1
  84. package/dist/components/render-card/role/index.vue.d.ts +2 -1
  85. package/dist/components/render-card/skill/index.script.vue.js.js +6 -1
  86. package/dist/components/render-card/skill/index.vue.d.ts +1 -0
  87. package/dist/components/render-card/skill/prefix-info-tool.script.vue.js +50 -88
  88. package/dist/components/render-card/skill/scanner.script.vue.js.js +5 -4
  89. package/dist/components/render-card/skill/scanner.vue.css +3 -3
  90. package/dist/components/render-card/skill/scanner.vue.js +1 -1
  91. package/dist/components/render-card/tool/actions.script.vue.js.js +18 -22
  92. package/dist/components/render-card/tool/index.script.vue.js.js +6 -1
  93. package/dist/components/render-card/tool/index.vue.d.ts +2 -1
  94. package/dist/components/render-card/tool/prefix-info-tool.script.vue.js.js +6 -3
  95. package/dist/components/render-card/tool/tool-tag.script.vue.js.js +3 -4
  96. package/dist/components/render-checkbox/index.script.vue.js.js +37 -14
  97. package/dist/components/render-checkbox/index.vue.css +30 -57
  98. package/dist/components/render-checkbox/index.vue.d.ts +1 -0
  99. package/dist/components/render-checkbox/index.vue.js +1 -1
  100. package/dist/components/render-choose-tag/index.script.vue.js.js +15 -15
  101. package/dist/components/render-choose-tag/index.vue.css +12 -12
  102. package/dist/components/render-choose-tag/index.vue.js +1 -1
  103. package/dist/components/render-collapse/index.script.vue.js.js +2 -4
  104. package/dist/components/render-collapse/index.vue.css +3 -3
  105. package/dist/components/render-collapse/index.vue.js +1 -1
  106. package/dist/components/render-collection/actions/index.script.vue.js.js +16 -16
  107. package/dist/components/render-collection/content/index.script.vue.js +39 -43
  108. package/dist/components/render-collection/content/index.vue.css +6 -6
  109. package/dist/components/render-collection/content/index.vue.js +1 -1
  110. package/dist/components/render-collection/search/index.script.vue.js.js +8 -7
  111. package/dist/components/render-config-provider/index.script.vue.js.js +41 -0
  112. package/dist/components/render-config-provider/index.vue.d.ts +14 -0
  113. package/dist/components/render-config-provider/index.vue.js +3 -0
  114. package/dist/components/render-dataset/components/batch-delete-dataset-data/index.script.vue.js +44 -47
  115. package/dist/components/render-dataset/components/batch-delete-dataset-data/index.vue.css +7 -7
  116. package/dist/components/render-dataset/components/batch-delete-dataset-data/index.vue.js +1 -1
  117. package/dist/components/render-dataset/components/batch-edit-valid-dataset-data/index.script.vue.js.js +34 -30
  118. package/dist/components/render-dataset/components/batch-review-dataset-data/index.script.vue.js.js +44 -44
  119. package/dist/components/render-dataset/components/dataset-data-level/index.script.vue.js +22 -24
  120. package/dist/components/render-dataset/components/dataset-data-status/index.script.vue.js.js +1 -1
  121. package/dist/components/render-dataset/components/dataset-data-tool-icons/index.script.vue.js +45 -26
  122. package/dist/components/render-dataset/components/dataset-data-valid/index.script.vue.js.js +32 -32
  123. package/dist/components/render-dataset/components/edit-dataset-data/index.script.vue.js.js +27 -26
  124. package/dist/components/render-dataset/components/edit-dataset-data/index.vue.css +4 -4
  125. package/dist/components/render-dataset/components/edit-dataset-data/index.vue.js +1 -1
  126. package/dist/components/render-dataset/components/operation-record/index.script.vue.js.js +16 -10
  127. package/dist/components/render-dataset/components/operation-record/index.vue.css +4 -4
  128. package/dist/components/render-dataset/components/operation-record/index.vue.d.ts +1 -0
  129. package/dist/components/render-dataset/components/operation-record/index.vue.js +1 -1
  130. package/dist/components/render-dataset/components/operation-record/table/index.script.vue.js +144 -176
  131. package/dist/components/render-dataset/components/operation-record/table/index.vue.css +1 -1
  132. package/dist/components/render-dataset/components/operation-record/table/index.vue.d.ts +1 -0
  133. package/dist/components/render-dataset/components/operation-record/table/index.vue.js +1 -1
  134. package/dist/components/render-dataset/components/operation-record/view-op-result/index.script.vue.js.js +7 -4
  135. package/dist/components/render-dataset/components/operation-record/view-op-result/index.vue.css +3 -3
  136. package/dist/components/render-dataset/components/operation-record/view-op-result/index.vue.js +1 -1
  137. package/dist/components/render-dataset/components/plus-dataset/dataset-footer.script.vue.js.js +11 -10
  138. package/dist/components/render-dataset/components/plus-dataset/dataset-form.script.vue.js +165 -214
  139. package/dist/components/render-dataset/components/plus-dataset/index.script.vue.js.js +16 -15
  140. package/dist/components/render-dataset/components/plus-dataset/index.vue.css +1 -1
  141. package/dist/components/render-dataset/components/plus-dataset/index.vue.js +1 -1
  142. package/dist/components/render-dataset/components/plus-dataset-data/form/api.script.vue.js.js +27 -21
  143. package/dist/components/render-dataset/components/plus-dataset-data/form/api.vue.css +4 -4
  144. package/dist/components/render-dataset/components/plus-dataset-data/form/api.vue.js +1 -1
  145. package/dist/components/render-dataset/components/plus-dataset-data/form/category.script.vue.js.js +12 -9
  146. package/dist/components/render-dataset/components/plus-dataset-data/form/dataset.script.vue.js.js +10 -7
  147. package/dist/components/render-dataset/components/plus-dataset-data/form/file.script.vue.js.js +38 -25
  148. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.script.vue.js.js +17 -12
  149. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.vue.css +1 -1
  150. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.vue.js +1 -1
  151. package/dist/components/render-dataset/components/plus-dataset-data/form/index.script.vue.js.js +6 -4
  152. package/dist/components/render-dataset/components/plus-dataset-data/form/index.vue.css +1 -1
  153. package/dist/components/render-dataset/components/plus-dataset-data/form/index.vue.js +1 -1
  154. package/dist/components/render-dataset/components/plus-dataset-data/index.script.vue.js.js +3 -4
  155. package/dist/components/render-dataset/components/review-dataset-data/index.script.vue.js.js +93 -66
  156. package/dist/components/render-dataset/components/review-dataset-data/index.vue.css +11 -11
  157. package/dist/components/render-dataset/components/review-dataset-data/index.vue.d.ts +1 -0
  158. package/dist/components/render-dataset/components/review-dataset-data/index.vue.js +1 -1
  159. package/dist/components/render-dataset/components/search-dataset/index.script.vue.js.js +18 -15
  160. package/dist/components/render-dataset/components/search-dataset/index.vue.d.ts +1 -0
  161. package/dist/components/render-dataset/components/search-dataset-data/index.script.vue.js.js +26 -24
  162. package/dist/components/render-dataset/components/search-operation-record/index.script.vue.js.js +13 -11
  163. package/dist/components/render-dataset/components/source-type-icon/index.script.vue.js.js +3 -3
  164. package/dist/components/render-dataset-detail/components/header.script.vue.js.js +14 -8
  165. package/dist/components/render-dataset-detail/components/tab.script.vue.js.js +2 -1
  166. package/dist/components/render-dataset-detail-origin-data/components/batch-operation/index.script.vue.js.js +10 -9
  167. package/dist/components/render-dataset-detail-origin-data/components/table/index.script.vue.js +260 -398
  168. package/dist/components/render-dataset-detail-origin-data/components/table/index.vue.d.ts +1 -0
  169. package/dist/components/render-dataset-detail-origin-data/index.script.vue.js.js +68 -18
  170. package/dist/components/render-dataset-detail-origin-data/index.vue.css +4 -4
  171. package/dist/components/render-dataset-detail-origin-data/index.vue.d.ts +1 -0
  172. package/dist/components/render-dataset-detail-origin-data/index.vue.js +1 -1
  173. package/dist/components/render-dataset-list/components/header.script.vue.js.js +7 -5
  174. package/dist/components/render-dataset-list/components/main.script.vue.js.js +13 -8
  175. package/dist/components/render-dataset-list/components/main.vue.css +4 -4
  176. package/dist/components/render-dataset-list/components/main.vue.d.ts +2 -0
  177. package/dist/components/render-dataset-list/components/main.vue.js +1 -1
  178. package/dist/components/render-dataset-list/components/table.script.vue.js +210 -303
  179. package/dist/components/render-dataset-list/components/table.vue.d.ts +1 -0
  180. package/dist/components/render-dataset-list/index.script.vue.js.js +13 -3
  181. package/dist/components/render-dataset-list/index.vue.css +2 -2
  182. package/dist/components/render-dataset-list/index.vue.d.ts +2 -0
  183. package/dist/components/render-dataset-list/index.vue.js +1 -1
  184. package/dist/components/render-dialog/choose-footer.script.vue.js.js +32 -20
  185. package/dist/components/render-dialog/choose-resource.script.vue.js +285 -391
  186. package/dist/components/render-dialog/choose-resource.vue.css +3 -3
  187. package/dist/components/render-dialog/choose-resource.vue.d.ts +1 -0
  188. package/dist/components/render-dialog/choose-resource.vue.js +1 -1
  189. package/dist/components/render-dialog/choose-result.script.vue.js +172 -220
  190. package/dist/components/render-dialog/choose-result.vue.css +26 -22
  191. package/dist/components/render-dialog/choose-result.vue.js +1 -1
  192. package/dist/components/render-dialog/choose-space.script.vue.js.js +13 -15
  193. package/dist/components/render-dialog/choose-space.vue.css +17 -16
  194. package/dist/components/render-dialog/choose-space.vue.js +1 -1
  195. package/dist/components/render-dialog/index.script.vue.js +122 -179
  196. package/dist/components/render-dialog/index.vue.css +7 -7
  197. package/dist/components/render-dialog/index.vue.d.ts +1 -0
  198. package/dist/components/render-dialog/index.vue.js +1 -1
  199. package/dist/components/render-dropdown/index.vue.css +3 -2
  200. package/dist/components/render-dropdown/index.vue.d.ts +2 -2
  201. package/dist/components/render-exception/index.script.vue.js.js +87 -0
  202. package/dist/components/render-exception/index.vue.css +32 -0
  203. package/dist/components/render-exception/index.vue.d.ts +26 -0
  204. package/dist/components/render-exception/index.vue.js +5 -0
  205. package/dist/components/render-exception/svgs/403.d.ts +2 -0
  206. package/dist/components/render-exception/svgs/403.ts.js +2 -0
  207. package/dist/components/render-exception/svgs/404.d.ts +2 -0
  208. package/dist/components/render-exception/svgs/404.ts.js +2 -0
  209. package/dist/components/render-exception/svgs/500.d.ts +2 -0
  210. package/dist/components/render-exception/svgs/500.ts.js +2 -0
  211. package/dist/components/render-exception/svgs/building.d.ts +2 -0
  212. package/dist/components/render-exception/svgs/building.ts.js +2 -0
  213. package/dist/components/render-exception/svgs/empty.d.ts +2 -0
  214. package/dist/components/render-exception/svgs/empty.ts.js +2 -0
  215. package/dist/components/render-exception/svgs/index.d.ts +4 -0
  216. package/dist/components/render-exception/svgs/index.ts.js +9 -0
  217. package/dist/components/render-exception/svgs/login.d.ts +2 -0
  218. package/dist/components/render-exception/svgs/login.ts.js +2 -0
  219. package/dist/components/render-exception/svgs/search.d.ts +2 -0
  220. package/dist/components/render-exception/svgs/search.ts.js +2 -0
  221. package/dist/components/render-file-card/index.script.vue.js.js +8 -4
  222. package/dist/components/render-file-card/index.vue.css +17 -17
  223. package/dist/components/render-file-card/index.vue.d.ts +1 -1
  224. package/dist/components/render-file-card/index.vue.js +1 -1
  225. package/dist/components/render-file-type-icon/index.vue.css +12 -12
  226. package/dist/components/render-file-type-icon/index.vue.js +1 -1
  227. package/dist/components/render-generate-tag/index.script.vue.js.js +17 -2
  228. package/dist/components/render-generate-tag/index.vue.css +22 -14
  229. package/dist/components/render-generate-tag/index.vue.js +1 -1
  230. package/dist/components/render-header/index.script.vue.js.js +16 -9
  231. package/dist/components/render-image/index.script.vue.js.js +1 -1
  232. package/dist/components/render-knowledge/icon/index.script.vue.js.js +12 -6
  233. package/dist/components/render-knowledge/icon/index.vue.css +2 -2
  234. package/dist/components/render-knowledge/icon/index.vue.d.ts +2 -1
  235. package/dist/components/render-knowledge/icon/index.vue.js +1 -1
  236. package/dist/components/render-knowledge/search/index.script.vue.js.js +25 -21
  237. package/dist/components/render-knowledgebase/search/index.script.vue.js.js +10 -9
  238. package/dist/components/render-markdown/common.ts.js +2 -1
  239. package/dist/components/render-markdown/edit.postcss.css +28 -2
  240. package/dist/components/render-markdown/edit.ts.js +6 -5
  241. package/dist/components/render-markdown/filter-css.ts.js +3 -8
  242. package/dist/components/render-markdown/html.d.ts +2 -0
  243. package/dist/components/render-markdown/html.ts.js +67 -0
  244. package/dist/components/render-markdown/image.d.ts +3 -0
  245. package/dist/components/render-markdown/image.ts.js +98 -0
  246. package/dist/components/render-markdown/katex.ts.js +14 -4
  247. package/dist/components/render-markdown/mark-down-code-copy.ts.js +2 -1
  248. package/dist/components/render-markdown/prism-atom-one-dark.postcss.css +1 -1
  249. package/dist/components/render-markdown/view.d.ts +10 -0
  250. package/dist/components/render-markdown/view.postcss.css +4 -4
  251. package/dist/components/render-markdown/view.ts.js +69 -2
  252. package/dist/components/render-mcp/install/index.script.vue.js.js +19 -15
  253. package/dist/components/render-mcp/install/install-guide.script.vue.js.js +6 -3
  254. package/dist/components/render-mcp/search/index.script.vue.js.js +14 -9
  255. package/dist/components/render-mcp/search/index.vue.d.ts +1 -0
  256. package/dist/components/render-permission-tag/index.script.vue.js +81 -87
  257. package/dist/components/render-prompt/actions/index.script.vue.js.js +16 -16
  258. package/dist/components/render-prompt/content/index.vue.css +2 -2
  259. package/dist/components/render-prompt/content/index.vue.js +1 -1
  260. package/dist/components/render-prompt/search/index.script.vue.js.js +10 -9
  261. package/dist/components/render-reference/index.script.vue.js +226 -268
  262. package/dist/components/render-reference/index.vue.css +2 -2
  263. package/dist/components/render-reference/index.vue.d.ts +1 -0
  264. package/dist/components/render-reference/index.vue.js +1 -1
  265. package/dist/components/render-relate-agent/index.script.vue.js +360 -651
  266. package/dist/components/render-relate-agent/index.vue.d.ts +1 -1
  267. package/dist/components/render-resource-info/index.script.vue.js +54 -51
  268. package/dist/components/render-resource-info/index.vue.d.ts +1 -0
  269. package/dist/components/render-resource-version/index.script.vue.js.js +2 -1
  270. package/dist/components/render-resource-version/index.vue.css +6 -6
  271. package/dist/components/render-resource-version/index.vue.js +1 -1
  272. package/dist/components/render-router-tab/index.vue.css +6 -6
  273. package/dist/components/render-router-tab/index.vue.js +1 -1
  274. package/dist/components/render-search-empty/index.script.vue.js.js +17 -10
  275. package/dist/components/render-search-empty/index.vue.d.ts +1 -1
  276. package/dist/components/render-search-select/index.script.vue.js.js +11 -5
  277. package/dist/components/render-search-select/index.vue.d.ts +3 -1
  278. package/dist/components/render-select-plus-extension/index.script.vue.js.js +2 -1
  279. package/dist/components/render-select-plus-extension/index.vue.css +4 -4
  280. package/dist/components/render-select-plus-extension/index.vue.js +1 -1
  281. package/dist/components/render-skill/actions/index.script.vue.js.js +26 -26
  282. package/dist/components/render-skill/icons/index.script.vue.js.js +5 -2
  283. package/dist/components/render-skill/install/index.script.vue.js.js +21 -12
  284. package/dist/components/render-skill/install/install-guide.script.vue.js.js +6 -3
  285. package/dist/components/render-skill/install/openclaw-windows-instances.script.vue.js.js +20 -13
  286. package/dist/components/render-skill/search/index.script.vue.js.js +11 -9
  287. package/dist/components/render-skill/variable-form/index.script.vue.js +58 -80
  288. package/dist/components/render-t-table/index.script.vue.js.js +477 -0
  289. package/dist/components/render-t-table/index.vue.css +171 -189
  290. package/dist/components/render-t-table/index.vue.d.ts +24 -43
  291. package/dist/components/render-t-table/index.vue.js +2 -2
  292. package/dist/components/render-tag-tree/index.script.vue.js.js +11 -8
  293. package/dist/components/render-tag-tree/index.vue.css +12 -13
  294. package/dist/components/render-tag-tree/index.vue.js +1 -1
  295. package/dist/components/render-tags/index.script.vue.js +66 -91
  296. package/dist/components/render-tags/index.vue.css +8 -8
  297. package/dist/components/render-tags/index.vue.js +1 -1
  298. package/dist/components/render-tool/search/index.script.vue.js.js +10 -9
  299. package/dist/components/render-tree/index.script.vue.js +65 -119
  300. package/dist/components/render-tree/index.vue.css +5 -5
  301. package/dist/components/render-tree/index.vue.d.ts +1 -1
  302. package/dist/components.d.ts +3 -1
  303. package/dist/components.ts.js +3 -1
  304. package/dist/css/{fonts → bk-icon/fonts}/iconcool.eot +0 -0
  305. package/dist/css/{fonts → bk-icon/fonts}/iconcool.svg +6 -0
  306. package/dist/css/{fonts → bk-icon/fonts}/iconcool.ttf +0 -0
  307. package/dist/css/bk-icon/fonts/iconcool.woff +0 -0
  308. package/dist/css/{iconcool.js → bk-icon/iconcool.js} +1 -1
  309. package/dist/css/{style.css → bk-icon/style.css} +6 -0
  310. package/dist/css/bk-patch.css +1100 -0
  311. package/dist/css/g-utilities.css +221 -173
  312. package/dist/css/g-utilities.manifest.json +52 -33
  313. package/dist/css/main.css +10 -0
  314. package/dist/css/variable/blue-theme.d.ts +69 -0
  315. package/dist/css/variable/blue-theme.ts.js +74 -0
  316. package/dist/css/variable/token.d.ts +124 -0
  317. package/dist/css/variable/token.ts.js +166 -0
  318. package/dist/hooks/use-common-http.d.ts +1 -1
  319. package/dist/hooks/use-common-http.ts.js +4 -2
  320. package/dist/hooks/use-dataset-http.d.ts +23 -14
  321. package/dist/hooks/use-dataset-http.ts.js +25 -18
  322. package/dist/hooks/use-display-name.ts.js +2 -0
  323. package/dist/hooks/use-form-leave-confirm.ts.js +4 -3
  324. package/dist/hooks/use-form-rule.ts.js +7 -3
  325. package/dist/hooks/use-member-http.d.ts +2 -1
  326. package/dist/hooks/use-member-http.ts.js +7 -5
  327. package/dist/hooks/use-style.d.ts +7 -3
  328. package/dist/hooks/use-style.ts.js +45 -3
  329. package/dist/hooks/use-t-table.d.ts +1649 -31
  330. package/dist/hooks/use-t-table.ts.js +60 -58
  331. package/dist/hooks.d.ts +1 -1
  332. package/dist/hooks.ts.js +1 -1
  333. package/dist/http/fetch/error-interceptor.ts.js +2 -1
  334. package/dist/http/fetch/index.ts.js +3 -1
  335. package/dist/http/fetch/success-interceptor.ts.js +8 -4
  336. package/dist/http/helper/agent.ts.js +2 -1
  337. package/dist/http/helper/common.ts.js +4 -2
  338. package/dist/http/helper/knowledge.d.ts +7 -1
  339. package/dist/http/helper/knowledge.ts.js +48 -9
  340. package/dist/http/helper/mcp.ts.js +3 -1
  341. package/dist/i18n/en-US.d.ts +370 -0
  342. package/dist/i18n/en-US.ts.js +369 -0
  343. package/dist/i18n/index.d.ts +11 -0
  344. package/dist/i18n/index.ts.js +54 -0
  345. package/dist/i18n/zh-CN.d.ts +370 -0
  346. package/dist/i18n/zh-CN.ts.js +369 -0
  347. package/dist/types/agent.d.ts +2 -0
  348. package/dist/types/common.d.ts +14 -24
  349. package/dist/types/common.ts.js +1 -1
  350. package/dist/types/enum.d.ts +27 -6
  351. package/dist/types/enum.ts.js +32 -6
  352. package/dist/types/knowledge.d.ts +35 -2
  353. package/dist/types/mcp.d.ts +1 -0
  354. package/package.json +12 -5
  355. package/dist/components/render-t-table/index.script.vue.js +0 -453
  356. package/dist/css/fonts/iconcool.woff +0 -0
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as _defineComponent } from 'vue';
2
2
  import { normalizeStyle as _normalizeStyle, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, createBlock as _createBlock } from "vue";
3
3
  import RenderFileTypeIcon from '../../render-file-type-icon/index.vue.js';
4
- import { KnowledgePathType } from '../../../types/enum.ts.js';
4
+ import { KnowledgePathType, KnowledgeType } from '../../../types/enum.ts.js';
5
5
  export default /*@__PURE__*/ _defineComponent({
6
6
  props: {
7
7
  data: {},
@@ -17,14 +17,20 @@ export default /*@__PURE__*/ _defineComponent({
17
17
  fontSize: `${__props.size}px`
18
18
  }),
19
19
  class: "ai-ui-sdk-icon ai-ui-sdk-quanbu-xuanzhong"
20
- }, null, 4 /* STYLE */ )) : __props.data.pathType === _unref(KnowledgePathType).Folder ? (_openBlock(), _createElementBlock("i", {
20
+ }, null, 4 /* STYLE */ )) : __props.data.createdType === _unref(KnowledgeType).Link ? (_openBlock(), _createElementBlock("i", {
21
21
  key: 1,
22
22
  style: _normalizeStyle({
23
23
  fontSize: `${__props.size}px`
24
24
  }),
25
+ class: "ai-ui-sdk-icon ai-ui-sdk-lianjiewenjianjia"
26
+ }, null, 4 /* STYLE */ )) : __props.data.pathType === _unref(KnowledgePathType).Folder ? (_openBlock(), _createElementBlock("i", {
27
+ key: 2,
28
+ style: _normalizeStyle({
29
+ fontSize: `${__props.size}px`
30
+ }),
25
31
  class: "ai-ui-sdk-icon ai-ui-sdk-folder-fill"
26
32
  }, null, 4 /* STYLE */ )) : __props.data.pathType === _unref(KnowledgePathType).File ? (_openBlock(), _createBlock(RenderFileTypeIcon, {
27
- key: 2,
33
+ key: 3,
28
34
  type: __props.data.fileType,
29
35
  style: _normalizeStyle({
30
36
  fontSize: `${__props.size}px`
@@ -33,11 +39,11 @@ export default /*@__PURE__*/ _defineComponent({
33
39
  "type",
34
40
  "style"
35
41
  ])) : (_openBlock(), _createElementBlock("i", {
36
- key: 3,
37
- class: "ai-ui-sdk-icon ai-ui-sdk-zhishikufenlei",
42
+ key: 4,
38
43
  style: _normalizeStyle({
39
44
  fontSize: `${__props.size}px`
40
- })
45
+ }),
46
+ class: "ai-ui-sdk-icon ai-ui-sdk-zhishikufenlei"
41
47
  }, null, 4 /* STYLE */ ));
42
48
  };
43
49
  }
@@ -1,4 +1,4 @@
1
1
 
2
- .ai-ui-sdk-icon[data-v-wg5h5mlq] {
3
- color: #979ba5;
2
+ .ai-ui-sdk-icon[data-v-zg3w5tdq] {
3
+ color: var(--aidev-assist-color);
4
4
  }
@@ -1,8 +1,9 @@
1
- import { KnowledgePathType } from '@/types/enum';
1
+ import { KnowledgePathType, KnowledgeType } from '@/types/enum';
2
2
  interface IData {
3
3
  id?: number;
4
4
  pathType?: KnowledgePathType;
5
5
  fileType?: string;
6
+ createdType?: KnowledgeType;
6
7
  }
7
8
  interface IProps {
8
9
  data?: IData;
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-wg5h5mlq";
2
+ script.__scopeId = "data-v-zg3w5tdq";
3
3
  script.__file = "./src/components/render-knowledge/icon/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,8 +1,9 @@
1
1
  import { defineComponent as _defineComponent } from 'vue';
2
- import { openBlock as _openBlock, createBlock as _createBlock } from "vue";
2
+ import { unref as _unref, openBlock as _openBlock, createBlock as _createBlock } from "vue";
3
3
  import { ref } from 'vue';
4
4
  import RenderSearchSelect from '../../render-search-select/index.vue.js';
5
5
  import { useMemberHttp } from '../../../hooks.ts.js';
6
+ import { t } from '../../../i18n/index.ts.js';
6
7
  import { FileStatus, KnowledgeType } from '../../../types/enum.ts.js';
7
8
  export default /*@__PURE__*/ _defineComponent({
8
9
  props: {
@@ -31,7 +32,7 @@ export default /*@__PURE__*/ _defineComponent({
31
32
  const searchOptions = ref([
32
33
  {
33
34
  id: 'knowledgeName',
34
- name: '中文名称'
35
+ name: t('中文名称')
35
36
  },
36
37
  {
37
38
  id: 'id',
@@ -40,46 +41,46 @@ export default /*@__PURE__*/ _defineComponent({
40
41
  ...props.isSimple ? [] : [
41
42
  {
42
43
  id: 'isStructured',
43
- name: '知识类型',
44
+ name: t('知识类型'),
44
45
  children: [
45
46
  {
46
47
  id: true,
47
- name: '结构化'
48
+ name: t('结构化')
48
49
  },
49
50
  {
50
51
  id: false,
51
- name: '非结构化'
52
+ name: t('非结构化')
52
53
  }
53
54
  ]
54
55
  },
55
56
  ...props.isShowStatus === false ? [] : [
56
57
  {
57
58
  id: 'status',
58
- name: '状态',
59
+ name: t('状态'),
59
60
  children: [
60
61
  {
61
62
  id: FileStatus.Init,
62
- name: '初始化'
63
+ name: t('初始化')
63
64
  },
64
65
  {
65
66
  id: FileStatus.Uploading,
66
- name: '入库中'
67
+ name: t('入库中')
67
68
  },
68
69
  {
69
70
  id: FileStatus.Uploaded,
70
- name: '已入库'
71
+ name: t('已入库')
71
72
  },
72
73
  {
73
74
  id: FileStatus.UploadedOutdated,
74
- name: '已入库可更新'
75
+ name: t('已入库可更新')
75
76
  },
76
77
  {
77
78
  id: FileStatus.Failed,
78
- name: '失败'
79
+ name: t('失败')
79
80
  },
80
81
  {
81
82
  id: FileStatus.Deleting,
82
- name: '删除中'
83
+ name: t('删除中')
83
84
  }
84
85
  ]
85
86
  }
@@ -87,30 +88,30 @@ export default /*@__PURE__*/ _defineComponent({
87
88
  ],
88
89
  {
89
90
  id: 'createdType',
90
- name: '创建方式',
91
+ name: t('创建方式'),
91
92
  multiple: true,
92
93
  children: [
93
94
  {
94
95
  id: KnowledgeType.File,
95
- name: '文件上传'
96
+ name: t('文件上传')
96
97
  },
97
98
  {
98
99
  id: KnowledgeType.Link,
99
- name: '网页知识'
100
+ name: t('网页知识')
100
101
  },
101
102
  {
102
103
  id: KnowledgeType.Manual,
103
- name: '手工录入'
104
+ name: t('手工录入')
104
105
  }
105
106
  ]
106
107
  },
107
108
  {
108
109
  id: 'tagName',
109
- name: '标签'
110
+ name: t('标签')
110
111
  },
111
112
  {
112
113
  id: 'updatedBy',
113
- name: '更新人',
114
+ name: t('更新人'),
114
115
  async: true,
115
116
  children: []
116
117
  }
@@ -120,7 +121,9 @@ export default /*@__PURE__*/ _defineComponent({
120
121
  return getMemberList(props.memberUrl, search);
121
122
  }
122
123
  };
123
- const placeholder = `搜索${searchOptions.value.map((item)=>item.name).join('、')}`;
124
+ const placeholder = t('搜索{searchOptions}', {
125
+ searchOptions: searchOptions.value.map((item)=>item.name).join('、')
126
+ });
124
127
  const handleSearchChange = (search)=>{
125
128
  emits('update:search', search);
126
129
  };
@@ -128,17 +131,18 @@ export default /*@__PURE__*/ _defineComponent({
128
131
  return _openBlock(), _createBlock(RenderSearchSelect, {
129
132
  data: searchOptions.value,
130
133
  "onUpdate:data": _cache[0] || (_cache[0] = ($event)=>searchOptions.value = $event),
131
- placeholder: placeholder,
134
+ placeholder: _unref(placeholder),
132
135
  "model-value": props.search,
133
136
  "is-show-tag-search": props.isShowTagSearch,
134
137
  "api-prefix": props.apiPrefix,
135
138
  "space-id": props.spaceId,
136
139
  module: props.module,
137
140
  "get-menu-list": handleGetMenuList,
138
- class: "!g-bg-white",
141
+ class: "!g-bg-[var(--aidev-main-background)]",
139
142
  "onUpdate:modelValue": handleSearchChange
140
143
  }, null, 8 /* PROPS */ , [
141
144
  "data",
145
+ "placeholder",
142
146
  "model-value",
143
147
  "is-show-tag-search",
144
148
  "api-prefix",
@@ -1,8 +1,9 @@
1
1
  import { defineComponent as _defineComponent } from 'vue';
2
- import { openBlock as _openBlock, createBlock as _createBlock } from "vue";
2
+ import { unref as _unref, openBlock as _openBlock, createBlock as _createBlock } from "vue";
3
3
  import { ref } from 'vue';
4
4
  import RenderSearchSelect from '../../render-search-select/index.vue.js';
5
5
  import { useMemberHttp } from '../../../hooks.ts.js';
6
+ import { t } from '../../../i18n/index.ts.js';
6
7
  export default /*@__PURE__*/ _defineComponent({
7
8
  props: {
8
9
  search: {},
@@ -28,11 +29,11 @@ export default /*@__PURE__*/ _defineComponent({
28
29
  ...props.isShowAllSearchOptions ? [
29
30
  {
30
31
  id: 'name',
31
- name: '名称'
32
+ name: t('名称')
32
33
  },
33
34
  {
34
35
  id: 'description',
35
- name: '描述'
36
+ name: t('描述')
36
37
  },
37
38
  {
38
39
  id: 'id',
@@ -40,22 +41,22 @@ export default /*@__PURE__*/ _defineComponent({
40
41
  },
41
42
  {
42
43
  id: 'updatedBy',
43
- name: '更新人',
44
+ name: t('更新人'),
44
45
  async: true,
45
46
  children: []
46
47
  }
47
48
  ] : [
48
49
  {
49
50
  id: 'name',
50
- name: '中文名称'
51
+ name: t('中文名称')
51
52
  },
52
53
  {
53
54
  id: 'knowledgebaseCode',
54
- name: '英文名称'
55
+ name: t('英文名称')
55
56
  },
56
57
  {
57
58
  id: 'description',
58
- name: '描述'
59
+ name: t('描述')
59
60
  }
60
61
  ]
61
62
  ]);
@@ -71,14 +72,14 @@ export default /*@__PURE__*/ _defineComponent({
71
72
  return _openBlock(), _createBlock(RenderSearchSelect, {
72
73
  data: searchOptions.value,
73
74
  "onUpdate:data": _cache[0] || (_cache[0] = ($event)=>searchOptions.value = $event),
74
- placeholder: __props.isShowAllSearchOptions ? '搜索名称、描述、ID、更新人' : '搜索中英文名称、描述',
75
+ placeholder: __props.isShowAllSearchOptions ? _unref(t)('搜索名称、描述、ID、更新人') : _unref(t)('搜索中英文名称、描述'),
75
76
  "model-value": props.search,
76
77
  "is-show-tag-search": props.isShowTagSearch,
77
78
  "api-prefix": props.apiPrefix,
78
79
  "space-id": props.spaceId,
79
80
  module: props.module,
80
81
  "get-menu-list": handleGetMenuList,
81
- class: "!g-bg-white",
82
+ class: "!g-bg-[var(--aidev-main-background)]",
82
83
  "onUpdate:modelValue": handleSearchChange
83
84
  }, null, 8 /* PROPS */ , [
84
85
  "data",
@@ -28,6 +28,7 @@ function _object_spread(target) {
28
28
  }
29
29
  import Prism from 'prismjs';
30
30
  import CodeSyntaxHighlight from '@toast-ui/editor-plugin-code-syntax-highlight';
31
+ import { createHtmlCustomRenderer } from './html.ts.js';
31
32
  import { createTuiKatexCustomRenderer } from './katex.ts.js';
32
33
  import { MarkDownCodeCopyPlugin } from './mark-down-code-copy.ts.js';
33
34
  import './prism-atom-one-dark.postcss.css';
@@ -70,5 +71,5 @@ export const commonConfig = {
70
71
  customHTMLRenderer: _object_spread({}, createTuiKatexCustomRenderer({
71
72
  autoEscapePercent: true,
72
73
  enableSingleDollar: true
73
- }))
74
+ }), createHtmlCustomRenderer())
74
75
  };
@@ -3,13 +3,22 @@
3
3
  font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', Arial, sans-serif;
4
4
  -webkit-font-smoothing: antialiased;
5
5
  -moz-osx-font-smoothing: grayscale;
6
- color: #4d4f56;
6
+ color: var(--aidev-main-color);
7
+ }
8
+
9
+ .toastui-editor-defaultUI {
10
+ border-color: var(--aidev-form-border-color);
7
11
  }
8
12
 
9
13
  .toastui-editor-defaultUI .toastui-editor-toolbar {
10
14
  height: 40px;
11
15
  }
12
16
 
17
+ .toastui-editor-defaultUI .toastui-editor-ww-container,
18
+ .toastui-editor-defaultUI .toastui-editor-md-container {
19
+ border-radius: 0 0 3px 3px;
20
+ }
21
+
13
22
  .toastui-editor-defaultUI .ProseMirror {
14
23
  padding: 12px 16px;
15
24
  overflow-y: auto;
@@ -87,6 +96,23 @@
87
96
  line-height: 40px;
88
97
  }
89
98
 
99
+ .full-screen-wrap:not(.is-disabled) .toastui-editor-defaultUI:hover {
100
+ border-color: var(--aidev-form-hover-border-color);
101
+ }
102
+
103
+ .full-screen-wrap:not(.is-disabled) .toastui-editor-defaultUI:focus-within {
104
+ border-color: var(--aidev-form-active-border-color);
105
+ }
106
+
90
107
  .bk-form-item.is-error .toastui-editor-defaultUI {
91
- border: 1px solid #ea3636 !important;
108
+ border: 1px solid var(--aidev-form-error-border-color) !important;
92
109
  }
110
+
111
+ .toastui-editor-contents .placeholder,
112
+ .toastui-editor-ww-container .placeholder,
113
+ .toastui-editor-defaultUI .ProseMirror .placeholder,
114
+ .toastui-editor-md-container textarea::placeholder,
115
+ .toastui-editor textarea::placeholder {
116
+ color: var(--aidev-form-placeholder-color);
117
+ opacity: 1;
118
+ }
@@ -31,6 +31,7 @@ import Editor from '@toast-ui/editor';
31
31
  import { commonConfig } from './common.ts.js';
32
32
  import '@toast-ui/editor/dist/toastui-editor.css';
33
33
  import './edit.postcss.css';
34
+ import { t } from '../../i18n/index.ts.js';
34
35
  var EditorMode;
35
36
  (function(EditorMode) {
36
37
  EditorMode["Markdown"] = "markdown";
@@ -83,18 +84,18 @@ export default defineComponent({
83
84
  // 切换模式按钮
84
85
  const modeSwitchEl = document.createElement('section');
85
86
  modeSwitchEl.className = 'toastui-editor-toolbar-custom-button !g-cursor-pointer g-ml-4';
86
- modeSwitchEl.innerHTML = '<i class="ai-ui-sdk-icon ai-ui-sdk-qiehuan g-mr-4 g-text-16"></i>切换代码模式';
87
+ modeSwitchEl.innerHTML = `<i class="ai-ui-sdk-icon ai-ui-sdk-qiehuan g-mr-4 g-text-16"></i>${t('切换代码模式')}`;
87
88
  modeSwitchEl.dataset.mode = defaultMode;
88
89
  modeSwitchEl.addEventListener('click', ()=>{
89
90
  const mode = modeSwitchEl.dataset.mode;
90
91
  if (mode === "markdown") {
91
92
  editor.changeMode("wysiwyg");
92
93
  modeSwitchEl.dataset.mode = "wysiwyg";
93
- modeSwitchEl.innerHTML = '<i class="ai-ui-sdk-icon ai-ui-sdk-qiehuan g-mr-4 g-text-16"></i>切换代码模式';
94
+ modeSwitchEl.innerHTML = `<i class="ai-ui-sdk-icon ai-ui-sdk-qiehuan g-mr-4 g-text-16"></i>${t('切换代码模式')}`;
94
95
  } else {
95
96
  editor.changeMode("markdown");
96
97
  modeSwitchEl.dataset.mode = "markdown";
97
- modeSwitchEl.innerHTML = '<i class="ai-ui-sdk-icon ai-ui-sdk-qiehuan g-mr-4 g-text-16"></i>切换富文本模式';
98
+ modeSwitchEl.innerHTML = `<i class="ai-ui-sdk-icon ai-ui-sdk-qiehuan g-mr-4 g-text-16"></i>${t('切换富文本模式')}`;
98
99
  }
99
100
  });
100
101
  // 全屏按钮复用 use-click-proxy 的全局 full-screen 代理。
@@ -102,10 +103,10 @@ export default defineComponent({
102
103
  fullScreenEl.className = 'toastui-editor-toolbar-custom-button !g-cursor-pointer g-ml-12';
103
104
  fullScreenEl.innerHTML = [
104
105
  '<span class="click-full-screen">',
105
- '<i class="ai-ui-sdk-icon ai-ui-sdk-full-screen g-mr-4 g-text-14"></i>全屏',
106
+ `<i class="ai-ui-sdk-icon ai-ui-sdk-full-screen g-mr-4 g-text-14"></i>${t('全屏')}`,
106
107
  '</span>',
107
108
  '<span class="click-un-full-screen">',
108
- '<i class="ai-ui-sdk-icon ai-ui-sdk-un-full-screen g-mr-4 g-text-14"></i>取消全屏',
109
+ `<i class="ai-ui-sdk-icon ai-ui-sdk-un-full-screen g-mr-4 g-text-14"></i>${t('取消全屏')}`,
109
110
  '</span>'
110
111
  ].join('');
111
112
  // 初始化编辑器
@@ -1,4 +1,5 @@
1
1
  import { filterXss } from '@blueking/xss-filter';
2
+ import { REQUEST_IMAGE_ATTR } from './image.ts.js';
2
3
  const NUMERIC_PROPS = new Set([
3
4
  'height',
4
5
  'top',
@@ -51,7 +52,8 @@ const SAFE_COLOR_KEYWORDS = new Set([
51
52
  ]);
52
53
  const SAFE_ATTRIBUTES = new Set([
53
54
  'data-nodeid',
54
- 'data-clipboard-text'
55
+ 'data-clipboard-text',
56
+ REQUEST_IMAGE_ATTR
55
57
  ]);
56
58
  const isSafeCssValue = (value)=>{
57
59
  return !DANGEROUS_CSS_VALUE_RE.test(value);
@@ -125,13 +127,6 @@ export const filterCSS = (html)=>{
125
127
  export const escapeHtml = (html)=>{
126
128
  return filterCSS(filterXss(html, {
127
129
  whiteList: {
128
- a: [
129
- 'href',
130
- 'target',
131
- 'class',
132
- 'title',
133
- 'rel'
134
- ],
135
130
  section: [
136
131
  'class'
137
132
  ],
@@ -0,0 +1,2 @@
1
+ import type { CustomHTMLRenderer } from '@toast-ui/editor';
2
+ export declare const createHtmlCustomRenderer: () => CustomHTMLRenderer;
@@ -0,0 +1,67 @@
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ function _object_spread(target) {
15
+ for(var i = 1; i < arguments.length; i++){
16
+ var source = arguments[i] != null ? arguments[i] : {};
17
+ var ownKeys = Object.keys(source);
18
+ if (typeof Object.getOwnPropertySymbols === "function") {
19
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
20
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
21
+ }));
22
+ }
23
+ ownKeys.forEach(function(key) {
24
+ _define_property(target, key, source[key]);
25
+ });
26
+ }
27
+ return target;
28
+ }
29
+ function ownKeys(object, enumerableOnly) {
30
+ var keys = Object.keys(object);
31
+ if (Object.getOwnPropertySymbols) {
32
+ var symbols = Object.getOwnPropertySymbols(object);
33
+ if (enumerableOnly) {
34
+ symbols = symbols.filter(function(sym) {
35
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
36
+ });
37
+ }
38
+ keys.push.apply(keys, symbols);
39
+ }
40
+ return keys;
41
+ }
42
+ function _object_spread_props(target, source) {
43
+ source = source != null ? source : {};
44
+ if (Object.getOwnPropertyDescriptors) {
45
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
46
+ } else {
47
+ ownKeys(Object(source)).forEach(function(key) {
48
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
49
+ });
50
+ }
51
+ return target;
52
+ }
53
+ const RAW_ANCHOR_TAG_RE = /<\/?a(?=[\s/>])(?:[^>"']|"[^"]*"|'[^']*')*>/gi;
54
+ // 原生 HTML 中的 <a> 只保留内部文本,markdown 链接走 link 节点不受影响
55
+ const stripRawAnchorTag = (_node, { origin })=>{
56
+ const result = origin();
57
+ if (!result) return result;
58
+ return (Array.isArray(result) ? result : [
59
+ result
60
+ ]).map((token)=>token.type === 'html' ? _object_spread_props(_object_spread({}, token), {
61
+ content: token.content.replace(RAW_ANCHOR_TAG_RE, '')
62
+ }) : token);
63
+ };
64
+ export const createHtmlCustomRenderer = ()=>({
65
+ htmlInline: stripRawAnchorTag,
66
+ htmlBlock: stripRawAnchorTag
67
+ });
@@ -0,0 +1,3 @@
1
+ import type { CustomHTMLRenderer } from '@toast-ui/editor';
2
+ export declare const REQUEST_IMAGE_ATTR = "data-request-src";
3
+ export declare const createImageCustomRenderer: (isRequestImage: () => boolean) => CustomHTMLRenderer;
@@ -0,0 +1,98 @@
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ function _object_spread(target) {
15
+ for(var i = 1; i < arguments.length; i++){
16
+ var source = arguments[i] != null ? arguments[i] : {};
17
+ var ownKeys = Object.keys(source);
18
+ if (typeof Object.getOwnPropertySymbols === "function") {
19
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
20
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
21
+ }));
22
+ }
23
+ ownKeys.forEach(function(key) {
24
+ _define_property(target, key, source[key]);
25
+ });
26
+ }
27
+ return target;
28
+ }
29
+ function ownKeys(object, enumerableOnly) {
30
+ var keys = Object.keys(object);
31
+ if (Object.getOwnPropertySymbols) {
32
+ var symbols = Object.getOwnPropertySymbols(object);
33
+ if (enumerableOnly) {
34
+ symbols = symbols.filter(function(sym) {
35
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
36
+ });
37
+ }
38
+ keys.push.apply(keys, symbols);
39
+ }
40
+ return keys;
41
+ }
42
+ function _object_spread_props(target, source) {
43
+ source = source != null ? source : {};
44
+ if (Object.getOwnPropertyDescriptors) {
45
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
46
+ } else {
47
+ ownKeys(Object(source)).forEach(function(key) {
48
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
49
+ });
50
+ }
51
+ return target;
52
+ }
53
+ function _object_without_properties(source, excluded) {
54
+ if (source == null) return {};
55
+ var target = _object_without_properties_loose(source, excluded);
56
+ var key, i;
57
+ if (Object.getOwnPropertySymbols) {
58
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
59
+ for(i = 0; i < sourceSymbolKeys.length; i++){
60
+ key = sourceSymbolKeys[i];
61
+ if (excluded.indexOf(key) >= 0) continue;
62
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
63
+ target[key] = source[key];
64
+ }
65
+ }
66
+ return target;
67
+ }
68
+ function _object_without_properties_loose(source, excluded) {
69
+ if (source == null) return {};
70
+ var target = {};
71
+ var sourceKeys = Object.keys(source);
72
+ var key, i;
73
+ for(i = 0; i < sourceKeys.length; i++){
74
+ key = sourceKeys[i];
75
+ if (excluded.indexOf(key) >= 0) continue;
76
+ target[key] = source[key];
77
+ }
78
+ return target;
79
+ }
80
+ export const REQUEST_IMAGE_ATTR = 'data-request-src';
81
+ // <img> 无法携带请求头,先不输出 src,渲染后按 requestOptions 带头拉取
82
+ export const createImageCustomRenderer = (isRequestImage)=>{
83
+ const image = (_node, { origin })=>{
84
+ const result = origin();
85
+ if (!isRequestImage() || !result || Array.isArray(result) || result.type !== 'openTag') return result;
86
+ const _result_attributes = result.attributes, { src } = _result_attributes, attributes = _object_without_properties(_result_attributes, [
87
+ "src"
88
+ ]);
89
+ return _object_spread_props(_object_spread({}, result), {
90
+ attributes: _object_spread_props(_object_spread({}, attributes), {
91
+ [REQUEST_IMAGE_ATTR]: src
92
+ })
93
+ });
94
+ };
95
+ return {
96
+ image
97
+ };
98
+ };
@@ -64,6 +64,16 @@ const CODE_NODE_TYPES = new Set([
64
64
  'htmlBlock',
65
65
  'htmlInline'
66
66
  ]);
67
+ const XML_ESCAPE_MAP = {
68
+ '&': '&amp;',
69
+ '<': '&lt;',
70
+ '>': '&gt;',
71
+ '"': '&quot;',
72
+ '\'': '&#39;'
73
+ };
74
+ function escapeXml(value) {
75
+ return value.replace(/[&<>"']/g, (char)=>XML_ESCAPE_MAP[char]);
76
+ }
67
77
  function isEscaped(value, index) {
68
78
  let count = 0;
69
79
  let i = index - 1;
@@ -178,7 +188,7 @@ export function createTuiKatexCustomRenderer(options = {}) {
178
188
  try {
179
189
  html += renderKatexToHtml(mathState.content, mathState.display, options);
180
190
  } catch (e) {
181
- html += `${mathState.open}${mathState.content}${mathState.close}`;
191
+ html += escapeXml(`${mathState.open}${mathState.content}${mathState.close}`);
182
192
  }
183
193
  index = closeIndex + mathState.close.length;
184
194
  mathState = null;
@@ -186,11 +196,11 @@ export function createTuiKatexCustomRenderer(options = {}) {
186
196
  }
187
197
  const nextOpen = findNextOpen(value, index);
188
198
  if (!nextOpen) {
189
- html += value.slice(index);
199
+ html += escapeXml(value.slice(index));
190
200
  break;
191
201
  }
192
202
  hasMath = true;
193
- html += value.slice(index, nextOpen.index);
203
+ html += escapeXml(value.slice(index, nextOpen.index));
194
204
  mathState = {
195
205
  open: nextOpen.open,
196
206
  close: nextOpen.close,
@@ -208,7 +218,7 @@ export function createTuiKatexCustomRenderer(options = {}) {
208
218
  if (!mathState) return '';
209
219
  const raw = `${mathState.open}${mathState.content}`;
210
220
  mathState = null;
211
- return raw;
221
+ return escapeXml(raw);
212
222
  }
213
223
  function renderBlock(node) {
214
224
  let html = '';
@@ -1,3 +1,4 @@
1
+ import { t } from '../../i18n/index.ts.js';
1
2
  const BACKTICK_COUNT = 3;
2
3
  // 给块级代码增加右上角复制按钮,同时保留 Prism 语法高亮。
3
4
  export const MarkDownCodeCopyPlugin = (_context, options = {})=>({
@@ -35,7 +36,7 @@ export const MarkDownCodeCopyPlugin = (_context, options = {})=>({
35
36
  ],
36
37
  attributes: {
37
38
  'data-clipboard-text': encodeURIComponent((_node_literal = node.literal) !== null && _node_literal !== void 0 ? _node_literal : ''),
38
- title: '复制代码'
39
+ title: t('复制代码')
39
40
  }
40
41
  }, {
41
42
  type: 'closeTag',