@fudanda/workflow 0.0.0-stage → 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 (336) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +114 -3
  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 +63 -0
  22. package/dist/graph-scope.d.ts +78 -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/observation-types.d.ts +6 -0
  28. package/dist/panel-focus.d.ts +3 -0
  29. package/dist/prompt-kit.d.ts +47 -0
  30. package/dist/result-preview.d.ts +5 -0
  31. package/dist/schema-tree-CTM6hEdm.js +309 -0
  32. package/dist/start-form-L6xw9phk.js +9330 -0
  33. package/dist/styles.css +2 -0
  34. package/dist/templates.d.ts +1 -0
  35. package/dist/test-input-validation-CkORPCfm.js +55 -0
  36. package/dist/test-input-validation.d.ts +11 -0
  37. package/dist/theme.d.ts +17 -0
  38. package/package.json +103 -4
  39. package/vendor/coze/LICENSE-APACHE +177 -0
  40. package/vendor/coze/UPSTREAM.json +2247 -0
  41. package/vendor/coze/original/base-test-button.tsx +22 -0
  42. package/vendor/coze/original/comment-container.tsx +68 -0
  43. package/vendor/coze/original/condition-container.tsx +60 -0
  44. package/vendor/coze/original/condition-tag.tsx +58 -0
  45. package/vendor/coze/original/coze-global.less +234 -0
  46. package/vendor/coze/original/create-loop-function-json.ts +134 -0
  47. package/vendor/coze/original/create-loop-function.ts +56 -0
  48. package/vendor/coze/original/end-registry.ts +41 -0
  49. package/vendor/coze/original/execute-result-panel.less +97 -0
  50. package/vendor/coze/original/execute-result-panel.tsx +171 -0
  51. package/vendor/coze/original/form-item.less +39 -0
  52. package/vendor/coze/original/form-item.tsx +200 -0
  53. package/vendor/coze/original/http-api-field.tsx +42 -0
  54. package/vendor/coze/original/http-form-render.tsx +102 -0
  55. package/vendor/coze/original/icon-add.svg +3 -0
  56. package/vendor/coze/original/icon-arrow-left.svg +3 -0
  57. package/vendor/coze/original/icon-auto-layout.svg +18 -0
  58. package/vendor/coze/original/icon-batch.jpg +0 -0
  59. package/vendor/coze/original/icon-break.jpg +0 -0
  60. package/vendor/coze/original/icon-code.svg +13 -0
  61. package/vendor/coze/original/icon-condition.jpg +0 -0
  62. package/vendor/coze/original/icon-condition.svg +12 -0
  63. package/vendor/coze/original/icon-continue.jpg +0 -0
  64. package/vendor/coze/original/icon-database-query.jpg +0 -0
  65. package/vendor/coze/original/icon-database-update.jpg +0 -0
  66. package/vendor/coze/original/icon-database.svg +18 -0
  67. package/vendor/coze/original/icon-delete.svg +5 -0
  68. package/vendor/coze/original/icon-end.jpg +0 -0
  69. package/vendor/coze/original/icon-fullscreen.svg +9 -0
  70. package/vendor/coze/original/icon-http.jpg +0 -0
  71. package/vendor/coze/original/icon-intent.jpg +0 -0
  72. package/vendor/coze/original/icon-json-parser.jpg +0 -0
  73. package/vendor/coze/original/icon-json-stringify.jpg +0 -0
  74. package/vendor/coze/original/icon-llm.jpg +0 -0
  75. package/vendor/coze/original/icon-loop.jpg +0 -0
  76. package/vendor/coze/original/icon-more.svg +11 -0
  77. package/vendor/coze/original/icon-play-round-outlined.svg +8 -0
  78. package/vendor/coze/original/icon-plugin-tool.svg +6 -0
  79. package/vendor/coze/original/icon-standard-copy.svg +8 -0
  80. package/vendor/coze/original/icon-start.jpg +0 -0
  81. package/vendor/coze/original/icon-text.jpg +0 -0
  82. package/vendor/coze/original/icon-unknown.svg +7 -0
  83. package/vendor/coze/original/icon-var.svg +6 -0
  84. package/vendor/coze/original/icon-variable-assign.jpg +0 -0
  85. package/vendor/coze/original/icon-variable-merge.jpg +0 -0
  86. package/vendor/coze/original/icon-workflow-end.svg +5 -0
  87. package/vendor/coze/original/icon-workflow-start.svg +5 -0
  88. package/vendor/coze/original/icon-workflow.jpg +0 -0
  89. package/vendor/coze/original/icon-workflow.svg +21 -0
  90. package/vendor/coze/original/icon-workflows.svg +5 -0
  91. package/vendor/coze/original/if-form-meta.tsx +88 -0
  92. package/vendor/coze/original/logic-display.tsx +33 -0
  93. package/vendor/coze/original/mouse-icon.tsx +35 -0
  94. package/vendor/coze/original/mouse-pad-selector.tsx +180 -0
  95. package/vendor/coze/original/node-card.tsx +77 -0
  96. package/vendor/coze/original/node-category-panel.less +4 -0
  97. package/vendor/coze/original/node-category-panel.tsx +53 -0
  98. package/vendor/coze/original/node-config-form.tsx +67 -0
  99. package/vendor/coze/original/node-header.less +165 -0
  100. package/vendor/coze/original/node-header.tsx +552 -0
  101. package/vendor/coze/original/node-panel.less +183 -0
  102. package/vendor/coze/original/node-render.less +20 -0
  103. package/vendor/coze/original/node-side-sheet.less +57 -0
  104. package/vendor/coze/original/node-side-sheet.tsx +214 -0
  105. package/vendor/coze/original/node-wrapper.tsx +71 -0
  106. package/vendor/coze/original/pad-icon.tsx +45 -0
  107. package/vendor/coze/original/resizable-side-panel-constants.ts +18 -0
  108. package/vendor/coze/original/resizable-side-panel.tsx +42 -0
  109. package/vendor/coze/original/start-registry.ts +53 -0
  110. package/vendor/coze/original/sub-canvas-background.less +4 -0
  111. package/vendor/coze/original/sub-canvas-background.tsx +48 -0
  112. package/vendor/coze/original/sub-canvas-container.less +16 -0
  113. package/vendor/coze/original/sub-canvas-container.tsx +97 -0
  114. package/vendor/coze/original/sub-canvas-header.less +75 -0
  115. package/vendor/coze/original/sub-canvas-header.tsx +95 -0
  116. package/vendor/coze/original/test-form-sheet-header.tsx +82 -0
  117. package/vendor/coze/original/test-form-sheet.less +178 -0
  118. package/vendor/coze/original/toolbar-add-node.tsx +68 -0
  119. package/vendor/coze/original/toolbar-auto-layout.tsx +61 -0
  120. package/vendor/coze/original/toolbar-comment.tsx +121 -0
  121. package/vendor/coze/original/toolbar-container.tsx +42 -0
  122. package/vendor/coze/original/toolbar-interactive.tsx +98 -0
  123. package/vendor/coze/original/toolbar-minimap-switch.tsx +41 -0
  124. package/vendor/coze/original/toolbar-tools.less +46 -0
  125. package/vendor/coze/original/toolbar-tools.tsx +89 -0
  126. package/vendor/coze/original/toolbar-zoom.tsx +134 -0
  127. package/vendor/coze/original/tree-variable-selector.less +292 -0
  128. package/vendor/coze/original/tree-variable-selector.tsx +298 -0
  129. package/vendor/coze/original/workflow-document-custom-options.ts +151 -0
  130. package/vendor/coze/original/workflow-header.less +65 -0
  131. package/vendor/coze/original/workflow-header.tsx +85 -0
  132. package/vendor/coze/source/agent-models/model-option/index.module.less +19 -0
  133. package/vendor/coze/source/agent-models/model-option/index.tsx +321 -0
  134. package/vendor/coze/source/agent-models/model-option-avatar/index.tsx +175 -0
  135. package/vendor/coze/source/agent-models/model-option-group/index.tsx +87 -0
  136. package/vendor/coze/source/agent-models/model-option-thumb/index.tsx +41 -0
  137. package/vendor/coze/source/agent-models/model-select-ui/index.tsx +238 -0
  138. package/vendor/coze/source/agent-models/popover-model-list-view/index.tsx +146 -0
  139. package/vendor/coze/source/components/code-editor/text-editor.tsx +71 -0
  140. package/vendor/coze/source/components/comment/components/editor/block.tsx +117 -0
  141. package/vendor/coze/source/components/comment/components/editor/leaf.tsx +64 -0
  142. package/vendor/coze/source/components/comment/components/toolbar.tsx +366 -0
  143. package/vendor/coze/source/components/comment/constant.ts +94 -0
  144. package/vendor/coze/source/components/editor-container/expand-editor/index.module.less +107 -0
  145. package/vendor/coze/source/components/editor-container/expand-editor/index.tsx +117 -0
  146. package/vendor/coze/source/components/model-select/components/model-setting.tsx +300 -0
  147. package/vendor/coze/source/components/model-select/components/settings.tsx +144 -0
  148. package/vendor/coze/source/components/model-select/index.module.less +34 -0
  149. package/vendor/coze/source/components/model-select/utils/index.tsx +100 -0
  150. package/vendor/coze/source/components/node-render/node-render-new/fields/constants.tsx +79 -0
  151. package/vendor/coze/source/components/node-render/node-render-new/fields/field-empty.module.less +12 -0
  152. package/vendor/coze/source/components/node-render/node-render-new/fields/field-empty.tsx +37 -0
  153. package/vendor/coze/source/components/node-render/node-render-new/fields/field.module.less +19 -0
  154. package/vendor/coze/source/components/node-render/node-render-new/fields/field.tsx +52 -0
  155. package/vendor/coze/source/components/node-render/node-render-new/fields/http-api-field/index.tsx +42 -0
  156. package/vendor/coze/source/components/node-render/node-render-new/fields/overflow-tag-list.module.less +47 -0
  157. package/vendor/coze/source/components/node-render/node-render-new/fields/overflow-tag-list.tsx +162 -0
  158. package/vendor/coze/source/components/node-render/node-render-new/fields/variable-tag-list.module.less +48 -0
  159. package/vendor/coze/source/components/node-render/node-render-new/fields/variable-tag-list.tsx +126 -0
  160. package/vendor/coze/source/components/node-wrapper/execute-result-panel/index.module.less +97 -0
  161. package/vendor/coze/source/components/node-wrapper/execute-result-panel/index.tsx +171 -0
  162. package/vendor/coze/source/components/sub-canvas/components/background/index.module.less +4 -0
  163. package/vendor/coze/source/components/sub-canvas/components/header/index.module.less +75 -0
  164. package/vendor/coze/source/components/test-run/test-run-button/single-node.tsx +158 -0
  165. package/vendor/coze/source/execution-panel/panel.module.less +48 -0
  166. package/vendor/coze/source/execution-panel/panel.tsx +99 -0
  167. package/vendor/coze/source/execution-panel/use-resize.ts +79 -0
  168. package/vendor/coze/source/external/features/log/components/data-viewer/constants.ts +28 -0
  169. package/vendor/coze/source/external/features/log/components/data-viewer/context/context.ts +21 -0
  170. package/vendor/coze/source/external/features/log/components/data-viewer/context/create-store.ts +48 -0
  171. package/vendor/coze/source/external/features/log/components/data-viewer/context/index.ts +19 -0
  172. package/vendor/coze/source/external/features/log/components/data-viewer/context/provider.tsx +50 -0
  173. package/vendor/coze/source/external/features/log/components/data-viewer/data-viewer.module.less +26 -0
  174. package/vendor/coze/source/external/features/log/components/data-viewer/data-viewer.tsx +79 -0
  175. package/vendor/coze/source/external/features/log/components/data-viewer/hooks/index.ts +18 -0
  176. package/vendor/coze/source/external/features/log/components/data-viewer/hooks/use-data-viewer-store.ts +29 -0
  177. package/vendor/coze/source/external/features/log/components/data-viewer/hooks/use-expand.ts +35 -0
  178. package/vendor/coze/source/external/features/log/components/data-viewer/hooks/use-value.tsx +66 -0
  179. package/vendor/coze/source/external/features/log/components/data-viewer/index.tsx +21 -0
  180. package/vendor/coze/source/external/features/log/components/data-viewer/json-field/index.tsx +186 -0
  181. package/vendor/coze/source/external/features/log/components/data-viewer/json-field/json-field.module.less +79 -0
  182. package/vendor/coze/source/external/features/log/components/data-viewer/types.ts +50 -0
  183. package/vendor/coze/source/external/features/log/components/data-viewer/utils/big-number.ts +35 -0
  184. package/vendor/coze/source/external/features/log/components/data-viewer/utils/generate-field.ts +104 -0
  185. package/vendor/coze/source/external/features/log/components/log-parser/log-wrap.module.less +27 -0
  186. package/vendor/coze/source/external/features/log/components/log-parser/log-wrap.tsx +109 -0
  187. package/vendor/coze/source/external/features/log/components/node-status-bar/node-status-bar.module.less +52 -0
  188. package/vendor/coze/source/external/features/log/components/node-status-bar/node-status-bar.tsx +113 -0
  189. package/vendor/coze/source/form/components/field-empty.tsx +45 -0
  190. package/vendor/coze/source/form/components/section.tsx +91 -0
  191. package/vendor/coze/source/form-extensions/components/add-item-button/index.tsx +64 -0
  192. package/vendor/coze/source/form-extensions/components/form-card/index.module.less +131 -0
  193. package/vendor/coze/source/form-extensions/components/form-card/index.tsx +309 -0
  194. package/vendor/coze/source/form-extensions/components/form-item/index.module.less +39 -0
  195. package/vendor/coze/source/form-extensions/components/form-item/index.tsx +200 -0
  196. package/vendor/coze/source/form-extensions/components/form-item-feedback/index.module.less +7 -0
  197. package/vendor/coze/source/form-extensions/components/form-item-feedback/index.tsx +39 -0
  198. package/vendor/coze/source/form-extensions/components/level-line/index.module.less +346 -0
  199. package/vendor/coze/source/form-extensions/components/level-line/index.ts +17 -0
  200. package/vendor/coze/source/form-extensions/components/level-line/level-line.tsx +460 -0
  201. package/vendor/coze/source/form-extensions/components/level-line/types.ts +38 -0
  202. package/vendor/coze/source/form-extensions/components/level-line/utils.ts +60 -0
  203. package/vendor/coze/source/form-extensions/components/literal-value-input/constants.ts +61 -0
  204. package/vendor/coze/source/form-extensions/components/literal-value-input/input-boolean.tsx +80 -0
  205. package/vendor/coze/source/form-extensions/components/literal-value-input/input-integer.tsx +68 -0
  206. package/vendor/coze/source/form-extensions/components/literal-value-input/input-number.tsx +62 -0
  207. package/vendor/coze/source/form-extensions/components/literal-value-input/input-select.tsx +59 -0
  208. package/vendor/coze/source/form-extensions/components/literal-value-input/input-string.tsx +55 -0
  209. package/vendor/coze/source/form-extensions/components/literal-value-input/literal-value-input.tsx +35 -0
  210. package/vendor/coze/source/form-extensions/components/literal-value-input/styles.module.less +46 -0
  211. package/vendor/coze/source/form-extensions/components/literal-value-input/type.ts +61 -0
  212. package/vendor/coze/source/form-extensions/components/literal-value-input/utils.tsx +117 -0
  213. package/vendor/coze/source/form-extensions/components/node-header/components/close-button.tsx +44 -0
  214. package/vendor/coze/source/form-extensions/components/node-header/description-display.tsx +52 -0
  215. package/vendor/coze/source/form-extensions/components/node-header/description.tsx +131 -0
  216. package/vendor/coze/source/form-extensions/components/node-header/index.module.less +165 -0
  217. package/vendor/coze/source/form-extensions/components/node-header/index.tsx +552 -0
  218. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-btn/index.tsx +43 -0
  219. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-content/default-value-input.tsx +276 -0
  220. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-content/index.module.less +124 -0
  221. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-content/index.tsx +131 -0
  222. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/expand-content/types.ts +32 -0
  223. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-name/index.module.less +38 -0
  224. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-name/index.tsx +101 -0
  225. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-operator/index.module.less +51 -0
  226. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-operator/index.tsx +107 -0
  227. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-required/index.module.less +17 -0
  228. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-required/index.tsx +53 -0
  229. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-type/constants.tsx +77 -0
  230. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-type/index.module.less +97 -0
  231. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/components/param-type/index.tsx +155 -0
  232. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/constants.ts +38 -0
  233. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/index.module.less +138 -0
  234. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/index.tsx +360 -0
  235. package/vendor/coze/source/form-extensions/components/output-tree/components/custom-tree-node/type.ts +88 -0
  236. package/vendor/coze/source/form-extensions/components/output-tree/components/header/index.module.less +36 -0
  237. package/vendor/coze/source/form-extensions/components/output-tree/components/header/index.tsx +104 -0
  238. package/vendor/coze/source/form-extensions/components/output-tree/constants.ts +22 -0
  239. package/vendor/coze/source/form-extensions/components/output-tree/context.ts +28 -0
  240. package/vendor/coze/source/form-extensions/components/output-tree/hooks/use-columns-style.ts +39 -0
  241. package/vendor/coze/source/form-extensions/components/output-tree/index.module.less +83 -0
  242. package/vendor/coze/source/form-extensions/components/output-tree/index.tsx +692 -0
  243. package/vendor/coze/source/form-extensions/components/output-tree/utils.ts +185 -0
  244. package/vendor/coze/source/form-extensions/components/setting-on-error/components/process-type/index.tsx +97 -0
  245. package/vendor/coze/source/form-extensions/components/setting-on-error/components/process-type/option-item.tsx +30 -0
  246. package/vendor/coze/source/form-extensions/components/setting-on-error/components/process-type/types.ts +23 -0
  247. package/vendor/coze/source/form-extensions/components/setting-on-error/components/retry-times/index.tsx +45 -0
  248. package/vendor/coze/source/form-extensions/components/setting-on-error/components/timeout/index.tsx +102 -0
  249. package/vendor/coze/source/form-extensions/components/tree-variable-selector/composite-select-option.tsx +167 -0
  250. package/vendor/coze/source/form-extensions/components/tree-variable-selector/composite-select-tree-panel.tsx +165 -0
  251. package/vendor/coze/source/form-extensions/components/tree-variable-selector/composite-select.module.less +96 -0
  252. package/vendor/coze/source/form-extensions/components/tree-variable-selector/composite-select.tsx +265 -0
  253. package/vendor/coze/source/form-extensions/components/tree-variable-selector/context.tsx +42 -0
  254. package/vendor/coze/source/form-extensions/components/tree-variable-selector/expand-icon.tsx +30 -0
  255. package/vendor/coze/source/form-extensions/components/tree-variable-selector/index.module.less +292 -0
  256. package/vendor/coze/source/form-extensions/components/tree-variable-selector/node-variable-tree.module.less +49 -0
  257. package/vendor/coze/source/form-extensions/components/tree-variable-selector/node-variable-tree.tsx +149 -0
  258. package/vendor/coze/source/form-extensions/components/tree-variable-selector/utils.tsx +500 -0
  259. package/vendor/coze/source/form-extensions/components/tree-variable-selector/value-display.tsx +130 -0
  260. package/vendor/coze/source/form-extensions/components/value-expression-input/const.ts +68 -0
  261. package/vendor/coze/source/form-extensions/components/value-expression-input/context.ts +27 -0
  262. package/vendor/coze/source/form-extensions/components/value-expression-input/index.module.less +144 -0
  263. package/vendor/coze/source/form-extensions/components/value-expression-input/value-expression-input.tsx +418 -0
  264. package/vendor/coze/source/form-extensions/components/variable-type-selector/constants.tsx +77 -0
  265. package/vendor/coze/source/form-extensions/components/variable-type-selector/index.module.less +31 -0
  266. package/vendor/coze/source/form-extensions/components/variable-type-selector/index.tsx +17 -0
  267. package/vendor/coze/source/form-extensions/components/variable-type-selector/utils.tsx +298 -0
  268. package/vendor/coze/source/form-extensions/components/variable-type-selector/variable-type-selector.tsx +235 -0
  269. package/vendor/coze/source/form-extensions/components/variable-type-tag/index.tsx +54 -0
  270. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-branch.module.less +9 -0
  271. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-branch.tsx +249 -0
  272. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-header.tsx +50 -0
  273. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-item-logic.module.less +13 -0
  274. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-item-logic.tsx +73 -0
  275. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/delete/index.module.less +10 -0
  276. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/delete/index.tsx +42 -0
  277. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/index.module.less +9 -0
  278. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/index.tsx +254 -0
  279. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/operator/index.module.less +7 -0
  280. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/operator/index.tsx +144 -0
  281. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/condition-params-item/value-expression-with-state/index.tsx +69 -0
  282. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/context.ts +36 -0
  283. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/condition-branch-preview.tsx +44 -0
  284. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/condition-branch.tsx +152 -0
  285. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/container.tsx +19 -0
  286. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/custom-drag-layer.tsx +117 -0
  287. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/draggable/types.ts +18 -0
  288. package/vendor/coze/source/form-extensions/setters/condition/multi-condition/types.ts +58 -0
  289. package/vendor/coze/source/node-registries/end/components/terminate-plan-field.tsx +29 -0
  290. package/vendor/coze/source/node-registries/end/constants.ts +34 -0
  291. package/vendor/coze/source/node-registries/end/form.tsx +66 -0
  292. package/vendor/coze/source/node-registries/end/types.ts +45 -0
  293. package/vendor/coze/source/node-registries/http/components/base-editor/raw-text-editor.tsx +80 -0
  294. package/vendor/coze/source/node-registries/http/constants.ts +80 -0
  295. package/vendor/coze/source/node-registries/http/fields/json-import-editor/index.module.less +191 -0
  296. package/vendor/coze/source/node-registries/http/fields/json-import-editor/json-import-components/json-expand-editor.tsx +141 -0
  297. package/vendor/coze/source/node-registries/http/fields/json-import-editor/json-import-components/json-import.tsx +99 -0
  298. package/vendor/coze/source/node-registries/http/form-render.tsx +102 -0
  299. package/vendor/coze/source/node-registries/http/setters/api/curl-expand-editor.tsx +161 -0
  300. package/vendor/coze/source/node-registries/http/setters/api/curl-import.tsx +96 -0
  301. package/vendor/coze/source/node-registries/http/setters/api/index.module.less +199 -0
  302. package/vendor/coze/source/node-registries/http/setters/api/index.tsx +149 -0
  303. package/vendor/coze/source/node-registries/http/setters/api/utils.ts +41 -0
  304. package/vendor/coze/source/node-registries/http/setters/body/index.tsx +201 -0
  305. package/vendor/coze/source/node-registries/http/setters/constants.ts +83 -0
  306. package/vendor/coze/source/node-registries/if/components/else/index.tsx +41 -0
  307. package/vendor/coze/source/node-registries/intent/components/intents/index.module.less +15 -0
  308. package/vendor/coze/source/node-registries/intent/components/intents/option-item/index.tsx +189 -0
  309. package/vendor/coze/source/node-registries/json-stringify/constants.ts +32 -0
  310. package/vendor/coze/source/node-registries/json-stringify/form.tsx +46 -0
  311. package/vendor/coze/source/node-registries/loop/constants.ts +43 -0
  312. package/vendor/coze/source/node-registries/loop/loop-fields/loop-settings-section/index.tsx +48 -0
  313. package/vendor/coze/source/node-registries/loop/loop-fields/loop-type/index.tsx +81 -0
  314. package/vendor/coze/source/node-registries/loop/loop-fields/loop-type/options.ts +34 -0
  315. package/vendor/coze/source/node-registries/start/form.tsx +209 -0
  316. package/vendor/coze/source/node-registries/text-process/components/method-selector/index.tsx +46 -0
  317. package/vendor/coze/source/node-registries/text-process/constants.ts +132 -0
  318. package/vendor/coze/source/nodes-v2/components/form-item-feedback/index.module.less +7 -0
  319. package/vendor/coze/source/nodes-v2/components/form-item-feedback/index.tsx +47 -0
  320. package/vendor/coze/source/nodes-v2/components/system-prompt/index.module.less +66 -0
  321. package/vendor/coze/source/nodes-v2/components/system-prompt/prompt-kit-bar.tsx +129 -0
  322. package/vendor/coze/source/nodes-v2/components/system-prompt/system-prompt-editor.tsx +110 -0
  323. package/vendor/coze/source/nodes-v2/llm/user-prompt/index.tsx +64 -0
  324. package/vendor/coze/source/prompt-kit/input-config-popover/index.tsx +80 -0
  325. package/vendor/coze/source/prompt-kit/input-slot-widget/index.css +34 -0
  326. package/vendor/coze/source/prompt-kit/input-slot-widget/index.ts +169 -0
  327. package/vendor/coze/source/prompt-kit/library-item.tsx +141 -0
  328. package/vendor/coze/source/prompt-kit/prompt-info-input.tsx +90 -0
  329. package/vendor/coze/source/ui-components/add-operation/index.module.less +19 -0
  330. package/vendor/coze/source/ui-components/add-operation/index.tsx +67 -0
  331. package/vendor/coze/source/ui-components/auto-size-tooltip/index.module.less +39 -0
  332. package/vendor/coze/source/ui-components/auto-size-tooltip/index.tsx +74 -0
  333. package/vendor/coze/source/ui-components/workflow-sl-input/index.module.less +36 -0
  334. package/vendor/coze/source/ui-components/workflow-sl-input/index.tsx +194 -0
  335. package/vendor/coze/source/utils/create-slots/index.tsx +126 -0
  336. package/vendor/coze/source/utils/create-slots/use-force-update.ts +23 -0
@@ -0,0 +1,46 @@
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 { useNodeTestId } from '@coze-workflow/base';
18
+ import { I18n } from '@coze-arch/i18n';
19
+
20
+ import { useReadonly } from '@/nodes-v2/hooks/use-readonly';
21
+ import { SelectField } from '@/form';
22
+
23
+ import { STRING_METHOD_OPTIONS, StringMethod } from '../../constants';
24
+
25
+ export const MethodSelectorSetter = ({ name }: { name: string }) => {
26
+ const readonly = useReadonly();
27
+ const { getNodeSetterId } = useNodeTestId();
28
+
29
+ return (
30
+ <div className="flex justify-between align-items">
31
+ <div className="font-semibold text-[12px] leading-[24px]">
32
+ {I18n.t('workflow_stringprocess_node_method')}
33
+ </div>
34
+
35
+ <div>
36
+ <SelectField
37
+ name={name}
38
+ readonly={readonly}
39
+ defaultValue={StringMethod.Concat}
40
+ optionList={STRING_METHOD_OPTIONS}
41
+ data-testid={getNodeSetterId('text-method-select')}
42
+ />
43
+ </div>
44
+ </div>
45
+ );
46
+ };
@@ -0,0 +1,132 @@
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 { I18n } from '@coze-arch/i18n';
18
+
19
+ export enum StringMethod {
20
+ Concat = 'concat',
21
+ Split = 'split',
22
+ }
23
+
24
+ export const PREFIX_STR = 'String';
25
+
26
+ /** Maximum number of custom separators/splices */
27
+ export const MAX_CUSTOM_LENGTH = 20;
28
+
29
+ /** The maximum number of delimiter characters displayed in the drop-down box */
30
+ export const MAX_TAG_SIZE = 4;
31
+
32
+ /** Front-end form field name */
33
+ export const FIELD_NAME_MAP = {
34
+ method: 'method',
35
+ concatResult: 'concatResult',
36
+ delimiter: 'delimiter',
37
+ concatChar: 'concatChar',
38
+ outputs: 'outputs',
39
+ };
40
+
41
+ /** backend field name */
42
+ export const BACK_END_NAME_MAP = {
43
+ delimiters: 'delimiters',
44
+ allDelimiters: 'allDelimiters',
45
+ allArrayItemConcatChars: 'allArrayItemConcatChars',
46
+ arrayItemConcatChar: 'arrayItemConcatChar',
47
+ };
48
+
49
+ /** Collection of string handling methods */
50
+ export const STRING_METHOD_OPTIONS = [
51
+ {
52
+ label: I18n.t('workflow_stringprocess_node_method_concat'),
53
+ value: StringMethod.Concat,
54
+ },
55
+ {
56
+ label: I18n.t('workflow_stringprocess_node_method_sep'),
57
+ value: StringMethod.Split,
58
+ },
59
+ ];
60
+
61
+ /** separator option */
62
+ export const OPTION_SCHEMA = {
63
+ type: 'object',
64
+ schema: [
65
+ {
66
+ type: 'string',
67
+ name: 'label',
68
+ required: true,
69
+ },
70
+ {
71
+ type: 'string',
72
+ name: 'value',
73
+ required: true,
74
+ },
75
+ {
76
+ type: 'boolean',
77
+ name: 'isDefault',
78
+ required: true,
79
+ },
80
+ ],
81
+ };
82
+
83
+ /** Default parameters in splicing mode */
84
+ export const CONCAT_DEFAULT_INPUTS = [
85
+ { name: `${PREFIX_STR}1`, input: { type: 'ref' } },
86
+ ];
87
+
88
+ /** Splicing method, component option settings */
89
+ export const CONCAT_CHAR_SETTINGS = {
90
+ key: '',
91
+
92
+ /** Only one splice can be selected. */
93
+ multiple: false,
94
+
95
+ /** Allow customization */
96
+ enableCustom: true,
97
+
98
+ /** Maximum number of customizations */
99
+ maxCustomLength: MAX_CUSTOM_LENGTH,
100
+
101
+ /** maximum number of impressions */
102
+ maxTagCount: MAX_TAG_SIZE,
103
+
104
+ /** drop-down box prompt */
105
+ placeholder: I18n.t('workflow_stringprocess_delimiter_option'),
106
+
107
+ /** Text box prompt */
108
+ inputPlaceholder: I18n.t('workflow_textprocess_custom_shading'),
109
+ };
110
+
111
+ /** Separation method, component option settings */
112
+ export const SPLIT_CHAR_SETTING = {
113
+ key: '',
114
+
115
+ /** Multiple separators can be selected */
116
+ multiple: true,
117
+
118
+ /** Allow customization */
119
+ enableCustom: true,
120
+
121
+ /** Maximum number of customizations */
122
+ maxCustomLength: MAX_CUSTOM_LENGTH,
123
+
124
+ /** maximum number of impressions */
125
+ maxTagCount: MAX_TAG_SIZE,
126
+
127
+ /** drop-down box prompt */
128
+ placeholder: I18n.t('workflow_stringprocess_delimiter_option'),
129
+
130
+ /** Text box prompt */
131
+ inputPlaceholder: I18n.t('workflow_stringprocess_delimiter_option'),
132
+ };
@@ -0,0 +1,7 @@
1
+ .form-item-error {
2
+ font-family: "SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,sans-serif;
3
+ font-size: var(--coze-12);
4
+ line-height: 16px;
5
+ color: var(--semi-color-danger)
6
+ }
7
+
@@ -0,0 +1,47 @@
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 React from 'react';
18
+
19
+ import classnames from 'classnames';
20
+ import {
21
+ type FieldState,
22
+ type FieldError,
23
+ type FieldWarning,
24
+ } from '@flowgram-adapter/free-layout-editor';
25
+ import { type WithCustomStyle } from '@coze-workflow/base/types';
26
+
27
+ import s from './index.module.less';
28
+
29
+ export interface FormItemErrorProps extends WithCustomStyle {
30
+ errors?: FieldState['errors'];
31
+ // Coze has no warnings
32
+ // warnings?: FieldState['warnings'];
33
+ }
34
+
35
+ export const FormItemFeedback = ({
36
+ errors,
37
+ className,
38
+ style,
39
+ }: FormItemErrorProps) => {
40
+ const renderFeedbacks = (fs: FieldError[] | FieldWarning[]) =>
41
+ fs.map(f => <span key={f.field}>{f.message}</span>);
42
+ return errors ? (
43
+ <div className={classnames(s.formItemError, className)} style={style}>
44
+ {renderFeedbacks(errors)}
45
+ </div>
46
+ ) : null;
47
+ };
@@ -0,0 +1,66 @@
1
+ .text {
2
+ font-size: 12px;
3
+ line-height: 16px;
4
+ }
5
+
6
+ .container {
7
+ position: relative;
8
+ margin-top: 8px;
9
+ }
10
+
11
+ .code-content {
12
+ :global{
13
+ .semi-collapsible-wrapper{
14
+ cursor: text;
15
+
16
+ padding-right: 12px;
17
+
18
+ background: var(--Light-color-white---white, #FFF);
19
+ border: 1px solid var(--Light-usage-border---color-border, rgba(29, 28, 35, 8%));
20
+ border-radius: var(--default, 8px);
21
+ }
22
+ }
23
+ }
24
+
25
+ .code-content-focus{
26
+ :global{
27
+ .semi-collapsible-wrapper {
28
+ border: 1px solid rgb(77 , 83, 232);
29
+ }
30
+ }
31
+ }
32
+
33
+ .kit-button-container {
34
+ :global{
35
+ .semi-button-with-icon-only{
36
+ border-radius: 8px;
37
+ }
38
+ }
39
+ }
40
+
41
+ .prompt-editor {
42
+ > div:first-child {
43
+ height: 100%;
44
+ }
45
+
46
+ :global {
47
+ .cm-editor {
48
+ height: 100%;
49
+ }
50
+ }
51
+ }
52
+
53
+ .nl-prompt {
54
+ :global {
55
+ .coz-icon-button .icon-icon {
56
+ font-size: 14px;
57
+ }
58
+ }
59
+ }
60
+
61
+ .editor-content{
62
+ height: calc(100% - 52px);
63
+ background-color: #FCFCFF;
64
+ }
65
+
66
+
@@ -0,0 +1,129 @@
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 { useEffect } from 'react';
18
+
19
+ import { PublicScopeProvider } from '@coze-workflow/variable';
20
+ import { NLPromptButton } from '@coze-workflow/resources-adapter';
21
+ import { PromptEditorProvider } from '@coze-common/prompt-kit-base/editor';
22
+ import { I18n } from '@coze-arch/i18n';
23
+ import {
24
+ IconCozExpand,
25
+ IconCozLightbulb,
26
+ IconCozMinimize,
27
+ IconCozTrayArrowUp,
28
+ } from '@coze-arch/coze-design/icons';
29
+ import { Tooltip, IconButton, Button } from '@coze-arch/coze-design';
30
+ import { UIIconButton } from '@coze-arch/bot-semi';
31
+
32
+ import { useNodeFormPanelState } from '@/hooks/use-node-side-sheet-store';
33
+ import { CopyButton } from '@/components/copy-button';
34
+
35
+ import { useLibrariesStore } from './use-libraries-store';
36
+ import { ExpandSheetEditor } from './expand-sheet-editor';
37
+
38
+ import styles from './index.module.less';
39
+
40
+ export const PromptKitBar = props => {
41
+ const { openPromptLibrary, readonly, value, openCreatePrompt } = props;
42
+
43
+ const { updateLibraries } = useLibrariesStore(state => ({
44
+ updateLibraries: state.updateLibraries,
45
+ }));
46
+
47
+ const { fullscreenPanel, setFullscreenPanel } = useNodeFormPanelState();
48
+ const fullscreenPanelVisible = !!fullscreenPanel;
49
+
50
+ useEffect(() => {
51
+ updateLibraries(props.libraries || []);
52
+ }, [props.libraries]);
53
+
54
+ const handleExpandClick = () => {
55
+ setFullscreenPanel(
56
+ fullscreenPanelVisible ? null : (
57
+ <PublicScopeProvider>
58
+ <PromptEditorProvider>
59
+ <ExpandSheetEditor {...props} />
60
+ </PromptEditorProvider>
61
+ </PublicScopeProvider>
62
+ ),
63
+ );
64
+ };
65
+
66
+ return (
67
+ <div
68
+ className={`flex justify-between items-center gap-[8px] h-[28px] ${styles['kit-button-container']}`}
69
+ >
70
+ {readonly ? <CopyButton value={value as string} /> : null}
71
+ <Tooltip content={I18n.t('compare_tooltips_submit_to_the_prompt')}>
72
+ <Button
73
+ color="secondary"
74
+ disabled={readonly}
75
+ icon={<IconCozTrayArrowUp />}
76
+ onClick={() =>
77
+ openCreatePrompt({
78
+ mode: 'create',
79
+ defaultPrompt: value,
80
+ })
81
+ }
82
+ ></Button>
83
+ </Tooltip>
84
+ <Tooltip content={I18n.t('workflow_prompt_editor_view_library')}>
85
+ <IconButton
86
+ onClick={e => {
87
+ e.stopPropagation();
88
+ openPromptLibrary();
89
+ }}
90
+ icon={<IconCozLightbulb />}
91
+ color="secondary"
92
+ disabled={readonly}
93
+ />
94
+ </Tooltip>
95
+
96
+ <Tooltip
97
+ content={I18n.t(
98
+ fullscreenPanelVisible ? 'collapse' : 'workflow_prompt_editor_expand',
99
+ )}
100
+ >
101
+ <UIIconButton
102
+ onClick={handleExpandClick}
103
+ icon={
104
+ fullscreenPanelVisible ? (
105
+ <IconCozMinimize color="#6B6D75" />
106
+ ) : (
107
+ <IconCozExpand color="#6B6D75" />
108
+ )
109
+ }
110
+ color="#6B6D75"
111
+ />
112
+ </Tooltip>
113
+
114
+ <div className={styles['nl-prompt']}>
115
+ {/* will support soon */}
116
+ {IS_OPEN_SOURCE ? null : (
117
+ <NLPromptButton
118
+ disabled={readonly}
119
+ onlyIcon
120
+ className="!h-6 !p-1 !rounded-[5px]"
121
+ tooltip={I18n.t('prompt_optimization_button_hover_tooltip')}
122
+ size="small"
123
+ style={{ minWidth: '24px' }}
124
+ />
125
+ )}
126
+ </div>
127
+ </div>
128
+ );
129
+ };
@@ -0,0 +1,110 @@
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, useState } from 'react';
18
+
19
+ import { I18n } from '@coze-arch/i18n';
20
+ import { Tooltip } from '@coze-arch/bot-semi';
21
+ import { ThemeExtension } from '@coze-common/editor-plugins/theme';
22
+ import {
23
+ PromptEditorRender,
24
+ type PromptEditorRenderProps,
25
+ } from '@coze-common/prompt-kit-base/editor';
26
+ import { EditorView } from '@codemirror/view';
27
+
28
+ import { WORKFLOW_PLAYGROUND_CONTENT_ID } from '@/constants';
29
+
30
+ interface EditorWithPromptKitProps extends PromptEditorRenderProps {
31
+ wrapperClassName?: string;
32
+ wrapperStyle?: React.CSSProperties;
33
+ }
34
+
35
+ export const SystemPromptEditor: FC<EditorWithPromptKitProps> = props => {
36
+ const {
37
+ readonly,
38
+ placeholder,
39
+ defaultValue,
40
+ value,
41
+ onChange,
42
+ isControled,
43
+ wrapperClassName = '',
44
+ wrapperStyle,
45
+ dataTestID,
46
+ onFocus,
47
+ onBlur,
48
+ } = props;
49
+
50
+ const [isFocused, setIsFocused] = useState(false);
51
+
52
+ const handleOnFocus = () => {
53
+ setIsFocused(true);
54
+ onFocus?.();
55
+ };
56
+
57
+ const handleOnBlur = () => {
58
+ setIsFocused(false);
59
+ onBlur?.();
60
+ };
61
+
62
+ return (
63
+ <Tooltip
64
+ content={I18n.t('db_table_0129_003')}
65
+ trigger="custom"
66
+ position="top"
67
+ autoAdjustOverflow={false}
68
+ visible={isFocused && readonly}
69
+ getPopupContainer={() =>
70
+ document.getElementById(WORKFLOW_PLAYGROUND_CONTENT_ID) ?? document.body
71
+ }
72
+ >
73
+ <div
74
+ className={wrapperClassName}
75
+ style={wrapperStyle}
76
+ onMouseEnter={() => {
77
+ setIsFocused(true);
78
+ }}
79
+ onMouseLeave={() => {
80
+ setIsFocused(false);
81
+ }}
82
+ >
83
+ <PromptEditorRender
84
+ defaultValue={defaultValue ?? value}
85
+ value={value}
86
+ onChange={onChange}
87
+ readonly={readonly}
88
+ placeholder={placeholder}
89
+ options={{
90
+ minHeight: 112,
91
+ fontSize: 12,
92
+ }}
93
+ dataTestID={dataTestID}
94
+ isControled={isControled}
95
+ onFocus={handleOnFocus}
96
+ onBlur={handleOnBlur}
97
+ />
98
+ <ThemeExtension
99
+ themes={[
100
+ EditorView.theme({
101
+ '.cm-line': {
102
+ lineHeight: '18px !important',
103
+ },
104
+ }),
105
+ ]}
106
+ />
107
+ </div>
108
+ </Tooltip>
109
+ );
110
+ };
@@ -0,0 +1,64 @@
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 React, { useEffect } from 'react';
18
+
19
+ import { I18n } from '@coze-arch/i18n';
20
+ import { useForm } from '@flowgram-adapter/free-layout-editor';
21
+
22
+ import { useReadonly } from '@/nodes-v2/hooks/use-readonly';
23
+ import { FormItemFeedback } from '@/nodes-v2/components/form-item-feedback';
24
+ import { ExpressionEditor } from '@/nodes-v2/components/expression-editor';
25
+ import { useWorkflowModels } from '@/hooks';
26
+ import { FormCard } from '@/form-extensions/components/form-card';
27
+ import { CopyButton } from '@/components/copy-button';
28
+
29
+ export const UserPrompt = ({ field, fieldState }) => {
30
+ const form = useForm();
31
+ const readonly = useReadonly();
32
+ const { models } = useWorkflowModels();
33
+
34
+ const modelType = form.getValueIn('model.modelType');
35
+ const curModel = models?.find(model => model.model_type === modelType);
36
+ const isUserPromptRequired = curModel?.is_up_required ?? false;
37
+
38
+ useEffect(() => {
39
+ // TODO: Temporary solution, replaced after the node engine provides a new API
40
+ field._fieldModel.validate();
41
+ }, [isUserPromptRequired]);
42
+
43
+ return (
44
+ <FormCard
45
+ key={'FormCard'}
46
+ header={I18n.t('workflow_detail_llm_prompt')}
47
+ tooltip={I18n.t('workflow_detail_llm_prompt_tooltip')}
48
+ required={isUserPromptRequired}
49
+ actionButton={
50
+ readonly ? [<CopyButton value={field?.value as string} />] : []
51
+ }
52
+ >
53
+ <ExpressionEditor
54
+ placeholder={I18n.t('workflow_detail_llm_prompt_content')}
55
+ maxLength={500}
56
+ {...field}
57
+ inputParameters={form.getValueIn('$$input_decorator$$.inputParameters')}
58
+ key="ExpressionEditor"
59
+ isError={!!fieldState?.errors?.length}
60
+ />
61
+ <FormItemFeedback errors={fieldState?.errors} />
62
+ </FormCard>
63
+ );
64
+ };
@@ -0,0 +1,80 @@
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 { useState } from 'react';
18
+
19
+ import { PositionMirror } from '@coze-editor/editor/react';
20
+ import { I18n } from '@coze-arch/i18n';
21
+ import { Popover, Input, type PopoverProps } from '@coze-arch/coze-design';
22
+
23
+ interface InputConfigPopoverProps {
24
+ visible: boolean;
25
+ onVisibleChange?: (visible: boolean) => void;
26
+ positon: number;
27
+ direction?: PopoverProps['position'];
28
+ placeholder: string;
29
+ value: string;
30
+ onPlaceholderChange?: (placeholder: string) => void;
31
+ onValueChange?: (value: string) => void;
32
+ }
33
+ export const InputConfigPopover = (props: InputConfigPopoverProps) => {
34
+ const [reposKey, setReposKey] = useState('');
35
+ const { direction, placeholder, value } = props;
36
+
37
+ return (
38
+ <>
39
+ <Popover
40
+ rePosKey={reposKey}
41
+ visible={props.visible}
42
+ trigger="custom"
43
+ position={direction}
44
+ autoAdjustOverflow
45
+ content={
46
+ <div className="flex flex-col gap-2 pt-3 pb-4 px-4 w-[320px]">
47
+ <div>
48
+ <div>{I18n.t('edit_block_guidance_text_when_empty')}</div>
49
+ <Input
50
+ value={placeholder}
51
+ placeholder={I18n.t('edit_block_guidance_text_placeholder')}
52
+ onChange={v => props.onPlaceholderChange?.(v)}
53
+ onBlur={() => {
54
+ if (!placeholder) {
55
+ props.onPlaceholderChange?.(
56
+ I18n.t('edit_block_guidance_text_placeholder'),
57
+ );
58
+ }
59
+ }}
60
+ />
61
+ </div>
62
+ <div>
63
+ <div>{I18n.t('edit_block_prefilled_text')}</div>
64
+ <Input
65
+ value={value}
66
+ placeholder={I18n.t('edit_block_default_guidance_text')}
67
+ onChange={v => props.onValueChange?.(v)}
68
+ />
69
+ </div>
70
+ </div>
71
+ }
72
+ >
73
+ <PositionMirror
74
+ position={props.positon}
75
+ onChange={() => setReposKey(String(Math.random()))}
76
+ />
77
+ </Popover>
78
+ </>
79
+ );
80
+ };