@fudanda/workflow 0.0.0-stage → 1.20261015.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 (335) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +113 -2
  3. package/THIRD-PARTY-NOTICES.md +57 -0
  4. package/dist/ai-markdown-esl-I5ck.js +7 -0
  5. package/dist/chrome.d.ts +11 -0
  6. package/dist/chrome.js +358 -0
  7. package/dist/core.d.ts +11 -0
  8. package/dist/core.js +3 -0
  9. package/dist/coze/compat/base.d.ts +116 -0
  10. package/dist/coze/control-icon.d.ts +15 -0
  11. package/dist/coze/execution-panel.d.ts +8 -0
  12. package/dist/coze/schema-tree.d.ts +9 -0
  13. package/dist/coze/side-panel.d.ts +12 -0
  14. package/dist/coze/source/form-extensions/components/output-tree/components/custom-tree-node/constants.d.ts +13 -0
  15. package/dist/coze/source/form-extensions/components/output-tree/components/custom-tree-node/type.d.ts +34 -0
  16. package/dist/coze/start-form.d.ts +9 -0
  17. package/dist/coze/test-input.d.ts +9 -0
  18. package/dist/coze/test-run-button.d.ts +4 -0
  19. package/dist/coze/workflow-header.d.ts +5 -0
  20. package/dist/designer.d.ts +2 -0
  21. package/dist/flowgram-designer.d.ts +62 -0
  22. package/dist/graph-scope.d.ts +147 -0
  23. package/dist/header-shortcuts-BQZuNfpA.js +6 -0
  24. package/dist/index.d.ts +6 -0
  25. package/dist/index.js +8694 -0
  26. package/dist/input-fields.d.ts +4 -0
  27. package/dist/panel-focus.d.ts +3 -0
  28. package/dist/prompt-kit.d.ts +47 -0
  29. package/dist/result-preview.d.ts +5 -0
  30. package/dist/schema-tree-CTM6hEdm.js +309 -0
  31. package/dist/start-form-D_J3UIoE.js +9330 -0
  32. package/dist/styles.css +2 -0
  33. package/dist/templates.d.ts +1 -0
  34. package/dist/test-input-validation-CkORPCfm.js +55 -0
  35. package/dist/test-input-validation.d.ts +11 -0
  36. package/dist/theme.d.ts +17 -0
  37. package/package.json +103 -4
  38. package/vendor/coze/LICENSE-APACHE +177 -0
  39. package/vendor/coze/UPSTREAM.json +2247 -0
  40. package/vendor/coze/original/base-test-button.tsx +22 -0
  41. package/vendor/coze/original/comment-container.tsx +68 -0
  42. package/vendor/coze/original/condition-container.tsx +60 -0
  43. package/vendor/coze/original/condition-tag.tsx +58 -0
  44. package/vendor/coze/original/coze-global.less +234 -0
  45. package/vendor/coze/original/create-loop-function-json.ts +134 -0
  46. package/vendor/coze/original/create-loop-function.ts +56 -0
  47. package/vendor/coze/original/end-registry.ts +41 -0
  48. package/vendor/coze/original/execute-result-panel.less +97 -0
  49. package/vendor/coze/original/execute-result-panel.tsx +171 -0
  50. package/vendor/coze/original/form-item.less +39 -0
  51. package/vendor/coze/original/form-item.tsx +200 -0
  52. package/vendor/coze/original/http-api-field.tsx +42 -0
  53. package/vendor/coze/original/http-form-render.tsx +102 -0
  54. package/vendor/coze/original/icon-add.svg +3 -0
  55. package/vendor/coze/original/icon-arrow-left.svg +3 -0
  56. package/vendor/coze/original/icon-auto-layout.svg +18 -0
  57. package/vendor/coze/original/icon-batch.jpg +0 -0
  58. package/vendor/coze/original/icon-break.jpg +0 -0
  59. package/vendor/coze/original/icon-code.svg +13 -0
  60. package/vendor/coze/original/icon-condition.jpg +0 -0
  61. package/vendor/coze/original/icon-condition.svg +12 -0
  62. package/vendor/coze/original/icon-continue.jpg +0 -0
  63. package/vendor/coze/original/icon-database-query.jpg +0 -0
  64. package/vendor/coze/original/icon-database-update.jpg +0 -0
  65. package/vendor/coze/original/icon-database.svg +18 -0
  66. package/vendor/coze/original/icon-delete.svg +5 -0
  67. package/vendor/coze/original/icon-end.jpg +0 -0
  68. package/vendor/coze/original/icon-fullscreen.svg +9 -0
  69. package/vendor/coze/original/icon-http.jpg +0 -0
  70. package/vendor/coze/original/icon-intent.jpg +0 -0
  71. package/vendor/coze/original/icon-json-parser.jpg +0 -0
  72. package/vendor/coze/original/icon-json-stringify.jpg +0 -0
  73. package/vendor/coze/original/icon-llm.jpg +0 -0
  74. package/vendor/coze/original/icon-loop.jpg +0 -0
  75. package/vendor/coze/original/icon-more.svg +11 -0
  76. package/vendor/coze/original/icon-play-round-outlined.svg +8 -0
  77. package/vendor/coze/original/icon-plugin-tool.svg +6 -0
  78. package/vendor/coze/original/icon-standard-copy.svg +8 -0
  79. package/vendor/coze/original/icon-start.jpg +0 -0
  80. package/vendor/coze/original/icon-text.jpg +0 -0
  81. package/vendor/coze/original/icon-unknown.svg +7 -0
  82. package/vendor/coze/original/icon-var.svg +6 -0
  83. package/vendor/coze/original/icon-variable-assign.jpg +0 -0
  84. package/vendor/coze/original/icon-variable-merge.jpg +0 -0
  85. package/vendor/coze/original/icon-workflow-end.svg +5 -0
  86. package/vendor/coze/original/icon-workflow-start.svg +5 -0
  87. package/vendor/coze/original/icon-workflow.jpg +0 -0
  88. package/vendor/coze/original/icon-workflow.svg +21 -0
  89. package/vendor/coze/original/icon-workflows.svg +5 -0
  90. package/vendor/coze/original/if-form-meta.tsx +88 -0
  91. package/vendor/coze/original/logic-display.tsx +33 -0
  92. package/vendor/coze/original/mouse-icon.tsx +35 -0
  93. package/vendor/coze/original/mouse-pad-selector.tsx +180 -0
  94. package/vendor/coze/original/node-card.tsx +77 -0
  95. package/vendor/coze/original/node-category-panel.less +4 -0
  96. package/vendor/coze/original/node-category-panel.tsx +53 -0
  97. package/vendor/coze/original/node-config-form.tsx +67 -0
  98. package/vendor/coze/original/node-header.less +165 -0
  99. package/vendor/coze/original/node-header.tsx +552 -0
  100. package/vendor/coze/original/node-panel.less +183 -0
  101. package/vendor/coze/original/node-render.less +20 -0
  102. package/vendor/coze/original/node-side-sheet.less +57 -0
  103. package/vendor/coze/original/node-side-sheet.tsx +214 -0
  104. package/vendor/coze/original/node-wrapper.tsx +71 -0
  105. package/vendor/coze/original/pad-icon.tsx +45 -0
  106. package/vendor/coze/original/resizable-side-panel-constants.ts +18 -0
  107. package/vendor/coze/original/resizable-side-panel.tsx +42 -0
  108. package/vendor/coze/original/start-registry.ts +53 -0
  109. package/vendor/coze/original/sub-canvas-background.less +4 -0
  110. package/vendor/coze/original/sub-canvas-background.tsx +48 -0
  111. package/vendor/coze/original/sub-canvas-container.less +16 -0
  112. package/vendor/coze/original/sub-canvas-container.tsx +97 -0
  113. package/vendor/coze/original/sub-canvas-header.less +75 -0
  114. package/vendor/coze/original/sub-canvas-header.tsx +95 -0
  115. package/vendor/coze/original/test-form-sheet-header.tsx +82 -0
  116. package/vendor/coze/original/test-form-sheet.less +178 -0
  117. package/vendor/coze/original/toolbar-add-node.tsx +68 -0
  118. package/vendor/coze/original/toolbar-auto-layout.tsx +61 -0
  119. package/vendor/coze/original/toolbar-comment.tsx +121 -0
  120. package/vendor/coze/original/toolbar-container.tsx +42 -0
  121. package/vendor/coze/original/toolbar-interactive.tsx +98 -0
  122. package/vendor/coze/original/toolbar-minimap-switch.tsx +41 -0
  123. package/vendor/coze/original/toolbar-tools.less +46 -0
  124. package/vendor/coze/original/toolbar-tools.tsx +89 -0
  125. package/vendor/coze/original/toolbar-zoom.tsx +134 -0
  126. package/vendor/coze/original/tree-variable-selector.less +292 -0
  127. package/vendor/coze/original/tree-variable-selector.tsx +298 -0
  128. package/vendor/coze/original/workflow-document-custom-options.ts +151 -0
  129. package/vendor/coze/original/workflow-header.less +65 -0
  130. package/vendor/coze/original/workflow-header.tsx +85 -0
  131. package/vendor/coze/source/agent-models/model-option/index.module.less +19 -0
  132. package/vendor/coze/source/agent-models/model-option/index.tsx +321 -0
  133. package/vendor/coze/source/agent-models/model-option-avatar/index.tsx +175 -0
  134. package/vendor/coze/source/agent-models/model-option-group/index.tsx +87 -0
  135. package/vendor/coze/source/agent-models/model-option-thumb/index.tsx +41 -0
  136. package/vendor/coze/source/agent-models/model-select-ui/index.tsx +238 -0
  137. package/vendor/coze/source/agent-models/popover-model-list-view/index.tsx +146 -0
  138. package/vendor/coze/source/components/code-editor/text-editor.tsx +71 -0
  139. package/vendor/coze/source/components/comment/components/editor/block.tsx +117 -0
  140. package/vendor/coze/source/components/comment/components/editor/leaf.tsx +64 -0
  141. package/vendor/coze/source/components/comment/components/toolbar.tsx +366 -0
  142. package/vendor/coze/source/components/comment/constant.ts +94 -0
  143. package/vendor/coze/source/components/editor-container/expand-editor/index.module.less +107 -0
  144. package/vendor/coze/source/components/editor-container/expand-editor/index.tsx +117 -0
  145. package/vendor/coze/source/components/model-select/components/model-setting.tsx +300 -0
  146. package/vendor/coze/source/components/model-select/components/settings.tsx +144 -0
  147. package/vendor/coze/source/components/model-select/index.module.less +34 -0
  148. package/vendor/coze/source/components/model-select/utils/index.tsx +100 -0
  149. package/vendor/coze/source/components/node-render/node-render-new/fields/constants.tsx +79 -0
  150. package/vendor/coze/source/components/node-render/node-render-new/fields/field-empty.module.less +12 -0
  151. package/vendor/coze/source/components/node-render/node-render-new/fields/field-empty.tsx +37 -0
  152. package/vendor/coze/source/components/node-render/node-render-new/fields/field.module.less +19 -0
  153. package/vendor/coze/source/components/node-render/node-render-new/fields/field.tsx +52 -0
  154. package/vendor/coze/source/components/node-render/node-render-new/fields/http-api-field/index.tsx +42 -0
  155. package/vendor/coze/source/components/node-render/node-render-new/fields/overflow-tag-list.module.less +47 -0
  156. package/vendor/coze/source/components/node-render/node-render-new/fields/overflow-tag-list.tsx +162 -0
  157. package/vendor/coze/source/components/node-render/node-render-new/fields/variable-tag-list.module.less +48 -0
  158. package/vendor/coze/source/components/node-render/node-render-new/fields/variable-tag-list.tsx +126 -0
  159. package/vendor/coze/source/components/node-wrapper/execute-result-panel/index.module.less +97 -0
  160. package/vendor/coze/source/components/node-wrapper/execute-result-panel/index.tsx +171 -0
  161. package/vendor/coze/source/components/sub-canvas/components/background/index.module.less +4 -0
  162. package/vendor/coze/source/components/sub-canvas/components/header/index.module.less +75 -0
  163. package/vendor/coze/source/components/test-run/test-run-button/single-node.tsx +158 -0
  164. package/vendor/coze/source/execution-panel/panel.module.less +48 -0
  165. package/vendor/coze/source/execution-panel/panel.tsx +99 -0
  166. package/vendor/coze/source/execution-panel/use-resize.ts +79 -0
  167. package/vendor/coze/source/external/features/log/components/data-viewer/constants.ts +28 -0
  168. package/vendor/coze/source/external/features/log/components/data-viewer/context/context.ts +21 -0
  169. package/vendor/coze/source/external/features/log/components/data-viewer/context/create-store.ts +48 -0
  170. package/vendor/coze/source/external/features/log/components/data-viewer/context/index.ts +19 -0
  171. package/vendor/coze/source/external/features/log/components/data-viewer/context/provider.tsx +50 -0
  172. package/vendor/coze/source/external/features/log/components/data-viewer/data-viewer.module.less +26 -0
  173. package/vendor/coze/source/external/features/log/components/data-viewer/data-viewer.tsx +79 -0
  174. package/vendor/coze/source/external/features/log/components/data-viewer/hooks/index.ts +18 -0
  175. package/vendor/coze/source/external/features/log/components/data-viewer/hooks/use-data-viewer-store.ts +29 -0
  176. package/vendor/coze/source/external/features/log/components/data-viewer/hooks/use-expand.ts +35 -0
  177. package/vendor/coze/source/external/features/log/components/data-viewer/hooks/use-value.tsx +66 -0
  178. package/vendor/coze/source/external/features/log/components/data-viewer/index.tsx +21 -0
  179. package/vendor/coze/source/external/features/log/components/data-viewer/json-field/index.tsx +186 -0
  180. package/vendor/coze/source/external/features/log/components/data-viewer/json-field/json-field.module.less +79 -0
  181. package/vendor/coze/source/external/features/log/components/data-viewer/types.ts +50 -0
  182. package/vendor/coze/source/external/features/log/components/data-viewer/utils/big-number.ts +35 -0
  183. package/vendor/coze/source/external/features/log/components/data-viewer/utils/generate-field.ts +104 -0
  184. package/vendor/coze/source/external/features/log/components/log-parser/log-wrap.module.less +27 -0
  185. package/vendor/coze/source/external/features/log/components/log-parser/log-wrap.tsx +109 -0
  186. package/vendor/coze/source/external/features/log/components/node-status-bar/node-status-bar.module.less +52 -0
  187. package/vendor/coze/source/external/features/log/components/node-status-bar/node-status-bar.tsx +113 -0
  188. package/vendor/coze/source/form/components/field-empty.tsx +45 -0
  189. package/vendor/coze/source/form/components/section.tsx +91 -0
  190. package/vendor/coze/source/form-extensions/components/add-item-button/index.tsx +64 -0
  191. package/vendor/coze/source/form-extensions/components/form-card/index.module.less +131 -0
  192. package/vendor/coze/source/form-extensions/components/form-card/index.tsx +309 -0
  193. package/vendor/coze/source/form-extensions/components/form-item/index.module.less +39 -0
  194. package/vendor/coze/source/form-extensions/components/form-item/index.tsx +200 -0
  195. package/vendor/coze/source/form-extensions/components/form-item-feedback/index.module.less +7 -0
  196. package/vendor/coze/source/form-extensions/components/form-item-feedback/index.tsx +39 -0
  197. package/vendor/coze/source/form-extensions/components/level-line/index.module.less +346 -0
  198. package/vendor/coze/source/form-extensions/components/level-line/index.ts +17 -0
  199. package/vendor/coze/source/form-extensions/components/level-line/level-line.tsx +460 -0
  200. package/vendor/coze/source/form-extensions/components/level-line/types.ts +38 -0
  201. package/vendor/coze/source/form-extensions/components/level-line/utils.ts +60 -0
  202. package/vendor/coze/source/form-extensions/components/literal-value-input/constants.ts +61 -0
  203. package/vendor/coze/source/form-extensions/components/literal-value-input/input-boolean.tsx +80 -0
  204. package/vendor/coze/source/form-extensions/components/literal-value-input/input-integer.tsx +68 -0
  205. package/vendor/coze/source/form-extensions/components/literal-value-input/input-number.tsx +62 -0
  206. package/vendor/coze/source/form-extensions/components/literal-value-input/input-select.tsx +59 -0
  207. package/vendor/coze/source/form-extensions/components/literal-value-input/input-string.tsx +55 -0
  208. package/vendor/coze/source/form-extensions/components/literal-value-input/literal-value-input.tsx +35 -0
  209. package/vendor/coze/source/form-extensions/components/literal-value-input/styles.module.less +46 -0
  210. package/vendor/coze/source/form-extensions/components/literal-value-input/type.ts +61 -0
  211. package/vendor/coze/source/form-extensions/components/literal-value-input/utils.tsx +117 -0
  212. package/vendor/coze/source/form-extensions/components/node-header/components/close-button.tsx +44 -0
  213. package/vendor/coze/source/form-extensions/components/node-header/description-display.tsx +52 -0
  214. package/vendor/coze/source/form-extensions/components/node-header/description.tsx +131 -0
  215. package/vendor/coze/source/form-extensions/components/node-header/index.module.less +165 -0
  216. package/vendor/coze/source/form-extensions/components/node-header/index.tsx +552 -0
  217. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-btn/index.tsx +43 -0
  218. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-content/default-value-input.tsx +276 -0
  219. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-content/index.module.less +124 -0
  220. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-content/index.tsx +131 -0
  221. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-content/types.ts +32 -0
  222. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-name/index.module.less +38 -0
  223. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-name/index.tsx +101 -0
  224. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-operator/index.module.less +51 -0
  225. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-operator/index.tsx +107 -0
  226. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-required/index.module.less +17 -0
  227. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-required/index.tsx +53 -0
  228. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-type/constants.tsx +77 -0
  229. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-type/index.module.less +97 -0
  230. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-type/index.tsx +155 -0
  231. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/constants.ts +38 -0
  232. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/index.module.less +138 -0
  233. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/index.tsx +360 -0
  234. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/type.ts +88 -0
  235. package/vendor/coze/source/form-extensions/components/output-tree/components/header/index.module.less +36 -0
  236. package/vendor/coze/source/form-extensions/components/output-tree/components/header/index.tsx +104 -0
  237. package/vendor/coze/source/form-extensions/components/output-tree/constants.ts +22 -0
  238. package/vendor/coze/source/form-extensions/components/output-tree/context.ts +28 -0
  239. package/vendor/coze/source/form-extensions/components/output-tree/hooks/use-columns-style.ts +39 -0
  240. package/vendor/coze/source/form-extensions/components/output-tree/index.module.less +83 -0
  241. package/vendor/coze/source/form-extensions/components/output-tree/index.tsx +692 -0
  242. package/vendor/coze/source/form-extensions/components/output-tree/utils.ts +185 -0
  243. package/vendor/coze/source/form-extensions/components/setting-on-error/components/process-type/index.tsx +97 -0
  244. package/vendor/coze/source/form-extensions/components/setting-on-error/components/process-type/option-item.tsx +30 -0
  245. package/vendor/coze/source/form-extensions/components/setting-on-error/components/process-type/types.ts +23 -0
  246. package/vendor/coze/source/form-extensions/components/setting-on-error/components/retry-times/index.tsx +45 -0
  247. package/vendor/coze/source/form-extensions/components/setting-on-error/components/timeout/index.tsx +102 -0
  248. package/vendor/coze/source/form-extensions/components/tree-variable-selector/composite-select-option.tsx +167 -0
  249. package/vendor/coze/source/form-extensions/components/tree-variable-selector/composite-select-tree-panel.tsx +165 -0
  250. package/vendor/coze/source/form-extensions/components/tree-variable-selector/composite-select.module.less +96 -0
  251. package/vendor/coze/source/form-extensions/components/tree-variable-selector/composite-select.tsx +265 -0
  252. package/vendor/coze/source/form-extensions/components/tree-variable-selector/context.tsx +42 -0
  253. package/vendor/coze/source/form-extensions/components/tree-variable-selector/expand-icon.tsx +30 -0
  254. package/vendor/coze/source/form-extensions/components/tree-variable-selector/index.module.less +292 -0
  255. package/vendor/coze/source/form-extensions/components/tree-variable-selector/node-variable-tree.module.less +49 -0
  256. package/vendor/coze/source/form-extensions/components/tree-variable-selector/node-variable-tree.tsx +149 -0
  257. package/vendor/coze/source/form-extensions/components/tree-variable-selector/utils.tsx +500 -0
  258. package/vendor/coze/source/form-extensions/components/tree-variable-selector/value-display.tsx +130 -0
  259. package/vendor/coze/source/form-extensions/components/value-expression-input/const.ts +68 -0
  260. package/vendor/coze/source/form-extensions/components/value-expression-input/context.ts +27 -0
  261. package/vendor/coze/source/form-extensions/components/value-expression-input/index.module.less +144 -0
  262. package/vendor/coze/source/form-extensions/components/value-expression-input/value-expression-input.tsx +418 -0
  263. package/vendor/coze/source/form-extensions/components/variable-type-selector/constants.tsx +77 -0
  264. package/vendor/coze/source/form-extensions/components/variable-type-selector/index.module.less +31 -0
  265. package/vendor/coze/source/form-extensions/components/variable-type-selector/index.tsx +17 -0
  266. package/vendor/coze/source/form-extensions/components/variable-type-selector/utils.tsx +298 -0
  267. package/vendor/coze/source/form-extensions/components/variable-type-selector/variable-type-selector.tsx +235 -0
  268. package/vendor/coze/source/form-extensions/components/variable-type-tag/index.tsx +54 -0
  269. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-branch.module.less +9 -0
  270. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-branch.tsx +249 -0
  271. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-header.tsx +50 -0
  272. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-item-logic.module.less +13 -0
  273. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-item-logic.tsx +73 -0
  274. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/delete/index.module.less +10 -0
  275. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/delete/index.tsx +42 -0
  276. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/index.module.less +9 -0
  277. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/index.tsx +254 -0
  278. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/operator/index.module.less +7 -0
  279. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/operator/index.tsx +144 -0
  280. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/value-expression-with-state/index.tsx +69 -0
  281. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/context.ts +36 -0
  282. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/condition-branch-preview.tsx +44 -0
  283. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/condition-branch.tsx +152 -0
  284. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/container.tsx +19 -0
  285. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/custom-drag-layer.tsx +117 -0
  286. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/types.ts +18 -0
  287. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/types.ts +58 -0
  288. package/vendor/coze/source/node-registries/end/components/terminate-plan-field.tsx +29 -0
  289. package/vendor/coze/source/node-registries/end/constants.ts +34 -0
  290. package/vendor/coze/source/node-registries/end/form.tsx +66 -0
  291. package/vendor/coze/source/node-registries/end/types.ts +45 -0
  292. package/vendor/coze/source/node-registries/http/components/base-editor/raw-text-editor.tsx +80 -0
  293. package/vendor/coze/source/node-registries/http/constants.ts +80 -0
  294. package/vendor/coze/source/node-registries/http/fields/json-import-editor/index.module.less +191 -0
  295. package/vendor/coze/source/node-registries/http/fields/json-import-editor/json-import-components/json-expand-editor.tsx +141 -0
  296. package/vendor/coze/source/node-registries/http/fields/json-import-editor/json-import-components/json-import.tsx +99 -0
  297. package/vendor/coze/source/node-registries/http/form-render.tsx +102 -0
  298. package/vendor/coze/source/node-registries/http/setters/api/curl-expand-editor.tsx +161 -0
  299. package/vendor/coze/source/node-registries/http/setters/api/curl-import.tsx +96 -0
  300. package/vendor/coze/source/node-registries/http/setters/api/index.module.less +199 -0
  301. package/vendor/coze/source/node-registries/http/setters/api/index.tsx +149 -0
  302. package/vendor/coze/source/node-registries/http/setters/api/utils.ts +41 -0
  303. package/vendor/coze/source/node-registries/http/setters/body/index.tsx +201 -0
  304. package/vendor/coze/source/node-registries/http/setters/constants.ts +83 -0
  305. package/vendor/coze/source/node-registries/if/components/else/index.tsx +41 -0
  306. package/vendor/coze/source/node-registries/intent/components/intents/index.module.less +15 -0
  307. package/vendor/coze/source/node-registries/intent/components/intents/option-item/index.tsx +189 -0
  308. package/vendor/coze/source/node-registries/json-stringify/constants.ts +32 -0
  309. package/vendor/coze/source/node-registries/json-stringify/form.tsx +46 -0
  310. package/vendor/coze/source/node-registries/loop/constants.ts +43 -0
  311. package/vendor/coze/source/node-registries/loop/loop-fields/loop-settings-section/index.tsx +48 -0
  312. package/vendor/coze/source/node-registries/loop/loop-fields/loop-type/index.tsx +81 -0
  313. package/vendor/coze/source/node-registries/loop/loop-fields/loop-type/options.ts +34 -0
  314. package/vendor/coze/source/node-registries/start/form.tsx +209 -0
  315. package/vendor/coze/source/node-registries/text-process/components/method-selector/index.tsx +46 -0
  316. package/vendor/coze/source/node-registries/text-process/constants.ts +132 -0
  317. package/vendor/coze/source/nodes-v2/components/form-item-feedback/index.module.less +7 -0
  318. package/vendor/coze/source/nodes-v2/components/form-item-feedback/index.tsx +47 -0
  319. package/vendor/coze/source/nodes-v2/components/system-prompt/index.module.less +66 -0
  320. package/vendor/coze/source/nodes-v2/components/system-prompt/prompt-kit-bar.tsx +129 -0
  321. package/vendor/coze/source/nodes-v2/components/system-prompt/system-prompt-editor.tsx +110 -0
  322. package/vendor/coze/source/nodes-v2/llm/user-prompt/index.tsx +64 -0
  323. package/vendor/coze/source/prompt-kit/input-config-popover/index.tsx +80 -0
  324. package/vendor/coze/source/prompt-kit/input-slot-widget/index.css +34 -0
  325. package/vendor/coze/source/prompt-kit/input-slot-widget/index.ts +169 -0
  326. package/vendor/coze/source/prompt-kit/library-item.tsx +141 -0
  327. package/vendor/coze/source/prompt-kit/prompt-info-input.tsx +90 -0
  328. package/vendor/coze/source/ui-components/add-operation/index.module.less +19 -0
  329. package/vendor/coze/source/ui-components/add-operation/index.tsx +67 -0
  330. package/vendor/coze/source/ui-components/auto-size-tooltip/index.module.less +39 -0
  331. package/vendor/coze/source/ui-components/auto-size-tooltip/index.tsx +74 -0
  332. package/vendor/coze/source/ui-components/workflow-sl-input/index.module.less +36 -0
  333. package/vendor/coze/source/ui-components/workflow-sl-input/index.tsx +194 -0
  334. package/vendor/coze/source/utils/create-slots/index.tsx +126 -0
  335. package/vendor/coze/source/utils/create-slots/use-force-update.ts +23 -0
@@ -0,0 +1,500 @@
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
+ import { type ReactNode } from 'react';
18
+
19
+ import { groupBy } from 'lodash-es';
20
+ import {
21
+ ViewVariableType,
22
+ type ViewVariableTreeNode,
23
+ variableUtils,
24
+ isGlobalVariableKey,
25
+ GlobalVariableKey,
26
+ GLOBAL_VAR_ALIAS_MAP,
27
+ } from '@coze-workflow/variable';
28
+ import {
29
+ type StandardNodeType,
30
+ VARIABLE_TYPE_ALIAS_MAP,
31
+ } from '@coze-workflow/base';
32
+ import { I18n } from '@coze-arch/i18n';
33
+ import { type TreeNodeData } from '@coze-arch/bot-semi/Tree';
34
+ import { Tooltip, Space } from '@coze-arch/coze-design';
35
+
36
+ import { VariableTypeTag } from '../variable-type-tag';
37
+ import { type VariableMetaWithNode } from '../../typings';
38
+ import {
39
+ type ITreeNodeData,
40
+ type CustomFilterVar,
41
+ type RenderDisplayVarName,
42
+ type VariableTreeDataNode,
43
+ } from './types';
44
+
45
+ /** Filter variables that do not match the criteria (types) */
46
+ export const doesNodeIncludeEnabledTypes = (
47
+ node: ViewVariableTreeNode,
48
+ enabledTypes: Array<ViewVariableType>,
49
+ ): boolean => {
50
+ if (enabledTypes.includes(node.type)) {
51
+ return true;
52
+ }
53
+
54
+ if (!node.children?.length) {
55
+ return false;
56
+ }
57
+
58
+ return node.children
59
+ .map(childNode => doesNodeIncludeEnabledTypes(childNode, enabledTypes))
60
+ .includes(true);
61
+ };
62
+
63
+ export const normalizeTreeData = (
64
+ dataSource: Array<ViewVariableTreeNode>,
65
+ disabledTypes: Array<ViewVariableType>,
66
+ ) => {
67
+ const enabledTypes = ViewVariableType.getComplement(disabledTypes);
68
+ return filterTreeNode(dataSource, node =>
69
+ doesNodeIncludeEnabledTypes(node, enabledTypes),
70
+ );
71
+ };
72
+
73
+ function filterTreeNode(
74
+ treeData: Array<ViewVariableTreeNode & { nodeId?: string }>,
75
+ condition: (item: ViewVariableTreeNode) => boolean,
76
+ parent?: VariableTreeDataNode,
77
+ ): Array<VariableTreeDataNode> {
78
+ return treeData.reduce<Array<VariableTreeDataNode>>((buf, item) => {
79
+ if (!condition(item)) {
80
+ return buf;
81
+ } else {
82
+ const { children, ...others } = item;
83
+
84
+ let value = item.key;
85
+ if (parent?.value) {
86
+ value = `${parent?.value}-${item.key}`;
87
+ } else if (item?.nodeId) {
88
+ value = `${item.nodeId}-${item.key}`;
89
+ }
90
+
91
+ const newItem: VariableTreeDataNode = {
92
+ ...others,
93
+ label: item.label || item.name,
94
+ value,
95
+ parent,
96
+ };
97
+
98
+ if (item.children) {
99
+ newItem.children = filterTreeNode(item.children, condition, newItem);
100
+ }
101
+
102
+ buf.push(newItem);
103
+ return buf;
104
+ }
105
+ }, []);
106
+ }
107
+
108
+ export function formatWithNodeVariables(
109
+ withNodeVariables: VariableMetaWithNode[],
110
+ disabledTypes: Array<ViewVariableType>,
111
+ ): VariableTreeDataNode[] {
112
+ const groupedVariableList = groupBy(withNodeVariables, 'nodeId');
113
+
114
+ return Object.entries(groupedVariableList)
115
+ .map(([key, value]) => {
116
+ const nodeVariables = normalizeTreeData(value, disabledTypes);
117
+
118
+ // Nodes without variables do not need to be displayed
119
+ if (!nodeVariables?.length) {
120
+ return null;
121
+ }
122
+
123
+ return {
124
+ label: value[0]?.nodeTitle ?? key,
125
+ value: key,
126
+ isTop: true,
127
+ type: ViewVariableType.Object,
128
+ children: nodeVariables,
129
+ nodeId: value[0]?.nodeId,
130
+ nodeType: value[0]?.nodeType,
131
+ nodeTitle: value[0]?.nodeTitle,
132
+ };
133
+ })
134
+ .filter(Boolean) as VariableTreeDataNode[];
135
+ }
136
+
137
+ export const renderLabelWithItem = (
138
+ item?: TreeNodeData,
139
+ forArrayItem?: boolean,
140
+ searchKey?: string,
141
+ testId = '',
142
+ // eslint-disable-next-line max-params
143
+ ) => {
144
+ if (!item) {
145
+ return null;
146
+ }
147
+
148
+ const { label, type } = item;
149
+
150
+ let searchLabelIndex = 0;
151
+
152
+ let renderLabel = label;
153
+
154
+ if (searchKey && label) {
155
+ const labelStr = String(label);
156
+ searchLabelIndex = labelStr.toLowerCase().indexOf(searchKey.toLowerCase());
157
+ if (searchLabelIndex >= 0) {
158
+ renderLabel = (
159
+ <>
160
+ {labelStr.substring(0, searchLabelIndex)}
161
+ <span className="coz-fg-hglt-yellow">
162
+ {labelStr.substring(
163
+ searchLabelIndex,
164
+ searchLabelIndex + searchKey.length,
165
+ )}
166
+ </span>
167
+ {labelStr.substring(
168
+ searchLabelIndex + searchKey.length,
169
+ labelStr.length,
170
+ )}
171
+ </>
172
+ );
173
+ }
174
+ }
175
+
176
+ if (!type) {
177
+ return <div data-testid={testId}>{renderLabel}</div>;
178
+ }
179
+
180
+ if (forArrayItem && variableUtils.ARRAY_TYPES.includes(type)) {
181
+ return (
182
+ <Tooltip
183
+ content={I18n.t('workflow_detail_batch_item_tooltip', {
184
+ name: label,
185
+ })}
186
+ position="left"
187
+ style={{ maxWidth: 800, display: 'block', wordBreak: 'break-word' }}
188
+ spacing={16}
189
+ // The canvas can move freely, but flipping will lead to wrong positioning.
190
+ autoAdjustOverflow={false}
191
+ >
192
+ <Space spacing={4}>
193
+ <span className="tree-variable-select-label">
194
+ {renderLabel}
195
+ <>{' [n]'}</>
196
+ </span>
197
+ <VariableTypeTag size="xs">
198
+ {VARIABLE_TYPE_ALIAS_MAP[type]}
199
+ </VariableTypeTag>
200
+ </Space>
201
+ </Tooltip>
202
+ );
203
+ }
204
+
205
+ return (
206
+ <Space spacing={4}>
207
+ <span data-testid={testId} className="tree-variable-select-label">
208
+ {renderLabel}
209
+ </span>
210
+ <VariableTypeTag size="xs">
211
+ {VARIABLE_TYPE_ALIAS_MAP[type]}
212
+ </VariableTypeTag>
213
+ </Space>
214
+ );
215
+ };
216
+
217
+ export const genGlobalVariableData = (
218
+ dataSource: VariableTreeDataNode[] = [],
219
+ ) => {
220
+ const global = [
221
+ {
222
+ label: GLOBAL_VAR_ALIAS_MAP[GlobalVariableKey.User],
223
+ value: GlobalVariableKey.User,
224
+ children: [],
225
+ isTop: true,
226
+ type: ViewVariableType.Object,
227
+ nodeId: GlobalVariableKey.User,
228
+ nodeType: undefined,
229
+ nodeTitle: GLOBAL_VAR_ALIAS_MAP[GlobalVariableKey.User],
230
+ },
231
+ {
232
+ label: GLOBAL_VAR_ALIAS_MAP[GlobalVariableKey.App],
233
+ value: GlobalVariableKey.App,
234
+ children: [],
235
+ isTop: true,
236
+ type: ViewVariableType.Object,
237
+ nodeId: GlobalVariableKey.App,
238
+ nodeType: undefined,
239
+ nodeTitle: GLOBAL_VAR_ALIAS_MAP[GlobalVariableKey.App],
240
+ },
241
+ {
242
+ label: GLOBAL_VAR_ALIAS_MAP[GlobalVariableKey.System],
243
+ value: GlobalVariableKey.System,
244
+ children: [],
245
+ isTop: true,
246
+ type: ViewVariableType.Object,
247
+ nodeId: GlobalVariableKey.System,
248
+ nodeType: undefined,
249
+ nodeTitle: GLOBAL_VAR_ALIAS_MAP[GlobalVariableKey.System],
250
+ },
251
+ ] as unknown as VariableTreeDataNode[];
252
+
253
+ const others: VariableTreeDataNode[] = [];
254
+
255
+ dataSource?.forEach(item => {
256
+ if (!isGlobalVariableKey(item.value)) {
257
+ others.push(item);
258
+ } else {
259
+ const index = global.findIndex(
260
+ globalVar => globalVar.value === item.value,
261
+ );
262
+ if (index !== -1) {
263
+ global[index] = item;
264
+ }
265
+ }
266
+ });
267
+
268
+ return [...global, ...others];
269
+ };
270
+
271
+ /**
272
+ * Process DataSource data, add partial fields/renders
273
+ * For TreeSelect, you need to put the path on each dataSource Item to help TreeSelect determine the path when selecting.
274
+ */
275
+ export const processDataSourceLabelRender = (params: {
276
+ dataSource?: VariableTreeDataNode[];
277
+ disabledTypes?: Array<ViewVariableType>;
278
+ prevPath?: string[];
279
+ prevNamePath?: string[];
280
+ icon?: (node: VariableTreeDataNode) => ReactNode | undefined;
281
+ renderDisplayVarName?: RenderDisplayVarName;
282
+ customFilterVar?: CustomFilterVar;
283
+ enableSelectNode?: boolean;
284
+ }): TreeNodeData[] | undefined => {
285
+ const {
286
+ dataSource,
287
+ prevPath,
288
+ prevNamePath,
289
+ disabledTypes,
290
+ icon,
291
+ renderDisplayVarName,
292
+ customFilterVar,
293
+ enableSelectNode,
294
+ } = params;
295
+
296
+ if (!dataSource) {
297
+ return undefined;
298
+ }
299
+ if (!dataSource.length) {
300
+ return [];
301
+ }
302
+
303
+ return (
304
+ dataSource
305
+ .filter(
306
+ item =>
307
+ item.isTop ||
308
+ (customFilterVar
309
+ ? customFilterVar({
310
+ meta: item,
311
+ path: [...(prevPath || []), item.key || item.value],
312
+ })
313
+ : item.name),
314
+ )
315
+ .map(item => {
316
+ const path: string[] = [
317
+ ...(prevPath || []),
318
+ item.key || item.value,
319
+ ] as string[];
320
+
321
+ const namePath: string[] = [
322
+ ...(prevNamePath || []),
323
+ item.name ?? item.value,
324
+ ];
325
+
326
+ let { label } = item;
327
+ if (renderDisplayVarName && !item.isTop) {
328
+ label = renderDisplayVarName({ meta: item, path });
329
+ }
330
+
331
+ return {
332
+ ...item,
333
+ label,
334
+ key: path.join('-') as string,
335
+ path,
336
+ namePath,
337
+ // TODO: can also be judged by disableTypes
338
+ // Nodes in the first layer should not be selected & & Nodes that do not pass the optionFilter cannot be selected
339
+ disabled:
340
+ path?.length === 1 ||
341
+ (disabledTypes &&
342
+ Boolean(disabledTypes.length) &&
343
+ disabledTypes.includes(item.type)) ||
344
+ item.disabled,
345
+ icon: icon && icon(item),
346
+ children: processDataSourceLabelRender({
347
+ dataSource: item.children,
348
+ prevPath: path,
349
+ prevNamePath: namePath,
350
+ disabledTypes,
351
+ renderDisplayVarName,
352
+ customFilterVar,
353
+ }),
354
+ };
355
+ })
356
+ // Filter nodes without output variables
357
+ .filter(_item => {
358
+ if (enableSelectNode) {
359
+ // No filtering required if root node selection is allowed
360
+ return true;
361
+ }
362
+ if (!_item.isTop) {
363
+ return true;
364
+ }
365
+
366
+ if (isGlobalVariableKey(_item.key)) {
367
+ return true;
368
+ }
369
+
370
+ return (_item.children || []).length > 0;
371
+ }) as TreeNodeData[]
372
+ );
373
+ };
374
+
375
+ export const getLabelPath = (
376
+ dataSource: TreeNodeData[],
377
+ value: string[],
378
+ ): string[] => {
379
+ if (!value?.length) {
380
+ return [];
381
+ }
382
+ const path: string[] = [];
383
+ let i = 0;
384
+ let currValue = value.slice(0, i + 1).join('-');
385
+
386
+ let cur = dataSource.find(item => item.value === currValue);
387
+ while (cur && i < value.length) {
388
+ path.push(cur.label || cur.name);
389
+ i++;
390
+ currValue = value.slice(0, i + 1).join('-');
391
+ cur = cur.children?.find(item => item.value === currValue);
392
+ }
393
+ return path;
394
+ };
395
+
396
+ // Look up the mount node
397
+ export const findActivityDOM = (node?: HTMLElement | null): HTMLElement => {
398
+ if (!node) {
399
+ return document.body;
400
+ }
401
+ if (node.classList.contains('gedit-flow-activity-node')) {
402
+ return node;
403
+ }
404
+
405
+ if (node.parentElement) {
406
+ return findActivityDOM(node.parentElement);
407
+ }
408
+
409
+ return document.body;
410
+ };
411
+
412
+ /** Go up and find the node information. */
413
+ export const findNodeInfo = (
414
+ node: TreeNodeData,
415
+ ): {
416
+ nodeTitle?: string;
417
+ nodeType?: StandardNodeType;
418
+ nodeId?: string;
419
+ } => {
420
+ if (node.parent) {
421
+ return findNodeInfo(node.parent);
422
+ }
423
+ return {
424
+ nodeTitle: node.nodeTitle,
425
+ nodeType: node.nodeType,
426
+ nodeId: node.nodeId,
427
+ };
428
+ };
429
+
430
+ export const formatDataWithGlobalVariable = (data?: TreeNodeData[]) => {
431
+ if (!data) {
432
+ return [];
433
+ }
434
+
435
+ return data.map(item => {
436
+ if (item.key && isGlobalVariableKey(item.key)) {
437
+ return {
438
+ groupId: 'global_variable',
439
+ ...item,
440
+ };
441
+ }
442
+
443
+ return item;
444
+ });
445
+ };
446
+
447
+ const matchVariableDataByType = (
448
+ data: VariableTreeDataNode[],
449
+ type: ViewVariableType,
450
+ ) =>
451
+ data.map(item => {
452
+ const { children = [], disabled, ...rest } = item;
453
+
454
+ return {
455
+ disabled: disabled || item.type !== type,
456
+ children: matchVariableDataByType(children, type),
457
+ ...rest,
458
+ };
459
+ });
460
+
461
+ export const formatVariableDataByMatchType = (
462
+ data?: VariableTreeDataNode[],
463
+ type?: ViewVariableType,
464
+ ) => {
465
+ if (!data?.length || !type) {
466
+ return data;
467
+ }
468
+
469
+ return data.map(item => {
470
+ const { children = [], ...rest } = item;
471
+ return {
472
+ children: matchVariableDataByType(children, type),
473
+ ...rest,
474
+ };
475
+ });
476
+ };
477
+
478
+ export const sortTreeDataByGroup = (
479
+ treeData?: ITreeNodeData[],
480
+ ): ITreeNodeData[] => {
481
+ if (!treeData) {
482
+ return [];
483
+ }
484
+
485
+ const groupMap: Record<string, ITreeNodeData[]> = {};
486
+ const noGroupArr: ITreeNodeData[] = [];
487
+
488
+ treeData.forEach(item => {
489
+ if (item.groupId) {
490
+ return groupMap[item.groupId]
491
+ ? groupMap[item.groupId].push(item)
492
+ : (groupMap[item.groupId] = [item]);
493
+ }
494
+ noGroupArr.push(item);
495
+ });
496
+
497
+ return Object.keys(groupMap)
498
+ .reduce<ITreeNodeData[]>((acc, cur) => acc.concat(groupMap[cur]), [])
499
+ .concat(noGroupArr);
500
+ };
@@ -0,0 +1,130 @@
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
+ import { type FC } from 'react';
18
+
19
+ import classnames from 'classnames';
20
+ import { type WithCustomStyle } from '@coze-workflow/base/types';
21
+ import { Popover, Space } from '@coze-arch/coze-design';
22
+ import { type TreeNodeData } from '@coze-arch/bot-semi/Tree';
23
+
24
+ import { NodeIcon } from '../../../components/node-icon';
25
+ import { getLabelPath } from './utils';
26
+ import { useTreeVariableSelectorContext } from './context';
27
+
28
+ import styles from './index.module.less';
29
+
30
+ const findRootNode = (value: string[], dataSource: TreeNodeData[]) => {
31
+ const [nodeId] = value;
32
+ if (!nodeId) {
33
+ return {};
34
+ }
35
+
36
+ const nodeInfo = dataSource.find(item => item.value === nodeId);
37
+
38
+ return nodeInfo ?? {};
39
+ };
40
+
41
+ export const ValueDisplay: FC<WithCustomStyle> = props => {
42
+ const {
43
+ value,
44
+ dataSource,
45
+ invalidContent,
46
+ valueSubVariableMeta,
47
+ displayVarName: variableName,
48
+ isUnknownValue,
49
+ } = useTreeVariableSelectorContext();
50
+ const { className } = props;
51
+
52
+ if (!value || !valueSubVariableMeta?.name) {
53
+ return null;
54
+ }
55
+
56
+ if (isUnknownValue) {
57
+ return invalidContent ? (
58
+ <span className="absolute h-full max-w-[calc(100% - 8px)] truncate">
59
+ <span
60
+ className="flex items-center h-full text-sm"
61
+ style={{
62
+ color: 'var(--semi-color-text-0)',
63
+ }}
64
+ >
65
+ {invalidContent}
66
+ </span>
67
+ </span>
68
+ ) : null;
69
+ }
70
+
71
+ const rootNode = findRootNode(value, dataSource ?? []);
72
+
73
+ const path = getLabelPath(dataSource ?? [], value as string[]);
74
+ const content = path.slice(1).join('/');
75
+
76
+ return (
77
+ <Popover
78
+ showArrow
79
+ position="top"
80
+ trigger="hover"
81
+ spacing={20}
82
+ className={styles.popoverContainer}
83
+ content={
84
+ <div className={classnames(styles.popover, 'cursor-pointer')}>
85
+ <div className={styles.header}>
86
+ <NodeIcon size={16} nodeId={rootNode.value as string} />
87
+ <p className={styles.title}>{rootNode.label}</p>
88
+ </div>
89
+ <div className={styles.content}>
90
+ <p>{content}</p>
91
+ </div>
92
+ </div>
93
+ }
94
+ >
95
+ <span
96
+ className={classnames(
97
+ 'absolute h-full max-w-[calc(100% - 8px)]',
98
+ 'semi-tree-select-selection-TriggerSearchItem',
99
+ className,
100
+ )}
101
+ >
102
+ <span
103
+ className={
104
+ 'text-xs inline-block h-full truncate cursor-text max-w-full'
105
+ }
106
+ >
107
+ <Space spacing={4} className="h-full">
108
+ <span
109
+ className="font-semibold"
110
+ style={{
111
+ color: 'var(--coz-fg-secondary)',
112
+ }}
113
+ >
114
+ {rootNode.label}
115
+ </span>
116
+ <span
117
+ className="font-semibold"
118
+ style={{
119
+ color: 'var(--coz-fg-secondary)',
120
+ }}
121
+ >
122
+ -
123
+ </span>
124
+ <span className="truncate">{variableName}</span>
125
+ </Space>
126
+ </span>
127
+ </span>
128
+ </Popover>
129
+ );
130
+ };
@@ -0,0 +1,68 @@
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
+ import { ValueExpressionType, ViewVariableType } from '@coze-workflow/base';
18
+ import { I18n } from '@coze-arch/i18n';
19
+
20
+ import { type InputType } from './InputField';
21
+
22
+ /** input type options */
23
+ export const TYPE_OPTIONS = (
24
+ inputType: InputType,
25
+ ): {
26
+ value: ValueExpressionType;
27
+ label: string;
28
+ disabled?: boolean;
29
+ }[] => [
30
+ {
31
+ value: ValueExpressionType.REF,
32
+ label: I18n.t('workflow_detail_node_parameter_reference'),
33
+ },
34
+ {
35
+ value: ValueExpressionType.LITERAL,
36
+ label: ViewVariableType.isFileType(inputType)
37
+ ? I18n.t('imageflow_input_upload')
38
+ : I18n.t('workflow_detail_node_parameter_input'),
39
+ },
40
+ ];
41
+
42
+ const EMPTY_LITERAL = {
43
+ type: ValueExpressionType.LITERAL,
44
+ };
45
+
46
+ const EMPTY_REF = {
47
+ type: ValueExpressionType.REF,
48
+ };
49
+
50
+ /** Null values for each input type */
51
+ export const EMPTY_VALUE = {
52
+ [ValueExpressionType.REF]: EMPTY_REF,
53
+ [ValueExpressionType.LITERAL]: EMPTY_LITERAL,
54
+ };
55
+
56
+ /** default value */
57
+ export const DEFAULT_VALUE = EMPTY_REF;
58
+
59
+ export const VARIABLE_SELECTOR_STYLE = {
60
+ width: '100%',
61
+ height: '100%',
62
+ };
63
+
64
+ export const SELECT_STYLE = {
65
+ width: 115,
66
+ };
67
+
68
+ export const SELECT_POPOVER_MIN_WIDTH = 130;