Flowfile 0.5.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 (329) hide show
  1. build_backends/main.py +25 -22
  2. build_backends/main_prd.py +10 -19
  3. flowfile/__init__.py +178 -74
  4. flowfile/__main__.py +10 -7
  5. flowfile/api.py +51 -57
  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-0dfba9f2.js → CloudConnectionView-f13f202b.js} +11 -11
  11. flowfile/web/static/assets/{CloudStorageReader-d5b1b6c9.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-00d87aad.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-4685e75d.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-23e909da.js → ContextMenu-31ee57f0.js} +3 -3
  19. flowfile/web/static/assets/{ContextMenu-70ae0c79.js → ContextMenu-69a74055.js} +3 -3
  20. flowfile/web/static/assets/{ContextMenu-f149cf7c.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-702a3edd.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-b1519993.js → CustomNode-8479239b.js} +36 -24
  27. flowfile/web/static/assets/{DatabaseConnectionSettings-6f3e4ea5.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-d38c7295.js → DatabaseReader-c58b9552.js} +25 -15
  31. flowfile/web/static/assets/DatabaseView-6655afd6.css +57 -0
  32. flowfile/web/static/assets/{DatabaseManager-cf5ef661.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-b04ef46a.js → DatabaseWriter-4d05ddc7.js} +17 -10
  35. flowfile/web/static/assets/{designer-8da3ba3a.css → DesignerView-a6d0ee84.css} +614 -546
  36. flowfile/web/static/assets/{designer-9633482a.js → DesignerView-e6f5c0e8.js} +1107 -3170
  37. flowfile/web/static/assets/{documentation-ca400224.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-5fa10ed8.js → ExploreData-7b54caca.js} +18 -9
  41. flowfile/web/static/assets/{ExternalSource-d39af878.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-6b04fb1d.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-999521f4.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-17dd2198.js → GraphSolver-c7e6780e.js} +13 -11
  51. flowfile/web/static/assets/{GroupBy-6b039e18.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-24d0f113.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-34639209.js → ManualInput-8d3374b2.js} +170 -116
  59. flowfile/web/static/assets/{MultiSelect-0e8724a3.js → MultiSelect-ad1b6243.js} +2 -2
  60. flowfile/web/static/assets/{MultiSelect.vue_vue_type_script_setup_true_lang-b0e538c2.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-3d63a470.js → NumericInput-7100234c.js} +2 -2
  64. flowfile/web/static/assets/{NumericInput.vue_vue_type_script_setup_true_lang-e0edeccc.js → NumericInput.vue_vue_type_script_setup_true_lang-5130219f.js} +5 -2
  65. flowfile/web/static/assets/{Output-283fe388.css → Output-35e97000.css} +6 -6
  66. flowfile/web/static/assets/{Output-edea9802.js → Output-f5efd2aa.js} +12 -9
  67. flowfile/web/static/assets/{GraphSolver-f0cb7bfb.css → Pivot-0eda81b4.css} +5 -5
  68. flowfile/web/static/assets/{Pivot-61d19301.js → Pivot-d981d23c.js} +11 -9
  69. flowfile/web/static/assets/PivotValidation-0e905b1a.css +13 -0
  70. flowfile/web/static/assets/{PivotValidation-f97fec5b.js → PivotValidation-39386e95.js} +3 -3
  71. flowfile/web/static/assets/PivotValidation-41b57ad6.css +13 -0
  72. flowfile/web/static/assets/{PivotValidation-de9f43fe.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-bc3c9984.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-e808b239.css → Read-36e7bd51.css} +12 -12
  78. flowfile/web/static/assets/{Read-64a3f259.js → Read-aec2e377.js} +14 -11
  79. flowfile/web/static/assets/{RecordCount-3d5039be.js → RecordCount-78ed6845.js} +6 -4
  80. flowfile/web/static/assets/{RecordId-597510e0.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-df51adbe.js → SQLQueryComponent-48c72f5b.js} +3 -3
  83. flowfile/web/static/assets/{Sample-4be0a507.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-4839be57.js → SecretsView-17df66ee.js} +35 -36
  87. flowfile/web/static/assets/SecretsView-aa291340.css +38 -0
  88. flowfile/web/static/assets/{Select-9b72f201.js → Select-0aee4c54.js} +9 -7
  89. flowfile/web/static/assets/{SettingsSection-f0f75a42.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-e1e9c953.js → SettingsSection-cd341bb6.js} +3 -3
  94. flowfile/web/static/assets/{SettingsSection-7ded385d.js → SettingsSection-f2002a6d.js} +3 -3
  95. flowfile/web/static/assets/{SingleSelect-6c777aac.js → SingleSelect-460cc0ea.js} +2 -2
  96. flowfile/web/static/assets/{SingleSelect.vue_vue_type_script_setup_true_lang-33e3ff9b.js → SingleSelect.vue_vue_type_script_setup_true_lang-30741bb2.js} +1 -1
  97. flowfile/web/static/assets/{SliderInput-7cb93e62.js → SliderInput-5d926864.js} +7 -4
  98. flowfile/web/static/assets/SliderInput-f2e4f23c.css +4 -0
  99. flowfile/web/static/assets/{Sort-6cbde21a.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-d9a40c11.js → TextInput-a2d0bfbd.js} +2 -2
  102. flowfile/web/static/assets/{TextInput.vue_vue_type_script_setup_true_lang-5896c375.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-c4fcbf4d.js → TextToRows-918945f7.js} +11 -10
  105. flowfile/web/static/assets/{ToggleSwitch-4ef91d19.js → ToggleSwitch-f0ef5196.js} +2 -2
  106. flowfile/web/static/assets/{ToggleSwitch.vue_vue_type_script_setup_true_lang-38478c20.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-a03f512c.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-bfe9b996.js → Union-e8ab8c86.js} +8 -6
  111. flowfile/web/static/assets/{Unique-5d023a27.js → Unique-8cd4f976.js} +13 -10
  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-91cc5354.js → Unpivot-8da14095.js} +10 -8
  115. flowfile/web/static/assets/{UnpivotValidation-7ee2de44.js → UnpivotValidation-6f7d89ff.js} +3 -3
  116. flowfile/web/static/assets/UnpivotValidation-d5ca3b7b.css +13 -0
  117. flowfile/web/static/assets/{VueGraphicWalker-e51b9924.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-cf1221f0.js → api-24483f0d.js} +1 -1
  120. flowfile/web/static/assets/{api-c1bad5ca.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-614b998d.js → dropDown-ac0fda9d.js} +3 -3
  123. flowfile/web/static/assets/{fullEditor-f7971590.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-4fe5f36b.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-5429bbf8.js → index-fb6493ae.js} +41626 -40867
  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-076b85ab.js → outputCsv-8f8ba42d.js} +3 -3
  134. flowfile/web/static/assets/outputCsv-b9a072af.css +2499 -0
  135. flowfile/web/static/assets/{outputExcel-0fd17dbe.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-b61e0847.js → outputParquet-07c81f65.js} +4 -4
  138. flowfile/web/static/assets/outputParquet-54597c3c.css +4 -0
  139. flowfile/web/static/assets/{readCsv-a8bb8b61.js → readCsv-07f6d9ad.js} +3 -3
  140. flowfile/web/static/assets/{readCsv-c767cb37.css → readCsv-3bfac4c3.css} +15 -15
  141. flowfile/web/static/assets/{readExcel-806d2826.css → readExcel-3db6b763.css} +13 -13
  142. flowfile/web/static/assets/{readExcel-67b4aee0.js → readExcel-ed69bc8f.js} +5 -5
  143. flowfile/web/static/assets/{readParquet-48c81530.css → readParquet-c5244ad5.css} +4 -4
  144. flowfile/web/static/assets/{readParquet-92ce1dbc.js → readParquet-e3ed4528.js} +3 -3
  145. flowfile/web/static/assets/secrets.api-002e7d7e.js +65 -0
  146. flowfile/web/static/assets/{selectDynamic-92e25ee3.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-41b0e0d7.js → vue-codemirror.esm-0965f39f.js} +31 -640
  149. flowfile/web/static/assets/{vue-content-loader.es-2c8e608f.js → vue-content-loader.es-c506ad97.js} +1 -1
  150. flowfile/web/static/index.html +2 -2
  151. {flowfile-0.5.1.dist-info → flowfile-0.5.3.dist-info}/METADATA +2 -3
  152. flowfile-0.5.3.dist-info/RECORD +402 -0
  153. flowfile_core/__init__.py +13 -6
  154. flowfile_core/auth/jwt.py +51 -16
  155. flowfile_core/auth/models.py +32 -7
  156. flowfile_core/auth/password.py +89 -0
  157. flowfile_core/auth/secrets.py +8 -6
  158. flowfile_core/configs/__init__.py +9 -7
  159. flowfile_core/configs/flow_logger.py +15 -14
  160. flowfile_core/configs/node_store/__init__.py +72 -4
  161. flowfile_core/configs/node_store/nodes.py +155 -172
  162. flowfile_core/configs/node_store/user_defined_node_registry.py +108 -27
  163. flowfile_core/configs/settings.py +28 -15
  164. flowfile_core/database/connection.py +7 -6
  165. flowfile_core/database/init_db.py +96 -2
  166. flowfile_core/database/models.py +3 -1
  167. flowfile_core/fileExplorer/__init__.py +17 -0
  168. flowfile_core/fileExplorer/funcs.py +123 -57
  169. flowfile_core/fileExplorer/utils.py +10 -11
  170. flowfile_core/flowfile/_extensions/real_time_interface.py +10 -8
  171. flowfile_core/flowfile/analytics/analytics_processor.py +26 -24
  172. flowfile_core/flowfile/analytics/graphic_walker.py +11 -12
  173. flowfile_core/flowfile/analytics/utils.py +1 -1
  174. flowfile_core/flowfile/code_generator/code_generator.py +358 -244
  175. flowfile_core/flowfile/connection_manager/_connection_manager.py +6 -5
  176. flowfile_core/flowfile/connection_manager/models.py +1 -1
  177. flowfile_core/flowfile/database_connection_manager/db_connections.py +60 -44
  178. flowfile_core/flowfile/database_connection_manager/models.py +1 -1
  179. flowfile_core/flowfile/extensions.py +17 -12
  180. flowfile_core/flowfile/flow_data_engine/cloud_storage_reader.py +34 -32
  181. flowfile_core/flowfile/flow_data_engine/create/funcs.py +115 -83
  182. flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +481 -423
  183. flowfile_core/flowfile/flow_data_engine/flow_file_column/interface.py +2 -2
  184. flowfile_core/flowfile/flow_data_engine/flow_file_column/main.py +92 -52
  185. flowfile_core/flowfile/flow_data_engine/flow_file_column/polars_type.py +12 -11
  186. flowfile_core/flowfile/flow_data_engine/flow_file_column/type_registry.py +6 -6
  187. flowfile_core/flowfile/flow_data_engine/flow_file_column/utils.py +26 -30
  188. flowfile_core/flowfile/flow_data_engine/fuzzy_matching/prepare_for_fuzzy_match.py +31 -20
  189. flowfile_core/flowfile/flow_data_engine/join/__init__.py +1 -1
  190. flowfile_core/flowfile/flow_data_engine/join/utils.py +11 -9
  191. flowfile_core/flowfile/flow_data_engine/join/verify_integrity.py +14 -15
  192. flowfile_core/flowfile/flow_data_engine/pivot_table.py +5 -7
  193. flowfile_core/flowfile/flow_data_engine/polars_code_parser.py +95 -82
  194. flowfile_core/flowfile/flow_data_engine/read_excel_tables.py +66 -65
  195. flowfile_core/flowfile/flow_data_engine/sample_data.py +27 -21
  196. flowfile_core/flowfile/flow_data_engine/subprocess_operations/__init__.py +1 -1
  197. flowfile_core/flowfile/flow_data_engine/subprocess_operations/models.py +13 -11
  198. flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +190 -127
  199. flowfile_core/flowfile/flow_data_engine/threaded_processes.py +8 -8
  200. flowfile_core/flowfile/flow_data_engine/utils.py +99 -67
  201. flowfile_core/flowfile/flow_graph.py +918 -571
  202. flowfile_core/flowfile/flow_graph_utils.py +31 -49
  203. flowfile_core/flowfile/flow_node/flow_node.py +330 -233
  204. flowfile_core/flowfile/flow_node/models.py +53 -41
  205. flowfile_core/flowfile/flow_node/schema_callback.py +14 -19
  206. flowfile_core/flowfile/graph_tree/graph_tree.py +41 -41
  207. flowfile_core/flowfile/handler.py +80 -30
  208. flowfile_core/flowfile/manage/compatibility_enhancements.py +209 -126
  209. flowfile_core/flowfile/manage/io_flowfile.py +54 -57
  210. flowfile_core/flowfile/node_designer/__init__.py +15 -13
  211. flowfile_core/flowfile/node_designer/_type_registry.py +34 -37
  212. flowfile_core/flowfile/node_designer/custom_node.py +162 -36
  213. flowfile_core/flowfile/node_designer/ui_components.py +135 -34
  214. flowfile_core/flowfile/schema_callbacks.py +71 -51
  215. flowfile_core/flowfile/setting_generator/__init__.py +0 -1
  216. flowfile_core/flowfile/setting_generator/setting_generator.py +6 -5
  217. flowfile_core/flowfile/setting_generator/settings.py +64 -53
  218. flowfile_core/flowfile/sources/external_sources/base_class.py +12 -10
  219. flowfile_core/flowfile/sources/external_sources/custom_external_sources/external_source.py +27 -17
  220. flowfile_core/flowfile/sources/external_sources/custom_external_sources/sample_users.py +9 -9
  221. flowfile_core/flowfile/sources/external_sources/factory.py +0 -1
  222. flowfile_core/flowfile/sources/external_sources/sql_source/models.py +45 -31
  223. flowfile_core/flowfile/sources/external_sources/sql_source/sql_source.py +198 -73
  224. flowfile_core/flowfile/sources/external_sources/sql_source/utils.py +250 -196
  225. flowfile_core/flowfile/util/calculate_layout.py +9 -13
  226. flowfile_core/flowfile/util/execution_orderer.py +25 -17
  227. flowfile_core/flowfile/util/node_skipper.py +4 -4
  228. flowfile_core/flowfile/utils.py +19 -21
  229. flowfile_core/main.py +26 -19
  230. flowfile_core/routes/auth.py +284 -11
  231. flowfile_core/routes/cloud_connections.py +25 -25
  232. flowfile_core/routes/logs.py +21 -29
  233. flowfile_core/routes/public.py +3 -3
  234. flowfile_core/routes/routes.py +70 -34
  235. flowfile_core/routes/secrets.py +25 -27
  236. flowfile_core/routes/user_defined_components.py +483 -4
  237. flowfile_core/run_lock.py +0 -1
  238. flowfile_core/schemas/__init__.py +4 -6
  239. flowfile_core/schemas/analysis_schemas/graphic_walker_schemas.py +55 -55
  240. flowfile_core/schemas/cloud_storage_schemas.py +59 -53
  241. flowfile_core/schemas/input_schema.py +231 -144
  242. flowfile_core/schemas/output_model.py +49 -34
  243. flowfile_core/schemas/schemas.py +116 -89
  244. flowfile_core/schemas/transform_schema.py +518 -263
  245. flowfile_core/schemas/yaml_types.py +21 -7
  246. flowfile_core/secret_manager/secret_manager.py +17 -13
  247. flowfile_core/types.py +29 -9
  248. flowfile_core/utils/arrow_reader.py +7 -6
  249. flowfile_core/utils/excel_file_manager.py +3 -3
  250. flowfile_core/utils/fileManager.py +7 -7
  251. flowfile_core/utils/fl_executor.py +8 -10
  252. flowfile_core/utils/utils.py +4 -4
  253. flowfile_core/utils/validate_setup.py +5 -4
  254. flowfile_frame/__init__.py +106 -51
  255. flowfile_frame/adapters.py +2 -9
  256. flowfile_frame/adding_expr.py +73 -32
  257. flowfile_frame/cloud_storage/frame_helpers.py +27 -23
  258. flowfile_frame/cloud_storage/secret_manager.py +12 -26
  259. flowfile_frame/config.py +2 -5
  260. flowfile_frame/expr.py +311 -218
  261. flowfile_frame/expr.pyi +160 -159
  262. flowfile_frame/expr_name.py +23 -23
  263. flowfile_frame/flow_frame.py +571 -476
  264. flowfile_frame/flow_frame.pyi +123 -104
  265. flowfile_frame/flow_frame_methods.py +227 -246
  266. flowfile_frame/group_frame.py +50 -20
  267. flowfile_frame/join.py +2 -2
  268. flowfile_frame/lazy.py +129 -87
  269. flowfile_frame/lazy_methods.py +83 -30
  270. flowfile_frame/list_name_space.py +55 -50
  271. flowfile_frame/selectors.py +148 -68
  272. flowfile_frame/series.py +9 -7
  273. flowfile_frame/utils.py +19 -21
  274. flowfile_worker/__init__.py +12 -7
  275. flowfile_worker/configs.py +11 -19
  276. flowfile_worker/create/__init__.py +14 -9
  277. flowfile_worker/create/funcs.py +114 -77
  278. flowfile_worker/create/models.py +46 -43
  279. flowfile_worker/create/pl_types.py +14 -15
  280. flowfile_worker/create/read_excel_tables.py +34 -41
  281. flowfile_worker/create/utils.py +22 -19
  282. flowfile_worker/external_sources/s3_source/main.py +18 -51
  283. flowfile_worker/external_sources/s3_source/models.py +34 -27
  284. flowfile_worker/external_sources/sql_source/main.py +8 -5
  285. flowfile_worker/external_sources/sql_source/models.py +13 -9
  286. flowfile_worker/flow_logger.py +10 -8
  287. flowfile_worker/funcs.py +214 -155
  288. flowfile_worker/main.py +11 -17
  289. flowfile_worker/models.py +35 -28
  290. flowfile_worker/process_manager.py +2 -3
  291. flowfile_worker/routes.py +121 -90
  292. flowfile_worker/secrets.py +9 -6
  293. flowfile_worker/spawner.py +80 -49
  294. flowfile_worker/utils.py +3 -2
  295. shared/__init__.py +2 -7
  296. shared/storage_config.py +25 -13
  297. test_utils/postgres/commands.py +3 -2
  298. test_utils/postgres/fixtures.py +9 -9
  299. test_utils/s3/commands.py +1 -1
  300. test_utils/s3/data_generator.py +3 -4
  301. test_utils/s3/demo_data_generator.py +4 -7
  302. test_utils/s3/fixtures.py +7 -5
  303. tools/migrate/__init__.py +1 -1
  304. tools/migrate/__main__.py +16 -29
  305. tools/migrate/legacy_schemas.py +251 -190
  306. tools/migrate/migrate.py +193 -181
  307. tools/migrate/tests/conftest.py +1 -3
  308. tools/migrate/tests/test_migrate.py +36 -41
  309. tools/migrate/tests/test_migration_e2e.py +28 -29
  310. tools/migrate/tests/test_node_migrations.py +50 -20
  311. flowfile/web/static/assets/CloudConnectionManager-2dfdce2f.css +0 -86
  312. flowfile/web/static/assets/CustomNode-74a37f74.css +0 -32
  313. flowfile/web/static/assets/DatabaseManager-30fa27e5.css +0 -64
  314. flowfile/web/static/assets/Filter-9b6d08db.js +0 -164
  315. flowfile/web/static/assets/Filter-f62091b3.css +0 -20
  316. flowfile/web/static/assets/ManualInput-3246a08d.css +0 -96
  317. flowfile/web/static/assets/PivotValidation-891ddfb0.css +0 -13
  318. flowfile/web/static/assets/PivotValidation-c46cd420.css +0 -13
  319. flowfile/web/static/assets/SliderInput-b8fb6a8c.css +0 -4
  320. flowfile/web/static/assets/UnpivotValidation-0d240eeb.css +0 -13
  321. flowfile/web/static/assets/nodeInput-5d0d6b79.js +0 -41
  322. flowfile/web/static/assets/outputCsv-9cc59e0b.css +0 -2499
  323. flowfile/web/static/assets/outputParquet-cf8cf3f2.css +0 -4
  324. flowfile/web/static/assets/secretApi-68435402.js +0 -46
  325. flowfile/web/static/assets/vue-codemirror-bccfde04.css +0 -32
  326. flowfile-0.5.1.dist-info/RECORD +0 -388
  327. {flowfile-0.5.1.dist-info → flowfile-0.5.3.dist-info}/WHEEL +0 -0
  328. {flowfile-0.5.1.dist-info → flowfile-0.5.3.dist-info}/entry_points.txt +0 -0
  329. {flowfile-0.5.1.dist-info → flowfile-0.5.3.dist-info}/licenses/LICENSE +0 -0
@@ -1,9 +1,11 @@
1
- import { d as defineComponent, r as ref, n as onMounted, R as nextTick, o as onUnmounted, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, F as Fragment, q as renderList, s as normalizeClass, v as withModifiers, t as toDisplayString, h as createBlock, i as createCommentVNode, _ as _export_sfc } from "./index-5429bbf8.js";
2
- import { u as useNodeStore } from "./vue-codemirror.esm-41b0e0d7.js";
3
- import ContextMenu from "./ContextMenu-23e909da.js";
4
- import SettingsSection from "./SettingsSection-f0f75a42.js";
5
- import { G as GenericNodeSettings } from "./genericNodeSettings-4fe5f36b.js";
6
- import "./designer-9633482a.js";
1
+ import { d as defineComponent, r as ref, C as onMounted, X as nextTick, k as onUnmounted, l as resolveComponent, o as openBlock, c as createElementBlock, m as createVNode, p as withCtx, b as createBaseVNode, F as Fragment, D as renderList, n as normalizeClass, w as withModifiers, t as toDisplayString, x as createBlock, f as createCommentVNode, i as _export_sfc } from "./index-fb6493ae.js";
2
+ import { u as useNodeStore } from "./PopOver-b22f049e.js";
3
+ import ContextMenu from "./ContextMenu-8e2051c6.js";
4
+ import SettingsSection from "./SettingsSection-0784e157.js";
5
+ import { G as GenericNodeSettings } from "./genericNodeSettings-99014e1d.js";
6
+ import "./DesignerView-e6f5c0e8.js";
7
+ import "./index-3ba44389.js";
8
+ import "./vue-codemirror.esm-0965f39f.js";
7
9
  const _hoisted_1 = {
8
10
  key: 0,
9
11
  class: "listbox-wrapper"
@@ -280,8 +282,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
280
282
  };
281
283
  }
282
284
  });
283
- const Unpivot_vue_vue_type_style_index_0_scoped_e713e710_lang = "";
284
- const Unpivot = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e713e710"]]);
285
+ const Unpivot_vue_vue_type_style_index_0_scoped_46c439e7_lang = "";
286
+ const Unpivot = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-46c439e7"]]);
285
287
  export {
286
288
  Unpivot as default
287
289
  };
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, l as computed, c as openBlock, h as createBlock, w as withCtx, f as createVNode, p as createBaseVNode, u as unref, ar as ElIcon, e as createElementBlock, i as createCommentVNode, as as ElPopover, _ as _export_sfc } from "./index-5429bbf8.js";
1
+ import { d as defineComponent, A as computed, o as openBlock, x as createBlock, p as withCtx, m as createVNode, b as createBaseVNode, s as unref, au as ElIcon, c as createElementBlock, f as createCommentVNode, av as ElPopover, i as _export_sfc } from "./index-fb6493ae.js";
2
2
  const _hoisted_1 = { class: "validation-wrapper" };
3
3
  const _hoisted_2 = {
4
4
  key: 0,
@@ -44,8 +44,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
44
44
  };
45
45
  }
46
46
  });
47
- const UnpivotValidation_vue_vue_type_style_index_0_scoped_1575257f_lang = "";
48
- const UnpivotValidation = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1575257f"]]);
47
+ const UnpivotValidation_vue_vue_type_style_index_0_scoped_de7ac2a5_lang = "";
48
+ const UnpivotValidation = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-de7ac2a5"]]);
49
49
  export {
50
50
  UnpivotValidation as default
51
51
  };
@@ -0,0 +1,13 @@
1
+
2
+ .validation-wrapper[data-v-de7ac2a5] {
3
+ background-color: var(--color-background-primary);
4
+ }
5
+ .error-message[data-v-de7ac2a5] {
6
+ color: #991b1b;
7
+ margin: 5px 0;
8
+ font-size: 12px;
9
+ }
10
+ .warning-icon[data-v-de7ac2a5] {
11
+ cursor: pointer;
12
+ font-size: 24px;
13
+ }
@@ -1,4 +1,4 @@
1
- import { k as getDefaultExportFromCjs, d as defineComponent, r as ref, n as onMounted, o as onUnmounted, c as openBlock, e as createElementBlock, aj as toRaw, _ as _export_sfc } from "./index-5429bbf8.js";
1
+ import { z as getDefaultExportFromCjs, d as defineComponent, r as ref, C as onMounted, k as onUnmounted, o as openBlock, c as createElementBlock, aq as toRaw, i as _export_sfc } from "./index-fb6493ae.js";
2
2
  function _mergeNamespaces(n10, m10) {
3
3
  for (var i = 0; i < m10.length; i++) {
4
4
  const e19 = m10[i];
@@ -121411,7 +121411,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
121411
121411
  const container = ref(null);
121412
121412
  let reactRootInstance = null;
121413
121413
  const internalStoreRef = ref({ current: null });
121414
- const dummyComputation = async (_payload) => {
121414
+ const dummyComputation = async () => {
121415
121415
  console.warn(
121416
121416
  "Dummy computation function called. This should not happen when providing local data."
121417
121417
  );
@@ -121493,8 +121493,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
121493
121493
  };
121494
121494
  }
121495
121495
  });
121496
- const VueGraphicWalker_vue_vue_type_style_index_0_scoped_5af75af4_lang = "";
121497
- const VueGraphicWalker = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5af75af4"]]);
121496
+ const VueGraphicWalker_vue_vue_type_style_index_0_scoped_3671032b_lang = "";
121497
+ const VueGraphicWalker = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3671032b"]]);
121498
121498
  export {
121499
121499
  VueGraphicWalker as default
121500
121500
  };
@@ -1,5 +1,5 @@
1
1
 
2
- div[data-v-5af75af4] {
2
+ div[data-v-3671032b] {
3
3
  width: 100%;
4
4
  min-height: 500px;
5
5
  height: 100%;
@@ -1,4 +1,4 @@
1
- import { a as axios } from "./index-5429bbf8.js";
1
+ import { j as axios } from "./index-fb6493ae.js";
2
2
  const API_BASE_URL = "/db_connection_lib";
3
3
  const toPythonFormat = (connection) => {
4
4
  return {
@@ -1,4 +1,4 @@
1
- import { a as axios } from "./index-5429bbf8.js";
1
+ import { j as axios } from "./index-fb6493ae.js";
2
2
  const API_BASE_URL = "/cloud_connections";
3
3
  const toPythonFormat = (connection) => {
4
4
  return {
@@ -1,5 +1,5 @@
1
1
 
2
- .sr-only[data-v-0fe9cf29] {
2
+ .sr-only[data-v-837d0f9b] {
3
3
  position: absolute;
4
4
  width: 1px;
5
5
  height: 1px;
@@ -9,44 +9,44 @@
9
9
  clip: rect(0, 0, 0, 0);
10
10
  border: 0;
11
11
  }
12
- .dropdown-container[data-v-0fe9cf29] {
12
+ .dropdown-container[data-v-837d0f9b] {
13
13
  position: relative;
14
14
  width: 100%;
15
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
15
+ font-family: var(--font-family-base);
16
16
  }
17
- .input-wrapper[data-v-0fe9cf29] {
17
+ .input-wrapper[data-v-837d0f9b] {
18
18
  position: relative;
19
19
  display: flex;
20
20
  align-items: center;
21
21
  }
22
- .select-box[data-v-0fe9cf29] {
22
+ .select-box[data-v-837d0f9b] {
23
23
  width: 100%;
24
24
  box-sizing: border-box;
25
25
  padding: 8px 30px 8px 12px;
26
26
  font-size: 14px;
27
27
  line-height: 1.4;
28
- border: 1px solid #e0e0e0;
28
+ border: 1px solid var(--color-border-primary);
29
29
  border-radius: 6px;
30
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
30
+ box-shadow: var(--shadow-xs);
31
31
  outline: none;
32
32
  transition: all 0.2s ease;
33
- background-color: white;
34
- color: #333;
33
+ background-color: var(--color-background-primary);
34
+ color: var(--color-text-primary);
35
35
  }
36
- .select-box[data-v-0fe9cf29]:focus {
36
+ .select-box[data-v-837d0f9b]:focus {
37
37
  border-color: #3182ce;
38
38
  box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.15);
39
39
  }
40
- .select-box.has-error[data-v-0fe9cf29] {
40
+ .select-box.has-error[data-v-837d0f9b] {
41
41
  border-color: #e53e3e;
42
42
  box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.15);
43
43
  }
44
- .select-box[data-v-0fe9cf29]:disabled {
45
- background-color: #f9f9f9;
44
+ .select-box[data-v-837d0f9b]:disabled {
45
+ background-color: var(--color-background-muted);
46
46
  cursor: not-allowed;
47
47
  opacity: 0.7;
48
48
  }
49
- .icon-container[data-v-0fe9cf29] {
49
+ .icon-container[data-v-837d0f9b] {
50
50
  position: absolute;
51
51
  right: 10px;
52
52
  top: 50%;
@@ -56,71 +56,71 @@
56
56
  align-items: center;
57
57
  justify-content: center;
58
58
  }
59
- .dropdown-icon[data-v-0fe9cf29] {
59
+ .dropdown-icon[data-v-837d0f9b] {
60
60
  width: 16px;
61
61
  height: 16px;
62
62
  color: #718096;
63
63
  transition: transform 0.2s ease;
64
64
  }
65
- .options-container[data-v-0fe9cf29] {
65
+ .options-container[data-v-837d0f9b] {
66
66
  position: fixed;
67
67
  z-index: 9999;
68
68
  width: 100%;
69
69
  margin-top: 4px;
70
70
  }
71
- .options-list[data-v-0fe9cf29] {
72
- background: white;
71
+ .options-list[data-v-837d0f9b] {
72
+ background: var(--color-background-primary);
73
73
  border-radius: 6px;
74
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
74
+ box-shadow: var(--shadow-lg);
75
75
  max-height: 220px;
76
76
  overflow-y: auto;
77
77
  list-style: none;
78
78
  margin: 0;
79
79
  padding: 4px 0;
80
- border: 1px solid #e2e8f0;
80
+ border: 1px solid var(--color-border-primary);
81
81
  scrollbar-width: thin;
82
82
  }
83
- .options-list[data-v-0fe9cf29]::-webkit-scrollbar {
83
+ .options-list[data-v-837d0f9b]::-webkit-scrollbar {
84
84
  width: 6px;
85
85
  }
86
- .options-list[data-v-0fe9cf29]::-webkit-scrollbar-track {
87
- background: #f7fafc;
86
+ .options-list[data-v-837d0f9b]::-webkit-scrollbar-track {
87
+ background: var(--color-background-secondary);
88
88
  }
89
- .options-list[data-v-0fe9cf29]::-webkit-scrollbar-thumb {
90
- background-color: #cbd5e0;
89
+ .options-list[data-v-837d0f9b]::-webkit-scrollbar-thumb {
90
+ background-color: var(--color-border-secondary);
91
91
  border-radius: 3px;
92
92
  }
93
- .option-item[data-v-0fe9cf29] {
93
+ .option-item[data-v-837d0f9b] {
94
94
  padding: 8px 12px;
95
95
  cursor: pointer;
96
96
  font-size: 14px;
97
- color: #4a5568;
97
+ color: var(--color-text-primary);
98
98
  line-height: 1.5;
99
99
  transition: all 0.15s ease;
100
100
  border-left: 2px solid transparent;
101
101
  }
102
- .option-item[data-v-0fe9cf29]:hover,
103
- .option-item.is-active[data-v-0fe9cf29] {
104
- background-color: #ebf8ff;
105
- color: #3182ce;
106
- border-left-color: #3182ce;
102
+ .option-item[data-v-837d0f9b]:hover,
103
+ .option-item.is-active[data-v-837d0f9b] {
104
+ background-color: var(--color-background-hover);
105
+ color: var(--color-accent);
106
+ border-left-color: var(--color-accent);
107
107
  }
108
- .no-options[data-v-0fe9cf29] {
108
+ .no-options[data-v-837d0f9b] {
109
109
  padding: 10px 12px;
110
110
  font-size: 14px;
111
111
  color: #718096;
112
112
  text-align: center;
113
113
  font-style: italic;
114
114
  }
115
- .spinner[data-v-0fe9cf29] {
115
+ .spinner[data-v-837d0f9b] {
116
116
  width: 16px;
117
117
  height: 16px;
118
118
  border: 2px solid rgba(49, 130, 206, 0.2);
119
119
  border-top: 2px solid #3182ce;
120
120
  border-radius: 50%;
121
- animation: spin-0fe9cf29 0.8s linear infinite;
121
+ animation: spin-837d0f9b 0.8s linear infinite;
122
122
  }
123
- @keyframes spin-0fe9cf29 {
123
+ @keyframes spin-837d0f9b {
124
124
  0% {
125
125
  transform: rotate(0deg);
126
126
  }
@@ -130,14 +130,14 @@
130
130
  }
131
131
 
132
132
  /* Fade transition for dropdown */
133
- .fade-enter-active[data-v-0fe9cf29],
134
- .fade-leave-active[data-v-0fe9cf29] {
133
+ .fade-enter-active[data-v-837d0f9b],
134
+ .fade-leave-active[data-v-837d0f9b] {
135
135
  transition:
136
136
  opacity 0.15s,
137
137
  transform 0.15s;
138
138
  }
139
- .fade-enter-from[data-v-0fe9cf29],
140
- .fade-leave-to[data-v-0fe9cf29] {
139
+ .fade-enter-from[data-v-837d0f9b],
140
+ .fade-leave-to[data-v-837d0f9b] {
141
141
  opacity: 0;
142
142
  transform: translateY(-5px);
143
143
  }
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, r as ref, l as computed, n as onMounted, o as onUnmounted, m as watch, R as nextTick, c as openBlock, e as createElementBlock, p as createBaseVNode, t as toDisplayString, a8 as withDirectives, a9 as vModelText, s as normalizeClass, f as createVNode, w as withCtx, F as Fragment, q as renderList, v as withModifiers, i as createCommentVNode, ac as Transition, _ as _export_sfc } from "./index-5429bbf8.js";
1
+ import { d as defineComponent, r as ref, A as computed, C as onMounted, k as onUnmounted, B as watch, X as nextTick, o as openBlock, c as createElementBlock, b as createBaseVNode, t as toDisplayString, g as withDirectives, v as vModelText, n as normalizeClass, m as createVNode, p as withCtx, F as Fragment, D as renderList, w as withModifiers, f as createCommentVNode, ag as Transition, i as _export_sfc } from "./index-fb6493ae.js";
2
2
  const _hoisted_1 = { class: "input-wrapper" };
3
3
  const _hoisted_2 = ["placeholder", "aria-expanded", "aria-controls", "aria-activedescendant", "disabled"];
4
4
  const _hoisted_3 = { class: "icon-container" };
@@ -312,8 +312,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
312
312
  };
313
313
  }
314
314
  });
315
- const dropDown_vue_vue_type_style_index_0_scoped_0fe9cf29_lang = "";
316
- const ColumnSelector = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0fe9cf29"]]);
315
+ const dropDown_vue_vue_type_style_index_0_scoped_837d0f9b_lang = "";
316
+ const ColumnSelector = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-837d0f9b"]]);
317
317
  export {
318
318
  ColumnSelector as C
319
319
  };
@@ -4,8 +4,9 @@ var __publicField = (obj, key, value) => {
4
4
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
5
  return value;
6
6
  };
7
- import { u as useNodeStore, P as PopOver, V as ViewPlugin, p as Decoration, q as EditorState, r as autocompletion, R as RangeSetBuilder, o as T } from "./vue-codemirror.esm-41b0e0d7.js";
8
- import { d as defineComponent, r as ref, m as watch, n as onMounted, c as openBlock, e as createElementBlock, q as renderList, p as createBaseVNode, t as toDisplayString, F as Fragment, _ as _export_sfc, s as normalizeClass, f as createVNode, w as withCtx, X as shallowRef, u as unref, a as axios, R as nextTick, i as createCommentVNode, l as computed, aq as debounce, T as normalizeStyle, h as createBlock } from "./index-5429bbf8.js";
7
+ import { u as useNodeStore, P as PopOver } from "./PopOver-b22f049e.js";
8
+ import { d as defineComponent, r as ref, B as watch, C as onMounted, o as openBlock, c as createElementBlock, D as renderList, b as createBaseVNode, t as toDisplayString, F as Fragment, i as _export_sfc, n as normalizeClass, m as createVNode, p as withCtx, a2 as shallowRef, s as unref, j as axios, X as nextTick, f as createCommentVNode, A as computed, at as debounce, Z as normalizeStyle, x as createBlock } from "./index-fb6493ae.js";
9
+ import { V as ViewPlugin, x as Decoration, c as EditorState, d as autocompletion, R as RangeSetBuilder, T } from "./vue-codemirror.esm-0965f39f.js";
9
10
  const _hoisted_1$5 = { class: "cool-button-container" };
10
11
  const _hoisted_2$4 = ["onClick"];
11
12
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
@@ -70,8 +71,8 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
70
71
  };
71
72
  }
72
73
  });
73
- const columnsSelector_vue_vue_type_style_index_0_scoped_93995232_lang = "";
74
- const ColumnSelector = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-93995232"]]);
74
+ const columnsSelector_vue_vue_type_style_index_0_scoped_1880a394_lang = "";
75
+ const ColumnSelector = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-1880a394"]]);
75
76
  const _hoisted_1$4 = { class: "radio-menu" };
76
77
  const _hoisted_2$3 = ["onClick"];
77
78
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
@@ -398,8 +399,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
398
399
  };
399
400
  }
400
401
  });
401
- const instantFuncResults_vue_vue_type_style_index_0_scoped_66ed8b64_lang = "";
402
- const InstantFuncResults = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-66ed8b64"]]);
402
+ const instantFuncResults_vue_vue_type_style_index_0_scoped_eefd07b6_lang = "";
403
+ const InstantFuncResults = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-eefd07b6"]]);
403
404
  const _hoisted_1$1 = ["onClick"];
404
405
  const _hoisted_2$1 = {
405
406
  key: 0,
@@ -501,8 +502,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
501
502
  };
502
503
  }
503
504
  });
504
- const FuncSelector_vue_vue_type_style_index_0_scoped_967e57c5_lang = "";
505
- const FuncSelector = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-967e57c5"]]);
505
+ const FuncSelector_vue_vue_type_style_index_0_scoped_23c7de42_lang = "";
506
+ const FuncSelector = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-23c7de42"]]);
506
507
  const _hoisted_1 = { class: "container" };
507
508
  const _hoisted_2 = { class: "selector" };
508
509
  const _hoisted_3 = {
@@ -622,8 +623,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
622
623
  };
623
624
  }
624
625
  });
625
- const fullEditor_vue_vue_type_style_index_0_scoped_9df088eb_lang = "";
626
- const mainEditorRef = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9df088eb"]]);
626
+ const fullEditor_vue_vue_type_style_index_0_scoped_c3de5604_lang = "";
627
+ const mainEditorRef = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c3de5604"]]);
627
628
  export {
628
629
  mainEditorRef as default
629
630
  };
@@ -1,14 +1,15 @@
1
1
 
2
- .cool-button-container[data-v-93995232] {
2
+ .cool-button-container[data-v-1880a394] {
3
3
  display: flex;
4
4
  flex-direction: column;
5
5
  align-items: start;
6
6
  }
7
- .cool-button[data-v-93995232] {
8
- width: 100%; /* Ensure the button takes full width of the container */
9
- max-width: 200px; /* Set a max-width if you want to control the maximum button size */
7
+ .cool-button[data-v-1880a394] {
8
+ width: 100%;
9
+ max-width: 200px;
10
10
  border: none;
11
- color: rgb(0, 0, 0);
11
+ color: var(--color-text-primary);
12
+ background-color: transparent;
12
13
  padding: 3px 3px;
13
14
  text-align: left;
14
15
  display: inline-block;
@@ -17,15 +18,16 @@
17
18
  border-radius: 4px;
18
19
  white-space: nowrap;
19
20
  overflow: hidden;
20
- text-overflow: ellipsis; /* Add ellipsis for overflow text */
21
+ text-overflow: ellipsis;
21
22
  }
22
- .cool-button[data-v-93995232]:hover {
23
- background-color: #bcbcbc;
23
+ .cool-button[data-v-1880a394]:hover {
24
+ background-color: var(--color-background-hover);
24
25
  }
25
- .sidebar-title[data-v-93995232] {
26
+ .sidebar-title[data-v-1880a394] {
26
27
  font-size: 16px;
27
28
  font-weight: bold;
28
29
  padding: 10px;
30
+ color: var(--color-text-primary);
29
31
  }
30
32
 
31
33
  .radio-menu[data-v-a8e433fb] {
@@ -62,6 +64,8 @@
62
64
  display: flex;
63
65
  flex-direction: column;
64
66
  }
67
+
68
+ /* Custom syntax highlighting - these are specific to this editor */
65
69
  .cm-function {
66
70
  color: #f08d49;
67
71
  font-weight: bold;
@@ -73,14 +77,14 @@
73
77
  color: #b8bb26;
74
78
  }
75
79
 
76
- .container[data-v-66ed8b64] {
80
+ .container[data-v-eefd07b6] {
77
81
  width: 100%;
78
82
  margin: 12px 0 0 0;
79
83
  font-family:
80
84
  -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans",
81
85
  "Helvetica Neue", sans-serif;
82
86
  }
83
- .result-content[data-v-66ed8b64] {
87
+ .result-content[data-v-eefd07b6] {
84
88
  display: flex;
85
89
  width: 100%;
86
90
  border-radius: 6px;
@@ -88,17 +92,17 @@
88
92
  height: auto;
89
93
  min-height: 48px;
90
94
  }
91
- .result-content.success .label[data-v-66ed8b64] {
95
+ .result-content.success .label[data-v-eefd07b6] {
92
96
  background: #1a202c;
93
97
  }
94
- .result-content.loading .label[data-v-66ed8b64] {
98
+ .result-content.loading .label[data-v-eefd07b6] {
95
99
  background: #1a202c;
96
100
  }
97
- .result-content.error .label[data-v-66ed8b64] {
101
+ .result-content.error .label[data-v-eefd07b6] {
98
102
  background: #7f1d1d;
99
103
  color: rgba(255, 255, 255, 0.9);
100
104
  }
101
- .label[data-v-66ed8b64] {
105
+ .label[data-v-eefd07b6] {
102
106
  flex: 0 0 150px;
103
107
  padding: 14px 16px;
104
108
  display: flex;
@@ -108,7 +112,7 @@
108
112
  color: rgba(255, 255, 255, 0.84);
109
113
  position: relative;
110
114
  }
111
- .label[data-v-66ed8b64]::after {
115
+ .label[data-v-eefd07b6]::after {
112
116
  content: "";
113
117
  position: absolute;
114
118
  top: 50%;
@@ -118,7 +122,7 @@
118
122
  transform: translateY(-50%);
119
123
  background-color: rgba(255, 255, 255, 0.1);
120
124
  }
121
- .content[data-v-66ed8b64] {
125
+ .content[data-v-eefd07b6] {
122
126
  flex: 1;
123
127
  padding: 14px 20px;
124
128
  color: rgb(0, 0, 0);
@@ -127,17 +131,17 @@
127
131
  line-height: 1.5;
128
132
  overflow-wrap: break-word;
129
133
  word-break: break-word;
130
- background-color: #ffffff;
134
+ background-color: var(--color-background-primary);
131
135
  }
132
- .result-content.error .content[data-v-66ed8b64] {
133
- background-color: #ffffff;
134
- color: #000000;
136
+ .result-content.error .content[data-v-eefd07b6] {
137
+ background-color: var(--color-background-primary);
138
+ color: var(--color-text-error);
135
139
  }
136
- .result-content.loading .label[data-v-66ed8b64] {
140
+ .result-content.loading .label[data-v-eefd07b6] {
137
141
  display: flex;
138
142
  align-items: center;
139
143
  }
140
- .result-content .label[data-v-66ed8b64]::before {
144
+ .result-content .label[data-v-eefd07b6]::before {
141
145
  content: "";
142
146
  display: inline-block;
143
147
  width: 10px;
@@ -145,20 +149,20 @@
145
149
  margin-right: 8px;
146
150
  border-radius: 50%;
147
151
  }
148
- .result-content.success .label[data-v-66ed8b64]::before {
152
+ .result-content.success .label[data-v-eefd07b6]::before {
149
153
  background-color: #10b981;
150
154
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.2);
151
155
  }
152
- .result-content.loading .label[data-v-66ed8b64]::before {
156
+ .result-content.loading .label[data-v-eefd07b6]::before {
153
157
  background-color: #8b5cf6;
154
158
  box-shadow: 0 0 0 4px rgba(139, 92, 246, 0.2);
155
- animation: pulse-66ed8b64 1.5s infinite ease-in-out;
159
+ animation: pulse-eefd07b6 1.5s infinite ease-in-out;
156
160
  }
157
- .result-content.error .label[data-v-66ed8b64]::before {
161
+ .result-content.error .label[data-v-eefd07b6]::before {
158
162
  background-color: #ef4444;
159
163
  box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.2);
160
164
  }
161
- @keyframes pulse-66ed8b64 {
165
+ @keyframes pulse-eefd07b6 {
162
166
  0% {
163
167
  opacity: 0.4;
164
168
  transform: scale(0.8);
@@ -173,27 +177,31 @@
173
177
  }
174
178
  }
175
179
 
176
- .toggle-icon[data-v-967e57c5] {
180
+ .toggle-icon[data-v-23c7de42] {
177
181
  margin-left: 10px;
178
182
  font-weight: bold;
179
183
  }
180
- .tree-subview[data-v-967e57c5] {
184
+ .tree-node[data-v-23c7de42] {
185
+ color: var(--color-text-primary);
186
+ }
187
+ .tree-subview[data-v-23c7de42] {
181
188
  list-style-type: none;
182
189
  padding-left: 20px;
183
190
  }
184
- .tree-leaf[data-v-967e57c5] {
191
+ .tree-leaf[data-v-23c7de42] {
185
192
  margin-bottom: 5px;
186
193
  }
187
- .cool-button-container[data-v-967e57c5] {
194
+ .cool-button-container[data-v-23c7de42] {
188
195
  display: flex;
189
196
  flex-direction: column;
190
197
  align-items: start;
191
198
  }
192
- .cool-button[data-v-967e57c5] {
193
- width: 100%; /* Ensure the button takes full width of the container */
194
- max-width: 200px; /* Set a max-width if you want to control the maximum button size */
199
+ .cool-button[data-v-23c7de42] {
200
+ width: 100%;
201
+ max-width: 200px;
195
202
  border: none;
196
- color: rgb(0, 0, 0);
203
+ color: var(--color-text-primary);
204
+ background-color: transparent;
197
205
  padding: 3px 3px;
198
206
  text-align: left;
199
207
  display: inline-block;
@@ -202,55 +210,59 @@
202
210
  border-radius: 4px;
203
211
  white-space: nowrap;
204
212
  overflow: hidden;
205
- text-overflow: ellipsis; /* Add ellipsis for overflow text */
213
+ text-overflow: ellipsis;
206
214
  }
207
- .cool-button[data-v-967e57c5]:hover {
208
- background-color: #bcbcbc;
215
+ .cool-button[data-v-23c7de42]:hover {
216
+ background-color: var(--color-background-hover);
209
217
  }
210
218
 
211
- .selector[data-v-9df088eb] {
219
+ .selector[data-v-c3de5604] {
212
220
  overflow-y: scroll;
213
221
  max-height: 300px;
214
222
  }
215
- .container[data-v-9df088eb] {
223
+ .container[data-v-c3de5604] {
216
224
  display: flex;
217
- border: 1px solid #ccc;
225
+ border: 1px solid var(--color-border-primary);
218
226
  border-radius: 5px;
219
227
  overflow: hidden;
220
- height: 100%; /* Make it take full height */
228
+ height: 100%;
221
229
  cursor: auto;
230
+ background-color: var(--color-background-primary);
222
231
  }
223
- .options-container[data-v-9df088eb] {
224
- flex-shrink: 0; /* Prevent shrinking */
225
- min-width: 50px; /* Minimum width */
226
- max-height: 300px; /* Maximum height */
232
+ .options-container[data-v-c3de5604] {
233
+ flex-shrink: 0;
234
+ min-width: 50px;
235
+ max-height: 300px;
227
236
  padding-left: 5px;
228
237
  padding-right: 5px;
229
238
  z-index: 1;
230
- overflow-y: auto; /* Make it scrollable */
239
+ overflow-y: auto;
240
+ background-color: var(--color-background-primary);
241
+ color: var(--color-text-primary);
231
242
  }
232
- .resizer[data-v-9df088eb] {
243
+ .resizer[data-v-c3de5604] {
233
244
  width: 5px;
234
- cursor: ew-resize; /* East-west resize cursor */
235
- background-color: #ddd;
236
- border-right: 0.5px solid #ccc;
237
- flex-shrink: 0; /* Prevent shrinking */
245
+ cursor: ew-resize;
246
+ background-color: var(--color-border-primary);
247
+ border-right: 0.5px solid var(--color-border-secondary);
248
+ flex-shrink: 0;
238
249
  }
239
- .editor-wrapper[data-v-9df088eb] {
240
- flex-grow: 1; /* Take up the remaining space */
250
+ .editor-wrapper[data-v-c3de5604] {
251
+ flex-grow: 1;
241
252
  flex-direction: column;
242
- overflow: hidden; /* Hide overflow */
253
+ overflow: hidden;
254
+ background-color: var(--color-background-secondary);
243
255
  }
244
- .prism-editor-ref[data-v-9df088eb] {
256
+ .prism-editor-ref[data-v-c3de5604] {
245
257
  flex: 1;
246
258
  padding: 1px;
247
- min-height: 0px; /* Important to make it respect the parent's height */
259
+ min-height: 0px;
248
260
  }
249
- .error-box-wrapper[data-v-9df088eb] {
261
+ .error-box-wrapper[data-v-c3de5604] {
250
262
  overflow-y: auto;
251
- border-top: 1px solid #ccc;
263
+ border-top: 1px solid var(--color-border-primary);
252
264
  }
253
- .divider[data-v-9df088eb] {
254
- border-top: 1px solid #ccc;
265
+ .divider[data-v-c3de5604] {
266
+ border-top: 1px solid var(--color-border-primary);
255
267
  padding-bottom: 10px;
256
268
  }