@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,158 @@
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, { useCallback } from 'react';
18
+
19
+ import {
20
+ useEntityFromContext,
21
+ useService,
22
+ } from '@flowgram-adapter/free-layout-editor';
23
+ import { type WorkflowNodeEntity } from '@flowgram-adapter/free-layout-editor';
24
+ import { useValidationService } from '@coze-workflow/base/services';
25
+ import { StandardNodeType, useNodeTestId } from '@coze-workflow/base';
26
+ import { I18n } from '@coze-arch/i18n';
27
+ import {
28
+ IconCozPlayFill,
29
+ IconCozStopCircle,
30
+ } from '@coze-arch/coze-design/icons';
31
+ import { IconButton, Tooltip, Toast } from '@coze-arch/coze-design';
32
+
33
+ import { WorkflowRunService } from '@/services';
34
+ import { LayoutPanelKey } from '@/constants';
35
+
36
+ import { useTestRunStatus } from '../hooks/use-test-run-status';
37
+ import { useTestFormSchema } from '../hooks/use-test-form-schema';
38
+ import { useCancelTestRun } from '../hooks/use-cancel-test-run';
39
+ import {
40
+ useGlobalState,
41
+ useTestFormState,
42
+ useNodeRenderScene,
43
+ useFloatLayoutService,
44
+ useTestRunReporterService,
45
+ } from '../../../hooks';
46
+
47
+ export const TestRunSingleNodeButton: React.FC = () => {
48
+ const node = useEntityFromContext<WorkflowNodeEntity>();
49
+ const { getNodeSetterId } = useNodeTestId();
50
+ const floatLayoutService = useFloatLayoutService();
51
+ const validationService = useValidationService();
52
+ const testRunReporterService = useTestRunReporterService();
53
+ const { isNodeSideSheet } = useNodeRenderScene();
54
+ const runService = useService<WorkflowRunService>(WorkflowRunService);
55
+ const { playgroundProps } = useGlobalState();
56
+
57
+ const { loading, disabled, isMineRunning } = useTestRunStatus(node.id);
58
+ const testFormState = useTestFormState();
59
+ const { cancelTestRun, canceling } = useCancelTestRun();
60
+ const { generate } = useTestFormSchema(node);
61
+
62
+ const handleOpenTestFormV2 = useCallback(
63
+ async e => {
64
+ e.stopPropagation();
65
+
66
+ testRunReporterService.tryStart({
67
+ scene: 'node',
68
+ });
69
+
70
+ const { hasError } = await validationService.validateNode(node);
71
+
72
+ if (hasError) {
73
+ Toast.error({
74
+ content: I18n.t('workflow_detail_toast_validation_failed'),
75
+ showClose: false,
76
+ });
77
+ }
78
+
79
+ if (isNodeSideSheet) {
80
+ if (hasError) {
81
+ return;
82
+ }
83
+
84
+ testFormState.showTestNodeForm();
85
+ } else {
86
+ floatLayoutService.open(LayoutPanelKey.NodeForm, 'right', {
87
+ node,
88
+ showTestNodeForm: !hasError,
89
+ });
90
+
91
+ if (hasError) {
92
+ return;
93
+ }
94
+
95
+ testFormState.showTestNodeForm();
96
+ }
97
+ const schema = await generate();
98
+ if (schema?.fields.length) {
99
+ return;
100
+ }
101
+ runService.clearTestRun();
102
+ runService.testRunOneNode({ nodeId: node.id });
103
+ },
104
+ [testFormState],
105
+ );
106
+
107
+ /**
108
+ * - condition, start, end no single node operation required
109
+ * - Globally configure whether canTestRun can practice running
110
+ * - Process component property configuration disabledSingleNodeTest whether to disable single node practice run
111
+ */
112
+ if (
113
+ [
114
+ StandardNodeType.Start,
115
+ StandardNodeType.End,
116
+ StandardNodeType.If,
117
+ ].includes(node.flowNodeType as StandardNodeType) ||
118
+ playgroundProps.disabledSingleNodeTest ||
119
+ !node.getNodeRegistry()?.meta?.test
120
+ ) {
121
+ return null;
122
+ }
123
+
124
+ if (isMineRunning) {
125
+ return (
126
+ <Tooltip
127
+ key={`${node.id}-cancel-test-run`}
128
+ content={I18n.t('workflow_testrun_one_node_cancel_run_tooltips')}
129
+ >
130
+ <IconButton
131
+ color="secondary"
132
+ size={isNodeSideSheet ? 'default' : 'small'}
133
+ icon={<IconCozStopCircle />}
134
+ onClick={cancelTestRun}
135
+ disabled={canceling}
136
+ data-testid={getNodeSetterId('testonenode_cancel')}
137
+ />
138
+ </Tooltip>
139
+ );
140
+ }
141
+
142
+ return (
143
+ <Tooltip
144
+ key={`${node.id}-test-run`}
145
+ content={I18n.t('workflow_debug_testonenode')}
146
+ >
147
+ <IconButton
148
+ color="secondary"
149
+ size={isNodeSideSheet ? 'default' : 'small'}
150
+ disabled={disabled}
151
+ icon={<IconCozPlayFill />}
152
+ onClick={handleOpenTestFormV2}
153
+ loading={loading}
154
+ data-testid={getNodeSetterId('testonenode')}
155
+ />
156
+ </Tooltip>
157
+ );
158
+ };
@@ -0,0 +1,48 @@
1
+ .base-panel {
2
+ display: flex;
3
+ flex-direction: column;
4
+
5
+ border: 1px solid var(--coz-stroke-primary);
6
+ border-radius: 8px;
7
+ background-color: var(--coz-bg-plus);
8
+ position: relative;
9
+ min-width: 540px;
10
+ }
11
+
12
+ .dragging {
13
+ cursor: row-resize;
14
+ user-select: none;
15
+ pointer-events: none;
16
+ }
17
+
18
+ .panel-header {
19
+ height: 48px;
20
+ border-bottom: 1px solid var(--coz-stroke-primary);
21
+
22
+ display: flex;
23
+ align-items: center;
24
+ justify-content: space-between;
25
+
26
+ padding: 0 12px;
27
+ flex-shrink: 0;
28
+ column-gap: 8px;
29
+ }
30
+ .panel-content {
31
+ height: 100%;
32
+ flex-shrink: 1;
33
+ overflow-y: auto;
34
+ }
35
+ .panel-footer {
36
+ border-top: 1px solid var(--coz-stroke-primary);;
37
+ }
38
+
39
+ .resize-bar {
40
+ width: 100%;
41
+ height: 5px;
42
+
43
+ position: absolute;
44
+ top: 0;
45
+ left: 0;
46
+
47
+ cursor: row-resize;
48
+ }
@@ -0,0 +1,99 @@
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 { isObject } from 'lodash-es';
20
+ import { clsx } from 'clsx';
21
+ import { IconCozCross } from '@coze-arch/coze-design/icons';
22
+ import { IconButton } from '@coze-arch/coze-design';
23
+
24
+ import { useResize } from './use-resize';
25
+
26
+ import css from './panel.module.less';
27
+
28
+ interface BasePanelProps {
29
+ className?: string;
30
+ /**
31
+ * Panel header, no pass and no render
32
+ */
33
+ header?: React.ReactNode;
34
+ /**
35
+ * Panel foot, do not pass and do not render
36
+ */
37
+ footer?: React.ReactNode;
38
+ /**
39
+ * Default initial height, does not support responsive
40
+ */
41
+ height?: number;
42
+ /**
43
+ * Can you drag and drop to change the height?
44
+ */
45
+ resizable?:
46
+ | boolean
47
+ | {
48
+ min?: number;
49
+ max?: number;
50
+ };
51
+ /**
52
+ * Click to close the event, which may only be triggered when rendering the panel header
53
+ */
54
+ onClose?: () => void;
55
+ }
56
+
57
+ export const BottomPanel: React.FC<React.PropsWithChildren<BasePanelProps>> = ({
58
+ className,
59
+ header,
60
+ footer,
61
+ height,
62
+ resizable,
63
+ onClose,
64
+ children,
65
+ }) => {
66
+ const {
67
+ height: innerHeight,
68
+ bind,
69
+ ref,
70
+ dragging,
71
+ } = useResize({
72
+ default: height,
73
+ ...(isObject(resizable) ? resizable : {}),
74
+ });
75
+
76
+ return (
77
+ <div
78
+ className={clsx(css['base-panel'], className, dragging && css.dragging)}
79
+ style={{ height: innerHeight }}
80
+ ref={ref}
81
+ >
82
+ {resizable ? (
83
+ <div className={css['resize-bar']} onMouseDown={bind} />
84
+ ) : null}
85
+ {header ? (
86
+ <div className={css['panel-header']}>
87
+ {header}
88
+ <IconButton
89
+ icon={<IconCozCross className={'text-[18px]'} />}
90
+ color="secondary"
91
+ onClick={onClose}
92
+ />
93
+ </div>
94
+ ) : null}
95
+ <div className={css['panel-content']}>{children}</div>
96
+ {footer ? <div className={css['panel-footer']}>{footer}</div> : null}
97
+ </div>
98
+ );
99
+ };
@@ -0,0 +1,79 @@
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, useRef, useCallback } from 'react';
18
+
19
+ import { useMemoizedFn } from 'ahooks';
20
+
21
+ interface Config {
22
+ default?: number;
23
+ min?: number;
24
+ max?: number;
25
+ }
26
+
27
+ /**
28
+ * Currently only highly variable is supported
29
+ */
30
+ export const useResize = (config: Config) => {
31
+ const [dragging, setDragging] = useState(false);
32
+ const [height, setHeight] = useState(config.default);
33
+ const ref = useRef<HTMLDivElement>(null);
34
+ /**
35
+ * Dragging process
36
+ */
37
+ const resizing = useRef(false);
38
+ /**
39
+ * Y-axis variation
40
+ */
41
+ const startY = useRef(0);
42
+ /** starting position */
43
+ const start = useRef(0);
44
+
45
+ const handleMouseMove = useMemoizedFn(e => {
46
+ if (resizing.current) {
47
+ const newHeight = start.current - (e.clientY - startY.current); // Calculate the new height
48
+ if (config.max && newHeight > config.max) {
49
+ setHeight(config.max);
50
+ } else if (config.min && newHeight < config.min) {
51
+ setHeight(config.min);
52
+ } else {
53
+ setHeight(newHeight);
54
+ }
55
+ }
56
+ });
57
+ const handleMouseUp = useCallback(() => {
58
+ resizing.current = false;
59
+ setDragging(false);
60
+ document.removeEventListener('mousemove', handleMouseMove); // Cancel listening
61
+ document.removeEventListener('mouseup', handleMouseUp); // Cancel listening
62
+ }, [handleMouseMove]);
63
+
64
+ const handleMouseDown = useMemoizedFn(e => {
65
+ resizing.current = true;
66
+ setDragging(true);
67
+ startY.current = e.clientY; // Record the Y-axis coordinates when the mouse starts dragging
68
+ start.current = ref.current?.offsetHeight || 0;
69
+ document.addEventListener('mousemove', handleMouseMove); // Monitor mouse movement events
70
+ document.addEventListener('mouseup', handleMouseUp); // Monitor mouse lift events
71
+ });
72
+
73
+ return {
74
+ height,
75
+ bind: handleMouseDown,
76
+ ref,
77
+ dragging,
78
+ };
79
+ };
@@ -0,0 +1,28 @@
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
+ /** Preset special key */
18
+ export enum LogObjSpecialKey {
19
+ Error = '$error',
20
+ Warning = '$warning',
21
+ }
22
+
23
+ /** Display style type of value in log */
24
+ export enum LogValueStyleType {
25
+ Default,
26
+ Number,
27
+ Boolean,
28
+ }
@@ -0,0 +1,21 @@
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 { createContext } from 'react';
18
+
19
+ import { type DataViewerStore } from './create-store';
20
+
21
+ export const DataViewerContext = createContext<DataViewerStore | null>(null);
@@ -0,0 +1,48 @@
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
+ createWithEqualityFn,
19
+ type UseBoundStoreWithEqualityFn,
20
+ } from 'zustand/traditional';
21
+ import { shallow } from 'zustand/shallow';
22
+ import { type StoreApi } from 'zustand';
23
+
24
+ export interface DataViewerState {
25
+ // Folded and unfolded state
26
+ expand: Record<string, boolean> | null;
27
+ setExpand: (key: string, v: boolean) => void;
28
+ }
29
+
30
+ export type DataViewerStore = UseBoundStoreWithEqualityFn<
31
+ StoreApi<DataViewerState>
32
+ >;
33
+
34
+ export const createDataViewerStore = () =>
35
+ createWithEqualityFn<DataViewerState>(
36
+ set => ({
37
+ expand: null,
38
+ setExpand: (key: string, v: boolean) => {
39
+ set(state => ({
40
+ expand: {
41
+ ...state.expand,
42
+ [key]: v,
43
+ },
44
+ }));
45
+ },
46
+ }),
47
+ shallow,
48
+ );
@@ -0,0 +1,19 @@
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
+ export { DataViewerProvider } from './provider';
18
+ export { DataViewerContext } from './context';
19
+ export { type DataViewerState } from './create-store';
@@ -0,0 +1,50 @@
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, useMemo } from 'react';
18
+
19
+ import { type Field } from '../types';
20
+ import { createDataViewerStore } from './create-store';
21
+ import { DataViewerContext } from './context';
22
+
23
+ interface DataViewerProviderProps {
24
+ fields: Field[];
25
+ }
26
+
27
+ export const DataViewerProvider: React.FC<
28
+ React.PropsWithChildren<DataViewerProviderProps>
29
+ > = ({ children, fields }) => {
30
+ const store = useMemo(() => createDataViewerStore(), []);
31
+
32
+ // When the root has only one item and it can be drilled down, it is expanded by default
33
+ useEffect(() => {
34
+ if (
35
+ store.getState().expand === null &&
36
+ fields.length === 1 &&
37
+ fields[0]?.isObj
38
+ ) {
39
+ store.setState({
40
+ [fields[0].path.join('.')]: true,
41
+ });
42
+ }
43
+ }, [fields, store]);
44
+
45
+ return (
46
+ <DataViewerContext.Provider value={store}>
47
+ {children}
48
+ </DataViewerContext.Provider>
49
+ );
50
+ };
@@ -0,0 +1,26 @@
1
+ .json-viewer-wrapper {
2
+ border-radius: 6px;
3
+ border: 1px solid var(--coz-stroke-primary);
4
+ padding: 2px 6px;
5
+ width: 100%;
6
+ user-select: text;
7
+
8
+ /** height limit */
9
+ max-height: 272px;
10
+ min-height: 24px;
11
+ overflow-y: scroll;
12
+
13
+ &::-webkit-scrollbar {
14
+ background: transparent;
15
+ width: 6px;
16
+ }
17
+
18
+ &::-webkit-scrollbar-thumb {
19
+ background: rgba(29, 28, 35, 0.3);
20
+ border-radius: 6px;
21
+
22
+ &:hover {
23
+ background: rgba(29, 28, 35, 0.6);
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,79 @@
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, { useMemo } from 'react';
18
+
19
+ import { noop } from 'lodash-es';
20
+ import cls from 'classnames';
21
+
22
+ import { generateFields } from './utils/generate-field';
23
+ import type { JsonValueType } from './types';
24
+ import { JsonField } from './json-field';
25
+ import { DataViewerProvider } from './context';
26
+
27
+ import css from './data-viewer.module.less';
28
+
29
+ export interface DataViewerProps {
30
+ /** Supports object or plain text rendering */
31
+ data: JsonValueType;
32
+ mdPreview?: boolean;
33
+ className?: string;
34
+ onPreview?: (value: string, path: string[]) => void;
35
+ emptyPlaceholder?: string;
36
+ }
37
+
38
+ export const DataViewer: React.FC<DataViewerProps> = ({
39
+ data,
40
+ mdPreview = false,
41
+ className,
42
+ onPreview = noop,
43
+ emptyPlaceholder,
44
+ }) => {
45
+ const fields = useMemo(() => generateFields(data), [data]);
46
+ const isTree = useMemo(() => fields.some(field => field.isObj), [fields]);
47
+ const isEmpty = fields.length === 0;
48
+
49
+ if (isEmpty && emptyPlaceholder) {
50
+ return (
51
+ <div className="text-xs flex items-center justify-center leading-4 coz-fg-dim">
52
+ {emptyPlaceholder}
53
+ </div>
54
+ );
55
+ }
56
+
57
+ return (
58
+ <div
59
+ className={cls(css['json-viewer-wrapper'], className)}
60
+ style={isTree ? { paddingLeft: '12px' } : {}}
61
+ draggable
62
+ onDragStart={e => {
63
+ e.stopPropagation();
64
+ e.preventDefault();
65
+ }}
66
+ >
67
+ <DataViewerProvider fields={fields}>
68
+ {fields.map(i => (
69
+ <JsonField
70
+ field={i}
71
+ key={i.path.join('.')}
72
+ mdPreview={mdPreview}
73
+ onPreview={onPreview}
74
+ />
75
+ ))}
76
+ </DataViewerProvider>
77
+ </div>
78
+ );
79
+ };
@@ -0,0 +1,18 @@
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
+ export { useExpand } from './use-expand';
18
+ export { useValue } from './use-value';