Flowfile 0.4.1__py3-none-any.whl → 0.5.3__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 (332) hide show
  1. build_backends/main.py +25 -22
  2. build_backends/main_prd.py +10 -19
  3. flowfile/__init__.py +179 -73
  4. flowfile/__main__.py +10 -7
  5. flowfile/api.py +52 -59
  6. flowfile/web/__init__.py +14 -9
  7. flowfile/web/static/assets/AdminView-49392a9a.js +713 -0
  8. flowfile/web/static/assets/AdminView-f53bad23.css +129 -0
  9. flowfile/web/static/assets/CloudConnectionView-36bcd6df.css +72 -0
  10. flowfile/web/static/assets/{CloudConnectionManager-d3248f8d.js → CloudConnectionView-f13f202b.js} +11 -11
  11. flowfile/web/static/assets/{CloudStorageReader-d65bf041.js → CloudStorageReader-0023d4a5.js} +10 -8
  12. flowfile/web/static/assets/{CloudStorageReader-29d14fcc.css → CloudStorageReader-24c54524.css} +27 -27
  13. flowfile/web/static/assets/{CloudStorageWriter-b0ee067f.css → CloudStorageWriter-60547855.css} +26 -26
  14. flowfile/web/static/assets/{CloudStorageWriter-e83be3ed.js → CloudStorageWriter-8e781e11.js} +10 -8
  15. flowfile/web/static/assets/{ColumnSelector-47996a16.css → ColumnSelector-371637fb.css} +2 -2
  16. flowfile/web/static/assets/{ColumnSelector-cce661cf.js → ColumnSelector-8ad68ea9.js} +3 -5
  17. flowfile/web/static/assets/{ContextMenu-c13f91d0.css → ContextMenu-26d4dd27.css} +6 -6
  18. flowfile/web/static/assets/{ContextMenu-11a4652a.js → ContextMenu-31ee57f0.js} +3 -3
  19. flowfile/web/static/assets/{ContextMenu-160afb08.js → ContextMenu-69a74055.js} +3 -3
  20. flowfile/web/static/assets/{ContextMenu-cf18d2cc.js → ContextMenu-8e2051c6.js} +3 -3
  21. flowfile/web/static/assets/{ContextMenu-4c74eef1.css → ContextMenu-8ec1729e.css} +6 -6
  22. flowfile/web/static/assets/{ContextMenu-63cfa99b.css → ContextMenu-9b310c60.css} +6 -6
  23. flowfile/web/static/assets/{CrossJoin-d395d38c.js → CrossJoin-03df6938.js} +12 -10
  24. flowfile/web/static/assets/{CrossJoin-1119d18e.css → CrossJoin-71b4cc10.css} +20 -20
  25. flowfile/web/static/assets/CustomNode-59e99a86.css +32 -0
  26. flowfile/web/static/assets/{CustomNode-b812dc0b.js → CustomNode-8479239b.js} +36 -24
  27. flowfile/web/static/assets/{DatabaseConnectionSettings-7000bf2c.js → DatabaseConnectionSettings-869e3efd.js} +5 -4
  28. flowfile/web/static/assets/{DatabaseConnectionSettings-0c04b2e5.css → DatabaseConnectionSettings-e91df89a.css} +13 -13
  29. flowfile/web/static/assets/{DatabaseReader-ae61773c.css → DatabaseReader-36898a00.css} +24 -24
  30. flowfile/web/static/assets/{DatabaseReader-4f035d0c.js → DatabaseReader-c58b9552.js} +25 -15
  31. flowfile/web/static/assets/DatabaseView-6655afd6.css +57 -0
  32. flowfile/web/static/assets/{DatabaseManager-9662ec5b.js → DatabaseView-d26a9140.js} +11 -11
  33. flowfile/web/static/assets/{DatabaseWriter-2f570e53.css → DatabaseWriter-217a99f1.css} +19 -19
  34. flowfile/web/static/assets/{DatabaseWriter-f65dcd54.js → DatabaseWriter-4d05ddc7.js} +17 -10
  35. flowfile/web/static/assets/{designer-e3c150ec.css → DesignerView-a6d0ee84.css} +629 -538
  36. flowfile/web/static/assets/{designer-f3656d8c.js → DesignerView-e6f5c0e8.js} +1214 -3209
  37. flowfile/web/static/assets/{documentation-52b241e7.js → DocumentationView-2e78ef1b.js} +5 -5
  38. flowfile/web/static/assets/{documentation-12216a74.css → DocumentationView-fd46c656.css} +7 -7
  39. flowfile/web/static/assets/{ExploreData-2d0cf4db.css → ExploreData-10c5acc8.css} +13 -12
  40. flowfile/web/static/assets/{ExploreData-94c43dfc.js → ExploreData-7b54caca.js} +18 -9
  41. flowfile/web/static/assets/{ExternalSource-ac04b3cc.js → ExternalSource-3fa399b2.js} +9 -7
  42. flowfile/web/static/assets/{ExternalSource-e37b6275.css → ExternalSource-47ab05a3.css} +17 -17
  43. flowfile/web/static/assets/Filter-7494ea97.css +48 -0
  44. flowfile/web/static/assets/Filter-8cbbdbf3.js +287 -0
  45. flowfile/web/static/assets/{Formula-bb96803d.css → Formula-53d58c43.css} +7 -7
  46. flowfile/web/static/assets/{Formula-71472193.js → Formula-aac42b1e.js} +13 -11
  47. flowfile/web/static/assets/{FuzzyMatch-1010f966.css → FuzzyMatch-ad6361d6.css} +68 -69
  48. flowfile/web/static/assets/{FuzzyMatch-b317f631.js → FuzzyMatch-cd9bbfca.js} +12 -10
  49. flowfile/web/static/assets/{Pivot-cf333e3d.css → GraphSolver-c24dec17.css} +5 -5
  50. flowfile/web/static/assets/{GraphSolver-754a234f.js → GraphSolver-c7e6780e.js} +13 -11
  51. flowfile/web/static/assets/{GroupBy-6c6f9802.js → GroupBy-93c5d22b.js} +9 -7
  52. flowfile/web/static/assets/{GroupBy-b9505323.css → GroupBy-be7ac0bf.css} +10 -10
  53. flowfile/web/static/assets/{Join-fd79b451.css → Join-28b5e18f.css} +22 -22
  54. flowfile/web/static/assets/{Join-a1b800be.js → Join-a19b2de2.js} +13 -11
  55. flowfile/web/static/assets/LoginView-0df4ed0a.js +134 -0
  56. flowfile/web/static/assets/LoginView-d325d632.css +172 -0
  57. flowfile/web/static/assets/ManualInput-3702e677.css +293 -0
  58. flowfile/web/static/assets/{ManualInput-a9640276.js → ManualInput-8d3374b2.js} +170 -116
  59. flowfile/web/static/assets/{MultiSelect-97213888.js → MultiSelect-ad1b6243.js} +2 -2
  60. flowfile/web/static/assets/{MultiSelect.vue_vue_type_script_setup_true_lang-6ffe088a.js → MultiSelect.vue_vue_type_script_setup_true_lang-e278950d.js} +1 -1
  61. flowfile/web/static/assets/NodeDesigner-40b647c9.js +2610 -0
  62. flowfile/web/static/assets/NodeDesigner-5f53be3f.css +1429 -0
  63. flowfile/web/static/assets/{NumericInput-e638088a.js → NumericInput-7100234c.js} +2 -2
  64. flowfile/web/static/assets/{NumericInput.vue_vue_type_script_setup_true_lang-90eb2cba.js → NumericInput.vue_vue_type_script_setup_true_lang-5130219f.js} +5 -2
  65. flowfile/web/static/assets/{Output-ddc9079f.css → Output-35e97000.css} +6 -6
  66. flowfile/web/static/assets/{Output-76750610.js → Output-f5efd2aa.js} +60 -38
  67. flowfile/web/static/assets/{GraphSolver-f0cb7bfb.css → Pivot-0eda81b4.css} +5 -5
  68. flowfile/web/static/assets/{Pivot-7814803f.js → Pivot-d981d23c.js} +11 -9
  69. flowfile/web/static/assets/PivotValidation-0e905b1a.css +13 -0
  70. flowfile/web/static/assets/{PivotValidation-f92137d2.js → PivotValidation-39386e95.js} +3 -3
  71. flowfile/web/static/assets/PivotValidation-41b57ad6.css +13 -0
  72. flowfile/web/static/assets/{PivotValidation-76dd431a.js → PivotValidation-63de1f73.js} +3 -3
  73. flowfile/web/static/assets/{PolarsCode-650322d1.css → PolarsCode-2b1f1f23.css} +4 -4
  74. flowfile/web/static/assets/{PolarsCode-889c3008.js → PolarsCode-f9d69217.js} +18 -9
  75. flowfile/web/static/assets/PopOver-b22f049e.js +939 -0
  76. flowfile/web/static/assets/PopOver-d96599db.css +33 -0
  77. flowfile/web/static/assets/{Read-6b17491f.css → Read-36e7bd51.css} +12 -12
  78. flowfile/web/static/assets/{Read-637b72a7.js → Read-aec2e377.js} +83 -105
  79. flowfile/web/static/assets/{RecordCount-2b050c41.js → RecordCount-78ed6845.js} +6 -4
  80. flowfile/web/static/assets/{RecordId-81df7784.js → RecordId-2156e890.js} +8 -6
  81. flowfile/web/static/assets/{SQLQueryComponent-36cef432.css → SQLQueryComponent-1c2f26b4.css} +5 -5
  82. flowfile/web/static/assets/{SQLQueryComponent-88dcfe53.js → SQLQueryComponent-48c72f5b.js} +3 -3
  83. flowfile/web/static/assets/{Sample-258ad2a9.js → Sample-1352ca74.js} +6 -4
  84. flowfile/web/static/assets/SecretSelector-22b5ff89.js +113 -0
  85. flowfile/web/static/assets/SecretSelector-6329f743.css +43 -0
  86. flowfile/web/static/assets/{SecretManager-2a2cb7e2.js → SecretsView-17df66ee.js} +35 -36
  87. flowfile/web/static/assets/SecretsView-aa291340.css +38 -0
  88. flowfile/web/static/assets/{Select-850215fd.js → Select-0aee4c54.js} +9 -7
  89. flowfile/web/static/assets/{SettingsSection-55bae608.js → SettingsSection-0784e157.js} +3 -3
  90. flowfile/web/static/assets/{SettingsSection-71e6b7e3.css → SettingsSection-07fbbc39.css} +4 -4
  91. flowfile/web/static/assets/{SettingsSection-5c696bee.css → SettingsSection-26fe48d4.css} +4 -4
  92. flowfile/web/static/assets/{SettingsSection-2e4d03c4.css → SettingsSection-8f980839.css} +4 -4
  93. flowfile/web/static/assets/{SettingsSection-0e8d9123.js → SettingsSection-cd341bb6.js} +3 -3
  94. flowfile/web/static/assets/{SettingsSection-29b4fa6b.js → SettingsSection-f2002a6d.js} +3 -3
  95. flowfile/web/static/assets/{SingleSelect-bebd408b.js → SingleSelect-460cc0ea.js} +2 -2
  96. flowfile/web/static/assets/{SingleSelect.vue_vue_type_script_setup_true_lang-6093741c.js → SingleSelect.vue_vue_type_script_setup_true_lang-30741bb2.js} +1 -1
  97. flowfile/web/static/assets/{SliderInput-6a05ab61.js → SliderInput-5d926864.js} +7 -4
  98. flowfile/web/static/assets/SliderInput-f2e4f23c.css +4 -0
  99. flowfile/web/static/assets/{Sort-10ab48ed.js → Sort-3cdc971b.js} +9 -7
  100. flowfile/web/static/assets/{Unique-f9fb0809.css → Sort-8a871341.css} +10 -10
  101. flowfile/web/static/assets/{TextInput-df9d6259.js → TextInput-a2d0bfbd.js} +2 -2
  102. flowfile/web/static/assets/{TextInput.vue_vue_type_script_setup_true_lang-000e1178.js → TextInput.vue_vue_type_script_setup_true_lang-abad1ca2.js} +5 -2
  103. flowfile/web/static/assets/{TextToRows-5d2c1190.css → TextToRows-12afb4f4.css} +10 -10
  104. flowfile/web/static/assets/{TextToRows-6c2d93d8.js → TextToRows-918945f7.js} +11 -10
  105. flowfile/web/static/assets/{ToggleSwitch-0ff7ac52.js → ToggleSwitch-f0ef5196.js} +2 -2
  106. flowfile/web/static/assets/{ToggleSwitch.vue_vue_type_script_setup_true_lang-c6dc3029.js → ToggleSwitch.vue_vue_type_script_setup_true_lang-5605c793.js} +1 -1
  107. flowfile/web/static/assets/{UnavailableFields-5edd5322.css → UnavailableFields-54d2f518.css} +6 -6
  108. flowfile/web/static/assets/{UnavailableFields-1bab97cb.js → UnavailableFields-bdad6144.js} +4 -4
  109. flowfile/web/static/assets/{Union-af6c3d9b.css → Union-d6a8d7d5.css} +7 -7
  110. flowfile/web/static/assets/{Union-b563478a.js → Union-e8ab8c86.js} +8 -6
  111. flowfile/web/static/assets/{Unique-f90db5db.js → Unique-8cd4f976.js} +13 -22
  112. flowfile/web/static/assets/{Sort-3643d625.css → Unique-9fb2f567.css} +10 -10
  113. flowfile/web/static/assets/{Unpivot-1e422df3.css → Unpivot-710a2948.css} +7 -7
  114. flowfile/web/static/assets/{Unpivot-bcb0025f.js → Unpivot-8da14095.js} +10 -8
  115. flowfile/web/static/assets/{UnpivotValidation-c4e73b04.js → UnpivotValidation-6f7d89ff.js} +3 -3
  116. flowfile/web/static/assets/UnpivotValidation-d5ca3b7b.css +13 -0
  117. flowfile/web/static/assets/{VueGraphicWalker-bb8535e2.js → VueGraphicWalker-3fb312e1.js} +4 -4
  118. flowfile/web/static/assets/{VueGraphicWalker-ed5ab88b.css → VueGraphicWalker-430f0b86.css} +1 -1
  119. flowfile/web/static/assets/{api-4c8e3822.js → api-24483f0d.js} +1 -1
  120. flowfile/web/static/assets/{api-2d6adc4f.js → api-8b81fa73.js} +1 -1
  121. flowfile/web/static/assets/{dropDown-35135ba8.css → dropDown-3d8dc5fa.css} +40 -40
  122. flowfile/web/static/assets/{dropDown-1bca8a74.js → dropDown-ac0fda9d.js} +3 -3
  123. flowfile/web/static/assets/{fullEditor-2985687e.js → fullEditor-5497a84a.js} +11 -10
  124. flowfile/web/static/assets/{fullEditor-178376bb.css → fullEditor-a0be62b3.css} +74 -62
  125. flowfile/web/static/assets/{genericNodeSettings-924759c7.css → genericNodeSettings-3b2507ea.css} +10 -10
  126. flowfile/web/static/assets/{genericNodeSettings-0476ba4e.js → genericNodeSettings-99014e1d.js} +5 -5
  127. flowfile/web/static/assets/index-07dda503.js +38 -0
  128. flowfile/web/static/assets/index-3ba44389.js +2696 -0
  129. flowfile/web/static/assets/{index-50508d4d.css → index-e6289dd0.css} +1945 -569
  130. flowfile/web/static/assets/{index-246f201c.js → index-fb6493ae.js} +41626 -40869
  131. flowfile/web/static/assets/node.types-2c15bb7e.js +82 -0
  132. flowfile/web/static/assets/nodeInput-0eb13f1a.js +2 -0
  133. flowfile/web/static/assets/{outputCsv-d686eeaf.js → outputCsv-8f8ba42d.js} +3 -3
  134. flowfile/web/static/assets/outputCsv-b9a072af.css +2499 -0
  135. flowfile/web/static/assets/{outputExcel-8809ea2f.js → outputExcel-393f4fef.js} +3 -3
  136. flowfile/web/static/assets/{outputExcel-b41305c0.css → outputExcel-f5d272b2.css} +26 -26
  137. flowfile/web/static/assets/{outputParquet-53ba645a.js → outputParquet-07c81f65.js} +4 -4
  138. flowfile/web/static/assets/outputParquet-54597c3c.css +4 -0
  139. flowfile/web/static/assets/{readCsv-053bf97b.js → readCsv-07f6d9ad.js} +21 -20
  140. flowfile/web/static/assets/{readCsv-bca3ed53.css → readCsv-3bfac4c3.css} +15 -15
  141. flowfile/web/static/assets/{readExcel-e1b381ea.css → readExcel-3db6b763.css} +13 -13
  142. flowfile/web/static/assets/{readExcel-ad531eab.js → readExcel-ed69bc8f.js} +10 -12
  143. flowfile/web/static/assets/{readParquet-cee068e2.css → readParquet-c5244ad5.css} +4 -4
  144. flowfile/web/static/assets/{readParquet-58e899a1.js → readParquet-e3ed4528.js} +4 -7
  145. flowfile/web/static/assets/secrets.api-002e7d7e.js +65 -0
  146. flowfile/web/static/assets/{selectDynamic-b38de2ba.js → selectDynamic-80b92899.js} +5 -5
  147. flowfile/web/static/assets/{selectDynamic-aa913ff4.css → selectDynamic-f2fb394f.css} +21 -20
  148. flowfile/web/static/assets/{vue-codemirror.esm-db9b8936.js → vue-codemirror.esm-0965f39f.js} +31 -637
  149. flowfile/web/static/assets/{vue-content-loader.es-b5f3ac30.js → vue-content-loader.es-c506ad97.js} +1 -1
  150. flowfile/web/static/index.html +2 -2
  151. {flowfile-0.4.1.dist-info → flowfile-0.5.3.dist-info}/METADATA +4 -4
  152. flowfile-0.5.3.dist-info/RECORD +402 -0
  153. {flowfile-0.4.1.dist-info → flowfile-0.5.3.dist-info}/WHEEL +1 -1
  154. {flowfile-0.4.1.dist-info → flowfile-0.5.3.dist-info}/entry_points.txt +1 -0
  155. flowfile_core/__init__.py +13 -3
  156. flowfile_core/auth/jwt.py +51 -16
  157. flowfile_core/auth/models.py +32 -7
  158. flowfile_core/auth/password.py +89 -0
  159. flowfile_core/auth/secrets.py +8 -6
  160. flowfile_core/configs/__init__.py +9 -7
  161. flowfile_core/configs/flow_logger.py +15 -14
  162. flowfile_core/configs/node_store/__init__.py +72 -4
  163. flowfile_core/configs/node_store/nodes.py +155 -172
  164. flowfile_core/configs/node_store/user_defined_node_registry.py +108 -27
  165. flowfile_core/configs/settings.py +28 -15
  166. flowfile_core/database/connection.py +7 -6
  167. flowfile_core/database/init_db.py +96 -2
  168. flowfile_core/database/models.py +3 -1
  169. flowfile_core/fileExplorer/__init__.py +17 -0
  170. flowfile_core/fileExplorer/funcs.py +123 -57
  171. flowfile_core/fileExplorer/utils.py +10 -11
  172. flowfile_core/flowfile/_extensions/real_time_interface.py +10 -8
  173. flowfile_core/flowfile/analytics/analytics_processor.py +27 -24
  174. flowfile_core/flowfile/analytics/graphic_walker.py +11 -12
  175. flowfile_core/flowfile/analytics/utils.py +1 -1
  176. flowfile_core/flowfile/code_generator/code_generator.py +391 -279
  177. flowfile_core/flowfile/connection_manager/_connection_manager.py +6 -5
  178. flowfile_core/flowfile/connection_manager/models.py +1 -1
  179. flowfile_core/flowfile/database_connection_manager/db_connections.py +60 -44
  180. flowfile_core/flowfile/database_connection_manager/models.py +1 -1
  181. flowfile_core/flowfile/extensions.py +17 -12
  182. flowfile_core/flowfile/flow_data_engine/cloud_storage_reader.py +34 -32
  183. flowfile_core/flowfile/flow_data_engine/create/funcs.py +152 -103
  184. flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +526 -477
  185. flowfile_core/flowfile/flow_data_engine/flow_file_column/interface.py +2 -2
  186. flowfile_core/flowfile/flow_data_engine/flow_file_column/main.py +92 -52
  187. flowfile_core/flowfile/flow_data_engine/flow_file_column/polars_type.py +12 -11
  188. flowfile_core/flowfile/flow_data_engine/flow_file_column/type_registry.py +6 -6
  189. flowfile_core/flowfile/flow_data_engine/flow_file_column/utils.py +26 -30
  190. flowfile_core/flowfile/flow_data_engine/fuzzy_matching/prepare_for_fuzzy_match.py +43 -32
  191. flowfile_core/flowfile/flow_data_engine/join/__init__.py +1 -1
  192. flowfile_core/flowfile/flow_data_engine/join/utils.py +11 -9
  193. flowfile_core/flowfile/flow_data_engine/join/verify_integrity.py +15 -11
  194. flowfile_core/flowfile/flow_data_engine/pivot_table.py +5 -7
  195. flowfile_core/flowfile/flow_data_engine/polars_code_parser.py +95 -82
  196. flowfile_core/flowfile/flow_data_engine/read_excel_tables.py +66 -65
  197. flowfile_core/flowfile/flow_data_engine/sample_data.py +27 -21
  198. flowfile_core/flowfile/flow_data_engine/subprocess_operations/__init__.py +1 -1
  199. flowfile_core/flowfile/flow_data_engine/subprocess_operations/models.py +13 -11
  200. flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +360 -191
  201. flowfile_core/flowfile/flow_data_engine/threaded_processes.py +8 -8
  202. flowfile_core/flowfile/flow_data_engine/utils.py +101 -67
  203. flowfile_core/flowfile/flow_graph.py +1011 -561
  204. flowfile_core/flowfile/flow_graph_utils.py +31 -49
  205. flowfile_core/flowfile/flow_node/flow_node.py +332 -232
  206. flowfile_core/flowfile/flow_node/models.py +54 -41
  207. flowfile_core/flowfile/flow_node/schema_callback.py +14 -19
  208. flowfile_core/flowfile/graph_tree/graph_tree.py +41 -41
  209. flowfile_core/flowfile/handler.py +82 -32
  210. flowfile_core/flowfile/manage/compatibility_enhancements.py +493 -47
  211. flowfile_core/flowfile/manage/io_flowfile.py +391 -0
  212. flowfile_core/flowfile/node_designer/__init__.py +15 -13
  213. flowfile_core/flowfile/node_designer/_type_registry.py +34 -37
  214. flowfile_core/flowfile/node_designer/custom_node.py +162 -36
  215. flowfile_core/flowfile/node_designer/ui_components.py +136 -35
  216. flowfile_core/flowfile/schema_callbacks.py +77 -54
  217. flowfile_core/flowfile/setting_generator/__init__.py +0 -1
  218. flowfile_core/flowfile/setting_generator/setting_generator.py +6 -5
  219. flowfile_core/flowfile/setting_generator/settings.py +72 -55
  220. flowfile_core/flowfile/sources/external_sources/base_class.py +12 -10
  221. flowfile_core/flowfile/sources/external_sources/custom_external_sources/external_source.py +27 -17
  222. flowfile_core/flowfile/sources/external_sources/custom_external_sources/sample_users.py +9 -9
  223. flowfile_core/flowfile/sources/external_sources/factory.py +0 -1
  224. flowfile_core/flowfile/sources/external_sources/sql_source/models.py +45 -31
  225. flowfile_core/flowfile/sources/external_sources/sql_source/sql_source.py +198 -73
  226. flowfile_core/flowfile/sources/external_sources/sql_source/utils.py +250 -196
  227. flowfile_core/flowfile/util/calculate_layout.py +9 -13
  228. flowfile_core/flowfile/util/execution_orderer.py +25 -17
  229. flowfile_core/flowfile/util/node_skipper.py +4 -4
  230. flowfile_core/flowfile/utils.py +19 -21
  231. flowfile_core/main.py +26 -19
  232. flowfile_core/routes/auth.py +284 -11
  233. flowfile_core/routes/cloud_connections.py +25 -25
  234. flowfile_core/routes/logs.py +21 -29
  235. flowfile_core/routes/public.py +3 -3
  236. flowfile_core/routes/routes.py +77 -43
  237. flowfile_core/routes/secrets.py +25 -27
  238. flowfile_core/routes/user_defined_components.py +483 -4
  239. flowfile_core/run_lock.py +0 -1
  240. flowfile_core/schemas/__init__.py +4 -6
  241. flowfile_core/schemas/analysis_schemas/graphic_walker_schemas.py +55 -55
  242. flowfile_core/schemas/cloud_storage_schemas.py +59 -55
  243. flowfile_core/schemas/input_schema.py +398 -154
  244. flowfile_core/schemas/output_model.py +50 -35
  245. flowfile_core/schemas/schemas.py +207 -67
  246. flowfile_core/schemas/transform_schema.py +1360 -435
  247. flowfile_core/schemas/yaml_types.py +117 -0
  248. flowfile_core/secret_manager/secret_manager.py +17 -13
  249. flowfile_core/{flowfile/node_designer/data_types.py → types.py} +33 -3
  250. flowfile_core/utils/arrow_reader.py +7 -6
  251. flowfile_core/utils/excel_file_manager.py +3 -3
  252. flowfile_core/utils/fileManager.py +7 -7
  253. flowfile_core/utils/fl_executor.py +8 -10
  254. flowfile_core/utils/utils.py +4 -4
  255. flowfile_core/utils/validate_setup.py +5 -4
  256. flowfile_frame/__init__.py +107 -50
  257. flowfile_frame/adapters.py +2 -9
  258. flowfile_frame/adding_expr.py +73 -32
  259. flowfile_frame/cloud_storage/frame_helpers.py +27 -23
  260. flowfile_frame/cloud_storage/secret_manager.py +12 -26
  261. flowfile_frame/config.py +2 -5
  262. flowfile_frame/expr.py +311 -218
  263. flowfile_frame/expr.pyi +160 -159
  264. flowfile_frame/expr_name.py +23 -23
  265. flowfile_frame/flow_frame.py +581 -489
  266. flowfile_frame/flow_frame.pyi +123 -104
  267. flowfile_frame/flow_frame_methods.py +236 -252
  268. flowfile_frame/group_frame.py +50 -20
  269. flowfile_frame/join.py +2 -2
  270. flowfile_frame/lazy.py +129 -87
  271. flowfile_frame/lazy_methods.py +83 -30
  272. flowfile_frame/list_name_space.py +55 -50
  273. flowfile_frame/selectors.py +148 -68
  274. flowfile_frame/series.py +9 -7
  275. flowfile_frame/utils.py +19 -21
  276. flowfile_worker/__init__.py +12 -4
  277. flowfile_worker/configs.py +11 -19
  278. flowfile_worker/create/__init__.py +14 -27
  279. flowfile_worker/create/funcs.py +143 -94
  280. flowfile_worker/create/models.py +139 -68
  281. flowfile_worker/create/pl_types.py +14 -15
  282. flowfile_worker/create/read_excel_tables.py +34 -41
  283. flowfile_worker/create/utils.py +22 -19
  284. flowfile_worker/external_sources/s3_source/main.py +18 -51
  285. flowfile_worker/external_sources/s3_source/models.py +34 -27
  286. flowfile_worker/external_sources/sql_source/main.py +8 -5
  287. flowfile_worker/external_sources/sql_source/models.py +13 -9
  288. flowfile_worker/flow_logger.py +10 -8
  289. flowfile_worker/funcs.py +214 -155
  290. flowfile_worker/main.py +11 -17
  291. flowfile_worker/models.py +35 -28
  292. flowfile_worker/process_manager.py +2 -3
  293. flowfile_worker/routes.py +121 -93
  294. flowfile_worker/secrets.py +9 -6
  295. flowfile_worker/spawner.py +80 -49
  296. flowfile_worker/utils.py +3 -2
  297. shared/__init__.py +2 -7
  298. shared/storage_config.py +25 -13
  299. test_utils/postgres/commands.py +3 -2
  300. test_utils/postgres/fixtures.py +9 -9
  301. test_utils/s3/commands.py +1 -1
  302. test_utils/s3/data_generator.py +3 -4
  303. test_utils/s3/demo_data_generator.py +4 -7
  304. test_utils/s3/fixtures.py +7 -5
  305. tools/migrate/README.md +56 -0
  306. tools/migrate/__init__.py +12 -0
  307. tools/migrate/__main__.py +118 -0
  308. tools/migrate/legacy_schemas.py +682 -0
  309. tools/migrate/migrate.py +610 -0
  310. tools/migrate/tests/__init__.py +0 -0
  311. tools/migrate/tests/conftest.py +21 -0
  312. tools/migrate/tests/test_migrate.py +622 -0
  313. tools/migrate/tests/test_migration_e2e.py +1009 -0
  314. tools/migrate/tests/test_node_migrations.py +843 -0
  315. flowfile/web/static/assets/CloudConnectionManager-2dfdce2f.css +0 -86
  316. flowfile/web/static/assets/CustomNode-74a37f74.css +0 -32
  317. flowfile/web/static/assets/DatabaseManager-30fa27e5.css +0 -64
  318. flowfile/web/static/assets/Filter-812dcbca.js +0 -164
  319. flowfile/web/static/assets/Filter-f62091b3.css +0 -20
  320. flowfile/web/static/assets/ManualInput-3246a08d.css +0 -96
  321. flowfile/web/static/assets/PivotValidation-891ddfb0.css +0 -13
  322. flowfile/web/static/assets/PivotValidation-c46cd420.css +0 -13
  323. flowfile/web/static/assets/SliderInput-b8fb6a8c.css +0 -4
  324. flowfile/web/static/assets/UnpivotValidation-0d240eeb.css +0 -13
  325. flowfile/web/static/assets/outputCsv-9cc59e0b.css +0 -2499
  326. flowfile/web/static/assets/outputParquet-cf8cf3f2.css +0 -4
  327. flowfile/web/static/assets/secretApi-538058f3.js +0 -46
  328. flowfile/web/static/assets/vue-codemirror-bccfde04.css +0 -32
  329. flowfile-0.4.1.dist-info/RECORD +0 -376
  330. flowfile_core/flowfile/manage/open_flowfile.py +0 -143
  331. {flowfile-0.4.1.dist-info → flowfile-0.5.3.dist-info}/licenses/LICENSE +0 -0
  332. /flowfile_core/flowfile/manage/manage_flowfile.py → /tools/__init__.py +0 -0
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, r as ref, m as watch, b as resolveComponent, c as openBlock, e as createElementBlock, p as createBaseVNode, f as createVNode, i as createCommentVNode, _ as _export_sfc } from "./index-246f201c.js";
1
+ import { d as defineComponent, r as ref, B as watch, l as resolveComponent, o as openBlock, c as createElementBlock, b as createBaseVNode, m as createVNode, f as createCommentVNode, i as _export_sfc } from "./index-fb6493ae.js";
2
2
  const _hoisted_1 = { class: "excel-table-settings" };
3
3
  const _hoisted_2 = { class: "mandatory-section" };
4
4
  const _hoisted_3 = {
@@ -49,8 +49,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
49
49
  };
50
50
  }
51
51
  });
52
- const outputExcel_vue_vue_type_style_index_0_scoped_45248953_lang = "";
53
- const ExcelTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-45248953"]]);
52
+ const outputExcel_vue_vue_type_style_index_0_scoped_5d1c6e86_lang = "";
53
+ const ExcelTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5d1c6e86"]]);
54
54
  export {
55
55
  ExcelTableConfig as default
56
56
  };
@@ -1,102 +1,102 @@
1
1
 
2
- .excel-table-settings[data-v-45248953] {
2
+ .excel-table-settings[data-v-5d1c6e86] {
3
3
  width: 100%;
4
4
  max-width: 600px; /* Set a maximum width for better layout */
5
5
  margin: auto; /* Center align the form */
6
6
  }
7
- .excel-table-settings label[data-v-45248953] {
7
+ .excel-table-settings label[data-v-5d1c6e86] {
8
8
  display: block;
9
9
  margin-bottom: 10px;
10
- color: #333;
10
+ color: var(--color-text-primary);
11
11
  font-size: 16px;
12
12
  font-weight: 500;
13
13
  }
14
- .excel-table-settings input[type="text"][data-v-45248953],
15
- .excel-table-settings input[type="number"][data-v-45248953] {
14
+ .excel-table-settings input[type="text"][data-v-5d1c6e86],
15
+ .excel-table-settings input[type="number"][data-v-5d1c6e86] {
16
16
  width: 100%;
17
17
  padding: 10px 15px;
18
18
  border: 1px solid #ddd;
19
19
  border-radius: 4px;
20
20
  font-size: 16px;
21
- color: #333;
21
+ color: var(--color-text-primary);
22
22
  background-color: #f5f5f5;
23
23
  transition: background-color 0.3s ease;
24
24
  }
25
- .excel-table-settings input[type="text"][data-v-45248953]:hover,
26
- .excel-table-settings input[type="number"][data-v-45248953]:hover {
25
+ .excel-table-settings input[type="text"][data-v-5d1c6e86]:hover,
26
+ .excel-table-settings input[type="number"][data-v-5d1c6e86]:hover {
27
27
  background-color: #e4e4e4;
28
28
  }
29
- .excel-table-settings .checkbox-container[data-v-45248953] {
29
+ .excel-table-settings .checkbox-container[data-v-5d1c6e86] {
30
30
  display: flex;
31
31
  align-items: center;
32
32
  margin-bottom: 10px;
33
33
  }
34
- .excel-table-settings .checkbox-label[data-v-45248953] {
34
+ .excel-table-settings .checkbox-label[data-v-5d1c6e86] {
35
35
  margin-left: 10px;
36
36
  font-size: 16px;
37
37
  }
38
- .excel-table-settings input[type="checkbox"][data-v-45248953] {
39
- accent-color: #333; /* Customize the checkbox color */
38
+ .excel-table-settings input[type="checkbox"][data-v-5d1c6e86] {
39
+ accent-color: var(--color-text-primary); /* Customize the checkbox color */
40
40
  }
41
- .excel-table-settings button[data-v-45248953] {
41
+ .excel-table-settings button[data-v-5d1c6e86] {
42
42
  padding: 10px 15px;
43
43
  border: 1px solid #ddd;
44
44
  border-radius: 4px;
45
45
  font-size: 16px;
46
46
  font-weight: 500;
47
- color: #333;
47
+ color: var(--color-text-primary);
48
48
  background-color: #f5f5f5;
49
49
  cursor: pointer;
50
50
  transition: background-color 0.3s ease;
51
51
  margin-top: 20px; /* Additional spacing above the button */
52
52
  }
53
- .excel-table-settings button[data-v-45248953]:hover {
53
+ .excel-table-settings button[data-v-5d1c6e86]:hover {
54
54
  background-color: #e4e4e4;
55
55
  }
56
- .optional-section[data-v-45248953] {
56
+ .optional-section[data-v-5d1c6e86] {
57
57
  margin-top: 20px;
58
58
  }
59
- .row-inputs[data-v-45248953] {
59
+ .row-inputs[data-v-5d1c6e86] {
60
60
  display: flex;
61
61
  justify-content: space-between;
62
62
  margin-bottom: 20px;
63
63
  }
64
- .input-group[data-v-45248953] {
64
+ .input-group[data-v-5d1c6e86] {
65
65
  display: flex;
66
66
  flex-direction: column;
67
67
  flex-basis: 48%; /* Adjusts the width of each group */
68
68
  }
69
- .input-group label[data-v-45248953] {
69
+ .input-group label[data-v-5d1c6e86] {
70
70
  margin-bottom: 5px;
71
71
  }
72
- .input-group input[type="number"][data-v-45248953] {
72
+ .input-group input[type="number"][data-v-5d1c6e86] {
73
73
  padding: 10px;
74
74
  border: 1px solid #ddd;
75
75
  border-radius: 4px;
76
76
  background-color: #f5f5f5;
77
77
  }
78
- .section-divider[data-v-45248953] {
78
+ .section-divider[data-v-5d1c6e86] {
79
79
  border: none;
80
80
  height: 1px;
81
81
  background-color: #999999; /* Color of the divider */
82
82
  margin: 20px 0; /* Spacing around the divider */
83
83
  }
84
- .checkbox-row[data-v-45248953] {
84
+ .checkbox-row[data-v-5d1c6e86] {
85
85
  display: flex;
86
86
  justify-content: space-between;
87
87
  align-items: center;
88
88
  margin-bottom: 20px;
89
89
  }
90
- .checkbox-group[data-v-45248953] {
90
+ .checkbox-group[data-v-5d1c6e86] {
91
91
  display: flex;
92
92
  align-items: center;
93
93
  margin-bottom: 20px;
94
94
  }
95
- .checkbox-group label[data-v-45248953] {
95
+ .checkbox-group label[data-v-5d1c6e86] {
96
96
  margin-left: 10px;
97
97
  font-size: 16px;
98
98
  font-weight: 500;
99
99
  }
100
- .checkbox-group input[type="checkbox"][data-v-45248953] {
101
- accent-color: #333; /* Customize the checkbox color */
100
+ .checkbox-group input[type="checkbox"][data-v-5d1c6e86] {
101
+ accent-color: var(--color-text-primary); /* Customize the checkbox color */
102
102
  }
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, r as ref, m as watch, c as openBlock, e as createElementBlock, _ as _export_sfc } from "./index-246f201c.js";
1
+ import { d as defineComponent, r as ref, B as watch, o as openBlock, c as createElementBlock, i as _export_sfc } from "./index-fb6493ae.js";
2
2
  const _hoisted_1 = { class: "parquet-table-settings" };
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "outputParquet",
@@ -9,7 +9,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
9
9
  }
10
10
  },
11
11
  emits: ["update:modelValue"],
12
- setup(__props, { emit: __emit }) {
12
+ setup(__props) {
13
13
  const props = __props;
14
14
  const localParquetTable = ref(props.modelValue);
15
15
  watch(
@@ -24,8 +24,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
24
24
  };
25
25
  }
26
26
  });
27
- const outputParquet_vue_vue_type_style_index_0_scoped_7db0128e_lang = "";
28
- const ParquetTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7db0128e"]]);
27
+ const outputParquet_vue_vue_type_style_index_0_scoped_13145634_lang = "";
28
+ const ParquetTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-13145634"]]);
29
29
  export {
30
30
  ParquetTableConfig as default
31
31
  };
@@ -0,0 +1,4 @@
1
+
2
+ .parquet-table-settings button[data-v-13145634]:hover {
3
+ background-color: #e4e4e4;
4
+ }
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, r as ref, m as watch, c as openBlock, e as createElementBlock, p as createBaseVNode, f as createVNode, u as unref, av as ElCheckbox, w as withCtx, F as Fragment, q as renderList, h as createBlock, at as ElOption, au as ElSelect, aw as ElSlider, _ as _export_sfc } from "./index-246f201c.js";
1
+ import { d as defineComponent, r as ref, B as watch, l as resolveComponent, o as openBlock, c as createElementBlock, b as createBaseVNode, m as createVNode, p as withCtx, F as Fragment, D as renderList, x as createBlock, i as _export_sfc } from "./index-fb6493ae.js";
2
2
  const _hoisted_1 = { class: "csv-table-settings" };
3
3
  const _hoisted_2 = { class: "row" };
4
4
  const _hoisted_3 = { class: "row" };
@@ -11,16 +11,13 @@ const _hoisted_9 = { class: "row" };
11
11
  const _sfc_main = /* @__PURE__ */ defineComponent({
12
12
  __name: "readCsv",
13
13
  props: {
14
- modelValue: {
15
- type: Object,
16
- required: true
17
- }
14
+ modelValue: {}
18
15
  },
19
16
  emits: ["update:modelValue"],
20
17
  setup(__props, { emit: __emit }) {
21
18
  const props = __props;
22
19
  const emit = __emit;
23
- const localCsvTable = ref(props.modelValue);
20
+ const localCsvTable = ref({ ...props.modelValue });
24
21
  const updateParent = () => {
25
22
  emit("update:modelValue", localCsvTable.value);
26
23
  };
@@ -38,10 +35,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
38
35
  { deep: true }
39
36
  );
40
37
  return (_ctx, _cache) => {
38
+ const _component_el_checkbox = resolveComponent("el-checkbox");
39
+ const _component_el_option = resolveComponent("el-option");
40
+ const _component_el_select = resolveComponent("el-select");
41
+ const _component_el_slider = resolveComponent("el-slider");
41
42
  return openBlock(), createElementBlock("div", _hoisted_1, [
42
43
  createBaseVNode("div", _hoisted_2, [
43
44
  _cache[8] || (_cache[8] = createBaseVNode("label", { for: "has-headers" }, "Has Headers:", -1)),
44
- createVNode(unref(ElCheckbox), {
45
+ createVNode(_component_el_checkbox, {
45
46
  modelValue: localCsvTable.value.has_headers,
46
47
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => localCsvTable.value.has_headers = $event),
47
48
  size: "large",
@@ -50,7 +51,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
50
51
  ]),
51
52
  createBaseVNode("div", _hoisted_3, [
52
53
  _cache[9] || (_cache[9] = createBaseVNode("label", { for: "delimiter" }, "Delimiter:", -1)),
53
- createVNode(unref(ElSelect), {
54
+ createVNode(_component_el_select, {
54
55
  modelValue: localCsvTable.value.delimiter,
55
56
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => localCsvTable.value.delimiter = $event),
56
57
  placeholder: "Select delimiter",
@@ -60,7 +61,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
60
61
  }, {
61
62
  default: withCtx(() => [
62
63
  (openBlock(true), createElementBlock(Fragment, null, renderList(csv_settings.delimiter_options, (option) => {
63
- return openBlock(), createBlock(unref(ElOption), {
64
+ return openBlock(), createBlock(_component_el_option, {
64
65
  key: option,
65
66
  label: option,
66
67
  value: option
@@ -72,7 +73,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
72
73
  ]),
73
74
  createBaseVNode("div", _hoisted_4, [
74
75
  _cache[10] || (_cache[10] = createBaseVNode("label", { for: "encoding" }, "Encoding:", -1)),
75
- createVNode(unref(ElSelect), {
76
+ createVNode(_component_el_select, {
76
77
  modelValue: localCsvTable.value.encoding,
77
78
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => localCsvTable.value.encoding = $event),
78
79
  placeholder: "Select encoding",
@@ -82,7 +83,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
82
83
  }, {
83
84
  default: withCtx(() => [
84
85
  (openBlock(true), createElementBlock(Fragment, null, renderList(csv_settings.encoding_options, (option) => {
85
- return openBlock(), createBlock(unref(ElOption), {
86
+ return openBlock(), createBlock(_component_el_option, {
86
87
  key: option,
87
88
  label: option,
88
89
  value: option
@@ -94,7 +95,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
94
95
  ]),
95
96
  createBaseVNode("div", _hoisted_5, [
96
97
  _cache[11] || (_cache[11] = createBaseVNode("label", { for: "quote-char" }, "Quote Character:", -1)),
97
- createVNode(unref(ElSelect), {
98
+ createVNode(_component_el_select, {
98
99
  modelValue: localCsvTable.value.quote_char,
99
100
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => localCsvTable.value.quote_char = $event),
100
101
  placeholder: "Select quote character",
@@ -104,7 +105,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
104
105
  }, {
105
106
  default: withCtx(() => [
106
107
  (openBlock(true), createElementBlock(Fragment, null, renderList(csv_settings.quote_char, (option) => {
107
- return openBlock(), createBlock(unref(ElOption), {
108
+ return openBlock(), createBlock(_component_el_option, {
108
109
  key: option,
109
110
  label: option,
110
111
  value: option
@@ -116,7 +117,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
116
117
  ]),
117
118
  createBaseVNode("div", _hoisted_6, [
118
119
  _cache[12] || (_cache[12] = createBaseVNode("label", { for: "row-delimiter" }, "New Line Delimiter:", -1)),
119
- createVNode(unref(ElSelect), {
120
+ createVNode(_component_el_select, {
120
121
  modelValue: localCsvTable.value.row_delimiter,
121
122
  "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => localCsvTable.value.row_delimiter = $event),
122
123
  placeholder: "Select new line delimiter",
@@ -126,7 +127,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
126
127
  }, {
127
128
  default: withCtx(() => [
128
129
  (openBlock(true), createElementBlock(Fragment, null, renderList(csv_settings.row_delimiter, (option) => {
129
- return openBlock(), createBlock(unref(ElOption), {
130
+ return openBlock(), createBlock(_component_el_option, {
130
131
  key: option,
131
132
  label: option,
132
133
  value: option
@@ -138,7 +139,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
138
139
  ]),
139
140
  createBaseVNode("div", _hoisted_7, [
140
141
  _cache[13] || (_cache[13] = createBaseVNode("label", { for: "infer-schema-length" }, "Schema Infer Length:", -1)),
141
- createVNode(unref(ElSlider), {
142
+ createVNode(_component_el_slider, {
142
143
  modelValue: localCsvTable.value.infer_schema_length,
143
144
  "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => localCsvTable.value.infer_schema_length = $event),
144
145
  step: 1e3,
@@ -151,7 +152,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
151
152
  ]),
152
153
  createBaseVNode("div", _hoisted_8, [
153
154
  _cache[14] || (_cache[14] = createBaseVNode("label", { for: "truncate-long-lines" }, "Truncate Long Lines:", -1)),
154
- createVNode(unref(ElCheckbox), {
155
+ createVNode(_component_el_checkbox, {
155
156
  modelValue: localCsvTable.value.truncate_ragged_lines,
156
157
  "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => localCsvTable.value.truncate_ragged_lines = $event),
157
158
  size: "large",
@@ -160,7 +161,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
160
161
  ]),
161
162
  createBaseVNode("div", _hoisted_9, [
162
163
  _cache[15] || (_cache[15] = createBaseVNode("label", { for: "ignore-errors" }, "Ignore Errors:", -1)),
163
- createVNode(unref(ElCheckbox), {
164
+ createVNode(_component_el_checkbox, {
164
165
  modelValue: localCsvTable.value.ignore_errors,
165
166
  "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => localCsvTable.value.ignore_errors = $event),
166
167
  size: "large",
@@ -171,8 +172,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
171
172
  };
172
173
  }
173
174
  });
174
- const readCsv_vue_vue_type_style_index_0_scoped_d0b76f7b_lang = "";
175
- const CsvTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d0b76f7b"]]);
175
+ const readCsv_vue_vue_type_style_index_0_scoped_34ce6429_lang = "";
176
+ const CsvTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-34ce6429"]]);
176
177
  export {
177
178
  CsvTableConfig as default
178
179
  };
@@ -1,9 +1,9 @@
1
1
 
2
- [data-v-d0b76f7b] {
2
+ [data-v-34ce6429] {
3
3
  box-sizing: border-box;
4
4
  }
5
- .csv-table-settings[data-v-d0b76f7b] {
6
- background: #fff;
5
+ .csv-table-settings[data-v-34ce6429] {
6
+ background: var(--color-background-primary);
7
7
  border-radius: 6px;
8
8
  padding: 16px;
9
9
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
@@ -11,7 +11,7 @@
11
11
  max-width: 600px;
12
12
  overflow-x: hidden; /* Prevent horizontal scroll */
13
13
  }
14
- .row[data-v-d0b76f7b] {
14
+ .row[data-v-34ce6429] {
15
15
  display: flex;
16
16
  align-items: center;
17
17
  justify-content: space-between;
@@ -19,34 +19,34 @@
19
19
  gap: 20px;
20
20
  max-width: 100%; /* Prevent overflow */
21
21
  }
22
- label[data-v-d0b76f7b] {
22
+ label[data-v-34ce6429] {
23
23
  font-weight: 500;
24
- color: #333;
24
+ color: var(--color-text-primary);
25
25
  font-size: 14px;
26
26
  flex: 1;
27
27
  max-width: 100%;
28
28
  }
29
- .el-select[data-v-d0b76f7b],
30
- .el-slider[data-v-d0b76f7b],
31
- .el-checkbox[data-v-d0b76f7b] {
29
+ .el-select[data-v-34ce6429],
30
+ .el-slider[data-v-34ce6429],
31
+ .el-checkbox[data-v-34ce6429] {
32
32
  flex: 2;
33
33
  max-width: 100%; /* Prevent overflow */
34
34
  }
35
- .el-slider[data-v-d0b76f7b] {
35
+ .el-slider[data-v-34ce6429] {
36
36
  padding-top: 10px;
37
37
  }
38
- .el-checkbox[data-v-d0b76f7b] {
38
+ .el-checkbox[data-v-34ce6429] {
39
39
  display: flex;
40
40
  align-items: center;
41
41
  }
42
42
  @media (max-width: 600px) {
43
- .row[data-v-d0b76f7b] {
43
+ .row[data-v-34ce6429] {
44
44
  flex-direction: column;
45
45
  align-items: flex-start;
46
46
  }
47
- .el-select[data-v-d0b76f7b],
48
- .el-slider[data-v-d0b76f7b],
49
- .el-checkbox[data-v-d0b76f7b] {
47
+ .el-select[data-v-34ce6429],
48
+ .el-slider[data-v-34ce6429],
49
+ .el-checkbox[data-v-34ce6429] {
50
50
  width: 100%;
51
51
  }
52
52
  }
@@ -1,64 +1,64 @@
1
1
 
2
- .selectors[data-v-e7395814] {
2
+ .selectors[data-v-40344016] {
3
3
  display: flex;
4
4
  flex-direction: column;
5
5
  gap: 12px;
6
6
  }
7
- .input-wrapper[data-v-e7395814] {
7
+ .input-wrapper[data-v-40344016] {
8
8
  display: flex;
9
9
  flex-direction: column;
10
10
  gap: 4px;
11
11
  flex: 1;
12
12
  }
13
- label[data-v-e7395814] {
13
+ label[data-v-40344016] {
14
14
  font-weight: 500;
15
- color: #333;
15
+ color: var(--color-text-primary);
16
16
  font-size: 14px;
17
17
  }
18
- input[data-v-e7395814] {
18
+ input[data-v-40344016] {
19
19
  padding: 6px;
20
20
  border: 1px solid #ccc;
21
21
  border-radius: 4px;
22
22
  font-size: 14px;
23
23
  width: 99%;
24
24
  }
25
- .row[data-v-e7395814] {
25
+ .row[data-v-40344016] {
26
26
  display: flex;
27
27
  align-items: center;
28
28
  justify-content: space-between;
29
29
  gap: 16px;
30
30
  }
31
- .compact-input[data-v-e7395814] {
31
+ .compact-input[data-v-40344016] {
32
32
  width: 96%;
33
33
  padding: 6px;
34
34
  font-size: 14px;
35
35
  border: 1px solid #ccc;
36
36
  border-radius: 4px;
37
37
  }
38
- .button-container[data-v-e7395814] {
38
+ .button-container[data-v-40344016] {
39
39
  display: flex;
40
40
  justify-content: center;
41
41
  margin: 16px 0;
42
42
  }
43
- .optional-section[data-v-e7395814] {
43
+ .optional-section[data-v-40344016] {
44
44
  margin-top: 20px;
45
45
  }
46
- .section-divider[data-v-e7395814] {
46
+ .section-divider[data-v-40344016] {
47
47
  margin: 16px 0;
48
48
  border: none;
49
49
  border-top: 1px solid #ddd;
50
50
  }
51
- .table-sizes[data-v-e7395814] {
51
+ .table-sizes[data-v-40344016] {
52
52
  font-weight: bold;
53
53
  margin-bottom: 10px;
54
54
  }
55
- .warning-sign[data-v-e7395814] {
55
+ .warning-sign[data-v-40344016] {
56
56
  color: #e74c3c;
57
57
  font-size: 16px;
58
58
  margin-left: 8px;
59
59
  }
60
60
  @media (max-width: 600px) {
61
- .row[data-v-e7395814] {
61
+ .row[data-v-40344016] {
62
62
  flex-direction: column;
63
63
  }
64
64
  }
@@ -1,6 +1,6 @@
1
- import { a as axios, d as defineComponent, r as ref, l as computed, n as onMounted, m as watch, b as resolveComponent, c as openBlock, e as createElementBlock, p as createBaseVNode, f as createVNode, w as withCtx, i as createCommentVNode, t as toDisplayString, a8 as withDirectives, a9 as vModelText, h as createBlock, u as unref, _ as _export_sfc } from "./index-246f201c.js";
2
- import { C as ColumnSelector } from "./dropDown-1bca8a74.js";
3
- import { C as CodeLoader } from "./vue-content-loader.es-b5f3ac30.js";
1
+ import { j as axios, d as defineComponent, r as ref, A as computed, C as onMounted, B as watch, l as resolveComponent, o as openBlock, c as createElementBlock, b as createBaseVNode, m as createVNode, p as withCtx, f as createCommentVNode, t as toDisplayString, g as withDirectives, v as vModelText, x as createBlock, s as unref, i as _export_sfc } from "./index-fb6493ae.js";
2
+ import { C as ColumnSelector } from "./dropDown-ac0fda9d.js";
3
+ import { C as CodeLoader } from "./vue-content-loader.es-c506ad97.js";
4
4
  const getXlsxSheetNamesForPath = async (path) => {
5
5
  const response = await axios.get(`/api/get_xlsx_sheet_names?path=${path}`);
6
6
  return response.data;
@@ -32,10 +32,8 @@ const _hoisted_15 = { class: "input-wrapper" };
32
32
  const _sfc_main = /* @__PURE__ */ defineComponent({
33
33
  __name: "readExcel",
34
34
  props: {
35
- modelValue: {
36
- type: Object,
37
- required: true
38
- }
35
+ modelValue: {},
36
+ path: {}
39
37
  },
40
38
  emits: ["update:modelValue"],
41
39
  setup(__props, { emit: __emit }) {
@@ -47,20 +45,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
47
45
  const sheetNames = ref([]);
48
46
  const sheetNamesLoaded = ref(false);
49
47
  const getSheetNames = async () => {
50
- sheetNames.value = await getXlsxSheetNamesForPath(localExcelTable.value.path);
48
+ sheetNames.value = await getXlsxSheetNamesForPath(props.path);
51
49
  sheetNamesLoaded.value = true;
52
50
  };
53
51
  const toggleOptionalSettings = () => {
54
52
  showOptionalSettings.value = !showOptionalSettings.value;
55
53
  };
56
54
  const showWarning = computed(() => {
57
- if (!sheetNamesLoaded.value) {
55
+ if (!sheetNamesLoaded.value || !localExcelTable.value.sheet_name) {
58
56
  return false;
59
57
  }
60
58
  return !sheetNames.value.includes(localExcelTable.value.sheet_name);
61
59
  });
62
60
  onMounted(() => {
63
- if (localExcelTable.value.path) {
61
+ if (props.path) {
64
62
  getSheetNames();
65
63
  }
66
64
  isLoaded.value = true;
@@ -196,8 +194,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
196
194
  };
197
195
  }
198
196
  });
199
- const readExcel_vue_vue_type_style_index_0_scoped_e7395814_lang = "";
200
- const ExcelTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e7395814"]]);
197
+ const readExcel_vue_vue_type_style_index_0_scoped_40344016_lang = "";
198
+ const ExcelTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-40344016"]]);
201
199
  export {
202
200
  ExcelTableConfig as default
203
201
  };
@@ -1,5 +1,5 @@
1
1
 
2
- .parquet-table-settings[data-v-0faf0508] {
2
+ .parquet-table-settings[data-v-64850c4e] {
3
3
  background: #f9fafb;
4
4
  border-radius: 8px;
5
5
  padding: 20px;
@@ -8,12 +8,12 @@
8
8
  margin: 20px auto;
9
9
  text-align: center; /* Center the text */
10
10
  }
11
- .message h2[data-v-0faf0508] {
11
+ .message h2[data-v-64850c4e] {
12
12
  font-size: 24px;
13
13
  color: #3498db;
14
14
  margin-bottom: 10px;
15
15
  }
16
- .message p[data-v-0faf0508] {
16
+ .message p[data-v-64850c4e] {
17
17
  font-size: 16px;
18
- color: #333;
18
+ color: var(--color-text-primary);
19
19
  }
@@ -1,12 +1,9 @@
1
- import { d as defineComponent, c as openBlock, e as createElementBlock, p as createBaseVNode, _ as _export_sfc } from "./index-246f201c.js";
1
+ import { d as defineComponent, o as openBlock, c as createElementBlock, b as createBaseVNode, i as _export_sfc } from "./index-fb6493ae.js";
2
2
  const _hoisted_1 = { class: "parquet-table-settings" };
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "readParquet",
5
5
  props: {
6
- modelValue: {
7
- type: Object,
8
- required: true
9
- }
6
+ modelValue: {}
10
7
  },
11
8
  setup(__props) {
12
9
  return (_ctx, _cache) => {
@@ -19,8 +16,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
19
16
  };
20
17
  }
21
18
  });
22
- const readParquet_vue_vue_type_style_index_0_scoped_0faf0508_lang = "";
23
- const ParquetTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0faf0508"]]);
19
+ const readParquet_vue_vue_type_style_index_0_scoped_64850c4e_lang = "";
20
+ const ParquetTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-64850c4e"]]);
24
21
  export {
25
22
  ParquetTableConfig as default
26
23
  };
@@ -0,0 +1,65 @@
1
+ import { j as axios } from "./index-fb6493ae.js";
2
+ const API_BASE_URL = "/secrets/secrets";
3
+ class SecretsApi {
4
+ /**
5
+ * Fetches the list of secrets from the API
6
+ */
7
+ static async getAll() {
8
+ try {
9
+ const response = await axios.get(API_BASE_URL);
10
+ return response.data;
11
+ } catch (error) {
12
+ console.error("API Error: Failed to load secrets:", error);
13
+ throw error;
14
+ }
15
+ }
16
+ /**
17
+ * Adds a new secret via the API
18
+ */
19
+ static async create(secretData) {
20
+ var _a, _b;
21
+ try {
22
+ await axios.post(API_BASE_URL, secretData);
23
+ } catch (error) {
24
+ console.error("API Error: Failed to add secret:", error);
25
+ const errorMsg = ((_b = (_a = error.response) == null ? void 0 : _a.data) == null ? void 0 : _b.detail) || "Failed to add secret";
26
+ throw new Error(errorMsg);
27
+ }
28
+ }
29
+ /**
30
+ * Fetches the actual value of a specific secret for copying
31
+ */
32
+ static async getValue(secretName) {
33
+ try {
34
+ const response = await axios.get(
35
+ `${API_BASE_URL}/${encodeURIComponent(secretName)}`
36
+ );
37
+ return response.data.value;
38
+ } catch (error) {
39
+ console.error("API Error: Failed to get secret value:", error);
40
+ throw error;
41
+ }
42
+ }
43
+ /**
44
+ * Deletes a secret via the API
45
+ */
46
+ static async delete(secretName) {
47
+ try {
48
+ await axios.delete(`${API_BASE_URL}/${encodeURIComponent(secretName)}`);
49
+ } catch (error) {
50
+ console.error("API Error: Failed to delete secret:", error);
51
+ throw error;
52
+ }
53
+ }
54
+ }
55
+ const fetchSecretsApi = SecretsApi.getAll;
56
+ const addSecretApi = SecretsApi.create;
57
+ const getSecretValueApi = SecretsApi.getValue;
58
+ const deleteSecretApi = SecretsApi.delete;
59
+ export {
60
+ SecretsApi as S,
61
+ addSecretApi as a,
62
+ deleteSecretApi as d,
63
+ fetchSecretsApi as f,
64
+ getSecretValueApi as g
65
+ };