@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,29 @@
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 { TERMINATE_PLAN_PATH, defaultTerminalPlanOptions } from '../constants';
18
+ import { RadioSetterField } from '../../common/fields';
19
+
20
+ export const TerminatePlanField = () => (
21
+ <RadioSetterField
22
+ name={TERMINATE_PLAN_PATH}
23
+ options={{
24
+ direction: 'horizontal',
25
+ mode: 'button',
26
+ options: defaultTerminalPlanOptions,
27
+ }}
28
+ />
29
+ );
@@ -0,0 +1,34 @@
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
+ import { TerminatePlan } from './types';
20
+ // Imported parameter path, practice running and other functions rely on this path to extract parameters
21
+ export const INPUT_PATH = 'inputs.inputParameters';
22
+ export const TERMINATE_PLAN_PATH = 'inputs.terminatePlan';
23
+ export const ANSWER_CONTENT_PATH = 'inputs.content';
24
+ export const STREAMING_OUTPUT_PATH = 'inputs.streamingOutput';
25
+ export const defaultTerminalPlanOptions = [
26
+ {
27
+ value: TerminatePlan.ReturnVariables,
28
+ label: I18n.t('workflow_241111_02'),
29
+ },
30
+ {
31
+ value: TerminatePlan.UseAnswerContent,
32
+ label: I18n.t('workflow_241111_03'),
33
+ },
34
+ ];
@@ -0,0 +1,66 @@
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, type InputValueVO } from '@coze-workflow/base';
18
+ import { I18n } from '@coze-arch/i18n';
19
+
20
+ import { withNodeConfigForm } from '@/node-registries/common/hocs';
21
+ import { useWatch } from '@/form';
22
+
23
+ import { InputsParametersField, AnswerContentField } from '../common/fields';
24
+ import { TerminatePlan } from './types';
25
+ import {
26
+ INPUT_PATH,
27
+ TERMINATE_PLAN_PATH,
28
+ ANSWER_CONTENT_PATH,
29
+ STREAMING_OUTPUT_PATH,
30
+ } from './constants';
31
+ import { TerminatePlanField } from './components/terminate-plan-field';
32
+
33
+ export const FormRender = withNodeConfigForm(() => {
34
+ const terminatePlan = useWatch<TerminatePlan>(TERMINATE_PLAN_PATH);
35
+ const inputParameters = useWatch<InputValueVO[]>(INPUT_PATH);
36
+
37
+ const { getNodeSetterId } = useNodeTestId();
38
+ const setterTestId = getNodeSetterId('');
39
+ return (
40
+ <>
41
+ <TerminatePlanField />
42
+ <InputsParametersField
43
+ name={INPUT_PATH}
44
+ title={I18n.t('workflow_detail_end_output')}
45
+ tooltip={I18n.t('workflow_detail_end_output_tooltip')}
46
+ isTree={true}
47
+ testId={setterTestId}
48
+ />
49
+ {terminatePlan === TerminatePlan.UseAnswerContent ? (
50
+ <AnswerContentField
51
+ editorFieldName={ANSWER_CONTENT_PATH}
52
+ switchFieldName={STREAMING_OUTPUT_PATH}
53
+ title={I18n.t('workflow_detail_end_answer')}
54
+ tooltip={I18n.t('workflow_detail_end_answer_tooltip')}
55
+ enableStreamingOutput
56
+ switchLabel={I18n.t('workflow_message_streaming_name')}
57
+ switchTooltip={I18n.t('workflow_message_streaming_tooltips')}
58
+ // Adapt to the old testId format
59
+ testId={`/${ANSWER_CONTENT_PATH.split('.').join('/')}`}
60
+ switchTestId={STREAMING_OUTPUT_PATH.split('.')?.at(-1)}
61
+ inputParameters={inputParameters}
62
+ />
63
+ ) : null}
64
+ </>
65
+ );
66
+ });
@@ -0,0 +1,45 @@
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 {
18
+ type InputValueVO,
19
+ type InputValueDTO,
20
+ type ValueExpressionDTO,
21
+ type NodeDataDTO as BaseNodeDataDTO,
22
+ } from '@coze-workflow/base';
23
+
24
+ export enum TerminatePlan {
25
+ ReturnVariables = 'returnVariables',
26
+ UseAnswerContent = 'useAnswerContent',
27
+ }
28
+
29
+ export type FormData = {
30
+ inputs: {
31
+ inputParameters: InputValueVO[];
32
+ terminatePlan?: TerminatePlan;
33
+ streamingOutput?: boolean;
34
+ content?: string;
35
+ };
36
+ } & Pick<BaseNodeDataDTO, 'nodeMeta'>;
37
+
38
+ export interface NodeDataDTO {
39
+ inputs: {
40
+ inputParameters?: InputValueDTO[];
41
+ terminatePlan?: TerminatePlan;
42
+ streamingOutput?: boolean;
43
+ content?: ValueExpressionDTO;
44
+ };
45
+ }
@@ -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 { forwardRef, useCallback, useEffect, useRef } from 'react';
18
+
19
+ import { type EditorAPI } from '@coze-editor/editor/preset-universal';
20
+
21
+ import { TextEditor } from '@/components/code-editor';
22
+
23
+ interface RawTextEditorProps {
24
+ value: string;
25
+ onChange: (value: string) => void;
26
+ className?: string;
27
+ readonly?: boolean;
28
+ dataTestID?: string;
29
+ placeholder?: string | HTMLElement;
30
+ minHeight?: string | number;
31
+ }
32
+
33
+ export const BaseRawTextEditor = forwardRef<HTMLDivElement, RawTextEditorProps>(
34
+ (props, ref) => {
35
+ const { value, onChange, placeholder, className, minHeight, readonly } =
36
+ props;
37
+
38
+ const apiRef = useRef<EditorAPI | null>(null);
39
+
40
+ const handleChange = useCallback(
41
+ (e: { value: string }) => {
42
+ if (typeof onChange === 'function') {
43
+ onChange(e.value);
44
+ }
45
+ },
46
+ [onChange],
47
+ );
48
+
49
+ // Value controlled;
50
+ useEffect(() => {
51
+ const editor = apiRef.current;
52
+
53
+ if (!editor) {
54
+ return;
55
+ }
56
+
57
+ if (typeof value === 'string' && value !== editor.getValue()) {
58
+ editor.setValue(value);
59
+ }
60
+ }, [value]);
61
+
62
+ return (
63
+ <div ref={ref} className={className}>
64
+ <TextEditor
65
+ defaultValue={value ?? ''}
66
+ onChange={handleChange}
67
+ options={{
68
+ placeholder,
69
+ lineWrapping: true,
70
+ minHeight,
71
+ fontSize: 12,
72
+ editable: !readonly,
73
+ lineHeight: 20,
74
+ }}
75
+ didMount={api => (apiRef.current = api)}
76
+ />
77
+ </div>
78
+ );
79
+ },
80
+ );
@@ -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 { ViewVariableType } from '@coze-workflow/base';
18
+ import { I18n } from '@coze-arch/i18n';
19
+
20
+ export enum JsonEditorTheme {
21
+ Light = 'coze-light',
22
+ Dark = 'coze-dark',
23
+ }
24
+
25
+ export const PARAMS_COLUMNS = [
26
+ {
27
+ title: I18n.t('workflow_detail_node_parameter_name'),
28
+ style: {
29
+ flex: 2,
30
+ },
31
+ },
32
+ {
33
+ title: I18n.t('card_builder_api_http_params_columns_type'),
34
+ style: {
35
+ flex: 2,
36
+ },
37
+ },
38
+ {
39
+ title: I18n.t('workflow_detail_node_parameter_value'),
40
+ style: {
41
+ flex: 3,
42
+ },
43
+ },
44
+ ];
45
+
46
+ export const INPUT_VALUE_COLUMNS = [
47
+ {
48
+ title: I18n.t('workflow_detail_node_parameter_name'),
49
+ style: {
50
+ flex: 2,
51
+ },
52
+ },
53
+ {
54
+ title: I18n.t('workflow_detail_node_parameter_value'),
55
+ style: {
56
+ flex: 3,
57
+ },
58
+ },
59
+ ];
60
+
61
+ export enum DTOFieldType {
62
+ File = 'file',
63
+ String = 'string',
64
+ }
65
+
66
+ /**
67
+ * Backend Data Types - > Frontend Data Types
68
+ */
69
+ export const fileTypeDTOToVO = {
70
+ [DTOFieldType.File]: ViewVariableType.File,
71
+ [DTOFieldType.String]: ViewVariableType.String,
72
+ };
73
+
74
+ /**
75
+ * Front-end data types - > Back-end data types
76
+ */
77
+ export const fileTypeVOToDTO = {
78
+ [ViewVariableType.File]: DTOFieldType.File,
79
+ [ViewVariableType.String]: DTOFieldType.String,
80
+ };
@@ -0,0 +1,191 @@
1
+ /* stylelint-disable selector-class-pattern, no-descending-specificity */
2
+
3
+ .container {
4
+ position: relative;
5
+
6
+ .content {
7
+ overflow-x: auto;
8
+
9
+ &.readonly {
10
+ overflow: visible;
11
+
12
+ :global {
13
+ .semi-tree-option-list-block .semi-tree-option:hover {
14
+ background-color: inherit;
15
+ }
16
+ }
17
+ }
18
+
19
+ .add-hot-area {
20
+ cursor: pointer;
21
+ height: 16px;
22
+ }
23
+
24
+ .empty-placeholder {
25
+ font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont,
26
+ 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei',
27
+ 'Helvetica Neue', Helvetica, Arial, sans-serif;
28
+ font-size: 16px;
29
+ font-weight: 400;
30
+ font-style: normal;
31
+ line-height: 44px;
32
+ color: var(--light-usage-text-color-text-2, rgba(29, 28, 35, 60%));
33
+ }
34
+
35
+ :global {
36
+ .semi-tree-option-list {
37
+ overflow: initial;
38
+ padding: 0 0 8px;
39
+
40
+ & > div:first-child {
41
+ margin-top: 0;
42
+ }
43
+ }
44
+ }
45
+ }
46
+
47
+ :global {
48
+ .semi-tree-option-list {
49
+ .semi-tree-option {
50
+ padding-left: 8px;
51
+ }
52
+ }
53
+ }
54
+
55
+ &.not-readonly {
56
+ :global {
57
+ .semi-tree-option-list {
58
+ overflow: inherit;
59
+
60
+ .semi-tree-option {
61
+ padding-left: 8px;
62
+ }
63
+ }
64
+
65
+ .semi-tree-option-list-block .semi-tree-option {
66
+ cursor: default;
67
+
68
+ &:hover,
69
+ &:active {
70
+ background: transparent;
71
+ }
72
+ }
73
+ }
74
+
75
+ &:not(.could-collapse) {
76
+ :global {
77
+ .semi-tree-option.semi-tree-option-fullLabel-level-1 {
78
+ padding-left: 0;
79
+ }
80
+ }
81
+ }
82
+ }
83
+ }
84
+
85
+ // 导入按钮样式
86
+ .import-button {
87
+ display: flex;
88
+ align-items: center;
89
+ justify-content: center;
90
+
91
+ padding: 4px 8px;
92
+
93
+ border-radius: 6px;
94
+
95
+ &:not(.semi-button-disabled):hover {
96
+ background-color: var(--semi-color-fill-1, rgba(46, 46, 56, 8%));
97
+ }
98
+
99
+ &:not(.semi-button-disabled):active {
100
+ background-color: var(--semi-color-fill-2, rgba(46, 46, 56, 12%));
101
+ }
102
+
103
+ :global {
104
+ p {
105
+ font-size: 12px;
106
+ font-weight: 500;
107
+ font-style: normal;
108
+ line-height: 16px;
109
+ }
110
+
111
+ .semi-button-content{
112
+ line-height: 16px;
113
+ }
114
+
115
+ .semi-button-content-right {
116
+ margin-left: 4px;
117
+ }
118
+ }
119
+ }
120
+
121
+ .import-button-disabled {
122
+ opacity: 0.5;
123
+ filter: grayscale(100%);
124
+ }
125
+
126
+ .button-icon {
127
+ color: var(--semi-color-primary);
128
+ }
129
+
130
+ .json-editor-container {
131
+ position: relative;
132
+
133
+ display: inline-block;
134
+
135
+ box-sizing: border-box;
136
+ width: 100%;
137
+
138
+ word-break: break-all;
139
+ vertical-align: bottom;
140
+
141
+ background-color: var(--semi-color-white);
142
+ border-radius: 8px;
143
+
144
+ transition:
145
+ background-color var(--semi-transition_duration-none)
146
+ var(--semi-transition_function-easeIn) var(--semi-transition_delay-none),
147
+ border var(--semi-transition_duration-none)
148
+ var(--semi-transition_function-easeIn) var(--semi-transition_delay-none)
149
+ }
150
+
151
+ .expand-header{
152
+ height: 48px;
153
+
154
+ font-size: 16px;
155
+ font-weight: 500;
156
+ font-style: normal;
157
+ line-height: 22px;
158
+
159
+ border-bottom: 1px solid var(--Stroke-COZ-stroke-plus, rgba(153, 182, 255, 17%));
160
+ }
161
+
162
+ .expand-header-dark{
163
+ --Fg-COZ-fg-secondary: rgba(255, 255, 255, 39%);
164
+
165
+ background: var(--Bg-COZ-bg-plus, #1F2533);
166
+ }
167
+
168
+ .expand-content{
169
+ height: calc(100% - 48px);
170
+ }
171
+
172
+ .expand-content-dark{
173
+ background: var(--Bg-COZ-bg-plus, #1F2533);
174
+ }
175
+
176
+ .editor-wrapper{
177
+ width: 100%;
178
+ height: 100%;
179
+
180
+ & > div{
181
+ height: 100%;
182
+ }
183
+ }
184
+
185
+ .theme-icon-dark {
186
+ color: var(--Fg-COZ-fg-primary,#FFFFFFC9);
187
+ }
188
+
189
+ .theme-icon-light{
190
+ color: var(--Fg-COZ-fg-primary, rgba(15, 21, 41, 82%));
191
+ }
@@ -0,0 +1,141 @@
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, useRef, useEffect } from 'react';
18
+
19
+ import classNames from 'classnames';
20
+ import { PublicScopeProvider } from '@coze-workflow/variable';
21
+ import { EditorProvider } from '@coze-editor/editor/react';
22
+ import { I18n } from '@coze-arch/i18n';
23
+ import {
24
+ IconCozBroom,
25
+ IconCozMoon,
26
+ IconCozSun,
27
+ } from '@coze-arch/coze-design/icons';
28
+ import { IconButton, Tooltip } from '@coze-arch/coze-design';
29
+
30
+ import { useReadonly } from '@/nodes-v2/hooks/use-readonly';
31
+ import {
32
+ useEditorThemeState,
33
+ EditorTheme,
34
+ } from '@/hooks/use-editor-theme-state';
35
+ import { ExpandEditorContainer } from '@/components/editor-container';
36
+
37
+ import { InnerEditor } from '../inner-editor';
38
+ import styles from '../index.module.less';
39
+
40
+ export const JsonExpandEditor: FC<{
41
+ id: string;
42
+ value: string;
43
+ onChange: (data: string) => void;
44
+ onClose: () => void;
45
+ }> = props => {
46
+ const { id, onClose, value, onChange } = props;
47
+ const readonly = useReadonly();
48
+ const editorRef = useRef<{ formatJson: () => Promise<void> }>(null);
49
+
50
+ const { isDarkTheme, setEditorTheme } = useEditorThemeState();
51
+
52
+ const handleChangeTheme = () => {
53
+ const nextTheme = isDarkTheme ? EditorTheme.Light : EditorTheme.Dark;
54
+ setEditorTheme(nextTheme);
55
+ };
56
+
57
+ const handleFormatJson = () => {
58
+ editorRef.current?.formatJson?.();
59
+ };
60
+
61
+ useEffect(() => {
62
+ if (!editorRef.current) {
63
+ return;
64
+ }
65
+ editorRef.current?.formatJson?.();
66
+ }, []);
67
+
68
+ return (
69
+ <ExpandEditorContainer
70
+ id={id}
71
+ onClose={onClose}
72
+ closeIconClassName={classNames({
73
+ [styles.themeIconDark]: isDarkTheme,
74
+ })}
75
+ editorTitle={'JSON'}
76
+ headerClassName={classNames(styles['expand-header'], {
77
+ [styles['expand-header-dark']]: isDarkTheme,
78
+ })}
79
+ contentClassName={classNames(styles['expand-content'], {
80
+ [styles['expand-content-dark']]: isDarkTheme,
81
+ })}
82
+ editorContent={
83
+ <PublicScopeProvider>
84
+ <EditorProvider>
85
+ <InnerEditor
86
+ ref={editorRef}
87
+ value={value}
88
+ placeholder={I18n.t('node_http_json_data_input')}
89
+ onChange={v => {
90
+ onChange(v as string);
91
+ }}
92
+ name={id}
93
+ isDarkTheme={isDarkTheme}
94
+ readonly={readonly}
95
+ minHeight="100%"
96
+ maxHeight="100%"
97
+ editerHeight="100%"
98
+ padding="12px"
99
+ editorClassName={styles.editorWrapper}
100
+ />
101
+ </EditorProvider>
102
+ </PublicScopeProvider>
103
+ }
104
+ actions={[
105
+ <Tooltip content={I18n.t('node_http_json_format')}>
106
+ <span>
107
+ <IconButton
108
+ onClick={handleFormatJson}
109
+ icon={
110
+ <IconCozBroom
111
+ fontSize={18}
112
+ className={classNames(
113
+ isDarkTheme ? styles.themeIconDark : styles.themeIconLight,
114
+ )}
115
+ />
116
+ }
117
+ size="small"
118
+ color="secondary"
119
+ aria-label="format"
120
+ />
121
+ </span>
122
+ </Tooltip>,
123
+ <span>
124
+ <IconButton
125
+ onClick={handleChangeTheme}
126
+ icon={
127
+ isDarkTheme ? (
128
+ <IconCozMoon fontSize={18} className={styles.themeIconDark} />
129
+ ) : (
130
+ <IconCozSun fontSize={18} className={styles.themeIconLight} />
131
+ )
132
+ }
133
+ size="small"
134
+ color="secondary"
135
+ aria-label="close"
136
+ />
137
+ </span>,
138
+ ]}
139
+ />
140
+ );
141
+ };