@fudanda/workflow 1.20261015.1-beta.1 → 2.20261024.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 (290) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +114 -114
  3. package/THIRD-PARTY-NOTICES.md +57 -57
  4. package/dist/chrome.js +1 -1
  5. package/dist/flowgram-designer.d.ts +2 -1
  6. package/dist/graph-scope.d.ts +16 -85
  7. package/dist/index.js +2 -2
  8. package/dist/observation-types.d.ts +6 -0
  9. package/dist/{start-form-D_J3UIoE.js → start-form-L6xw9phk.js} +125 -125
  10. package/package.json +2 -2
  11. package/vendor/coze/LICENSE-APACHE +177 -177
  12. package/vendor/coze/UPSTREAM.json +2 -2
  13. package/vendor/coze/original/base-test-button.tsx +22 -22
  14. package/vendor/coze/original/comment-container.tsx +68 -68
  15. package/vendor/coze/original/condition-container.tsx +60 -60
  16. package/vendor/coze/original/condition-tag.tsx +58 -58
  17. package/vendor/coze/original/coze-global.less +234 -234
  18. package/vendor/coze/original/create-loop-function-json.ts +134 -134
  19. package/vendor/coze/original/create-loop-function.ts +56 -56
  20. package/vendor/coze/original/end-registry.ts +41 -41
  21. package/vendor/coze/original/execute-result-panel.less +97 -97
  22. package/vendor/coze/original/execute-result-panel.tsx +171 -171
  23. package/vendor/coze/original/form-item.less +39 -39
  24. package/vendor/coze/original/form-item.tsx +200 -200
  25. package/vendor/coze/original/http-api-field.tsx +42 -42
  26. package/vendor/coze/original/http-form-render.tsx +102 -102
  27. package/vendor/coze/original/icon-add.svg +3 -3
  28. package/vendor/coze/original/icon-arrow-left.svg +3 -3
  29. package/vendor/coze/original/icon-auto-layout.svg +18 -18
  30. package/vendor/coze/original/icon-code.svg +13 -13
  31. package/vendor/coze/original/icon-condition.svg +12 -12
  32. package/vendor/coze/original/icon-database.svg +18 -18
  33. package/vendor/coze/original/icon-delete.svg +5 -5
  34. package/vendor/coze/original/icon-fullscreen.svg +9 -9
  35. package/vendor/coze/original/icon-more.svg +11 -11
  36. package/vendor/coze/original/icon-play-round-outlined.svg +8 -8
  37. package/vendor/coze/original/icon-plugin-tool.svg +6 -6
  38. package/vendor/coze/original/icon-standard-copy.svg +8 -8
  39. package/vendor/coze/original/icon-unknown.svg +7 -7
  40. package/vendor/coze/original/icon-var.svg +6 -6
  41. package/vendor/coze/original/icon-workflow-end.svg +5 -5
  42. package/vendor/coze/original/icon-workflow-start.svg +5 -5
  43. package/vendor/coze/original/icon-workflow.svg +21 -21
  44. package/vendor/coze/original/icon-workflows.svg +5 -5
  45. package/vendor/coze/original/if-form-meta.tsx +88 -88
  46. package/vendor/coze/original/logic-display.tsx +33 -33
  47. package/vendor/coze/original/mouse-icon.tsx +35 -35
  48. package/vendor/coze/original/mouse-pad-selector.tsx +180 -180
  49. package/vendor/coze/original/node-card.tsx +77 -77
  50. package/vendor/coze/original/node-category-panel.less +4 -4
  51. package/vendor/coze/original/node-category-panel.tsx +53 -53
  52. package/vendor/coze/original/node-config-form.tsx +67 -67
  53. package/vendor/coze/original/node-header.less +165 -165
  54. package/vendor/coze/original/node-header.tsx +552 -552
  55. package/vendor/coze/original/node-panel.less +183 -183
  56. package/vendor/coze/original/node-render.less +20 -20
  57. package/vendor/coze/original/node-side-sheet.less +57 -57
  58. package/vendor/coze/original/node-side-sheet.tsx +214 -214
  59. package/vendor/coze/original/node-wrapper.tsx +71 -71
  60. package/vendor/coze/original/pad-icon.tsx +45 -45
  61. package/vendor/coze/original/resizable-side-panel-constants.ts +18 -18
  62. package/vendor/coze/original/resizable-side-panel.tsx +42 -42
  63. package/vendor/coze/original/start-registry.ts +53 -53
  64. package/vendor/coze/original/sub-canvas-background.less +4 -4
  65. package/vendor/coze/original/sub-canvas-background.tsx +48 -48
  66. package/vendor/coze/original/sub-canvas-container.less +16 -16
  67. package/vendor/coze/original/sub-canvas-container.tsx +97 -97
  68. package/vendor/coze/original/sub-canvas-header.less +75 -75
  69. package/vendor/coze/original/sub-canvas-header.tsx +95 -95
  70. package/vendor/coze/original/test-form-sheet-header.tsx +82 -82
  71. package/vendor/coze/original/test-form-sheet.less +178 -178
  72. package/vendor/coze/original/toolbar-add-node.tsx +68 -68
  73. package/vendor/coze/original/toolbar-auto-layout.tsx +61 -61
  74. package/vendor/coze/original/toolbar-comment.tsx +121 -121
  75. package/vendor/coze/original/toolbar-container.tsx +42 -42
  76. package/vendor/coze/original/toolbar-interactive.tsx +98 -98
  77. package/vendor/coze/original/toolbar-minimap-switch.tsx +41 -41
  78. package/vendor/coze/original/toolbar-tools.less +46 -46
  79. package/vendor/coze/original/toolbar-tools.tsx +89 -89
  80. package/vendor/coze/original/toolbar-zoom.tsx +134 -134
  81. package/vendor/coze/original/tree-variable-selector.less +291 -291
  82. package/vendor/coze/original/tree-variable-selector.tsx +298 -298
  83. package/vendor/coze/original/workflow-document-custom-options.ts +151 -151
  84. package/vendor/coze/original/workflow-header.less +65 -65
  85. package/vendor/coze/original/workflow-header.tsx +85 -85
  86. package/vendor/coze/source/agent-models/model-option/index.module.less +18 -18
  87. package/vendor/coze/source/agent-models/model-option/index.tsx +321 -321
  88. package/vendor/coze/source/agent-models/model-option-avatar/index.tsx +175 -175
  89. package/vendor/coze/source/agent-models/model-option-group/index.tsx +87 -87
  90. package/vendor/coze/source/agent-models/model-option-thumb/index.tsx +41 -41
  91. package/vendor/coze/source/agent-models/model-select-ui/index.tsx +238 -238
  92. package/vendor/coze/source/agent-models/popover-model-list-view/index.tsx +146 -146
  93. package/vendor/coze/source/components/code-editor/text-editor.tsx +71 -71
  94. package/vendor/coze/source/components/comment/components/editor/block.tsx +117 -117
  95. package/vendor/coze/source/components/comment/components/editor/leaf.tsx +64 -64
  96. package/vendor/coze/source/components/comment/components/toolbar.tsx +366 -366
  97. package/vendor/coze/source/components/comment/constant.ts +94 -94
  98. package/vendor/coze/source/components/editor-container/expand-editor/index.module.less +107 -107
  99. package/vendor/coze/source/components/editor-container/expand-editor/index.tsx +117 -117
  100. package/vendor/coze/source/components/model-select/components/model-setting.tsx +300 -300
  101. package/vendor/coze/source/components/model-select/components/settings.tsx +144 -144
  102. package/vendor/coze/source/components/model-select/index.module.less +34 -34
  103. package/vendor/coze/source/components/model-select/utils/index.tsx +100 -100
  104. package/vendor/coze/source/components/node-render/node-render-new/fields/constants.tsx +79 -79
  105. package/vendor/coze/source/components/node-render/node-render-new/fields/field-empty.module.less +12 -12
  106. package/vendor/coze/source/components/node-render/node-render-new/fields/field-empty.tsx +37 -37
  107. package/vendor/coze/source/components/node-render/node-render-new/fields/field.module.less +19 -19
  108. package/vendor/coze/source/components/node-render/node-render-new/fields/field.tsx +52 -52
  109. package/vendor/coze/source/components/node-render/node-render-new/fields/http-api-field/index.tsx +42 -42
  110. package/vendor/coze/source/components/node-render/node-render-new/fields/overflow-tag-list.module.less +47 -47
  111. package/vendor/coze/source/components/node-render/node-render-new/fields/overflow-tag-list.tsx +162 -162
  112. package/vendor/coze/source/components/node-render/node-render-new/fields/variable-tag-list.module.less +48 -48
  113. package/vendor/coze/source/components/node-render/node-render-new/fields/variable-tag-list.tsx +126 -126
  114. package/vendor/coze/source/components/node-wrapper/execute-result-panel/index.module.less +97 -97
  115. package/vendor/coze/source/components/node-wrapper/execute-result-panel/index.tsx +171 -171
  116. package/vendor/coze/source/components/sub-canvas/components/background/index.module.less +4 -4
  117. package/vendor/coze/source/components/sub-canvas/components/header/index.module.less +75 -75
  118. package/vendor/coze/source/components/test-run/test-run-button/single-node.tsx +158 -158
  119. package/vendor/coze/source/execution-panel/panel.module.less +48 -48
  120. package/vendor/coze/source/execution-panel/panel.tsx +99 -99
  121. package/vendor/coze/source/execution-panel/use-resize.ts +79 -79
  122. package/vendor/coze/source/external/features/log/components/data-viewer/constants.ts +28 -28
  123. package/vendor/coze/source/external/features/log/components/data-viewer/context/context.ts +21 -21
  124. package/vendor/coze/source/external/features/log/components/data-viewer/context/create-store.ts +48 -48
  125. package/vendor/coze/source/external/features/log/components/data-viewer/context/index.ts +19 -19
  126. package/vendor/coze/source/external/features/log/components/data-viewer/context/provider.tsx +50 -50
  127. package/vendor/coze/source/external/features/log/components/data-viewer/data-viewer.module.less +26 -26
  128. package/vendor/coze/source/external/features/log/components/data-viewer/data-viewer.tsx +79 -79
  129. package/vendor/coze/source/external/features/log/components/data-viewer/hooks/index.ts +18 -18
  130. package/vendor/coze/source/external/features/log/components/data-viewer/hooks/use-data-viewer-store.ts +29 -29
  131. package/vendor/coze/source/external/features/log/components/data-viewer/hooks/use-expand.ts +35 -35
  132. package/vendor/coze/source/external/features/log/components/data-viewer/hooks/use-value.tsx +66 -66
  133. package/vendor/coze/source/external/features/log/components/data-viewer/index.tsx +21 -21
  134. package/vendor/coze/source/external/features/log/components/data-viewer/json-field/index.tsx +186 -186
  135. package/vendor/coze/source/external/features/log/components/data-viewer/json-field/json-field.module.less +79 -79
  136. package/vendor/coze/source/external/features/log/components/data-viewer/types.ts +50 -50
  137. package/vendor/coze/source/external/features/log/components/data-viewer/utils/big-number.ts +35 -35
  138. package/vendor/coze/source/external/features/log/components/data-viewer/utils/generate-field.ts +104 -104
  139. package/vendor/coze/source/external/features/log/components/log-parser/log-wrap.module.less +27 -27
  140. package/vendor/coze/source/external/features/log/components/log-parser/log-wrap.tsx +109 -109
  141. package/vendor/coze/source/external/features/log/components/node-status-bar/node-status-bar.module.less +52 -52
  142. package/vendor/coze/source/external/features/log/components/node-status-bar/node-status-bar.tsx +113 -113
  143. package/vendor/coze/source/form/components/field-empty.tsx +45 -45
  144. package/vendor/coze/source/form/components/section.tsx +91 -91
  145. package/vendor/coze/source/form-extensions/components/add-item-button/index.tsx +64 -64
  146. package/vendor/coze/source/form-extensions/components/form-card/index.module.less +131 -131
  147. package/vendor/coze/source/form-extensions/components/form-card/index.tsx +309 -309
  148. package/vendor/coze/source/form-extensions/components/form-item/index.module.less +39 -39
  149. package/vendor/coze/source/form-extensions/components/form-item/index.tsx +200 -200
  150. package/vendor/coze/source/form-extensions/components/form-item-feedback/index.module.less +7 -7
  151. package/vendor/coze/source/form-extensions/components/form-item-feedback/index.tsx +39 -39
  152. package/vendor/coze/source/form-extensions/components/level-line/index.module.less +346 -346
  153. package/vendor/coze/source/form-extensions/components/level-line/index.ts +17 -17
  154. package/vendor/coze/source/form-extensions/components/level-line/level-line.tsx +460 -460
  155. package/vendor/coze/source/form-extensions/components/level-line/types.ts +38 -38
  156. package/vendor/coze/source/form-extensions/components/level-line/utils.ts +60 -60
  157. package/vendor/coze/source/form-extensions/components/literal-value-input/constants.ts +61 -61
  158. package/vendor/coze/source/form-extensions/components/literal-value-input/input-boolean.tsx +80 -80
  159. package/vendor/coze/source/form-extensions/components/literal-value-input/input-integer.tsx +68 -68
  160. package/vendor/coze/source/form-extensions/components/literal-value-input/input-number.tsx +62 -62
  161. package/vendor/coze/source/form-extensions/components/literal-value-input/input-select.tsx +59 -59
  162. package/vendor/coze/source/form-extensions/components/literal-value-input/input-string.tsx +55 -55
  163. package/vendor/coze/source/form-extensions/components/literal-value-input/literal-value-input.tsx +35 -35
  164. package/vendor/coze/source/form-extensions/components/literal-value-input/styles.module.less +46 -46
  165. package/vendor/coze/source/form-extensions/components/literal-value-input/type.ts +61 -61
  166. package/vendor/coze/source/form-extensions/components/literal-value-input/utils.tsx +117 -117
  167. package/vendor/coze/source/form-extensions/components/node-header/components/close-button.tsx +44 -44
  168. package/vendor/coze/source/form-extensions/components/node-header/description-display.tsx +52 -52
  169. package/vendor/coze/source/form-extensions/components/node-header/description.tsx +131 -131
  170. package/vendor/coze/source/form-extensions/components/node-header/index.module.less +165 -165
  171. package/vendor/coze/source/form-extensions/components/node-header/index.tsx +552 -552
  172. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-btn/index.tsx +43 -43
  173. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-content/default-value-input.tsx +276 -276
  174. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-content/index.module.less +124 -124
  175. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-content/index.tsx +131 -131
  176. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-content/types.ts +32 -32
  177. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-name/index.module.less +38 -38
  178. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-name/index.tsx +101 -101
  179. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-operator/index.module.less +51 -51
  180. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-operator/index.tsx +107 -107
  181. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-required/index.module.less +17 -17
  182. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-required/index.tsx +53 -53
  183. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-type/constants.tsx +77 -77
  184. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-type/index.module.less +97 -97
  185. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-type/index.tsx +155 -155
  186. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/constants.ts +38 -38
  187. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/index.module.less +138 -138
  188. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/index.tsx +360 -360
  189. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/type.ts +88 -88
  190. package/vendor/coze/source/form-extensions/components/output-tree/components/header/index.module.less +36 -36
  191. package/vendor/coze/source/form-extensions/components/output-tree/components/header/index.tsx +104 -104
  192. package/vendor/coze/source/form-extensions/components/output-tree/constants.ts +22 -22
  193. package/vendor/coze/source/form-extensions/components/output-tree/context.ts +28 -28
  194. package/vendor/coze/source/form-extensions/components/output-tree/hooks/use-columns-style.ts +39 -39
  195. package/vendor/coze/source/form-extensions/components/output-tree/index.module.less +83 -83
  196. package/vendor/coze/source/form-extensions/components/output-tree/index.tsx +692 -692
  197. package/vendor/coze/source/form-extensions/components/output-tree/utils.ts +185 -185
  198. package/vendor/coze/source/form-extensions/components/setting-on-error/components/process-type/index.tsx +97 -97
  199. package/vendor/coze/source/form-extensions/components/setting-on-error/components/process-type/option-item.tsx +30 -30
  200. package/vendor/coze/source/form-extensions/components/setting-on-error/components/process-type/types.ts +23 -23
  201. package/vendor/coze/source/form-extensions/components/setting-on-error/components/retry-times/index.tsx +45 -45
  202. package/vendor/coze/source/form-extensions/components/setting-on-error/components/timeout/index.tsx +102 -102
  203. package/vendor/coze/source/form-extensions/components/tree-variable-selector/composite-select-option.tsx +167 -167
  204. package/vendor/coze/source/form-extensions/components/tree-variable-selector/composite-select-tree-panel.tsx +165 -165
  205. package/vendor/coze/source/form-extensions/components/tree-variable-selector/composite-select.module.less +96 -96
  206. package/vendor/coze/source/form-extensions/components/tree-variable-selector/composite-select.tsx +265 -265
  207. package/vendor/coze/source/form-extensions/components/tree-variable-selector/context.tsx +42 -42
  208. package/vendor/coze/source/form-extensions/components/tree-variable-selector/expand-icon.tsx +30 -30
  209. package/vendor/coze/source/form-extensions/components/tree-variable-selector/index.module.less +291 -291
  210. package/vendor/coze/source/form-extensions/components/tree-variable-selector/node-variable-tree.module.less +48 -48
  211. package/vendor/coze/source/form-extensions/components/tree-variable-selector/node-variable-tree.tsx +149 -149
  212. package/vendor/coze/source/form-extensions/components/tree-variable-selector/utils.tsx +500 -500
  213. package/vendor/coze/source/form-extensions/components/tree-variable-selector/value-display.tsx +130 -130
  214. package/vendor/coze/source/form-extensions/components/value-expression-input/const.ts +68 -68
  215. package/vendor/coze/source/form-extensions/components/value-expression-input/context.ts +27 -27
  216. package/vendor/coze/source/form-extensions/components/value-expression-input/index.module.less +144 -144
  217. package/vendor/coze/source/form-extensions/components/value-expression-input/value-expression-input.tsx +418 -418
  218. package/vendor/coze/source/form-extensions/components/variable-type-selector/constants.tsx +77 -77
  219. package/vendor/coze/source/form-extensions/components/variable-type-selector/index.module.less +31 -31
  220. package/vendor/coze/source/form-extensions/components/variable-type-selector/index.tsx +17 -17
  221. package/vendor/coze/source/form-extensions/components/variable-type-selector/utils.tsx +298 -298
  222. package/vendor/coze/source/form-extensions/components/variable-type-selector/variable-type-selector.tsx +235 -235
  223. package/vendor/coze/source/form-extensions/components/variable-type-tag/index.tsx +54 -54
  224. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-branch.module.less +9 -9
  225. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-branch.tsx +249 -249
  226. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-header.tsx +50 -50
  227. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-item-logic.module.less +13 -13
  228. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-item-logic.tsx +73 -73
  229. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/delete/index.module.less +10 -10
  230. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/delete/index.tsx +42 -42
  231. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/index.module.less +9 -9
  232. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/index.tsx +254 -254
  233. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/operator/index.module.less +7 -7
  234. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/operator/index.tsx +144 -144
  235. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/value-expression-with-state/index.tsx +69 -69
  236. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/context.ts +36 -36
  237. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/condition-branch-preview.tsx +44 -44
  238. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/condition-branch.tsx +152 -152
  239. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/container.tsx +19 -19
  240. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/custom-drag-layer.tsx +117 -117
  241. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/types.ts +18 -18
  242. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/types.ts +58 -58
  243. package/vendor/coze/source/node-registries/end/components/terminate-plan-field.tsx +29 -29
  244. package/vendor/coze/source/node-registries/end/constants.ts +34 -34
  245. package/vendor/coze/source/node-registries/end/form.tsx +66 -66
  246. package/vendor/coze/source/node-registries/end/types.ts +45 -45
  247. package/vendor/coze/source/node-registries/http/components/base-editor/raw-text-editor.tsx +80 -80
  248. package/vendor/coze/source/node-registries/http/constants.ts +80 -80
  249. package/vendor/coze/source/node-registries/http/fields/json-import-editor/index.module.less +191 -191
  250. package/vendor/coze/source/node-registries/http/fields/json-import-editor/json-import-components/json-expand-editor.tsx +141 -141
  251. package/vendor/coze/source/node-registries/http/fields/json-import-editor/json-import-components/json-import.tsx +99 -99
  252. package/vendor/coze/source/node-registries/http/form-render.tsx +102 -102
  253. package/vendor/coze/source/node-registries/http/setters/api/curl-expand-editor.tsx +161 -161
  254. package/vendor/coze/source/node-registries/http/setters/api/curl-import.tsx +96 -96
  255. package/vendor/coze/source/node-registries/http/setters/api/index.module.less +199 -199
  256. package/vendor/coze/source/node-registries/http/setters/api/index.tsx +149 -149
  257. package/vendor/coze/source/node-registries/http/setters/api/utils.ts +41 -41
  258. package/vendor/coze/source/node-registries/http/setters/body/index.tsx +201 -201
  259. package/vendor/coze/source/node-registries/http/setters/constants.ts +83 -83
  260. package/vendor/coze/source/node-registries/if/components/else/index.tsx +41 -41
  261. package/vendor/coze/source/node-registries/intent/components/intents/index.module.less +14 -14
  262. package/vendor/coze/source/node-registries/intent/components/intents/option-item/index.tsx +189 -189
  263. package/vendor/coze/source/node-registries/json-stringify/constants.ts +32 -32
  264. package/vendor/coze/source/node-registries/json-stringify/form.tsx +46 -46
  265. package/vendor/coze/source/node-registries/loop/constants.ts +43 -43
  266. package/vendor/coze/source/node-registries/loop/loop-fields/loop-settings-section/index.tsx +48 -48
  267. package/vendor/coze/source/node-registries/loop/loop-fields/loop-type/index.tsx +81 -81
  268. package/vendor/coze/source/node-registries/loop/loop-fields/loop-type/options.ts +34 -34
  269. package/vendor/coze/source/node-registries/start/form.tsx +209 -209
  270. package/vendor/coze/source/node-registries/text-process/components/method-selector/index.tsx +46 -46
  271. package/vendor/coze/source/node-registries/text-process/constants.ts +132 -132
  272. package/vendor/coze/source/nodes-v2/components/form-item-feedback/index.module.less +7 -7
  273. package/vendor/coze/source/nodes-v2/components/form-item-feedback/index.tsx +47 -47
  274. package/vendor/coze/source/nodes-v2/components/system-prompt/index.module.less +66 -66
  275. package/vendor/coze/source/nodes-v2/components/system-prompt/prompt-kit-bar.tsx +129 -129
  276. package/vendor/coze/source/nodes-v2/components/system-prompt/system-prompt-editor.tsx +110 -110
  277. package/vendor/coze/source/nodes-v2/llm/user-prompt/index.tsx +64 -64
  278. package/vendor/coze/source/prompt-kit/input-config-popover/index.tsx +80 -80
  279. package/vendor/coze/source/prompt-kit/input-slot-widget/index.css +34 -34
  280. package/vendor/coze/source/prompt-kit/input-slot-widget/index.ts +169 -169
  281. package/vendor/coze/source/prompt-kit/library-item.tsx +141 -141
  282. package/vendor/coze/source/prompt-kit/prompt-info-input.tsx +90 -90
  283. package/vendor/coze/source/ui-components/add-operation/index.module.less +19 -19
  284. package/vendor/coze/source/ui-components/add-operation/index.tsx +67 -67
  285. package/vendor/coze/source/ui-components/auto-size-tooltip/index.module.less +39 -39
  286. package/vendor/coze/source/ui-components/auto-size-tooltip/index.tsx +74 -74
  287. package/vendor/coze/source/ui-components/workflow-sl-input/index.module.less +36 -36
  288. package/vendor/coze/source/ui-components/workflow-sl-input/index.tsx +194 -194
  289. package/vendor/coze/source/utils/create-slots/index.tsx +126 -126
  290. package/vendor/coze/source/utils/create-slots/use-force-update.ts +23 -23
@@ -1,418 +1,418 @@
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 -- no need to check */
18
- import React, {
19
- useCallback,
20
- type CSSProperties,
21
- useState,
22
- useMemo,
23
- useRef,
24
- } from 'react';
25
-
26
- import classnames from 'classnames';
27
- import { type SchemaObject } from 'ajv';
28
- import {
29
- ValueExpression,
30
- ValueExpressionType,
31
- ViewVariableType,
32
- useNodeTestId,
33
- type LiteralExpression,
34
- } from '@coze-workflow/base';
35
- import { I18n } from '@coze-arch/i18n';
36
- import { type SelectProps } from '@coze-arch/bot-semi/Select';
37
- import { IconCozApply } from '@coze-arch/coze-design/icons';
38
- import { IconButton } from '@coze-arch/coze-design';
39
-
40
- import { useRefInputNode } from '@/hooks/use-ref-input';
41
- import {
42
- LiteralValueInput,
43
- type LiteralValueType,
44
- type InputType as LiteralInputType,
45
- } from '@/form-extensions/components/literal-value-input';
46
-
47
- import {
48
- type RenderDisplayVarName,
49
- type CustomFilterVar,
50
- } from '../tree-variable-selector/types';
51
- import { FileInput } from '../file-input';
52
- import { type VariableSelectorProps } from '../../components/tree-variable-selector';
53
- import { VoiceTag } from './voice/voice-option';
54
- import useVoice from './voice/use-voice';
55
- import {
56
- type RefTagColor,
57
- type RefValueDisplayProps,
58
- } from './ref-value-display';
59
- import { ObjectRefValueDisplay } from './object-ref-display';
60
- import { ValueExpressionInputContext } from './context';
61
- import { SELECT_POPOVER_MIN_WIDTH, VARIABLE_SELECTOR_STYLE } from './const';
62
-
63
- import styles from './index.module.less';
64
-
65
- export interface ValueExpressionInputProps {
66
- className?: string;
67
- testId?: string;
68
- value: ValueExpression | undefined;
69
- onChange: (value: ValueExpression | undefined) => void;
70
- onBlur?: () => void;
71
- disabled?: boolean;
72
- /**
73
- * After specifying inputType, the parameter type is fixed and cannot be switched, but variables that are not of this data type can still be selected, and the running state will perform type conversion
74
- */
75
- inputType?: LiteralInputType;
76
- /**
77
- * You can switch between several specified types. When length = 1, the usage is the same as inputType.
78
- * Effective only in TypedValueExpressionInput
79
- * When inputType is specified at the same time, the union of two props is taken
80
- */
81
- inputTypes?: LiteralInputType[];
82
- /**
83
- * Default selected data type
84
- */
85
- defaultInputType?: LiteralInputType;
86
- availableFileTypes?: Array<ViewVariableType>;
87
- validateStatus?: SelectProps['validateStatus'];
88
- optionFilter?: VariableSelectorProps['optionFilter'];
89
- handleDataSource?: VariableSelectorProps['handleDataSource'];
90
- invalidContent?: string;
91
- style?: CSSProperties;
92
- selectStyle?: CSSProperties;
93
- literalStyle?: CSSProperties;
94
- variableTagStyle?: CSSProperties;
95
- readonly?: boolean;
96
- /** Prohibited data types */
97
- disabledTypes?: Array<ViewVariableType>;
98
- literalDisabled?: boolean;
99
-
100
- /** Whether to disable variable reference mode */
101
- refDisabled?: boolean;
102
- literalConfig?: {
103
- min?: number;
104
- max?: number;
105
- optionsList?: { label: string; value: string }[];
106
- /**
107
- * Schema configuration of object types for json editor code hints and validation
108
- */
109
- jsonSchema?: SchemaObject;
110
- };
111
- showClear?: boolean;
112
- customFilterVar?: CustomFilterVar;
113
- refTagColor?: RefTagColor;
114
- placeholder?: string;
115
- inputPlaceholder?: string;
116
- renderDisplayVarName?: RenderDisplayVarName;
117
- hideSettingIcon?: boolean;
118
- hideDeleteIcon?: boolean;
119
- enableSelectNode?: boolean;
120
- variablesDatasource?: VariableSelectorProps['dataSource'];
121
- /**
122
- * Forbid type conversion. Switching variable types is not supported when a reference variable (ValueExpression) is selected
123
- */
124
- forbidTypeCast?: boolean;
125
- /* Type restrictions, when the reference type does not meet the restrictions, a warning message is displayed */
126
- variableTypeConstraints?: RefValueDisplayProps['variableTypeConstraints'];
127
- }
128
-
129
- export const ValueExpressionInput = ({
130
- className,
131
- value,
132
- onChange,
133
- onBlur,
134
- disabled,
135
- variablesDatasource: variablesDataSource,
136
- inputType = ViewVariableType.String,
137
- availableFileTypes = [],
138
- validateStatus,
139
- invalidContent,
140
- style,
141
- literalStyle,
142
- readonly,
143
- testId,
144
- disabledTypes,
145
- optionFilter,
146
- literalDisabled = false,
147
- refDisabled = false,
148
- showClear = false,
149
- hideDeleteIcon = false,
150
- hideSettingIcon = false,
151
- enableSelectNode = false,
152
- renderDisplayVarName,
153
- customFilterVar,
154
- literalConfig = {},
155
- refTagColor,
156
- placeholder,
157
- inputPlaceholder,
158
- variableTagStyle,
159
- handleDataSource,
160
- variableTypeConstraints,
161
- }: ValueExpressionInputProps) => {
162
- const { concatTestId } = useNodeTestId();
163
- const containerRef = useRef<HTMLDivElement>(null);
164
-
165
- const onLiteralChange = useCallback(
166
- (v?: LiteralValueType): void => {
167
- onChange({ type: ValueExpressionType.LITERAL, content: v ?? undefined });
168
- },
169
- [onChange],
170
- );
171
-
172
- const onImageChange = useCallback(
173
- v => {
174
- onChange({
175
- type: ValueExpressionType.LITERAL,
176
- content: v?.url || '',
177
- rawMeta: { fileName: v?.name, type: inputType },
178
- });
179
- },
180
- [onChange],
181
- );
182
-
183
- const [focused, setFocused] = useState(false);
184
-
185
- const handleFocus = () => setFocused(true);
186
- const handleBlur = () => {
187
- setFocused(false);
188
- onBlur?.();
189
- };
190
-
191
- const isRefValue =
192
- !!value && ValueExpression.isRef(value) && !!value.content?.keyPath;
193
-
194
- const isLiteralJsonValue = useMemo(
195
- () =>
196
- !!value &&
197
- ValueExpression.isLiteral(value) &&
198
- ViewVariableType.isJSONInputType(inputType),
199
- [value, inputType],
200
- );
201
-
202
- const [isUploadingFile, setIsUploadingFile] = useState(false);
203
-
204
- const isLiteralMultiFileValue =
205
- ((value &&
206
- !ValueExpression.isEmpty(value) &&
207
- ValueExpression.isLiteral(value)) ||
208
- isUploadingFile) &&
209
- ViewVariableType.isArrayType(inputType) &&
210
- ViewVariableType.isFileType(inputType) &&
211
- inputType !== ViewVariableType.ArrayVoice;
212
-
213
- const isLiteralMultiLineValue =
214
- isLiteralJsonValue &&
215
- String((value as LiteralExpression)?.content)?.includes('\n');
216
-
217
- const [expandLiteralInput, setExpandLiteralInput] = useState(false);
218
-
219
- const isVoiceValue =
220
- ViewVariableType.isVoiceType(inputType) &&
221
- !!value &&
222
- ValueExpression.isLiteral(value) &&
223
- value.content;
224
-
225
- const { renderVariableSelectorExtraOption, selectVoiceModal, voiceSelector } =
226
- useVoice({
227
- inputType,
228
- onChange,
229
- onBlur,
230
- disabled,
231
- validateStatus,
232
- value,
233
- });
234
-
235
- const renderInputRight = () => {
236
- if (ViewVariableType.isVoiceType(inputType)) {
237
- return voiceSelector;
238
- }
239
-
240
- if (ViewVariableType.isFileType(inputType)) {
241
- return (
242
- <FileInput
243
- value={value as LiteralExpression}
244
- inputType={inputType}
245
- availableFileTypes={availableFileTypes}
246
- onChange={onImageChange}
247
- onUploadChange={uploading => setIsUploadingFile(uploading)}
248
- onBlur={onBlur}
249
- />
250
- );
251
- }
252
-
253
- return (
254
- <LiteralValueInput
255
- className={classnames(styles['literal-value-input'], {
256
- 'pb-[24px]':
257
- isLiteralMultiLineValue ||
258
- (ViewVariableType.isJSONInputType(inputType) && expandLiteralInput),
259
- })}
260
- testId={concatTestId(testId ?? '', 'literal-input')}
261
- readonly={readonly}
262
- disabled={disabled}
263
- value={(value as LiteralExpression)?.content}
264
- inputType={inputType}
265
- onBlur={handleBlur}
266
- onFocus={handleFocus}
267
- onChange={onLiteralChange}
268
- config={{
269
- ...literalConfig,
270
- onRequestInputExpand: isLiteralJsonValue
271
- ? setExpandLiteralInput
272
- : undefined,
273
- }}
274
- style={literalStyle}
275
- placeholder={inputPlaceholder ?? I18n.t('workflow_241015_01')}
276
- />
277
- );
278
- };
279
-
280
- const { renderVariableSelect, renderVariableDisplay } = useRefInputNode({
281
- value,
282
- onChange,
283
- onBlur,
284
- disabled,
285
- variablesDataSource,
286
- validateStatus,
287
- readonly,
288
- testId,
289
- disabledTypes,
290
- showClear,
291
- invalidContent,
292
- renderDisplayVarName,
293
- customFilterVar,
294
- setFocused,
295
- style: VARIABLE_SELECTOR_STYLE,
296
- refTagColor,
297
- hideDeleteIcon,
298
- variableTagStyle,
299
- optionFilter,
300
- renderExtraOption: renderVariableSelectorExtraOption,
301
- enableSelectNode,
302
- handleDataSource,
303
- popoverStyle: containerRef.current
304
- ? {
305
- minWidth: Math.max(
306
- containerRef.current.clientWidth,
307
- SELECT_POPOVER_MIN_WIDTH,
308
- ),
309
- }
310
- : undefined,
311
- variableTypeConstraints,
312
- });
313
-
314
- const renderInput = () => {
315
- if (isVoiceValue) {
316
- return renderVariableSelect(
317
- <div
318
- className={classnames(
319
- 'cursor-pointer w-full overflow-hidden flex items-center pl-0.5',
320
- )}
321
- >
322
- <VoiceTag
323
- name={
324
- (value as LiteralExpression)?.rawMeta?.fileName || value?.content
325
- }
326
- onClose={() => onChange?.(undefined)}
327
- />
328
- </div>,
329
- );
330
- }
331
-
332
- return isRefValue ? renderVariableDisplay() : renderInputRight();
333
- };
334
- const finalClassName = useMemo(
335
- () =>
336
- classnames(
337
- className,
338
- 'flex items-start border border-solid bg-transparent max-w-[100%] py-[1px]',
339
- {
340
- 'semi-input-wrapper-error': validateStatus === 'error',
341
- 'coz-stroke-plus': validateStatus !== 'error',
342
- '!bg-transparent': focused,
343
- '!coz-stroke-hglt': focused && validateStatus !== 'error',
344
- 'pointer-events-none': readonly,
345
- },
346
- 'hover:coz-mg-primary-hovered',
347
- isLiteralMultiLineValue || isLiteralMultiFileValue || expandLiteralInput
348
- ? 'h-full'
349
- : 'h-[24px]',
350
- styles['value-expression-input-wrap-new'],
351
- 'semi-input-wrapper semi-input-wrapper-small',
352
- ),
353
- [
354
- className,
355
- validateStatus,
356
- focused,
357
- readonly,
358
- styles,
359
- isLiteralMultiLineValue,
360
- isLiteralMultiFileValue,
361
- expandLiteralInput,
362
- ],
363
- );
364
-
365
- if (value && ValueExpression.isObjectRef(value)) {
366
- return (
367
- <div className={finalClassName} style={style} ref={containerRef}>
368
- <ObjectRefValueDisplay />
369
- </div>
370
- );
371
- }
372
-
373
- return (
374
- <ValueExpressionInputContext.Provider value={{ testId }}>
375
- <div className={finalClassName} style={style} ref={containerRef}>
376
- <div className="ref-wrapper flex-1 flex w-full h-full items-center overflow-hidden">
377
- {/* Determine whether the variable selects the scene */}
378
- {!refDisabled && // When reference mode is enabled, check for:
379
- literalDisabled && // Scenario 1: Literals are disabled
380
- !isRefValue ? ( // Scenario 2: The current value is not a reference type
381
- renderVariableSelect(
382
- <div className="cursor-pointer w-full h-full overflow-hidden flex items-center px-1">
383
- <p className="text-[12px] text-[var(--coz-fg-secondary)] pointer-events-none whitespace-nowrap">
384
- {placeholder || I18n.t('workflow_variable_ref_placeholder')}
385
- </p>
386
- </div>,
387
- )
388
- ) : (
389
- <div className={styles['input-wrapper']}>{renderInput()}</div>
390
- )}
391
- </div>
392
- {refDisabled || hideSettingIcon ? null : (
393
- <div
394
- className={classnames(
395
- styles['setting-button-wrap'],
396
- 'flex-none leading-none',
397
- {
398
- [styles['pos-absolute']]: isLiteralJsonValue,
399
- [styles['self-end']]: isLiteralMultiFileValue,
400
- },
401
- )}
402
- >
403
- {renderVariableSelect(
404
- <IconButton
405
- color="secondary"
406
- size="small"
407
- icon={<IconCozApply className="coz-fg-primary text-sm" />}
408
- data-testid={concatTestId(testId ?? '', 'variable-trigger')}
409
- ></IconButton>,
410
- )}
411
- </div>
412
- )}
413
-
414
- {selectVoiceModal}
415
- </div>
416
- </ValueExpressionInputContext.Provider>
417
- );
418
- };
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 -- no need to check */
18
+ import React, {
19
+ useCallback,
20
+ type CSSProperties,
21
+ useState,
22
+ useMemo,
23
+ useRef,
24
+ } from 'react';
25
+
26
+ import classnames from 'classnames';
27
+ import { type SchemaObject } from 'ajv';
28
+ import {
29
+ ValueExpression,
30
+ ValueExpressionType,
31
+ ViewVariableType,
32
+ useNodeTestId,
33
+ type LiteralExpression,
34
+ } from '@coze-workflow/base';
35
+ import { I18n } from '@coze-arch/i18n';
36
+ import { type SelectProps } from '@coze-arch/bot-semi/Select';
37
+ import { IconCozApply } from '@coze-arch/coze-design/icons';
38
+ import { IconButton } from '@coze-arch/coze-design';
39
+
40
+ import { useRefInputNode } from '@/hooks/use-ref-input';
41
+ import {
42
+ LiteralValueInput,
43
+ type LiteralValueType,
44
+ type InputType as LiteralInputType,
45
+ } from '@/form-extensions/components/literal-value-input';
46
+
47
+ import {
48
+ type RenderDisplayVarName,
49
+ type CustomFilterVar,
50
+ } from '../tree-variable-selector/types';
51
+ import { FileInput } from '../file-input';
52
+ import { type VariableSelectorProps } from '../../components/tree-variable-selector';
53
+ import { VoiceTag } from './voice/voice-option';
54
+ import useVoice from './voice/use-voice';
55
+ import {
56
+ type RefTagColor,
57
+ type RefValueDisplayProps,
58
+ } from './ref-value-display';
59
+ import { ObjectRefValueDisplay } from './object-ref-display';
60
+ import { ValueExpressionInputContext } from './context';
61
+ import { SELECT_POPOVER_MIN_WIDTH, VARIABLE_SELECTOR_STYLE } from './const';
62
+
63
+ import styles from './index.module.less';
64
+
65
+ export interface ValueExpressionInputProps {
66
+ className?: string;
67
+ testId?: string;
68
+ value: ValueExpression | undefined;
69
+ onChange: (value: ValueExpression | undefined) => void;
70
+ onBlur?: () => void;
71
+ disabled?: boolean;
72
+ /**
73
+ * After specifying inputType, the parameter type is fixed and cannot be switched, but variables that are not of this data type can still be selected, and the running state will perform type conversion
74
+ */
75
+ inputType?: LiteralInputType;
76
+ /**
77
+ * You can switch between several specified types. When length = 1, the usage is the same as inputType.
78
+ * Effective only in TypedValueExpressionInput
79
+ * When inputType is specified at the same time, the union of two props is taken
80
+ */
81
+ inputTypes?: LiteralInputType[];
82
+ /**
83
+ * Default selected data type
84
+ */
85
+ defaultInputType?: LiteralInputType;
86
+ availableFileTypes?: Array<ViewVariableType>;
87
+ validateStatus?: SelectProps['validateStatus'];
88
+ optionFilter?: VariableSelectorProps['optionFilter'];
89
+ handleDataSource?: VariableSelectorProps['handleDataSource'];
90
+ invalidContent?: string;
91
+ style?: CSSProperties;
92
+ selectStyle?: CSSProperties;
93
+ literalStyle?: CSSProperties;
94
+ variableTagStyle?: CSSProperties;
95
+ readonly?: boolean;
96
+ /** Prohibited data types */
97
+ disabledTypes?: Array<ViewVariableType>;
98
+ literalDisabled?: boolean;
99
+
100
+ /** Whether to disable variable reference mode */
101
+ refDisabled?: boolean;
102
+ literalConfig?: {
103
+ min?: number;
104
+ max?: number;
105
+ optionsList?: { label: string; value: string }[];
106
+ /**
107
+ * Schema configuration of object types for json editor code hints and validation
108
+ */
109
+ jsonSchema?: SchemaObject;
110
+ };
111
+ showClear?: boolean;
112
+ customFilterVar?: CustomFilterVar;
113
+ refTagColor?: RefTagColor;
114
+ placeholder?: string;
115
+ inputPlaceholder?: string;
116
+ renderDisplayVarName?: RenderDisplayVarName;
117
+ hideSettingIcon?: boolean;
118
+ hideDeleteIcon?: boolean;
119
+ enableSelectNode?: boolean;
120
+ variablesDatasource?: VariableSelectorProps['dataSource'];
121
+ /**
122
+ * Forbid type conversion. Switching variable types is not supported when a reference variable (ValueExpression) is selected
123
+ */
124
+ forbidTypeCast?: boolean;
125
+ /* Type restrictions, when the reference type does not meet the restrictions, a warning message is displayed */
126
+ variableTypeConstraints?: RefValueDisplayProps['variableTypeConstraints'];
127
+ }
128
+
129
+ export const ValueExpressionInput = ({
130
+ className,
131
+ value,
132
+ onChange,
133
+ onBlur,
134
+ disabled,
135
+ variablesDatasource: variablesDataSource,
136
+ inputType = ViewVariableType.String,
137
+ availableFileTypes = [],
138
+ validateStatus,
139
+ invalidContent,
140
+ style,
141
+ literalStyle,
142
+ readonly,
143
+ testId,
144
+ disabledTypes,
145
+ optionFilter,
146
+ literalDisabled = false,
147
+ refDisabled = false,
148
+ showClear = false,
149
+ hideDeleteIcon = false,
150
+ hideSettingIcon = false,
151
+ enableSelectNode = false,
152
+ renderDisplayVarName,
153
+ customFilterVar,
154
+ literalConfig = {},
155
+ refTagColor,
156
+ placeholder,
157
+ inputPlaceholder,
158
+ variableTagStyle,
159
+ handleDataSource,
160
+ variableTypeConstraints,
161
+ }: ValueExpressionInputProps) => {
162
+ const { concatTestId } = useNodeTestId();
163
+ const containerRef = useRef<HTMLDivElement>(null);
164
+
165
+ const onLiteralChange = useCallback(
166
+ (v?: LiteralValueType): void => {
167
+ onChange({ type: ValueExpressionType.LITERAL, content: v ?? undefined });
168
+ },
169
+ [onChange],
170
+ );
171
+
172
+ const onImageChange = useCallback(
173
+ v => {
174
+ onChange({
175
+ type: ValueExpressionType.LITERAL,
176
+ content: v?.url || '',
177
+ rawMeta: { fileName: v?.name, type: inputType },
178
+ });
179
+ },
180
+ [onChange],
181
+ );
182
+
183
+ const [focused, setFocused] = useState(false);
184
+
185
+ const handleFocus = () => setFocused(true);
186
+ const handleBlur = () => {
187
+ setFocused(false);
188
+ onBlur?.();
189
+ };
190
+
191
+ const isRefValue =
192
+ !!value && ValueExpression.isRef(value) && !!value.content?.keyPath;
193
+
194
+ const isLiteralJsonValue = useMemo(
195
+ () =>
196
+ !!value &&
197
+ ValueExpression.isLiteral(value) &&
198
+ ViewVariableType.isJSONInputType(inputType),
199
+ [value, inputType],
200
+ );
201
+
202
+ const [isUploadingFile, setIsUploadingFile] = useState(false);
203
+
204
+ const isLiteralMultiFileValue =
205
+ ((value &&
206
+ !ValueExpression.isEmpty(value) &&
207
+ ValueExpression.isLiteral(value)) ||
208
+ isUploadingFile) &&
209
+ ViewVariableType.isArrayType(inputType) &&
210
+ ViewVariableType.isFileType(inputType) &&
211
+ inputType !== ViewVariableType.ArrayVoice;
212
+
213
+ const isLiteralMultiLineValue =
214
+ isLiteralJsonValue &&
215
+ String((value as LiteralExpression)?.content)?.includes('\n');
216
+
217
+ const [expandLiteralInput, setExpandLiteralInput] = useState(false);
218
+
219
+ const isVoiceValue =
220
+ ViewVariableType.isVoiceType(inputType) &&
221
+ !!value &&
222
+ ValueExpression.isLiteral(value) &&
223
+ value.content;
224
+
225
+ const { renderVariableSelectorExtraOption, selectVoiceModal, voiceSelector } =
226
+ useVoice({
227
+ inputType,
228
+ onChange,
229
+ onBlur,
230
+ disabled,
231
+ validateStatus,
232
+ value,
233
+ });
234
+
235
+ const renderInputRight = () => {
236
+ if (ViewVariableType.isVoiceType(inputType)) {
237
+ return voiceSelector;
238
+ }
239
+
240
+ if (ViewVariableType.isFileType(inputType)) {
241
+ return (
242
+ <FileInput
243
+ value={value as LiteralExpression}
244
+ inputType={inputType}
245
+ availableFileTypes={availableFileTypes}
246
+ onChange={onImageChange}
247
+ onUploadChange={uploading => setIsUploadingFile(uploading)}
248
+ onBlur={onBlur}
249
+ />
250
+ );
251
+ }
252
+
253
+ return (
254
+ <LiteralValueInput
255
+ className={classnames(styles['literal-value-input'], {
256
+ 'pb-[24px]':
257
+ isLiteralMultiLineValue ||
258
+ (ViewVariableType.isJSONInputType(inputType) && expandLiteralInput),
259
+ })}
260
+ testId={concatTestId(testId ?? '', 'literal-input')}
261
+ readonly={readonly}
262
+ disabled={disabled}
263
+ value={(value as LiteralExpression)?.content}
264
+ inputType={inputType}
265
+ onBlur={handleBlur}
266
+ onFocus={handleFocus}
267
+ onChange={onLiteralChange}
268
+ config={{
269
+ ...literalConfig,
270
+ onRequestInputExpand: isLiteralJsonValue
271
+ ? setExpandLiteralInput
272
+ : undefined,
273
+ }}
274
+ style={literalStyle}
275
+ placeholder={inputPlaceholder ?? I18n.t('workflow_241015_01')}
276
+ />
277
+ );
278
+ };
279
+
280
+ const { renderVariableSelect, renderVariableDisplay } = useRefInputNode({
281
+ value,
282
+ onChange,
283
+ onBlur,
284
+ disabled,
285
+ variablesDataSource,
286
+ validateStatus,
287
+ readonly,
288
+ testId,
289
+ disabledTypes,
290
+ showClear,
291
+ invalidContent,
292
+ renderDisplayVarName,
293
+ customFilterVar,
294
+ setFocused,
295
+ style: VARIABLE_SELECTOR_STYLE,
296
+ refTagColor,
297
+ hideDeleteIcon,
298
+ variableTagStyle,
299
+ optionFilter,
300
+ renderExtraOption: renderVariableSelectorExtraOption,
301
+ enableSelectNode,
302
+ handleDataSource,
303
+ popoverStyle: containerRef.current
304
+ ? {
305
+ minWidth: Math.max(
306
+ containerRef.current.clientWidth,
307
+ SELECT_POPOVER_MIN_WIDTH,
308
+ ),
309
+ }
310
+ : undefined,
311
+ variableTypeConstraints,
312
+ });
313
+
314
+ const renderInput = () => {
315
+ if (isVoiceValue) {
316
+ return renderVariableSelect(
317
+ <div
318
+ className={classnames(
319
+ 'cursor-pointer w-full overflow-hidden flex items-center pl-0.5',
320
+ )}
321
+ >
322
+ <VoiceTag
323
+ name={
324
+ (value as LiteralExpression)?.rawMeta?.fileName || value?.content
325
+ }
326
+ onClose={() => onChange?.(undefined)}
327
+ />
328
+ </div>,
329
+ );
330
+ }
331
+
332
+ return isRefValue ? renderVariableDisplay() : renderInputRight();
333
+ };
334
+ const finalClassName = useMemo(
335
+ () =>
336
+ classnames(
337
+ className,
338
+ 'flex items-start border border-solid bg-transparent max-w-[100%] py-[1px]',
339
+ {
340
+ 'semi-input-wrapper-error': validateStatus === 'error',
341
+ 'coz-stroke-plus': validateStatus !== 'error',
342
+ '!bg-transparent': focused,
343
+ '!coz-stroke-hglt': focused && validateStatus !== 'error',
344
+ 'pointer-events-none': readonly,
345
+ },
346
+ 'hover:coz-mg-primary-hovered',
347
+ isLiteralMultiLineValue || isLiteralMultiFileValue || expandLiteralInput
348
+ ? 'h-full'
349
+ : 'h-[24px]',
350
+ styles['value-expression-input-wrap-new'],
351
+ 'semi-input-wrapper semi-input-wrapper-small',
352
+ ),
353
+ [
354
+ className,
355
+ validateStatus,
356
+ focused,
357
+ readonly,
358
+ styles,
359
+ isLiteralMultiLineValue,
360
+ isLiteralMultiFileValue,
361
+ expandLiteralInput,
362
+ ],
363
+ );
364
+
365
+ if (value && ValueExpression.isObjectRef(value)) {
366
+ return (
367
+ <div className={finalClassName} style={style} ref={containerRef}>
368
+ <ObjectRefValueDisplay />
369
+ </div>
370
+ );
371
+ }
372
+
373
+ return (
374
+ <ValueExpressionInputContext.Provider value={{ testId }}>
375
+ <div className={finalClassName} style={style} ref={containerRef}>
376
+ <div className="ref-wrapper flex-1 flex w-full h-full items-center overflow-hidden">
377
+ {/* Determine whether the variable selects the scene */}
378
+ {!refDisabled && // When reference mode is enabled, check for:
379
+ literalDisabled && // Scenario 1: Literals are disabled
380
+ !isRefValue ? ( // Scenario 2: The current value is not a reference type
381
+ renderVariableSelect(
382
+ <div className="cursor-pointer w-full h-full overflow-hidden flex items-center px-1">
383
+ <p className="text-[12px] text-[var(--coz-fg-secondary)] pointer-events-none whitespace-nowrap">
384
+ {placeholder || I18n.t('workflow_variable_ref_placeholder')}
385
+ </p>
386
+ </div>,
387
+ )
388
+ ) : (
389
+ <div className={styles['input-wrapper']}>{renderInput()}</div>
390
+ )}
391
+ </div>
392
+ {refDisabled || hideSettingIcon ? null : (
393
+ <div
394
+ className={classnames(
395
+ styles['setting-button-wrap'],
396
+ 'flex-none leading-none',
397
+ {
398
+ [styles['pos-absolute']]: isLiteralJsonValue,
399
+ [styles['self-end']]: isLiteralMultiFileValue,
400
+ },
401
+ )}
402
+ >
403
+ {renderVariableSelect(
404
+ <IconButton
405
+ color="secondary"
406
+ size="small"
407
+ icon={<IconCozApply className="coz-fg-primary text-sm" />}
408
+ data-testid={concatTestId(testId ?? '', 'variable-trigger')}
409
+ ></IconButton>,
410
+ )}
411
+ </div>
412
+ )}
413
+
414
+ {selectVoiceModal}
415
+ </div>
416
+ </ValueExpressionInputContext.Provider>
417
+ );
418
+ };