@fudanda/workflow 2.20261024.1-beta.1 → 2.20261107.1-beta.1

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 (298) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +114 -114
  3. package/THIRD-PARTY-NOTICES.md +57 -57
  4. package/dist/{ai-markdown-esl-I5ck.js → ai-markdown--SqEglSn.js} +1 -2
  5. package/dist/chrome.js +46 -53
  6. package/dist/core.js +3 -3
  7. package/dist/flowgram-designer.d.ts +1 -1
  8. package/dist/graph-scope.d.ts +3 -3
  9. package/dist/{header-shortcuts-BQZuNfpA.js → header-shortcuts-BcwVJV2g.js} +1 -2
  10. package/dist/index.js +926 -1001
  11. package/dist/observation-types.d.ts +1 -1
  12. package/dist/prompt-kit.d.ts +1 -1
  13. package/dist/{schema-tree-CTM6hEdm.js → schema-tree-B4yoWS9A.js} +5 -10
  14. package/dist/{start-form-L6xw9phk.js → start-form-DWlAhZhs.js} +169 -335
  15. package/dist/styles.css +1 -1
  16. package/dist/templates.d.ts +1 -1
  17. package/dist/{test-input-validation-CkORPCfm.js → test-input-validation-Ch9pS4X8.js} +1 -2
  18. package/package.json +20 -17
  19. package/vendor/coze/LICENSE-APACHE +177 -177
  20. package/vendor/coze/UPSTREAM.json +8 -8
  21. package/vendor/coze/original/base-test-button.tsx +22 -22
  22. package/vendor/coze/original/comment-container.tsx +68 -68
  23. package/vendor/coze/original/condition-container.tsx +60 -60
  24. package/vendor/coze/original/condition-tag.tsx +58 -58
  25. package/vendor/coze/original/coze-global.less +234 -234
  26. package/vendor/coze/original/create-loop-function-json.ts +134 -134
  27. package/vendor/coze/original/create-loop-function.ts +56 -56
  28. package/vendor/coze/original/end-registry.ts +41 -41
  29. package/vendor/coze/original/execute-result-panel.less +97 -97
  30. package/vendor/coze/original/execute-result-panel.tsx +171 -171
  31. package/vendor/coze/original/form-item.less +39 -39
  32. package/vendor/coze/original/form-item.tsx +200 -200
  33. package/vendor/coze/original/http-api-field.tsx +42 -42
  34. package/vendor/coze/original/http-form-render.tsx +102 -102
  35. package/vendor/coze/original/icon-add.svg +3 -3
  36. package/vendor/coze/original/icon-arrow-left.svg +3 -3
  37. package/vendor/coze/original/icon-auto-layout.svg +18 -18
  38. package/vendor/coze/original/icon-code.svg +13 -13
  39. package/vendor/coze/original/icon-condition.svg +12 -12
  40. package/vendor/coze/original/icon-database.svg +18 -18
  41. package/vendor/coze/original/icon-delete.svg +5 -5
  42. package/vendor/coze/original/icon-fullscreen.svg +9 -9
  43. package/vendor/coze/original/icon-more.svg +11 -11
  44. package/vendor/coze/original/icon-play-round-outlined.svg +8 -8
  45. package/vendor/coze/original/icon-plugin-tool.svg +6 -6
  46. package/vendor/coze/original/icon-standard-copy.svg +8 -8
  47. package/vendor/coze/original/icon-unknown.svg +7 -7
  48. package/vendor/coze/original/icon-var.svg +6 -6
  49. package/vendor/coze/original/icon-workflow-end.svg +5 -5
  50. package/vendor/coze/original/icon-workflow-start.svg +5 -5
  51. package/vendor/coze/original/icon-workflow.svg +21 -21
  52. package/vendor/coze/original/icon-workflows.svg +5 -5
  53. package/vendor/coze/original/if-form-meta.tsx +88 -88
  54. package/vendor/coze/original/logic-display.tsx +33 -33
  55. package/vendor/coze/original/mouse-icon.tsx +35 -35
  56. package/vendor/coze/original/mouse-pad-selector.tsx +180 -180
  57. package/vendor/coze/original/node-card.tsx +77 -77
  58. package/vendor/coze/original/node-category-panel.less +4 -4
  59. package/vendor/coze/original/node-category-panel.tsx +53 -53
  60. package/vendor/coze/original/node-config-form.tsx +67 -67
  61. package/vendor/coze/original/node-header.less +165 -165
  62. package/vendor/coze/original/node-header.tsx +552 -552
  63. package/vendor/coze/original/node-panel.less +183 -183
  64. package/vendor/coze/original/node-render.less +20 -20
  65. package/vendor/coze/original/node-side-sheet.less +57 -57
  66. package/vendor/coze/original/node-side-sheet.tsx +214 -214
  67. package/vendor/coze/original/node-wrapper.tsx +71 -71
  68. package/vendor/coze/original/pad-icon.tsx +45 -45
  69. package/vendor/coze/original/resizable-side-panel-constants.ts +18 -18
  70. package/vendor/coze/original/resizable-side-panel.tsx +42 -42
  71. package/vendor/coze/original/start-registry.ts +53 -53
  72. package/vendor/coze/original/sub-canvas-background.less +4 -4
  73. package/vendor/coze/original/sub-canvas-background.tsx +48 -48
  74. package/vendor/coze/original/sub-canvas-container.less +16 -16
  75. package/vendor/coze/original/sub-canvas-container.tsx +97 -97
  76. package/vendor/coze/original/sub-canvas-header.less +75 -75
  77. package/vendor/coze/original/sub-canvas-header.tsx +95 -95
  78. package/vendor/coze/original/test-form-sheet-header.tsx +82 -82
  79. package/vendor/coze/original/test-form-sheet.less +178 -178
  80. package/vendor/coze/original/toolbar-add-node.tsx +68 -68
  81. package/vendor/coze/original/toolbar-auto-layout.tsx +61 -61
  82. package/vendor/coze/original/toolbar-comment.tsx +121 -121
  83. package/vendor/coze/original/toolbar-container.tsx +42 -42
  84. package/vendor/coze/original/toolbar-interactive.tsx +98 -98
  85. package/vendor/coze/original/toolbar-minimap-switch.tsx +41 -41
  86. package/vendor/coze/original/toolbar-tools.less +46 -46
  87. package/vendor/coze/original/toolbar-tools.tsx +89 -89
  88. package/vendor/coze/original/toolbar-zoom.tsx +134 -134
  89. package/vendor/coze/original/tree-variable-selector.less +291 -291
  90. package/vendor/coze/original/tree-variable-selector.tsx +298 -298
  91. package/vendor/coze/original/workflow-document-custom-options.ts +151 -151
  92. package/vendor/coze/original/workflow-header.less +65 -65
  93. package/vendor/coze/original/workflow-header.tsx +85 -85
  94. package/vendor/coze/source/agent-models/model-option/index.module.less +18 -18
  95. package/vendor/coze/source/agent-models/model-option/index.tsx +321 -321
  96. package/vendor/coze/source/agent-models/model-option-avatar/index.tsx +175 -175
  97. package/vendor/coze/source/agent-models/model-option-group/index.tsx +87 -87
  98. package/vendor/coze/source/agent-models/model-option-thumb/index.tsx +41 -41
  99. package/vendor/coze/source/agent-models/model-select-ui/index.tsx +238 -238
  100. package/vendor/coze/source/agent-models/popover-model-list-view/index.tsx +146 -146
  101. package/vendor/coze/source/components/code-editor/text-editor.tsx +71 -71
  102. package/vendor/coze/source/components/comment/components/editor/block.tsx +117 -117
  103. package/vendor/coze/source/components/comment/components/editor/leaf.tsx +64 -64
  104. package/vendor/coze/source/components/comment/components/toolbar.tsx +366 -366
  105. package/vendor/coze/source/components/comment/constant.ts +94 -94
  106. package/vendor/coze/source/components/editor-container/expand-editor/index.module.less +107 -107
  107. package/vendor/coze/source/components/editor-container/expand-editor/index.tsx +117 -117
  108. package/vendor/coze/source/components/model-select/components/model-setting.tsx +300 -300
  109. package/vendor/coze/source/components/model-select/components/settings.tsx +144 -144
  110. package/vendor/coze/source/components/model-select/index.module.less +34 -34
  111. package/vendor/coze/source/components/model-select/utils/index.tsx +100 -100
  112. package/vendor/coze/source/components/node-render/node-render-new/fields/constants.tsx +79 -79
  113. package/vendor/coze/source/components/node-render/node-render-new/fields/field-empty.module.less +12 -12
  114. package/vendor/coze/source/components/node-render/node-render-new/fields/field-empty.tsx +37 -37
  115. package/vendor/coze/source/components/node-render/node-render-new/fields/field.module.less +19 -19
  116. package/vendor/coze/source/components/node-render/node-render-new/fields/field.tsx +52 -52
  117. package/vendor/coze/source/components/node-render/node-render-new/fields/http-api-field/index.tsx +42 -42
  118. package/vendor/coze/source/components/node-render/node-render-new/fields/overflow-tag-list.module.less +47 -47
  119. package/vendor/coze/source/components/node-render/node-render-new/fields/overflow-tag-list.tsx +162 -162
  120. package/vendor/coze/source/components/node-render/node-render-new/fields/variable-tag-list.module.less +48 -48
  121. package/vendor/coze/source/components/node-render/node-render-new/fields/variable-tag-list.tsx +126 -126
  122. package/vendor/coze/source/components/node-wrapper/execute-result-panel/index.module.less +97 -97
  123. package/vendor/coze/source/components/node-wrapper/execute-result-panel/index.tsx +171 -171
  124. package/vendor/coze/source/components/sub-canvas/components/background/index.module.less +4 -4
  125. package/vendor/coze/source/components/sub-canvas/components/header/index.module.less +75 -75
  126. package/vendor/coze/source/components/test-run/test-run-button/single-node.tsx +158 -158
  127. package/vendor/coze/source/execution-panel/panel.module.less +48 -48
  128. package/vendor/coze/source/execution-panel/panel.tsx +99 -99
  129. package/vendor/coze/source/execution-panel/use-resize.ts +79 -79
  130. package/vendor/coze/source/external/features/log/components/data-viewer/constants.ts +28 -28
  131. package/vendor/coze/source/external/features/log/components/data-viewer/context/context.ts +21 -21
  132. package/vendor/coze/source/external/features/log/components/data-viewer/context/create-store.ts +48 -48
  133. package/vendor/coze/source/external/features/log/components/data-viewer/context/index.ts +19 -19
  134. package/vendor/coze/source/external/features/log/components/data-viewer/context/provider.tsx +50 -50
  135. package/vendor/coze/source/external/features/log/components/data-viewer/data-viewer.module.less +26 -26
  136. package/vendor/coze/source/external/features/log/components/data-viewer/data-viewer.tsx +79 -79
  137. package/vendor/coze/source/external/features/log/components/data-viewer/hooks/index.ts +18 -18
  138. package/vendor/coze/source/external/features/log/components/data-viewer/hooks/use-data-viewer-store.ts +29 -29
  139. package/vendor/coze/source/external/features/log/components/data-viewer/hooks/use-expand.ts +35 -35
  140. package/vendor/coze/source/external/features/log/components/data-viewer/hooks/use-value.tsx +66 -66
  141. package/vendor/coze/source/external/features/log/components/data-viewer/index.tsx +21 -21
  142. package/vendor/coze/source/external/features/log/components/data-viewer/json-field/index.tsx +186 -186
  143. package/vendor/coze/source/external/features/log/components/data-viewer/json-field/json-field.module.less +79 -79
  144. package/vendor/coze/source/external/features/log/components/data-viewer/types.ts +50 -50
  145. package/vendor/coze/source/external/features/log/components/data-viewer/utils/big-number.ts +35 -35
  146. package/vendor/coze/source/external/features/log/components/data-viewer/utils/generate-field.ts +104 -104
  147. package/vendor/coze/source/external/features/log/components/log-parser/log-wrap.module.less +27 -27
  148. package/vendor/coze/source/external/features/log/components/log-parser/log-wrap.tsx +109 -109
  149. package/vendor/coze/source/external/features/log/components/node-status-bar/node-status-bar.module.less +52 -52
  150. package/vendor/coze/source/external/features/log/components/node-status-bar/node-status-bar.tsx +113 -113
  151. package/vendor/coze/source/form/components/field-empty.tsx +45 -45
  152. package/vendor/coze/source/form/components/section.tsx +91 -91
  153. package/vendor/coze/source/form-extensions/components/add-item-button/index.tsx +64 -64
  154. package/vendor/coze/source/form-extensions/components/form-card/index.module.less +131 -131
  155. package/vendor/coze/source/form-extensions/components/form-card/index.tsx +309 -309
  156. package/vendor/coze/source/form-extensions/components/form-item/index.module.less +39 -39
  157. package/vendor/coze/source/form-extensions/components/form-item/index.tsx +200 -200
  158. package/vendor/coze/source/form-extensions/components/form-item-feedback/index.module.less +7 -7
  159. package/vendor/coze/source/form-extensions/components/form-item-feedback/index.tsx +39 -39
  160. package/vendor/coze/source/form-extensions/components/level-line/index.module.less +346 -346
  161. package/vendor/coze/source/form-extensions/components/level-line/index.ts +17 -17
  162. package/vendor/coze/source/form-extensions/components/level-line/level-line.tsx +460 -460
  163. package/vendor/coze/source/form-extensions/components/level-line/types.ts +38 -38
  164. package/vendor/coze/source/form-extensions/components/level-line/utils.ts +60 -60
  165. package/vendor/coze/source/form-extensions/components/literal-value-input/constants.ts +61 -61
  166. package/vendor/coze/source/form-extensions/components/literal-value-input/input-boolean.tsx +80 -80
  167. package/vendor/coze/source/form-extensions/components/literal-value-input/input-integer.tsx +68 -68
  168. package/vendor/coze/source/form-extensions/components/literal-value-input/input-number.tsx +62 -62
  169. package/vendor/coze/source/form-extensions/components/literal-value-input/input-select.tsx +59 -59
  170. package/vendor/coze/source/form-extensions/components/literal-value-input/input-string.tsx +55 -55
  171. package/vendor/coze/source/form-extensions/components/literal-value-input/literal-value-input.tsx +35 -35
  172. package/vendor/coze/source/form-extensions/components/literal-value-input/styles.module.less +46 -46
  173. package/vendor/coze/source/form-extensions/components/literal-value-input/type.ts +61 -61
  174. package/vendor/coze/source/form-extensions/components/literal-value-input/utils.tsx +117 -117
  175. package/vendor/coze/source/form-extensions/components/node-header/components/close-button.tsx +44 -44
  176. package/vendor/coze/source/form-extensions/components/node-header/description-display.tsx +52 -52
  177. package/vendor/coze/source/form-extensions/components/node-header/description.tsx +131 -131
  178. package/vendor/coze/source/form-extensions/components/node-header/index.module.less +165 -165
  179. package/vendor/coze/source/form-extensions/components/node-header/index.tsx +552 -552
  180. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-btn/index.tsx +43 -43
  181. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-content/default-value-input.tsx +276 -276
  182. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-content/index.module.less +124 -124
  183. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-content/index.tsx +131 -131
  184. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-content/types.ts +32 -32
  185. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-name/index.module.less +38 -38
  186. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-name/index.tsx +101 -101
  187. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-operator/index.module.less +51 -51
  188. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-operator/index.tsx +107 -107
  189. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-required/index.module.less +17 -17
  190. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-required/index.tsx +53 -53
  191. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-type/constants.tsx +77 -77
  192. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-type/index.module.less +97 -97
  193. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-type/index.tsx +155 -155
  194. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/constants.ts +38 -38
  195. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/index.module.less +138 -138
  196. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/index.tsx +360 -360
  197. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/type.ts +88 -88
  198. package/vendor/coze/source/form-extensions/components/output-tree/components/header/index.module.less +36 -36
  199. package/vendor/coze/source/form-extensions/components/output-tree/components/header/index.tsx +104 -104
  200. package/vendor/coze/source/form-extensions/components/output-tree/constants.ts +22 -22
  201. package/vendor/coze/source/form-extensions/components/output-tree/context.ts +28 -28
  202. package/vendor/coze/source/form-extensions/components/output-tree/hooks/use-columns-style.ts +39 -39
  203. package/vendor/coze/source/form-extensions/components/output-tree/index.module.less +83 -83
  204. package/vendor/coze/source/form-extensions/components/output-tree/index.tsx +692 -692
  205. package/vendor/coze/source/form-extensions/components/output-tree/utils.ts +185 -185
  206. package/vendor/coze/source/form-extensions/components/setting-on-error/components/process-type/index.tsx +97 -97
  207. package/vendor/coze/source/form-extensions/components/setting-on-error/components/process-type/option-item.tsx +30 -30
  208. package/vendor/coze/source/form-extensions/components/setting-on-error/components/process-type/types.ts +23 -23
  209. package/vendor/coze/source/form-extensions/components/setting-on-error/components/retry-times/index.tsx +45 -45
  210. package/vendor/coze/source/form-extensions/components/setting-on-error/components/timeout/index.tsx +102 -102
  211. package/vendor/coze/source/form-extensions/components/tree-variable-selector/composite-select-option.tsx +167 -167
  212. package/vendor/coze/source/form-extensions/components/tree-variable-selector/composite-select-tree-panel.tsx +165 -165
  213. package/vendor/coze/source/form-extensions/components/tree-variable-selector/composite-select.module.less +96 -96
  214. package/vendor/coze/source/form-extensions/components/tree-variable-selector/composite-select.tsx +265 -265
  215. package/vendor/coze/source/form-extensions/components/tree-variable-selector/context.tsx +42 -42
  216. package/vendor/coze/source/form-extensions/components/tree-variable-selector/expand-icon.tsx +30 -30
  217. package/vendor/coze/source/form-extensions/components/tree-variable-selector/index.module.less +291 -291
  218. package/vendor/coze/source/form-extensions/components/tree-variable-selector/node-variable-tree.module.less +48 -48
  219. package/vendor/coze/source/form-extensions/components/tree-variable-selector/node-variable-tree.tsx +149 -149
  220. package/vendor/coze/source/form-extensions/components/tree-variable-selector/utils.tsx +500 -500
  221. package/vendor/coze/source/form-extensions/components/tree-variable-selector/value-display.tsx +130 -130
  222. package/vendor/coze/source/form-extensions/components/value-expression-input/const.ts +68 -68
  223. package/vendor/coze/source/form-extensions/components/value-expression-input/context.ts +27 -27
  224. package/vendor/coze/source/form-extensions/components/value-expression-input/index.module.less +144 -144
  225. package/vendor/coze/source/form-extensions/components/value-expression-input/value-expression-input.tsx +418 -418
  226. package/vendor/coze/source/form-extensions/components/variable-type-selector/constants.tsx +77 -77
  227. package/vendor/coze/source/form-extensions/components/variable-type-selector/index.module.less +31 -31
  228. package/vendor/coze/source/form-extensions/components/variable-type-selector/index.tsx +17 -17
  229. package/vendor/coze/source/form-extensions/components/variable-type-selector/utils.tsx +298 -298
  230. package/vendor/coze/source/form-extensions/components/variable-type-selector/variable-type-selector.tsx +235 -235
  231. package/vendor/coze/source/form-extensions/components/variable-type-tag/index.tsx +54 -54
  232. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-branch.module.less +9 -9
  233. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-branch.tsx +249 -249
  234. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-header.tsx +50 -50
  235. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-item-logic.module.less +13 -13
  236. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-item-logic.tsx +73 -73
  237. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/delete/index.module.less +10 -10
  238. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/delete/index.tsx +42 -42
  239. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/index.module.less +9 -9
  240. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/index.tsx +254 -254
  241. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/operator/index.module.less +7 -7
  242. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/operator/index.tsx +144 -144
  243. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/value-expression-with-state/index.tsx +69 -69
  244. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/context.ts +36 -36
  245. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/condition-branch-preview.tsx +44 -44
  246. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/condition-branch.tsx +152 -152
  247. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/container.tsx +19 -19
  248. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/custom-drag-layer.tsx +117 -117
  249. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/types.ts +18 -18
  250. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/types.ts +58 -58
  251. package/vendor/coze/source/node-registries/end/components/terminate-plan-field.tsx +29 -29
  252. package/vendor/coze/source/node-registries/end/constants.ts +34 -34
  253. package/vendor/coze/source/node-registries/end/form.tsx +66 -66
  254. package/vendor/coze/source/node-registries/end/types.ts +45 -45
  255. package/vendor/coze/source/node-registries/http/components/base-editor/raw-text-editor.tsx +80 -80
  256. package/vendor/coze/source/node-registries/http/constants.ts +80 -80
  257. package/vendor/coze/source/node-registries/http/fields/json-import-editor/index.module.less +191 -191
  258. package/vendor/coze/source/node-registries/http/fields/json-import-editor/json-import-components/json-expand-editor.tsx +141 -141
  259. package/vendor/coze/source/node-registries/http/fields/json-import-editor/json-import-components/json-import.tsx +99 -99
  260. package/vendor/coze/source/node-registries/http/form-render.tsx +102 -102
  261. package/vendor/coze/source/node-registries/http/setters/api/curl-expand-editor.tsx +161 -161
  262. package/vendor/coze/source/node-registries/http/setters/api/curl-import.tsx +96 -96
  263. package/vendor/coze/source/node-registries/http/setters/api/index.module.less +199 -199
  264. package/vendor/coze/source/node-registries/http/setters/api/index.tsx +149 -149
  265. package/vendor/coze/source/node-registries/http/setters/api/utils.ts +41 -41
  266. package/vendor/coze/source/node-registries/http/setters/body/index.tsx +201 -201
  267. package/vendor/coze/source/node-registries/http/setters/constants.ts +83 -83
  268. package/vendor/coze/source/node-registries/if/components/else/index.tsx +41 -41
  269. package/vendor/coze/source/node-registries/intent/components/intents/index.module.less +14 -14
  270. package/vendor/coze/source/node-registries/intent/components/intents/option-item/index.tsx +189 -189
  271. package/vendor/coze/source/node-registries/json-stringify/constants.ts +32 -32
  272. package/vendor/coze/source/node-registries/json-stringify/form.tsx +46 -46
  273. package/vendor/coze/source/node-registries/loop/constants.ts +43 -43
  274. package/vendor/coze/source/node-registries/loop/loop-fields/loop-settings-section/index.tsx +48 -48
  275. package/vendor/coze/source/node-registries/loop/loop-fields/loop-type/index.tsx +81 -81
  276. package/vendor/coze/source/node-registries/loop/loop-fields/loop-type/options.ts +34 -34
  277. package/vendor/coze/source/node-registries/start/form.tsx +209 -209
  278. package/vendor/coze/source/node-registries/text-process/components/method-selector/index.tsx +46 -46
  279. package/vendor/coze/source/node-registries/text-process/constants.ts +132 -132
  280. package/vendor/coze/source/nodes-v2/components/form-item-feedback/index.module.less +7 -7
  281. package/vendor/coze/source/nodes-v2/components/form-item-feedback/index.tsx +47 -47
  282. package/vendor/coze/source/nodes-v2/components/system-prompt/index.module.less +66 -66
  283. package/vendor/coze/source/nodes-v2/components/system-prompt/prompt-kit-bar.tsx +129 -129
  284. package/vendor/coze/source/nodes-v2/components/system-prompt/system-prompt-editor.tsx +110 -110
  285. package/vendor/coze/source/nodes-v2/llm/user-prompt/index.tsx +64 -64
  286. package/vendor/coze/source/prompt-kit/input-config-popover/index.tsx +80 -80
  287. package/vendor/coze/source/prompt-kit/input-slot-widget/index.css +34 -34
  288. package/vendor/coze/source/prompt-kit/input-slot-widget/index.ts +169 -169
  289. package/vendor/coze/source/prompt-kit/library-item.tsx +141 -141
  290. package/vendor/coze/source/prompt-kit/prompt-info-input.tsx +90 -90
  291. package/vendor/coze/source/ui-components/add-operation/index.module.less +19 -19
  292. package/vendor/coze/source/ui-components/add-operation/index.tsx +67 -67
  293. package/vendor/coze/source/ui-components/auto-size-tooltip/index.module.less +39 -39
  294. package/vendor/coze/source/ui-components/auto-size-tooltip/index.tsx +74 -74
  295. package/vendor/coze/source/ui-components/workflow-sl-input/index.module.less +36 -36
  296. package/vendor/coze/source/ui-components/workflow-sl-input/index.tsx +194 -194
  297. package/vendor/coze/source/utils/create-slots/index.tsx +126 -126
  298. package/vendor/coze/source/utils/create-slots/use-force-update.ts +23 -23
@@ -1,321 +1,321 @@
1
- /*
2
- * Copyright 2025 coze-dev Authors
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
-
17
- /* eslint-disable complexity -- ignore */
18
- import { type PropsWithChildren, useRef } from 'react';
19
-
20
- import cls from 'classnames';
21
- import { useHover } from 'ahooks';
22
- import {
23
- useBenefitAvailable,
24
- PremiumPaywallScene,
25
- usePremiumPaywallModal,
26
- } from '@coze-studio/premium-components-adapter';
27
- import { I18n } from '@coze-arch/i18n';
28
- import { type Model, ModelTagClass } from '@coze-arch/bot-api/developer_api';
29
- import {
30
- useBotCreatorContext,
31
- BotCreatorScene,
32
- } from '@coze-agent-ide/bot-creator-context';
33
- import {
34
- IconCozLongArrowTopRight,
35
- IconCozSetting,
36
- IconCozLongArrowUpCircle,
37
- IconCozDiamondFill,
38
- } from '@coze-arch/coze-design/icons';
39
- import { IconButton, Tag, Tooltip, Typography } from '@coze-arch/coze-design';
40
- import { OverflowList } from '@blueprintjs/core';
41
-
42
- import { ModelOptionAvatar } from '../model-option-avatar';
43
-
44
- import styles from './index.module.less';
45
-
46
- export type ModelOptionProps = {
47
- model: Model;
48
- selected?: boolean;
49
- disabled?: boolean;
50
- /** Return whether the switch was successful */
51
- onClick: () => boolean;
52
- } & (
53
- | {
54
- enableConfig?: false;
55
- }
56
- | {
57
- enableConfig: true;
58
- onConfigClick: () => void;
59
- }
60
- ) &
61
- (
62
- | {
63
- enableJumpDetail?: false;
64
- }
65
- | {
66
- enableJumpDetail: true;
67
- /**
68
- * Click to jump to the model management page
69
- *
70
- * Because the component positioning is a pure UI component, and the way to obtain the space id of different modules is different, the splicing of jump behavior and url is not built-in
71
- */
72
- onDetailClick: (modelId: string) => void;
73
- }
74
- );
75
-
76
- // eslint-disable-next-line @coze-arch/max-line-per-function
77
- export function ModelOption({
78
- model,
79
- selected,
80
- disabled,
81
- onClick,
82
- ...props
83
- }: ModelOptionProps) {
84
- /** This ref is purely for judging whether to hover or not. */
85
- const ref = useRef<HTMLElement>(null);
86
- const isHovering = useHover(ref);
87
- const { scene } = useBotCreatorContext();
88
-
89
- const featureTags = model.model_tag_list
90
- ?.filter(t => t.tag_class === ModelTagClass.ModelFeature && t.tag_name)
91
- .map(t => t.tag_name);
92
- const functionTags = model.model_tag_list
93
- ?.filter(t => t.tag_class === ModelTagClass.ModelFunction && t.tag_name)
94
- .map(t => t.tag_name);
95
-
96
- // Paywall, open source version does not support this feature
97
- const isProModel =
98
- model.model_status_details?.is_new_model ||
99
- model.model_status_details?.is_advanced_model;
100
- const isNewModelAvailable = useBenefitAvailable({
101
- scene: PremiumPaywallScene.NewModel,
102
- });
103
- const { node: premiumPaywallModal, open: openPremiumPaywallModal } =
104
- usePremiumPaywallModal({ scene: PremiumPaywallScene.NewModel });
105
-
106
- return (
107
- <>
108
- <article
109
- ref={ref}
110
- className={cls(
111
- 'pl-[16px] pr-[12px] w-full relative',
112
- 'flex gap-[16px] items-center rounded-[12px]',
113
- selected
114
- ? 'coz-mg-hglt hover:coz-mg-hglt-hovered'
115
- : 'hover:coz-mg-secondary-hovered active:coz-mg-secondary-pressed',
116
- disabled ? 'cursor-not-allowed' : 'cursor-pointer',
117
- // The following cls only hide the upper and lower dividing lines when implementing hover, active, and last (note that the dividing lines are in model-info-border, the designer's careful thought)
118
- styles['model-option'],
119
- // @ts-expect-error -- I don't know why the error is reported.
120
- { [styles['model-option_selected']]: selected },
121
- )}
122
- onClick={() => {
123
- if (disabled) {
124
- return;
125
- }
126
- if (isProModel && !isNewModelAvailable) {
127
- openPremiumPaywallModal();
128
- return;
129
- }
130
- onClick();
131
- }}
132
- >
133
- <ModelOptionAvatar model={model} />
134
- <div
135
- className={cls(
136
- 'h-[80px] py-[12px] w-full',
137
- 'flex flex-col overflow-hidden',
138
- 'border-0 border-b border-solid coz-stroke-primary',
139
- styles['model-info-border'],
140
- )}
141
- style={
142
- isHovering
143
- ? {
144
- mask: calcMaskStyle([
145
- props.enableConfig,
146
- props.enableJumpDetail,
147
- ]),
148
- }
149
- : undefined
150
- }
151
- >
152
- <div className="w-full flex items-center gap-[6px] overflow-hidden">
153
- <Typography.Title fontSize="14px" ellipsis={{ showTooltip: true }}>
154
- {model.name}
155
- </Typography.Title>
156
- <div className="shrink-0 flex gap-[6px]">
157
- {model.model_status_details?.is_free_model &&
158
- scene !== BotCreatorScene.DouyinBot ? (
159
- <Tag size="mini" color="primary" className="!coz-mg-plus">
160
- {I18n.t('model_list_free')}
161
- </Tag>
162
- ) : null}
163
- {isProModel && !isNewModelAvailable ? (
164
- <IconCozDiamondFill className="coz-fg-hglt" />
165
- ) : null}
166
- {featureTags?.length
167
- ? featureTags.map(feature => (
168
- <Tag
169
- key={feature}
170
- size="mini"
171
- color="primary"
172
- className="!bg-transparent !border border-solid coz-stroke-plus"
173
- >
174
- {feature}
175
- </Tag>
176
- ))
177
- : null}
178
- </div>
179
- </div>
180
- <div className="flex items-center text-[12px] leading-[16px] coz-fg-dim overflow-hidden">
181
- <ModelTag isFirst>
182
- {((model.model_quota?.token_limit || 0) / 1024).toFixed(0)}K
183
- </ModelTag>
184
- <ModelTag
185
- isLast={!functionTags?.length}
186
- className="flex items-center gap-[4px]"
187
- >
188
- <span>{model.model_name}</span>
189
- {model.model_status_details?.update_info ? (
190
- <Tooltip content={model.model_status_details.update_info}>
191
- <IconCozLongArrowUpCircle className="ml-[2px] coz-fg-hglt-green" />
192
- </Tooltip>
193
- ) : null}
194
- </ModelTag>
195
- {functionTags?.length ? (
196
- <Tooltip content={functionTags.join(IS_OVERSEA ? ', ' : '、')}>
197
- <span className="overflow-hidden">
198
- <OverflowList
199
- items={functionTags}
200
- visibleItemRenderer={(item, idx) => (
201
- <ModelTag
202
- key={idx}
203
- isLast={idx === functionTags.length - 1}
204
- >
205
- {item}
206
- </ModelTag>
207
- )}
208
- overflowRenderer={restItems => (
209
- <span className="pl-[6px] flex items-center">{`+${restItems.length}`}</span>
210
- )}
211
- collapseFrom="end"
212
- />
213
- </span>
214
- </Tooltip>
215
- ) : null}
216
- </div>
217
- <Typography.Text
218
- className="mt-[4px] text-[12px] leading-[16px] coz-fg-secondary"
219
- ellipsis={{ showTooltip: true }}
220
- >
221
- {model.model_brief_desc}
222
- </Typography.Text>
223
- </div>
224
- {isHovering ? (
225
- <div className="absolute right-[12px] h-full flex items-center gap-[3px]">
226
- {props.enableConfig ? (
227
- <IconButton
228
- icon={<IconCozSetting />}
229
- color="secondary"
230
- size="default"
231
- data-testid="model_select_option.config_btn"
232
- onClick={e => {
233
- e.stopPropagation();
234
-
235
- // paywall blocking
236
- if (isProModel && !isNewModelAvailable) {
237
- openPremiumPaywallModal();
238
- return;
239
- }
240
-
241
- if (selected) {
242
- props.onConfigClick();
243
- return;
244
- }
245
- const success = onClick();
246
- if (success) {
247
- setTimeout(() => props.onConfigClick());
248
- }
249
- }}
250
- />
251
- ) : null}
252
- {props.enableJumpDetail ? (
253
- <IconButton
254
- icon={<IconCozLongArrowTopRight />}
255
- color="secondary"
256
- size="default"
257
- data-testid="model_select_option.detail_btn"
258
- onClick={e => {
259
- e.stopPropagation();
260
- props.onDetailClick(String(model.model_type));
261
- }}
262
- />
263
- ) : null}
264
- </div>
265
- ) : null}
266
- </article>
267
- {premiumPaywallModal}
268
- </>
269
- );
270
- }
271
-
272
- function ModelTag({
273
- isFirst,
274
- isLast,
275
- className,
276
- children,
277
- }: PropsWithChildren<{
278
- isFirst?: boolean;
279
- isLast?: boolean;
280
- className?: string;
281
- }>) {
282
- return (
283
- <div
284
- className={cls(
285
- { 'pl-[6px]': !isFirst },
286
- 'shrink-0 flex items-center gap-[6px]',
287
- )}
288
- >
289
- <span className={className}>{children}</span>
290
- {isLast ? null : (
291
- <span className="h-[9px] border-0 border-r border-solid coz-stroke-primary" />
292
- )}
293
- </div>
294
- );
295
- }
296
-
297
- /**
298
- * When hovering to display several icons (such as jumping to the model details page and detailed configuration), there should be a gradual change mask effect on the content under the icon
299
- * This method is used to calculate the mask style
300
- */
301
- function calcMaskStyle(buttonVisible: Array<boolean | undefined>) {
302
- const btnNum = buttonVisible.reduce(
303
- (prevNum, showBtn) => prevNum + (showBtn ? 1 : 0),
304
- 0,
305
- );
306
- if (btnNum === 0) {
307
- return 'none';
308
- }
309
-
310
- const BTN_WIDTH = 32;
311
- const BTN_GAP = 3;
312
- /** Fixed width of mask that does not vary with the number of buttons */
313
- const PRESET_PADDING = 16;
314
- /** A gradual change in the width of the mask */
315
- const MASK_WIDTH = 24;
316
-
317
- const gradientStart =
318
- btnNum * BTN_WIDTH + (btnNum - 1) * BTN_GAP + PRESET_PADDING;
319
- const gradientEnd = gradientStart + MASK_WIDTH;
320
- return `linear-gradient(to left, rgba(0,0,0,0), rgba(0,0,0,0) ${gradientStart}px, #fff ${gradientEnd}px)`;
321
- }
1
+ /*
2
+ * Copyright 2025 coze-dev Authors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ /* eslint-disable complexity -- ignore */
18
+ import { type PropsWithChildren, useRef } from 'react';
19
+
20
+ import cls from 'classnames';
21
+ import { useHover } from 'ahooks';
22
+ import {
23
+ useBenefitAvailable,
24
+ PremiumPaywallScene,
25
+ usePremiumPaywallModal,
26
+ } from '@coze-studio/premium-components-adapter';
27
+ import { I18n } from '@coze-arch/i18n';
28
+ import { type Model, ModelTagClass } from '@coze-arch/bot-api/developer_api';
29
+ import {
30
+ useBotCreatorContext,
31
+ BotCreatorScene,
32
+ } from '@coze-agent-ide/bot-creator-context';
33
+ import {
34
+ IconCozLongArrowTopRight,
35
+ IconCozSetting,
36
+ IconCozLongArrowUpCircle,
37
+ IconCozDiamondFill,
38
+ } from '@coze-arch/coze-design/icons';
39
+ import { IconButton, Tag, Tooltip, Typography } from '@coze-arch/coze-design';
40
+ import { OverflowList } from '@blueprintjs/core';
41
+
42
+ import { ModelOptionAvatar } from '../model-option-avatar';
43
+
44
+ import styles from './index.module.less';
45
+
46
+ export type ModelOptionProps = {
47
+ model: Model;
48
+ selected?: boolean;
49
+ disabled?: boolean;
50
+ /** Return whether the switch was successful */
51
+ onClick: () => boolean;
52
+ } & (
53
+ | {
54
+ enableConfig?: false;
55
+ }
56
+ | {
57
+ enableConfig: true;
58
+ onConfigClick: () => void;
59
+ }
60
+ ) &
61
+ (
62
+ | {
63
+ enableJumpDetail?: false;
64
+ }
65
+ | {
66
+ enableJumpDetail: true;
67
+ /**
68
+ * Click to jump to the model management page
69
+ *
70
+ * Because the component positioning is a pure UI component, and the way to obtain the space id of different modules is different, the splicing of jump behavior and url is not built-in
71
+ */
72
+ onDetailClick: (modelId: string) => void;
73
+ }
74
+ );
75
+
76
+ // eslint-disable-next-line @coze-arch/max-line-per-function
77
+ export function ModelOption({
78
+ model,
79
+ selected,
80
+ disabled,
81
+ onClick,
82
+ ...props
83
+ }: ModelOptionProps) {
84
+ /** This ref is purely for judging whether to hover or not. */
85
+ const ref = useRef<HTMLElement>(null);
86
+ const isHovering = useHover(ref);
87
+ const { scene } = useBotCreatorContext();
88
+
89
+ const featureTags = model.model_tag_list
90
+ ?.filter(t => t.tag_class === ModelTagClass.ModelFeature && t.tag_name)
91
+ .map(t => t.tag_name);
92
+ const functionTags = model.model_tag_list
93
+ ?.filter(t => t.tag_class === ModelTagClass.ModelFunction && t.tag_name)
94
+ .map(t => t.tag_name);
95
+
96
+ // Paywall, open source version does not support this feature
97
+ const isProModel =
98
+ model.model_status_details?.is_new_model ||
99
+ model.model_status_details?.is_advanced_model;
100
+ const isNewModelAvailable = useBenefitAvailable({
101
+ scene: PremiumPaywallScene.NewModel,
102
+ });
103
+ const { node: premiumPaywallModal, open: openPremiumPaywallModal } =
104
+ usePremiumPaywallModal({ scene: PremiumPaywallScene.NewModel });
105
+
106
+ return (
107
+ <>
108
+ <article
109
+ ref={ref}
110
+ className={cls(
111
+ 'pl-[16px] pr-[12px] w-full relative',
112
+ 'flex gap-[16px] items-center rounded-[12px]',
113
+ selected
114
+ ? 'coz-mg-hglt hover:coz-mg-hglt-hovered'
115
+ : 'hover:coz-mg-secondary-hovered active:coz-mg-secondary-pressed',
116
+ disabled ? 'cursor-not-allowed' : 'cursor-pointer',
117
+ // The following cls only hide the upper and lower dividing lines when implementing hover, active, and last (note that the dividing lines are in model-info-border, the designer's careful thought)
118
+ styles['model-option'],
119
+ // @ts-expect-error -- I don't know why the error is reported.
120
+ { [styles['model-option_selected']]: selected },
121
+ )}
122
+ onClick={() => {
123
+ if (disabled) {
124
+ return;
125
+ }
126
+ if (isProModel && !isNewModelAvailable) {
127
+ openPremiumPaywallModal();
128
+ return;
129
+ }
130
+ onClick();
131
+ }}
132
+ >
133
+ <ModelOptionAvatar model={model} />
134
+ <div
135
+ className={cls(
136
+ 'h-[80px] py-[12px] w-full',
137
+ 'flex flex-col overflow-hidden',
138
+ 'border-0 border-b border-solid coz-stroke-primary',
139
+ styles['model-info-border'],
140
+ )}
141
+ style={
142
+ isHovering
143
+ ? {
144
+ mask: calcMaskStyle([
145
+ props.enableConfig,
146
+ props.enableJumpDetail,
147
+ ]),
148
+ }
149
+ : undefined
150
+ }
151
+ >
152
+ <div className="w-full flex items-center gap-[6px] overflow-hidden">
153
+ <Typography.Title fontSize="14px" ellipsis={{ showTooltip: true }}>
154
+ {model.name}
155
+ </Typography.Title>
156
+ <div className="shrink-0 flex gap-[6px]">
157
+ {model.model_status_details?.is_free_model &&
158
+ scene !== BotCreatorScene.DouyinBot ? (
159
+ <Tag size="mini" color="primary" className="!coz-mg-plus">
160
+ {I18n.t('model_list_free')}
161
+ </Tag>
162
+ ) : null}
163
+ {isProModel && !isNewModelAvailable ? (
164
+ <IconCozDiamondFill className="coz-fg-hglt" />
165
+ ) : null}
166
+ {featureTags?.length
167
+ ? featureTags.map(feature => (
168
+ <Tag
169
+ key={feature}
170
+ size="mini"
171
+ color="primary"
172
+ className="!bg-transparent !border border-solid coz-stroke-plus"
173
+ >
174
+ {feature}
175
+ </Tag>
176
+ ))
177
+ : null}
178
+ </div>
179
+ </div>
180
+ <div className="flex items-center text-[12px] leading-[16px] coz-fg-dim overflow-hidden">
181
+ <ModelTag isFirst>
182
+ {((model.model_quota?.token_limit || 0) / 1024).toFixed(0)}K
183
+ </ModelTag>
184
+ <ModelTag
185
+ isLast={!functionTags?.length}
186
+ className="flex items-center gap-[4px]"
187
+ >
188
+ <span>{model.model_name}</span>
189
+ {model.model_status_details?.update_info ? (
190
+ <Tooltip content={model.model_status_details.update_info}>
191
+ <IconCozLongArrowUpCircle className="ml-[2px] coz-fg-hglt-green" />
192
+ </Tooltip>
193
+ ) : null}
194
+ </ModelTag>
195
+ {functionTags?.length ? (
196
+ <Tooltip content={functionTags.join(IS_OVERSEA ? ', ' : '、')}>
197
+ <span className="overflow-hidden">
198
+ <OverflowList
199
+ items={functionTags}
200
+ visibleItemRenderer={(item, idx) => (
201
+ <ModelTag
202
+ key={idx}
203
+ isLast={idx === functionTags.length - 1}
204
+ >
205
+ {item}
206
+ </ModelTag>
207
+ )}
208
+ overflowRenderer={restItems => (
209
+ <span className="pl-[6px] flex items-center">{`+${restItems.length}`}</span>
210
+ )}
211
+ collapseFrom="end"
212
+ />
213
+ </span>
214
+ </Tooltip>
215
+ ) : null}
216
+ </div>
217
+ <Typography.Text
218
+ className="mt-[4px] text-[12px] leading-[16px] coz-fg-secondary"
219
+ ellipsis={{ showTooltip: true }}
220
+ >
221
+ {model.model_brief_desc}
222
+ </Typography.Text>
223
+ </div>
224
+ {isHovering ? (
225
+ <div className="absolute right-[12px] h-full flex items-center gap-[3px]">
226
+ {props.enableConfig ? (
227
+ <IconButton
228
+ icon={<IconCozSetting />}
229
+ color="secondary"
230
+ size="default"
231
+ data-testid="model_select_option.config_btn"
232
+ onClick={e => {
233
+ e.stopPropagation();
234
+
235
+ // paywall blocking
236
+ if (isProModel && !isNewModelAvailable) {
237
+ openPremiumPaywallModal();
238
+ return;
239
+ }
240
+
241
+ if (selected) {
242
+ props.onConfigClick();
243
+ return;
244
+ }
245
+ const success = onClick();
246
+ if (success) {
247
+ setTimeout(() => props.onConfigClick());
248
+ }
249
+ }}
250
+ />
251
+ ) : null}
252
+ {props.enableJumpDetail ? (
253
+ <IconButton
254
+ icon={<IconCozLongArrowTopRight />}
255
+ color="secondary"
256
+ size="default"
257
+ data-testid="model_select_option.detail_btn"
258
+ onClick={e => {
259
+ e.stopPropagation();
260
+ props.onDetailClick(String(model.model_type));
261
+ }}
262
+ />
263
+ ) : null}
264
+ </div>
265
+ ) : null}
266
+ </article>
267
+ {premiumPaywallModal}
268
+ </>
269
+ );
270
+ }
271
+
272
+ function ModelTag({
273
+ isFirst,
274
+ isLast,
275
+ className,
276
+ children,
277
+ }: PropsWithChildren<{
278
+ isFirst?: boolean;
279
+ isLast?: boolean;
280
+ className?: string;
281
+ }>) {
282
+ return (
283
+ <div
284
+ className={cls(
285
+ { 'pl-[6px]': !isFirst },
286
+ 'shrink-0 flex items-center gap-[6px]',
287
+ )}
288
+ >
289
+ <span className={className}>{children}</span>
290
+ {isLast ? null : (
291
+ <span className="h-[9px] border-0 border-r border-solid coz-stroke-primary" />
292
+ )}
293
+ </div>
294
+ );
295
+ }
296
+
297
+ /**
298
+ * When hovering to display several icons (such as jumping to the model details page and detailed configuration), there should be a gradual change mask effect on the content under the icon
299
+ * This method is used to calculate the mask style
300
+ */
301
+ function calcMaskStyle(buttonVisible: Array<boolean | undefined>) {
302
+ const btnNum = buttonVisible.reduce(
303
+ (prevNum, showBtn) => prevNum + (showBtn ? 1 : 0),
304
+ 0,
305
+ );
306
+ if (btnNum === 0) {
307
+ return 'none';
308
+ }
309
+
310
+ const BTN_WIDTH = 32;
311
+ const BTN_GAP = 3;
312
+ /** Fixed width of mask that does not vary with the number of buttons */
313
+ const PRESET_PADDING = 16;
314
+ /** A gradual change in the width of the mask */
315
+ const MASK_WIDTH = 24;
316
+
317
+ const gradientStart =
318
+ btnNum * BTN_WIDTH + (btnNum - 1) * BTN_GAP + PRESET_PADDING;
319
+ const gradientEnd = gradientStart + MASK_WIDTH;
320
+ return `linear-gradient(to left, rgba(0,0,0,0), rgba(0,0,0,0) ${gradientStart}px, #fff ${gradientEnd}px)`;
321
+ }