Flowfile 0.5.6__py3-none-any.whl → 0.6.1__py3-none-any.whl

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 (256) hide show
  1. flowfile/api.py +8 -6
  2. flowfile/web/static/assets/{AdminView-c2c7942b.js → AdminView-C4K1DdHI.js} +28 -33
  3. flowfile/web/static/assets/{CloudConnectionView-7a3042c6.js → CloudConnectionView-BZbPvPUL.js} +39 -50
  4. flowfile/web/static/assets/{CloudStorageReader-24c54524.css → CloudStorageReader-BDByiqPI.css} +25 -25
  5. flowfile/web/static/assets/{CloudStorageReader-709c4037.js → CloudStorageReader-DLVukNJ7.js} +30 -35
  6. flowfile/web/static/assets/{CloudStorageWriter-604c51a8.js → CloudStorageWriter-Bfi-C1QW.js} +32 -37
  7. flowfile/web/static/assets/{CloudStorageWriter-60547855.css → CloudStorageWriter-y8jL8yjG.css} +24 -24
  8. flowfile/web/static/assets/{ColumnActionInput-d63d6746.js → ColumnActionInput-BpiCApw9.js} +7 -12
  9. flowfile/web/static/assets/{ColumnSelector-0c8cd1cd.js → ColumnSelector-CEAwedI7.js} +1 -2
  10. flowfile/web/static/assets/ContextMenu-CdojQu0w.js +9 -0
  11. flowfile/web/static/assets/ContextMenu-D12mhsy1.js +9 -0
  12. flowfile/web/static/assets/ContextMenu-EWUR98va.js +9 -0
  13. flowfile/web/static/assets/{ContextMenu.vue_vue_type_script_setup_true_lang-774c517c.js → ContextMenu.vue_vue_type_script_setup_true_lang-I4rXXd6G.js} +4 -5
  14. flowfile/web/static/assets/{CrossJoin-38e5b99a.js → CrossJoin-BOFfxkJO.js} +19 -18
  15. flowfile/web/static/assets/{CrossJoin-71b4cc10.css → CrossJoin-Cmbyt9im.css} +18 -18
  16. flowfile/web/static/assets/{CustomNode-76e8f3f5.js → CustomNode-Bhpezobq.js} +12 -17
  17. flowfile/web/static/assets/{DatabaseConnectionSettings-38155669.js → DatabaseConnectionSettings-Dw3bSJKB.js} +10 -11
  18. flowfile/web/static/assets/{DatabaseReader-5bf8c75b.css → DatabaseReader-D6pUNUCs.css} +21 -21
  19. flowfile/web/static/assets/{DatabaseReader-2e549c8f.js → DatabaseReader-m87ghlw0.js} +36 -34
  20. flowfile/web/static/assets/{DatabaseView-dc877c29.js → DatabaseView-CisSAtpe.js} +30 -38
  21. flowfile/web/static/assets/{DatabaseWriter-ffb91864.js → DatabaseWriter-Bbj9JLdL.js} +33 -35
  22. flowfile/web/static/assets/{DatabaseWriter-bdcf2c8b.css → DatabaseWriter-RBqdFLj8.css} +17 -17
  23. flowfile/web/static/assets/{DesignerView-a4466dab.js → DesignerView-DemDevTQ.js} +1752 -2054
  24. flowfile/web/static/assets/{DesignerView-71d4e9a1.css → DesignerView-Dm6OzlIc.css} +209 -168
  25. flowfile/web/static/assets/{DocumentationView-979afc84.js → DocumentationView-BrC1ZR3H.js} +3 -4
  26. flowfile/web/static/assets/{ExploreData-e4b92aaf.js → ExploreData-BMKcDuRb.js} +8 -10
  27. flowfile/web/static/assets/{ExternalSource-d08e7227.js → ExternalSource-BXrNNS-f.js} +40 -42
  28. flowfile/web/static/assets/{ExternalSource-7ac7373f.css → ExternalSource-NB6WVl5R.css} +14 -14
  29. flowfile/web/static/assets/{Filter-7add806d.js → Filter-C2MjsN6P.js} +36 -33
  30. flowfile/web/static/assets/{Filter-7494ea97.css → Filter-DCMGGuGC.css} +9 -9
  31. flowfile/web/static/assets/{Formula-53d58c43.css → Formula-BYafbDj8.css} +4 -4
  32. flowfile/web/static/assets/{Formula-36ab24d2.js → Formula-ufuy4mVD.js} +27 -26
  33. flowfile/web/static/assets/{FuzzyMatch-ad6361d6.css → FuzzyMatch-BGJAwgd0.css} +42 -42
  34. flowfile/web/static/assets/{FuzzyMatch-cc01bb04.js → FuzzyMatch-BOHODq3h.js} +36 -38
  35. flowfile/web/static/assets/{GraphSolver-4fb98f3b.js → GraphSolver-B6ZzpNGO.js} +23 -21
  36. flowfile/web/static/assets/{GraphSolver-4b4d7db9.css → GraphSolver-DFN83sj3.css} +4 -4
  37. flowfile/web/static/assets/{GroupBy-b3c8f429.js → GroupBy-B9BRNcfe.js} +30 -29
  38. flowfile/web/static/assets/{Sort-4abb7fae.css → GroupBy-x4ooP5np.css} +1 -1
  39. flowfile/web/static/assets/Join-Bx_g5bZz.css +118 -0
  40. flowfile/web/static/assets/{Join-096b7b26.js → Join-DsBEy1IH.js} +48 -43
  41. flowfile/web/static/assets/{LoginView-c33a246a.js → LoginView-Ct0rhdcO.js} +1 -2
  42. flowfile/web/static/assets/{ManualInput-39111f19.css → ManualInput-DlZmtMdt.css} +48 -48
  43. flowfile/web/static/assets/{ManualInput-7307e9b1.js → ManualInput-bC4BUgnG.js} +40 -41
  44. flowfile/web/static/assets/{MultiSelect-14822c48.js → MultiSelect-DIQ8PuTC.js} +2 -2
  45. flowfile/web/static/assets/{MultiSelect.vue_vue_type_script_setup_true_lang-90c4d340.js → MultiSelect.vue_vue_type_script_setup_true_lang-BefHfqTI.js} +1 -1
  46. flowfile/web/static/assets/{NodeDesigner-5036c392.js → NodeDesigner-D39yzr2k.js} +178 -208
  47. flowfile/web/static/assets/{NodeDesigner-94cd4dd3.css → NodeDesigner-R0l6sYyY.css} +76 -76
  48. flowfile/web/static/assets/{NumericInput-15cf3b72.js → NumericInput-DMSX3oOr.js} +2 -2
  49. flowfile/web/static/assets/{NumericInput.vue_vue_type_script_setup_true_lang-91e679d7.js → NumericInput.vue_vue_type_script_setup_true_lang-d0YlVHAl.js} +1 -1
  50. flowfile/web/static/assets/{Output-1f8ed42c.js → Output-D0VoXGcW.js} +26 -34
  51. flowfile/web/static/assets/{Output-692dd25d.css → Output-DsmglIDy.css} +5 -5
  52. flowfile/web/static/assets/{Pivot-0e153f4e.js → Pivot-BnMB4sEe.js} +26 -26
  53. flowfile/web/static/assets/{Pivot-0eda81b4.css → Pivot-qKTyWxop.css} +4 -4
  54. flowfile/web/static/assets/{PivotValidation-81ec2a33.js → PivotValidation-B2lWvugt.js} +7 -9
  55. flowfile/web/static/assets/{PivotValidation-5a4f7c79.js → PivotValidation-BPlhRjpL.js} +7 -9
  56. flowfile/web/static/assets/{PolarsCode-a39f15ac.js → PolarsCode-5h0tHnWR.js} +22 -20
  57. flowfile/web/static/assets/{PopOver-ddcfe4f6.js → PopOver-BHpt5rsj.js} +5 -9
  58. flowfile/web/static/assets/{PopOver-d96599db.css → PopOver-CyYM4-rV.css} +1 -1
  59. flowfile/web/static/assets/{Read-90f366bc.css → Read-DJxkrTb_.css} +10 -10
  60. flowfile/web/static/assets/Read-TsLEFh3B.js +227 -0
  61. flowfile/web/static/assets/{RecordCount-e9048ccd.js → RecordCount-DkVixq9v.js} +18 -17
  62. flowfile/web/static/assets/{RecordId-ad02521d.js → RecordId-C2UEGlCf.js} +42 -39
  63. flowfile/web/static/assets/{SQLQueryComponent-2eeecf0b.js → SQLQueryComponent-Dr5KMoD3.js} +2 -3
  64. flowfile/web/static/assets/{Sample-9a68c23d.js → Sample-Cb3eQNmd.js} +30 -30
  65. flowfile/web/static/assets/{SecretSelector-2429f35a.js → SecretSelector-De2L2bSx.js} +3 -4
  66. flowfile/web/static/assets/{SecretsView-c6afc915.js → SecretsView-CheC9BPV.js} +13 -16
  67. flowfile/web/static/assets/{Select-fcd002b6.js → Select-CI8TloRs.js} +41 -36
  68. flowfile/web/static/assets/{SettingsSection-5ce15962.js → SettingsSection-B39ulIiI.js} +1 -2
  69. flowfile/web/static/assets/{SettingsSection-c6b1362c.js → SettingsSection-BiCc7S9h.js} +1 -2
  70. flowfile/web/static/assets/{SettingsSection-cebb91d5.js → SettingsSection-CITK_R7o.js} +2 -3
  71. flowfile/web/static/assets/{SettingsSection-26fe48d4.css → SettingsSection-D2GgY-Aq.css} +4 -4
  72. flowfile/web/static/assets/{SetupView-2d12e01f.js → SetupView-C1aXRDvp.js} +1 -2
  73. flowfile/web/static/assets/{SingleSelect-b67de4eb.js → SingleSelect-Kr_hz90m.js} +2 -2
  74. flowfile/web/static/assets/{SingleSelect.vue_vue_type_script_setup_true_lang-eedb70eb.js → SingleSelect.vue_vue_type_script_setup_true_lang-Rxht5Z5N.js} +1 -1
  75. flowfile/web/static/assets/{SliderInput-fd8134ac.js → SliderInput-CLqpCxCb.js} +1 -2
  76. flowfile/web/static/assets/{GroupBy-5792782d.css → Sort-BIt2kc_p.css} +1 -1
  77. flowfile/web/static/assets/{Sort-c005a573.js → Sort-Dnw_J6Qi.js} +25 -25
  78. flowfile/web/static/assets/{TextInput-1bb31dab.js → TextInput-wdlunIZC.js} +2 -2
  79. flowfile/web/static/assets/{TextInput.vue_vue_type_script_setup_true_lang-a51fe730.js → TextInput.vue_vue_type_script_setup_true_lang-Bcj3ywzv.js} +1 -1
  80. flowfile/web/static/assets/{TextToRows-4f363753.js → TextToRows-BhtyGWPq.js} +42 -49
  81. flowfile/web/static/assets/{TextToRows-12afb4f4.css → TextToRows-DivDOLDx.css} +9 -9
  82. flowfile/web/static/assets/{ToggleSwitch-ca0f2e5e.js → ToggleSwitch-B-6WzfFf.js} +2 -2
  83. flowfile/web/static/assets/{ToggleSwitch.vue_vue_type_script_setup_true_lang-49aa41d8.js → ToggleSwitch.vue_vue_type_script_setup_true_lang-Cj8LqT-b.js} +1 -1
  84. flowfile/web/static/assets/{UnavailableFields-f6147968.js → UnavailableFields-Yf6XSqFB.js} +2 -3
  85. flowfile/web/static/assets/{Union-c65f17b7.js → Union-CwpjeKYC.js} +20 -23
  86. flowfile/web/static/assets/{Unpivot-b6ad6427.css → Union-DQJcpp3-.css} +6 -6
  87. flowfile/web/static/assets/{Unique-a1d96fb2.js → Unique-25v3urqH.js} +75 -74
  88. flowfile/web/static/assets/{Union-d6a8d7d5.css → Unpivot-Deqh1gtI.css} +6 -6
  89. flowfile/web/static/assets/{Unpivot-c2657ff3.js → Unpivot-sYcTTXrq.js} +34 -27
  90. flowfile/web/static/assets/{UnpivotValidation-28e29a3b.js → UnpivotValidation-C5DDEKY2.js} +5 -7
  91. flowfile/web/static/assets/VueGraphicWalker-B8l1_Z92.js +131 -0
  92. flowfile/web/static/assets/VueGraphicWalker-Da_1-3me.css +21 -0
  93. flowfile/web/static/assets/{api-df48ec50.js → api-C0LvF-0C.js} +1 -1
  94. flowfile/web/static/assets/{api-ee542cf7.js → api-DaC83EO_.js} +1 -1
  95. flowfile/web/static/assets/client-C8Ygr6Gb.js +42 -0
  96. flowfile/web/static/assets/{dropDown-7576a76a.js → dropDown-D5YXaPRR.js} +7 -12
  97. flowfile/web/static/assets/{fullEditor-7583bef5.js → fullEditor-BVYnWm05.js} +300 -18
  98. flowfile/web/static/assets/genericNodeSettings-2wAu-QKn.css +75 -0
  99. flowfile/web/static/assets/genericNodeSettings-BBtW_Cpz.js +590 -0
  100. flowfile/web/static/assets/{VueGraphicWalker-2fc3ddd4.js → graphic-walker.es-VrK6vdGE.js} +92305 -89751
  101. flowfile/web/static/assets/index-BCJxPfM5.js +6693 -0
  102. flowfile/web/static/assets/{index-057d770d.js → index-CHPMUR0d.js} +150 -170
  103. flowfile/web/static/assets/index-DPkoZWq8.js +32 -0
  104. flowfile/web/static/assets/index-DnW_KC_I.js +277 -0
  105. flowfile/web/static/assets/index-UFXyfirV.css +10797 -0
  106. flowfile/web/static/assets/index-bcuE0Z0p.js +87456 -0
  107. flowfile/web/static/assets/{node.types-2c15bb7e.js → node.types-Dl4gtSW9.js} +2 -2
  108. flowfile/web/static/assets/{outputCsv-c492b15e.js → outputCsv-BELuBiJZ.js} +1 -2
  109. flowfile/web/static/assets/outputCsv-CdGkv-fN.css +2581 -0
  110. flowfile/web/static/assets/{outputExcel-13bfa10f.js → outputExcel-D0TTNM79.js} +1 -2
  111. flowfile/web/static/assets/{outputParquet-9be1523a.js → outputParquet-Cz9EbRHj.js} +1 -2
  112. flowfile/web/static/assets/{readCsv-5a49a8c9.js → readCsv-7bd3kUMI.js} +1 -2
  113. flowfile/web/static/assets/{readExcel-27c30ad8.js → readExcel-Cq8CCwIv.js} +3 -4
  114. flowfile/web/static/assets/{readParquet-c5244ad5.css → readParquet-CRDmBrsp.css} +4 -4
  115. flowfile/web/static/assets/{readParquet-446bde68.js → readParquet-DjR4mRaj.js} +4 -5
  116. flowfile/web/static/assets/{secrets.api-34431884.js → secrets.api-C9o2KE5V.js} +1 -1
  117. flowfile/web/static/assets/{selectDynamic-5754a2b1.js → selectDynamic-Bl5FVsME.js} +5 -7
  118. flowfile/web/static/assets/useNodeSettings-dMS9zmh_.js +69 -0
  119. flowfile/web/static/assets/{vue-codemirror.esm-8f46fb36.js → vue-codemirror.esm-CwaYwln0.js} +3469 -3064
  120. flowfile/web/static/assets/{vue-content-loader.es-808fe33a.js → vue-content-loader.es-CMoRXo7N.js} +3 -3
  121. flowfile/web/static/index.html +2 -3
  122. {flowfile-0.5.6.dist-info → flowfile-0.6.1.dist-info}/METADATA +2 -1
  123. flowfile-0.6.1.dist-info/RECORD +417 -0
  124. {flowfile-0.5.6.dist-info → flowfile-0.6.1.dist-info}/WHEEL +1 -1
  125. flowfile_core/auth/password.py +1 -0
  126. flowfile_core/database/init_db.py +7 -5
  127. flowfile_core/fileExplorer/funcs.py +2 -2
  128. flowfile_core/flowfile/code_generator/code_generator.py +13 -11
  129. flowfile_core/flowfile/filter_expressions.py +327 -0
  130. flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +61 -59
  131. flowfile_core/flowfile/flow_data_engine/flow_file_column/type_registry.py +3 -29
  132. flowfile_core/flowfile/flow_data_engine/flow_file_column/utils.py +45 -14
  133. flowfile_core/flowfile/flow_data_engine/subprocess_operations/models.py +20 -3
  134. flowfile_core/flowfile/flow_data_engine/subprocess_operations/streaming.py +206 -0
  135. flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +146 -24
  136. flowfile_core/flowfile/flow_graph.py +504 -190
  137. flowfile_core/flowfile/flow_node/__init__.py +32 -0
  138. flowfile_core/flowfile/flow_node/executor.py +404 -0
  139. flowfile_core/flowfile/flow_node/flow_node.py +207 -106
  140. flowfile_core/flowfile/flow_node/models.py +40 -0
  141. flowfile_core/flowfile/flow_node/output_field_config_applier.py +217 -0
  142. flowfile_core/flowfile/flow_node/schema_utils.py +78 -0
  143. flowfile_core/flowfile/flow_node/state.py +155 -0
  144. flowfile_core/flowfile/history_manager.py +401 -0
  145. flowfile_core/flowfile/manage/compatibility_enhancements.py +9 -0
  146. flowfile_core/flowfile/manage/io_flowfile.py +3 -1
  147. flowfile_core/flowfile/sources/external_sources/sql_source/models.py +20 -4
  148. flowfile_core/flowfile/util/execution_orderer.py +89 -36
  149. flowfile_core/routes/auth.py +8 -9
  150. flowfile_core/routes/routes.py +320 -101
  151. flowfile_core/routes/user_defined_components.py +18 -16
  152. flowfile_core/schemas/history_schema.py +220 -0
  153. flowfile_core/schemas/input_schema.py +130 -6
  154. flowfile_core/schemas/schemas.py +9 -0
  155. flowfile_core/schemas/transform_schema.py +27 -5
  156. flowfile_core/schemas/yaml_types.py +23 -5
  157. flowfile_frame/adding_expr.py +18 -126
  158. flowfile_frame/callable_utils.py +261 -0
  159. flowfile_frame/database/connection_manager.py +0 -1
  160. flowfile_frame/expr.py +8 -4
  161. flowfile_frame/flow_frame.py +41 -41
  162. flowfile_frame/lazy.py +3 -12
  163. flowfile_frame/lazy_methods.py +5 -64
  164. flowfile_frame/utils.py +13 -32
  165. flowfile_worker/funcs.py +6 -4
  166. flowfile_worker/main.py +2 -0
  167. flowfile_worker/models.py +31 -11
  168. flowfile_worker/routes.py +60 -35
  169. flowfile_worker/spawner.py +7 -1
  170. flowfile_worker/streaming.py +335 -0
  171. flowfile/web/static/assets/ContextMenu-366bf1b4.js +0 -9
  172. flowfile/web/static/assets/ContextMenu-85cf5b44.js +0 -9
  173. flowfile/web/static/assets/ContextMenu-9d28ae6d.js +0 -9
  174. flowfile/web/static/assets/Join-28b5e18f.css +0 -109
  175. flowfile/web/static/assets/Read-39b63932.js +0 -222
  176. flowfile/web/static/assets/VueGraphicWalker-430f0b86.css +0 -6
  177. flowfile/web/static/assets/database_reader-ce1e55f3.svg +0 -24
  178. flowfile/web/static/assets/database_writer-b4ad0753.svg +0 -23
  179. flowfile/web/static/assets/element-icons-9c88a535.woff +0 -0
  180. flowfile/web/static/assets/element-icons-de5eb258.ttf +0 -0
  181. flowfile/web/static/assets/genericNodeSettings-0155288b.js +0 -136
  182. flowfile/web/static/assets/genericNodeSettings-3b2507ea.css +0 -46
  183. flowfile/web/static/assets/index-aeec439d.js +0 -38
  184. flowfile/web/static/assets/index-ca6799de.js +0 -62760
  185. flowfile/web/static/assets/index-d60c9dd4.css +0 -10777
  186. flowfile/web/static/assets/nodeInput-d478b9ac.js +0 -2
  187. flowfile/web/static/assets/outputCsv-cc84e09f.css +0 -2499
  188. flowfile-0.5.6.dist-info/RECORD +0 -407
  189. /flowfile/web/static/assets/{AdminView-f53bad23.css → AdminView-B2Dthl3u.css} +0 -0
  190. /flowfile/web/static/assets/{CloudConnectionView-cf85f943.css → CloudConnectionView-BdFYGWV7.css} +0 -0
  191. /flowfile/web/static/assets/{ColumnActionInput-c44b7aee.css → ColumnActionInput-dCasSIC9.css} +0 -0
  192. /flowfile/web/static/assets/{ColumnSelector-371637fb.css → ColumnSelector-j6sEOjo1.css} +0 -0
  193. /flowfile/web/static/assets/{CustomNode-edb9b939.css → CustomNode-VPlajG0j.css} +0 -0
  194. /flowfile/web/static/assets/{DatabaseConnectionSettings-c20a1e16.css → DatabaseConnectionSettings-B78hXYgu.css} +0 -0
  195. /flowfile/web/static/assets/{DatabaseView-6655afd6.css → DatabaseView-B-_adk1s.css} +0 -0
  196. /flowfile/web/static/assets/{DocumentationView-9ea6e871.css → DocumentationView-CL7iipFL.css} +0 -0
  197. /flowfile/web/static/assets/{ExploreData-10c5acc8.css → ExploreData-DHjv0Plr.css} +0 -0
  198. /flowfile/web/static/assets/{LoginView-d325d632.css → LoginView-DN1BXY3e.css} +0 -0
  199. /flowfile/web/static/assets/{PivotValidation-0e905b1a.css → PivotValidation-DK-FARWe.css} +0 -0
  200. /flowfile/web/static/assets/{PivotValidation-41b57ad6.css → PivotValidation-FUa9F47u.css} +0 -0
  201. /flowfile/web/static/assets/{PolarsCode-2b1f1f23.css → PolarsCode-G-gRSrSc.css} +0 -0
  202. /flowfile/web/static/assets/{SQLQueryComponent-edb90b98.css → SQLQueryComponent-oAbWw0r-.css} +0 -0
  203. /flowfile/web/static/assets/{SecretSelector-6329f743.css → SecretSelector-CJSadIZx.css} +0 -0
  204. /flowfile/web/static/assets/{SecretsView-aa291340.css → SecretsView-DbzIRAba.css} +0 -0
  205. /flowfile/web/static/assets/{SettingsSection-8f980839.css → SettingsSection-BGcJnH6q.css} +0 -0
  206. /flowfile/web/static/assets/{SettingsSection-07fbbc39.css → SettingsSection-DDWn_EGW.css} +0 -0
  207. /flowfile/web/static/assets/{SetupView-ec26f76a.css → SetupView-CI1nd-5Z.css} +0 -0
  208. /flowfile/web/static/assets/{SliderInput-f2e4f23c.css → SliderInput-BRk-q_Dk.css} +0 -0
  209. /flowfile/web/static/assets/{UnavailableFields-394a1f78.css → UnavailableFields-DRKDImKe.css} +0 -0
  210. /flowfile/web/static/assets/{Unique-2b705521.css → Unique-Absb0aON.css} +0 -0
  211. /flowfile/web/static/assets/{UnpivotValidation-d5ca3b7b.css → UnpivotValidation-DSBkFgS-.css} +0 -0
  212. /flowfile/web/static/assets/{airbyte-292aa232.png → airbyte-W0xvIXwZ.png} +0 -0
  213. /flowfile/web/static/assets/{cloud_storage_reader-aa1415d6.png → cloud_storage_reader-3GpSCk90.png} +0 -0
  214. /flowfile/web/static/assets/{cross_join-d30c0290.png → cross_join-B0qpgYoV.png} +0 -0
  215. /flowfile/web/static/assets/{dropDown-1d6acbd9.css → dropDown-CE0VF5_P.css} +0 -0
  216. /flowfile/web/static/assets/{explore_data-8a0a2861.png → explore_data-tX6olPPL.png} +0 -0
  217. /flowfile/web/static/assets/{fa-brands-400-808443ae.ttf → fa-brands-400-D1LuMI3I.ttf} +0 -0
  218. /flowfile/web/static/assets/{fa-brands-400-d7236a19.woff2 → fa-brands-400-D_cYUPeE.woff2} +0 -0
  219. /flowfile/web/static/assets/{fa-regular-400-e3456d12.woff2 → fa-regular-400-BjRzuEpd.woff2} +0 -0
  220. /flowfile/web/static/assets/{fa-regular-400-54cf6086.ttf → fa-regular-400-DZaxPHgR.ttf} +0 -0
  221. /flowfile/web/static/assets/{fa-solid-900-aa759986.woff2 → fa-solid-900-CTAAxXor.woff2} +0 -0
  222. /flowfile/web/static/assets/{fa-solid-900-d2f05935.ttf → fa-solid-900-D0aA9rwL.ttf} +0 -0
  223. /flowfile/web/static/assets/{fa-v4compatibility-0ce9033c.woff2 → fa-v4compatibility-C9RhG_FT.woff2} +0 -0
  224. /flowfile/web/static/assets/{fa-v4compatibility-30f6abf6.ttf → fa-v4compatibility-CCth-dXg.ttf} +0 -0
  225. /flowfile/web/static/assets/{filter-d7708bda.png → filter-WRdZyUOw.png} +0 -0
  226. /flowfile/web/static/assets/{formula-eeeb1611.png → formula-CgM7uHVI.png} +0 -0
  227. /flowfile/web/static/assets/{fullEditor-fe9f7e18.css → fullEditor-CmDI7T9F.css} +0 -0
  228. /flowfile/web/static/assets/{fuzzy_match-40c161b2.png → fuzzy_match-Yon3k5Tc.png} +0 -0
  229. /flowfile/web/static/assets/{graph_solver-8b7888b8.png → graph_solver-BlMrBttD.png} +0 -0
  230. /flowfile/web/static/assets/{group_by-80561fc3.png → group_by-Gici0CSS.png} +0 -0
  231. /flowfile/web/static/assets/{input_data-ab2eb678.png → input_data-BRdGecLc.png} +0 -0
  232. /flowfile/web/static/assets/{join-349043ae.png → join-BITWRu73.png} +0 -0
  233. /flowfile/web/static/assets/{manual_input-ae98f31d.png → manual_input-CFvo_EUS.png} +0 -0
  234. /flowfile/web/static/assets/{old_join-5d0eb604.png → old_join-B9bkpPqv.png} +0 -0
  235. /flowfile/web/static/assets/{output-06ec0371.png → output-Dp7-ZpC4.png} +0 -0
  236. /flowfile/web/static/assets/{outputExcel-f5d272b2.css → outputExcel-CKgRe2iT.css} +0 -0
  237. /flowfile/web/static/assets/{outputParquet-54597c3c.css → outputParquet-d7j407cK.css} +0 -0
  238. /flowfile/web/static/assets/{pivot-9660df51.png → pivot-DSxKhNlD.png} +0 -0
  239. /flowfile/web/static/assets/{polars_code-05ce5dc6.png → polars_code-DxiztZ1c.png} +0 -0
  240. /flowfile/web/static/assets/{readCsv-3bfac4c3.css → readCsv-BG-1Jilp.css} +0 -0
  241. /flowfile/web/static/assets/{readExcel-3db6b763.css → readExcel-DBQXKPtC.css} +0 -0
  242. /flowfile/web/static/assets/{record_count-dab44eb5.png → record_count-DCeaLtpS.png} +0 -0
  243. /flowfile/web/static/assets/{record_id-0b15856b.png → record_id-FeUjyIFh.png} +0 -0
  244. /flowfile/web/static/assets/{sample-693a88b5.png → sample-DeqfRiB-.png} +0 -0
  245. /flowfile/web/static/assets/{select-b0d0437a.png → select-D4JjbdjS.png} +0 -0
  246. /flowfile/web/static/assets/{selectDynamic-f2fb394f.css → selectDynamic-CjeTPUUo.css} +0 -0
  247. /flowfile/web/static/assets/{sort-2aa579f0.png → sort-DGwUG9WS.png} +0 -0
  248. /flowfile/web/static/assets/{summarize-2a099231.png → summarize-DFaNHpfp.png} +0 -0
  249. /flowfile/web/static/assets/{text_to_rows-859b29ea.png → text_to_rows-BdiAewrN.png} +0 -0
  250. /flowfile/web/static/assets/{union-2d8609f4.png → union-DCK-LSMq.png} +0 -0
  251. /flowfile/web/static/assets/{unique-1958b98a.png → unique-CdP3zZIq.png} +0 -0
  252. /flowfile/web/static/assets/{unpivot-d3cb4b5b.png → unpivot-CHttrEt8.png} +0 -0
  253. /flowfile/web/static/assets/{user-defined-icon-0ae16c90.png → user-defined-icon-BcIp2Vzo.png} +0 -0
  254. /flowfile/web/static/assets/{view-7a0f0be1.png → view-DUSRwjvq.png} +0 -0
  255. {flowfile-0.5.6.dist-info → flowfile-0.6.1.dist-info}/entry_points.txt +0 -0
  256. {flowfile-0.5.6.dist-info → flowfile-0.6.1.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,590 @@
1
+ import { d as defineComponent, l as useNodeStore, H as watch, r as ref, a5 as reactive, c as createElementBlock, z as createVNode, B as withCtx, T as renderSlot, a as createBaseVNode, f as createTextVNode, A as unref, aI as info_filled_default, n as normalizeClass, t as toDisplayString, e as createCommentVNode, K as Fragment, C as createBlock, aJ as d_caret_default, aD as delete_default, G as computed, D as resolveComponent, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
+ const _hoisted_1 = { class: "settings-wrapper" };
3
+ const _hoisted_2 = { class: "settings-section" };
4
+ const _hoisted_3 = { class: "setting-group" };
5
+ const _hoisted_4 = { class: "setting-header" };
6
+ const _hoisted_5 = { class: "setting-description-wrapper" };
7
+ const _hoisted_6 = { class: "setting-description" };
8
+ const _hoisted_7 = { class: "setting-group" };
9
+ const _hoisted_8 = { class: "setting-header" };
10
+ const _hoisted_9 = { class: "setting-description-wrapper" };
11
+ const _hoisted_10 = { class: "setting-description" };
12
+ const _hoisted_11 = {
13
+ key: 0,
14
+ class: "validation-error"
15
+ };
16
+ const _hoisted_12 = {
17
+ key: 1,
18
+ class: "validation-loading"
19
+ };
20
+ const _hoisted_13 = { class: "setting-group" };
21
+ const _hoisted_14 = { class: "settings-section" };
22
+ const _hoisted_15 = { class: "setting-group" };
23
+ const _hoisted_16 = { class: "setting-group" };
24
+ const _hoisted_17 = { class: "setting-group" };
25
+ const _hoisted_18 = { class: "setting-group" };
26
+ const _hoisted_19 = { class: "setting-header" };
27
+ const _hoisted_20 = { style: { "display": "flex", "gap": "0.5rem", "margin-top": "0.5rem" } };
28
+ const _hoisted_21 = {
29
+ key: 0,
30
+ class: "no-fields"
31
+ };
32
+ const _hoisted_22 = {
33
+ key: 2,
34
+ style: { "margin-top": "1rem" },
35
+ class: "tip"
36
+ };
37
+ const _sfc_main = /* @__PURE__ */ defineComponent({
38
+ __name: "genericNodeSettings",
39
+ props: {
40
+ modelValue: {}
41
+ },
42
+ emits: ["update:model-value", "request-save"],
43
+ setup(__props, { emit: __emit }) {
44
+ var _a, _b, _c, _d;
45
+ const nodeStore = useNodeStore();
46
+ const props = __props;
47
+ const emit = __emit;
48
+ const isLoadingSchema = ref(false);
49
+ const activeTab = ref("main");
50
+ const referenceError = ref(null);
51
+ const isValidatingReference = ref(false);
52
+ let validationTimeout = null;
53
+ const defaultReference = computed(() => {
54
+ var _a2;
55
+ return `df_${((_a2 = props.modelValue) == null ? void 0 : _a2.node_id) ?? ""}`;
56
+ });
57
+ watch(activeTab, (newTab, oldTab) => {
58
+ if (newTab === "output-schema" && oldTab !== "output-schema") {
59
+ emit("request-save");
60
+ }
61
+ });
62
+ const localSettings = ref({
63
+ cache_results: ((_a = props.modelValue) == null ? void 0 : _a.cache_results) ?? false,
64
+ description: ((_b = props.modelValue) == null ? void 0 : _b.description) ?? "",
65
+ node_reference: ((_c = props.modelValue) == null ? void 0 : _c.node_reference) ?? ""
66
+ });
67
+ const outputFieldConfig = reactive(
68
+ ((_d = props.modelValue) == null ? void 0 : _d.output_field_config) ?? {
69
+ enabled: false,
70
+ validation_mode_behavior: "select_only",
71
+ fields: [],
72
+ validate_data_types: false
73
+ }
74
+ );
75
+ watch(
76
+ () => props.modelValue,
77
+ (newValue) => {
78
+ if (newValue) {
79
+ localSettings.value = {
80
+ cache_results: newValue.cache_results,
81
+ description: newValue.description ?? "",
82
+ node_reference: newValue.node_reference ?? ""
83
+ };
84
+ if (newValue.output_field_config) {
85
+ Object.assign(outputFieldConfig, newValue.output_field_config);
86
+ }
87
+ }
88
+ },
89
+ { deep: true }
90
+ );
91
+ const handleSettingChange = () => {
92
+ emit("update:model-value", {
93
+ ...props.modelValue,
94
+ cache_results: localSettings.value.cache_results,
95
+ description: localSettings.value.description,
96
+ node_reference: localSettings.value.node_reference,
97
+ output_field_config: outputFieldConfig.enabled ? outputFieldConfig : null
98
+ });
99
+ };
100
+ const handleDescriptionChange = (value) => {
101
+ nodeStore.updateNodeDescription(props.modelValue.node_id, value);
102
+ handleSettingChange();
103
+ };
104
+ const validateReferenceLocally = (value) => {
105
+ if (!value || value === "") {
106
+ return null;
107
+ }
108
+ if (value !== value.toLowerCase()) {
109
+ return "Reference must be lowercase";
110
+ }
111
+ if (/\s/.test(value)) {
112
+ return "Reference cannot contain spaces";
113
+ }
114
+ if (!/^[a-z][a-z0-9_]*$/.test(value)) {
115
+ return "Reference must start with a letter and contain only lowercase letters, numbers, and underscores";
116
+ }
117
+ return null;
118
+ };
119
+ const handleReferenceInput = (value) => {
120
+ if (validationTimeout) {
121
+ clearTimeout(validationTimeout);
122
+ }
123
+ const localError = validateReferenceLocally(value);
124
+ if (localError) {
125
+ referenceError.value = localError;
126
+ return;
127
+ }
128
+ referenceError.value = null;
129
+ if (value && value !== "") {
130
+ isValidatingReference.value = true;
131
+ validationTimeout = setTimeout(async () => {
132
+ try {
133
+ const result = await nodeStore.validateNodeReference(props.modelValue.node_id, value);
134
+ if (!result.valid) {
135
+ referenceError.value = result.error;
136
+ } else {
137
+ referenceError.value = null;
138
+ }
139
+ } catch (error) {
140
+ console.error("Error validating reference:", error);
141
+ } finally {
142
+ isValidatingReference.value = false;
143
+ }
144
+ }, 300);
145
+ }
146
+ };
147
+ const handleReferenceBlur = async () => {
148
+ if (validationTimeout) {
149
+ clearTimeout(validationTimeout);
150
+ }
151
+ const value = localSettings.value.node_reference || "";
152
+ const localError = validateReferenceLocally(value);
153
+ if (localError) {
154
+ referenceError.value = localError;
155
+ return;
156
+ }
157
+ if (value !== "") {
158
+ isValidatingReference.value = true;
159
+ try {
160
+ const result = await nodeStore.validateNodeReference(props.modelValue.node_id, value);
161
+ if (!result.valid) {
162
+ referenceError.value = result.error;
163
+ return;
164
+ }
165
+ } catch (error) {
166
+ console.error("Error validating reference:", error);
167
+ return;
168
+ } finally {
169
+ isValidatingReference.value = false;
170
+ }
171
+ }
172
+ if (!referenceError.value) {
173
+ try {
174
+ await nodeStore.setNodeReference(props.modelValue.node_id, value);
175
+ handleSettingChange();
176
+ } catch (error) {
177
+ referenceError.value = error.message || "Failed to save reference";
178
+ }
179
+ }
180
+ };
181
+ const handleOutputConfigChange = () => {
182
+ handleSettingChange();
183
+ };
184
+ const hasSchema = computed(() => {
185
+ return outputFieldConfig.fields.length > 0;
186
+ });
187
+ const addField = () => {
188
+ outputFieldConfig.fields.push({
189
+ name: "",
190
+ data_type: "String",
191
+ default_value: null
192
+ });
193
+ handleOutputConfigChange();
194
+ };
195
+ const removeField = (index) => {
196
+ outputFieldConfig.fields.splice(index, 1);
197
+ handleOutputConfigChange();
198
+ };
199
+ const loadFieldsFromSchema = async () => {
200
+ var _a2;
201
+ try {
202
+ if (!props.modelValue || !props.modelValue.node_id) {
203
+ console.error("Cannot load schema: Invalid or missing node data");
204
+ return;
205
+ }
206
+ isLoadingSchema.value = true;
207
+ const saveResult = emit("request-save");
208
+ if (saveResult instanceof Promise) {
209
+ await saveResult;
210
+ }
211
+ await new Promise((resolve) => setTimeout(resolve, 100));
212
+ const nodeData = await nodeStore.getNodeData(props.modelValue.node_id, false);
213
+ if ((_a2 = nodeData == null ? void 0 : nodeData.main_output) == null ? void 0 : _a2.table_schema) {
214
+ outputFieldConfig.fields = nodeData.main_output.table_schema.map((col) => ({
215
+ name: col.name,
216
+ data_type: col.data_type,
217
+ default_value: null
218
+ }));
219
+ handleOutputConfigChange();
220
+ }
221
+ } catch (error) {
222
+ console.error("Error loading schema:", error);
223
+ } finally {
224
+ isLoadingSchema.value = false;
225
+ }
226
+ };
227
+ return (_ctx, _cache) => {
228
+ const _component_el_tab_pane = resolveComponent("el-tab-pane");
229
+ const _component_el_icon = resolveComponent("el-icon");
230
+ const _component_el_tooltip = resolveComponent("el-tooltip");
231
+ const _component_el_switch = resolveComponent("el-switch");
232
+ const _component_el_input = resolveComponent("el-input");
233
+ const _component_el_option = resolveComponent("el-option");
234
+ const _component_el_select = resolveComponent("el-select");
235
+ const _component_el_button = resolveComponent("el-button");
236
+ const _component_el_table_column = resolveComponent("el-table-column");
237
+ const _component_el_table = resolveComponent("el-table");
238
+ const _component_el_tabs = resolveComponent("el-tabs");
239
+ return openBlock(), createElementBlock("div", _hoisted_1, [
240
+ createVNode(_component_el_tabs, {
241
+ modelValue: activeTab.value,
242
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => activeTab.value = $event)
243
+ }, {
244
+ default: withCtx(() => [
245
+ createVNode(_component_el_tab_pane, {
246
+ label: "Main Settings",
247
+ name: "main"
248
+ }, {
249
+ default: withCtx(() => [
250
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
251
+ ]),
252
+ _: 3
253
+ }),
254
+ createVNode(_component_el_tab_pane, {
255
+ label: "General Settings",
256
+ name: "general"
257
+ }, {
258
+ default: withCtx(() => [
259
+ createBaseVNode("div", _hoisted_2, [
260
+ createBaseVNode("div", _hoisted_3, [
261
+ createBaseVNode("div", _hoisted_4, [
262
+ _cache[8] || (_cache[8] = createBaseVNode("span", { class: "setting-title" }, "Cache Results", -1)),
263
+ createBaseVNode("div", _hoisted_5, [
264
+ createBaseVNode("span", _hoisted_6, [
265
+ _cache[7] || (_cache[7] = createTextVNode(" Store results on disk to speed up subsequent executions and verify results. ", -1)),
266
+ createVNode(_component_el_tooltip, {
267
+ effect: "dark",
268
+ content: "Caching is only active when the flow is executed in performance mode",
269
+ placement: "top"
270
+ }, {
271
+ default: withCtx(() => [
272
+ createVNode(_component_el_icon, { class: "info-icon" }, {
273
+ default: withCtx(() => [
274
+ createVNode(unref(info_filled_default))
275
+ ]),
276
+ _: 1
277
+ })
278
+ ]),
279
+ _: 1
280
+ })
281
+ ])
282
+ ])
283
+ ]),
284
+ createVNode(_component_el_switch, {
285
+ modelValue: localSettings.value.cache_results,
286
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => localSettings.value.cache_results = $event),
287
+ onChange: handleSettingChange
288
+ }, null, 8, ["modelValue"])
289
+ ]),
290
+ createBaseVNode("div", _hoisted_7, [
291
+ createBaseVNode("div", _hoisted_8, [
292
+ _cache[10] || (_cache[10] = createBaseVNode("span", { class: "setting-title" }, "Node Reference", -1)),
293
+ createBaseVNode("div", _hoisted_9, [
294
+ createBaseVNode("span", _hoisted_10, [
295
+ _cache[9] || (_cache[9] = createTextVNode(" A unique identifier used as the variable name in code generation. ", -1)),
296
+ createVNode(_component_el_tooltip, {
297
+ effect: "dark",
298
+ content: "Must be lowercase with no spaces. Leave empty to use the default (df_node_id)",
299
+ placement: "top"
300
+ }, {
301
+ default: withCtx(() => [
302
+ createVNode(_component_el_icon, { class: "info-icon" }, {
303
+ default: withCtx(() => [
304
+ createVNode(unref(info_filled_default))
305
+ ]),
306
+ _: 1
307
+ })
308
+ ]),
309
+ _: 1
310
+ })
311
+ ])
312
+ ])
313
+ ]),
314
+ createVNode(_component_el_input, {
315
+ modelValue: localSettings.value.node_reference,
316
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => localSettings.value.node_reference = $event),
317
+ placeholder: defaultReference.value,
318
+ class: normalizeClass({ "is-error": referenceError.value }),
319
+ onInput: handleReferenceInput,
320
+ onBlur: handleReferenceBlur
321
+ }, null, 8, ["modelValue", "placeholder", "class"]),
322
+ referenceError.value ? (openBlock(), createElementBlock("div", _hoisted_11, toDisplayString(referenceError.value), 1)) : isValidatingReference.value ? (openBlock(), createElementBlock("div", _hoisted_12, "Checking...")) : createCommentVNode("", true)
323
+ ]),
324
+ createBaseVNode("div", _hoisted_13, [
325
+ _cache[11] || (_cache[11] = createBaseVNode("div", { class: "setting-header" }, [
326
+ createBaseVNode("span", { class: "setting-title" }, "Node Description"),
327
+ createBaseVNode("span", { class: "setting-description" }, " Add a description to document this node's purpose ")
328
+ ], -1)),
329
+ createVNode(_component_el_input, {
330
+ modelValue: localSettings.value.description,
331
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => localSettings.value.description = $event),
332
+ type: "textarea",
333
+ rows: 4,
334
+ placeholder: "Add a description for this node...",
335
+ onChange: handleDescriptionChange
336
+ }, null, 8, ["modelValue"])
337
+ ])
338
+ ])
339
+ ]),
340
+ _: 1
341
+ }),
342
+ createVNode(_component_el_tab_pane, {
343
+ label: "Schema Validator",
344
+ name: "output-schema"
345
+ }, {
346
+ default: withCtx(() => [
347
+ createBaseVNode("div", _hoisted_14, [
348
+ createBaseVNode("div", _hoisted_15, [
349
+ _cache[12] || (_cache[12] = createBaseVNode("div", { class: "setting-header" }, [
350
+ createBaseVNode("span", { class: "setting-title" }, "Enable Schema Validation"),
351
+ createBaseVNode("span", { class: "setting-description" }, " Guarantee data quality with automatic schema enforcement and validation ")
352
+ ], -1)),
353
+ createVNode(_component_el_switch, {
354
+ modelValue: outputFieldConfig.enabled,
355
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => outputFieldConfig.enabled = $event),
356
+ onChange: handleOutputConfigChange
357
+ }, null, 8, ["modelValue"])
358
+ ]),
359
+ outputFieldConfig.enabled ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
360
+ createBaseVNode("div", _hoisted_16, [
361
+ _cache[13] || (_cache[13] = createBaseVNode("div", { class: "setting-header" }, [
362
+ createBaseVNode("span", { class: "setting-title" }, "Validation Mode"),
363
+ createBaseVNode("span", { class: "setting-description" }, " How to handle output fields ")
364
+ ], -1)),
365
+ createVNode(_component_el_select, {
366
+ modelValue: outputFieldConfig.validation_mode_behavior,
367
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => outputFieldConfig.validation_mode_behavior = $event),
368
+ style: { "width": "100%" },
369
+ onChange: handleOutputConfigChange
370
+ }, {
371
+ default: withCtx(() => [
372
+ createVNode(_component_el_option, {
373
+ label: "Strict - Keep only defined fields",
374
+ value: "select_only"
375
+ }),
376
+ createVNode(_component_el_option, {
377
+ label: "Flexible - Add missing fields, remove extras",
378
+ value: "add_missing"
379
+ }),
380
+ createVNode(_component_el_option, {
381
+ label: "Permissive - Add missing fields, keep all extras",
382
+ value: "add_missing_keep_extra"
383
+ }),
384
+ createVNode(_component_el_option, {
385
+ label: "Validate - Error if any fields are missing",
386
+ value: "raise_on_missing"
387
+ })
388
+ ]),
389
+ _: 1
390
+ }, 8, ["modelValue"])
391
+ ]),
392
+ createBaseVNode("div", _hoisted_17, [
393
+ _cache[14] || (_cache[14] = createBaseVNode("div", { class: "setting-header" }, [
394
+ createBaseVNode("span", { class: "setting-title" }, "Type Checking"),
395
+ createBaseVNode("span", { class: "setting-description" }, " Enforce data type constraints and catch type mismatches at runtime ")
396
+ ], -1)),
397
+ createVNode(_component_el_switch, {
398
+ modelValue: outputFieldConfig.validate_data_types,
399
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => outputFieldConfig.validate_data_types = $event),
400
+ onChange: handleOutputConfigChange
401
+ }, null, 8, ["modelValue"])
402
+ ]),
403
+ createBaseVNode("div", _hoisted_18, [
404
+ createBaseVNode("div", _hoisted_19, [
405
+ _cache[17] || (_cache[17] = createBaseVNode("span", { class: "setting-title" }, "Schema Definition", -1)),
406
+ createBaseVNode("div", _hoisted_20, [
407
+ createVNode(_component_el_button, {
408
+ size: "small",
409
+ disabled: hasSchema.value,
410
+ loading: isLoadingSchema.value,
411
+ onClick: loadFieldsFromSchema
412
+ }, {
413
+ default: withCtx(() => [..._cache[15] || (_cache[15] = [
414
+ createTextVNode(" Auto-Detect Schema ", -1)
415
+ ])]),
416
+ _: 1
417
+ }, 8, ["disabled", "loading"]),
418
+ createVNode(_component_el_button, {
419
+ size: "small",
420
+ type: "primary",
421
+ onClick: addField
422
+ }, {
423
+ default: withCtx(() => [..._cache[16] || (_cache[16] = [
424
+ createTextVNode(" Add Field ", -1)
425
+ ])]),
426
+ _: 1
427
+ })
428
+ ])
429
+ ]),
430
+ outputFieldConfig.fields.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_21, [
431
+ isLoadingSchema.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
432
+ createTextVNode(" Detecting schema... ")
433
+ ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
434
+ createTextVNode(' No schema defined yet. Click "Auto-Detect Schema" to import from upstream data or "Add Field" to define manually. ')
435
+ ], 64))
436
+ ])) : (openBlock(), createBlock(_component_el_table, {
437
+ key: 1,
438
+ data: outputFieldConfig.fields,
439
+ style: { "width": "100%", "margin-top": "1rem" },
440
+ size: "small"
441
+ }, {
442
+ default: withCtx(() => [
443
+ createVNode(_component_el_table_column, { width: "50" }, {
444
+ default: withCtx(() => [
445
+ createVNode(_component_el_icon, { style: { "cursor": "move" } }, {
446
+ default: withCtx(() => [
447
+ createVNode(unref(d_caret_default))
448
+ ]),
449
+ _: 1
450
+ })
451
+ ]),
452
+ _: 1
453
+ }),
454
+ createVNode(_component_el_table_column, {
455
+ label: "Field Name",
456
+ prop: "name"
457
+ }, {
458
+ default: withCtx(({ row }) => [
459
+ createVNode(_component_el_input, {
460
+ modelValue: row.name,
461
+ "onUpdate:modelValue": ($event) => row.name = $event,
462
+ size: "small",
463
+ onChange: handleOutputConfigChange
464
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
465
+ ]),
466
+ _: 1
467
+ }),
468
+ createVNode(_component_el_table_column, {
469
+ label: "Data Type",
470
+ prop: "data_type",
471
+ width: "150"
472
+ }, {
473
+ default: withCtx(({ row }) => [
474
+ createVNode(_component_el_select, {
475
+ modelValue: row.data_type,
476
+ "onUpdate:modelValue": ($event) => row.data_type = $event,
477
+ size: "small",
478
+ onChange: handleOutputConfigChange
479
+ }, {
480
+ default: withCtx(() => [
481
+ createVNode(_component_el_option, {
482
+ label: "String",
483
+ value: "String"
484
+ }),
485
+ createVNode(_component_el_option, {
486
+ label: "Int64",
487
+ value: "Int64"
488
+ }),
489
+ createVNode(_component_el_option, {
490
+ label: "Int32",
491
+ value: "Int32"
492
+ }),
493
+ createVNode(_component_el_option, {
494
+ label: "Float64",
495
+ value: "Float64"
496
+ }),
497
+ createVNode(_component_el_option, {
498
+ label: "Float32",
499
+ value: "Float32"
500
+ }),
501
+ createVNode(_component_el_option, {
502
+ label: "Boolean",
503
+ value: "Boolean"
504
+ }),
505
+ createVNode(_component_el_option, {
506
+ label: "Date",
507
+ value: "Date"
508
+ }),
509
+ createVNode(_component_el_option, {
510
+ label: "Datetime",
511
+ value: "Datetime"
512
+ }),
513
+ createVNode(_component_el_option, {
514
+ label: "Time",
515
+ value: "Time"
516
+ }),
517
+ createVNode(_component_el_option, {
518
+ label: "List",
519
+ value: "List"
520
+ }),
521
+ createVNode(_component_el_option, {
522
+ label: "Decimal",
523
+ value: "Decimal"
524
+ })
525
+ ]),
526
+ _: 1
527
+ }, 8, ["modelValue", "onUpdate:modelValue"])
528
+ ]),
529
+ _: 1
530
+ }),
531
+ createVNode(_component_el_table_column, {
532
+ label: "Default Value",
533
+ prop: "default_value"
534
+ }, {
535
+ default: withCtx(({ row }) => [
536
+ createVNode(_component_el_input, {
537
+ modelValue: row.default_value,
538
+ "onUpdate:modelValue": ($event) => row.default_value = $event,
539
+ size: "small",
540
+ placeholder: "null",
541
+ onChange: handleOutputConfigChange
542
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
543
+ ]),
544
+ _: 1
545
+ }),
546
+ createVNode(_component_el_table_column, { width: "60" }, {
547
+ default: withCtx(({ $index }) => [
548
+ createVNode(_component_el_button, {
549
+ type: "danger",
550
+ size: "small",
551
+ text: "",
552
+ onClick: ($event) => removeField($index)
553
+ }, {
554
+ default: withCtx(() => [
555
+ createVNode(_component_el_icon, null, {
556
+ default: withCtx(() => [
557
+ createVNode(unref(delete_default))
558
+ ]),
559
+ _: 1
560
+ })
561
+ ]),
562
+ _: 1
563
+ }, 8, ["onClick"])
564
+ ]),
565
+ _: 1
566
+ })
567
+ ]),
568
+ _: 1
569
+ }, 8, ["data"])),
570
+ outputFieldConfig.fields.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_22, [..._cache[18] || (_cache[18] = [
571
+ createBaseVNode("strong", null, "Tip:", -1),
572
+ createTextVNode(" Default values are used when fields are missing from the input data. ", -1)
573
+ ])])) : createCommentVNode("", true)
574
+ ])
575
+ ], 64)) : createCommentVNode("", true)
576
+ ])
577
+ ]),
578
+ _: 1
579
+ })
580
+ ]),
581
+ _: 3
582
+ }, 8, ["modelValue"])
583
+ ]);
584
+ };
585
+ }
586
+ });
587
+ const GenericNodeSettings = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-cc35309a"]]);
588
+ export {
589
+ GenericNodeSettings as G
590
+ };