Flowfile 0.3.6__py3-none-any.whl → 0.3.7__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.

Potentially problematic release.


This version of Flowfile might be problematic. Click here for more details.

Files changed (98) hide show
  1. flowfile/__init__.py +27 -6
  2. flowfile/api.py +1 -0
  3. flowfile/web/__init__.py +2 -2
  4. flowfile/web/static/assets/{CloudConnectionManager-d004942f.js → CloudConnectionManager-c20a740f.js} +3 -4
  5. flowfile/web/static/assets/{CloudStorageReader-eccf9fc2.js → CloudStorageReader-960b400a.js} +7 -7
  6. flowfile/web/static/assets/{CloudStorageWriter-b1ba6bba.js → CloudStorageWriter-e3decbdd.js} +7 -7
  7. flowfile/web/static/assets/{CrossJoin-68981877.js → CrossJoin-d67e2405.js} +8 -8
  8. flowfile/web/static/assets/{DatabaseConnectionSettings-0b06649c.js → DatabaseConnectionSettings-a81e0f7e.js} +2 -2
  9. flowfile/web/static/assets/{DatabaseManager-8349a426.js → DatabaseManager-9ea35e84.js} +2 -2
  10. flowfile/web/static/assets/{DatabaseReader-905344f8.js → DatabaseReader-9578bfa5.js} +9 -9
  11. flowfile/web/static/assets/{DatabaseWriter-9f5b8638.js → DatabaseWriter-19531098.js} +9 -9
  12. flowfile/web/static/assets/{ExploreData-131a6d53.js → ExploreData-40476474.js} +47141 -43697
  13. flowfile/web/static/assets/{ExternalSource-e3549dcc.js → ExternalSource-2297ef96.js} +6 -6
  14. flowfile/web/static/assets/{Filter-6e0730ae.js → Filter-f211c03a.js} +8 -8
  15. flowfile/web/static/assets/{Formula-02f033e6.js → Formula-4207ea31.js} +8 -8
  16. flowfile/web/static/assets/{FuzzyMatch-54c14036.js → FuzzyMatch-bf120df0.js} +9 -9
  17. flowfile/web/static/assets/{GraphSolver-08a3f499.js → GraphSolver-5bb7497a.js} +5 -5
  18. flowfile/web/static/assets/{GroupBy-2ae38139.js → GroupBy-92c81b65.js} +6 -6
  19. flowfile/web/static/assets/{Join-493b9772.js → Join-4e49a274.js} +9 -9
  20. flowfile/web/static/assets/{ManualInput-4373d163.js → ManualInput-90998ae8.js} +5 -5
  21. flowfile/web/static/assets/{Output-b534f3c7.js → Output-81e3e917.js} +4 -4
  22. flowfile/web/static/assets/{Pivot-2968ff65.js → Pivot-a3419842.js} +6 -6
  23. flowfile/web/static/assets/{PolarsCode-65136536.js → PolarsCode-72710deb.js} +6 -6
  24. flowfile/web/static/assets/{Read-c56339ed.js → Read-c4059daf.js} +6 -6
  25. flowfile/web/static/assets/{RecordCount-1c641a5e.js → RecordCount-c2b5e095.js} +5 -5
  26. flowfile/web/static/assets/{RecordId-df308b8f.js → RecordId-10baf191.js} +6 -6
  27. flowfile/web/static/assets/{Sample-293e8a64.js → Sample-3ed9a0ae.js} +5 -5
  28. flowfile/web/static/assets/{SecretManager-03911655.js → SecretManager-0d49c0e8.js} +2 -2
  29. flowfile/web/static/assets/{Select-3058a13d.js → Select-8a02a0b3.js} +8 -8
  30. flowfile/web/static/assets/{SettingsSection-fbf4fb39.js → SettingsSection-4c0f45f5.js} +1 -1
  31. flowfile/web/static/assets/{Sort-a29bbaf7.js → Sort-f55c9f9d.js} +6 -6
  32. flowfile/web/static/assets/{TextToRows-c7d7760e.js → TextToRows-5dbc2145.js} +8 -8
  33. flowfile/web/static/assets/{UnavailableFields-118f1d20.js → UnavailableFields-a1768e52.js} +2 -2
  34. flowfile/web/static/assets/{Union-f0589571.js → Union-f2aefdc9.js} +5 -5
  35. flowfile/web/static/assets/{Unique-7329a207.js → Unique-46b250da.js} +8 -8
  36. flowfile/web/static/assets/{Unpivot-30b0be15.js → Unpivot-25ac84cc.js} +5 -5
  37. flowfile/web/static/assets/{api-fb67319c.js → api-6ef0dcef.js} +1 -1
  38. flowfile/web/static/assets/{api-602fb95c.js → api-a0abbdc7.js} +1 -1
  39. flowfile/web/static/assets/{designer-94a6bf4d.js → designer-13eabd83.js} +4 -4
  40. flowfile/web/static/assets/{documentation-a224831e.js → documentation-b87e7f6f.js} +1 -1
  41. flowfile/web/static/assets/{dropDown-c2d2aa97.js → dropDown-13564764.js} +1 -1
  42. flowfile/web/static/assets/{fullEditor-921ac5fd.js → fullEditor-fd2cd6f9.js} +2 -2
  43. flowfile/web/static/assets/{genericNodeSettings-7013cc94.js → genericNodeSettings-71e11604.js} +3 -3
  44. flowfile/web/static/assets/{index-3a75211d.js → index-f6c15e76.js} +46 -22
  45. flowfile/web/static/assets/{nodeTitle-a63d4680.js → nodeTitle-988d9efe.js} +3 -3
  46. flowfile/web/static/assets/{secretApi-763aec6e.js → secretApi-dd636aa2.js} +1 -1
  47. flowfile/web/static/assets/{selectDynamic-08464729.js → selectDynamic-af36165e.js} +3 -3
  48. flowfile/web/static/assets/{vue-codemirror.esm-f15a5f87.js → vue-codemirror.esm-2847001e.js} +1 -1
  49. flowfile/web/static/assets/{vue-content-loader.es-93bd09d7.js → vue-content-loader.es-0371da73.js} +1 -1
  50. flowfile/web/static/index.html +1 -1
  51. {flowfile-0.3.6.dist-info → flowfile-0.3.7.dist-info}/METADATA +2 -2
  52. {flowfile-0.3.6.dist-info → flowfile-0.3.7.dist-info}/RECORD +96 -94
  53. flowfile_core/__init__.py +1 -0
  54. flowfile_core/auth/jwt.py +39 -0
  55. flowfile_core/configs/node_store/nodes.py +1 -0
  56. flowfile_core/configs/settings.py +6 -5
  57. flowfile_core/flowfile/code_generator/code_generator.py +71 -0
  58. flowfile_core/flowfile/flow_data_engine/cloud_storage_reader.py +1 -1
  59. flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +597 -309
  60. flowfile_core/flowfile/flow_data_engine/polars_code_parser.py +3 -1
  61. flowfile_core/flowfile/flow_graph.py +619 -191
  62. flowfile_core/flowfile/flow_graph_utils.py +2 -2
  63. flowfile_core/flowfile/flow_node/flow_node.py +500 -89
  64. flowfile_core/flowfile/flow_node/models.py +125 -20
  65. flowfile_core/flowfile/handler.py +2 -33
  66. flowfile_core/flowfile/manage/open_flowfile.py +1 -2
  67. flowfile_core/flowfile/util/calculate_layout.py +0 -2
  68. flowfile_core/flowfile/utils.py +36 -5
  69. flowfile_core/main.py +32 -13
  70. flowfile_core/routes/cloud_connections.py +7 -11
  71. flowfile_core/routes/logs.py +2 -6
  72. flowfile_core/routes/public.py +1 -0
  73. flowfile_core/routes/routes.py +127 -51
  74. flowfile_core/routes/secrets.py +72 -14
  75. flowfile_core/schemas/__init__.py +8 -0
  76. flowfile_core/schemas/input_schema.py +92 -64
  77. flowfile_core/schemas/output_model.py +19 -3
  78. flowfile_core/schemas/schemas.py +144 -11
  79. flowfile_core/schemas/transform_schema.py +82 -17
  80. flowfile_frame/__init__.py +9 -1
  81. flowfile_frame/cloud_storage/__init__.py +0 -0
  82. flowfile_frame/cloud_storage/frame_helpers.py +39 -0
  83. flowfile_frame/cloud_storage/secret_manager.py +73 -0
  84. flowfile_frame/expr.py +28 -1
  85. flowfile_frame/expr.pyi +76 -61
  86. flowfile_frame/flow_frame.py +232 -110
  87. flowfile_frame/flow_frame.pyi +140 -91
  88. flowfile_frame/flow_frame_methods.py +150 -12
  89. flowfile_frame/group_frame.py +3 -0
  90. flowfile_frame/utils.py +25 -3
  91. test_utils/s3/data_generator.py +1 -0
  92. test_utils/s3/demo_data_generator.py +186 -0
  93. test_utils/s3/fixtures.py +6 -1
  94. flowfile_core/schemas/defaults.py +0 -9
  95. flowfile_core/schemas/models.py +0 -193
  96. {flowfile-0.3.6.dist-info → flowfile-0.3.7.dist-info}/LICENSE +0 -0
  97. {flowfile-0.3.6.dist-info → flowfile-0.3.7.dist-info}/WHEEL +0 -0
  98. {flowfile-0.3.6.dist-info → flowfile-0.3.7.dist-info}/entry_points.txt +0 -0
@@ -1,84 +1,84 @@
1
1
  build_backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  build_backends/main.py,sha256=hLmfqTeHLSTiwwZ5mUuoLQgtO40Igvl1_4NbnvzWSgI,9912
3
3
  build_backends/main_prd.py,sha256=JR2tYCMWM5ThooQjv5pw6nwVKMQjgsiHgKMhYn9NXWI,6927
4
- flowfile/__init__.py,sha256=4vt8jdrNT9PXtXWe-bwTaAJOBIgzWC9UrcjNC_xtN2s,2499
4
+ flowfile/__init__.py,sha256=kQ10o5ueV_t_wRXShd1FTlLmCpGxeS4InxA6VurC7UE,4025
5
5
  flowfile/__main__.py,sha256=cpWeAL9Xw2qHfm52ZCAQzQhjoOAmVFSXPL-8MrnWAxA,2540
6
- flowfile/api.py,sha256=PqlYPJqXqq4z0jW4w1r-rhrdzEX5WfwcMOZ87osOw4Q,18634
7
- flowfile/web/__init__.py,sha256=mFAAdo3rQGi3b_fu5FJH69JR0eHWUg44AHW03MuRChQ,5756
6
+ flowfile/api.py,sha256=TDxw2g6cF_A94jTDAwTEnVyve99i3UJMjC9D0z8KgSg,18720
7
+ flowfile/web/__init__.py,sha256=DMbHVQ2yVopshBQr5dBIn7hqrxO9RqCdwc_CA9Kd6F0,5780
8
8
  flowfile/web/static/assets/CloudConnectionManager-2dfdce2f.css,sha256=Lf3OL7Vgg7ns0m6C0FiCNY0h4vgKALPrvTTkETjQmdc,1621
9
- flowfile/web/static/assets/CloudConnectionManager-d004942f.js,sha256=MQn3rZJbTdIQ6DBSf5vOVcSlDvrxdC-8RLHgc5Vsmk0,35859
9
+ flowfile/web/static/assets/CloudConnectionManager-c20a740f.js,sha256=HCr-EGu2ZPo3ZEcEU5ILcDd8zHCQaFjuZh4FpgGUSqQ,35768
10
10
  flowfile/web/static/assets/CloudStorageReader-29d14fcc.css,sha256=KdFPzPpEdf69gKbDLTPG_bk5QvJKaFXLloUjfzg67-s,3154
11
- flowfile/web/static/assets/CloudStorageReader-eccf9fc2.js,sha256=6DZ03aqncuexzom0a3oDqFnKKp6Az9qQcA0THYRFaqE,20147
11
+ flowfile/web/static/assets/CloudStorageReader-960b400a.js,sha256=likrJ4fbPN4tK5Bl-6KnfwcjD6HSnGuvPejHPaI6Syk,20147
12
12
  flowfile/web/static/assets/CloudStorageWriter-49c9a4b2.css,sha256=Scmkso12uXmZ-tGW6vuK9WvXZVKKe74q1Zb0Fdgo44s,3145
13
- flowfile/web/static/assets/CloudStorageWriter-b1ba6bba.js,sha256=Mio97TYFRE5WaXCkkNqCf1roVPNnt3UGfyqSYg2mz_Y,19734
13
+ flowfile/web/static/assets/CloudStorageWriter-e3decbdd.js,sha256=yStJaEUqpNc85m3ImAAIFGCyxf9i6wJnWpzagt2A-dM,19734
14
14
  flowfile/web/static/assets/CrossJoin-41efa4cb.css,sha256=Qe-ky2QI7rYfXMKV-bCB5HP0OJ6uBU74g9EEmcpXTlc,2838
15
- flowfile/web/static/assets/CrossJoin-68981877.js,sha256=0Ayv_bFYATgPLHgmGmnBrqXQZFSqSaTnHE1a-5wZ7ug,5904
16
- flowfile/web/static/assets/DatabaseConnectionSettings-0b06649c.js,sha256=z0h8xSkWzSWZ6z3TPsUxliwr4KYFYkdYxb5exHoqY1k,6563
15
+ flowfile/web/static/assets/CrossJoin-d67e2405.js,sha256=4NBPV78gIAgzTKCpNa2HXOPtxTmoCikGKU9DyKqt5sM,5904
17
16
  flowfile/web/static/assets/DatabaseConnectionSettings-0c04b2e5.css,sha256=DASy5awRYSMypTwMX6ksZtrVQhtp1ViT0Jowclr_uLA,1975
17
+ flowfile/web/static/assets/DatabaseConnectionSettings-a81e0f7e.js,sha256=nAJF8Xuks7cL9kOmJUGLp3uFKMexp87G_vhB5pSQEZA,6563
18
18
  flowfile/web/static/assets/DatabaseManager-30fa27e5.css,sha256=MPon5eN71wE49i0Ecfy9LQoGX75ArlRNOGWVb28xGlI,1242
19
- flowfile/web/static/assets/DatabaseManager-8349a426.js,sha256=9A2_cGzRt-XlDDPbk2Gni5CebLnrSNO8kiP7QYZv4U0,21191
20
- flowfile/web/static/assets/DatabaseReader-905344f8.js,sha256=YAa15nFis-o0GQIhq5al45GJJF6mboKgKFiGbJENSQ0,18471
19
+ flowfile/web/static/assets/DatabaseManager-9ea35e84.js,sha256=SJ0Sp7LRnsBkRHQCcwKbY2G1utNMxLbK-GzwDHrUw84,21191
20
+ flowfile/web/static/assets/DatabaseReader-9578bfa5.js,sha256=nmNU-Jc4mFK4Y_Lh7BICD5k22qNBzleDVBgfrYmvsKs,18471
21
21
  flowfile/web/static/assets/DatabaseReader-f50c6558.css,sha256=9QxlWNkGS95WJhX7_bD4CrN3BcammfwfMl6HkbdOTEE,3741
22
+ flowfile/web/static/assets/DatabaseWriter-19531098.js,sha256=6n0S7BrN12Pibk5R8Q8O4sfV0opsspdVNRJY06EE7yA,13879
22
23
  flowfile/web/static/assets/DatabaseWriter-2f570e53.css,sha256=L1cOU0rF-auXKMDQEYPI8F1SCgfjW64rTSEFSNfanlw,2453
23
- flowfile/web/static/assets/DatabaseWriter-9f5b8638.js,sha256=_gMZRLZx0SP5RqTToZUopJW0ruSVQGJQ3YC1w75ZLFI,13879
24
- flowfile/web/static/assets/ExploreData-131a6d53.js,sha256=qrQ4Q3zVHsOuZGPVeGV4iIdeZ0P9Ux94ZeEJN6cIkfg,5479762
24
+ flowfile/web/static/assets/ExploreData-40476474.js,sha256=tpumfJiJzy1Ts77pNcQjQ59b8LtEDYE3RFEiJoisqio,5592916
25
25
  flowfile/web/static/assets/ExploreData-5bdae813.css,sha256=W9roE_zrPPgD0dajRpedNal0_7jod1WLMiMgIuMt1qM,1095
26
- flowfile/web/static/assets/ExternalSource-e3549dcc.js,sha256=O03dDdC_vIfczG0fWkvPV1R68yrIDtEx8yNUDf6A9tI,8002
26
+ flowfile/web/static/assets/ExternalSource-2297ef96.js,sha256=9CkO5qeByMYrdypzjSb4h_4zAhE2x0T3-69PKG2SnKo,8002
27
27
  flowfile/web/static/assets/ExternalSource-e37b6275.css,sha256=43tidVv7Ch_x09-4F3WHgzkLNuQfT_xFBh7zi75Fft8,2316
28
- flowfile/web/static/assets/Filter-6e0730ae.js,sha256=TQ3DxmfrSE6rVFHlOT33QIAhAVIRu1fLvqObbedqCoE,10427
29
28
  flowfile/web/static/assets/Filter-a9d08ba1.css,sha256=qdCLoUHadYgx2Ip748TA_O6XyCUTEcE8QuLmJvruWEY,781
30
- flowfile/web/static/assets/Formula-02f033e6.js,sha256=XafXSyqCXvtdPNjvzgUNbt9K6kRKjvLiPR1xBXRSK-k,9674
29
+ flowfile/web/static/assets/Filter-f211c03a.js,sha256=iqkyuH2uZG6HaZLOpvH5S4sKtovBWRAksJDOd34Ie8U,10427
31
30
  flowfile/web/static/assets/Formula-29f19d21.css,sha256=KfGdIQEtNjgW2AAtOk74JeggrYq0oiQOhfCVys5L-Q8,671
32
- flowfile/web/static/assets/FuzzyMatch-54c14036.js,sha256=YDkPUKcbSucqm2LfB-XO48-oROXNRL7RL9Gmk3Y7oeQ,20023
31
+ flowfile/web/static/assets/Formula-4207ea31.js,sha256=c8qaKdO16O7Ayen5cIB_IoDGFPcu6OAWv_qesKc_urI,9674
33
32
  flowfile/web/static/assets/FuzzyMatch-6857de82.css,sha256=aFfegjmKGaavTjs7g4sPI3Cyf3eu4y0flFzODZANyJU,5448
34
- flowfile/web/static/assets/GraphSolver-08a3f499.js,sha256=VHfbgCkfyVgCkXMXbLcFq14eTvI6XGE-9umMbEoJEWo,15442
33
+ flowfile/web/static/assets/FuzzyMatch-bf120df0.js,sha256=os-cZUbTfcZ9lhV9aAD9BB1W1B7qp-Lm8s1xjh_LIcc,20023
35
34
  flowfile/web/static/assets/GraphSolver-17fd26db.css,sha256=F_0m2_7rHKQ5jteIjmZ31NyjIXZCI0e_oJ_c8fmeH8s,1413
36
- flowfile/web/static/assets/GroupBy-2ae38139.js,sha256=cygxRu-7HmfXbF436WiCHBsGhiFg1XVH88E5BmY5EAo,17294
35
+ flowfile/web/static/assets/GraphSolver-5bb7497a.js,sha256=vrO-tUXGGtDN42vsuqotHz1B0hPtzTxgg7f1BYBnF0A,15442
36
+ flowfile/web/static/assets/GroupBy-92c81b65.js,sha256=OrcqtagHVskVaZJVF8BogDTRPZxSEnD57TemjulCPRA,17294
37
37
  flowfile/web/static/assets/GroupBy-ab1ea74b.css,sha256=qx6nS0najhKOHM_DQLdszyydztKIfbnfS1Q8MMaozgo,1272
38
- flowfile/web/static/assets/Join-493b9772.js,sha256=Rxr-n6CCiZT_lvALdWEgnPzxYYPCLhCMbR9mnP8OtmI,11683
38
+ flowfile/web/static/assets/Join-4e49a274.js,sha256=rRFZUUQFxd1OuRtr_gh-7Ml-lTTMMyQVfoI25m3iLYE,11683
39
39
  flowfile/web/static/assets/Join-f45eff22.css,sha256=9F7_IuDRRzaGjGq_Jm7BB3iIyvxxdghHKQN6lIYfsjo,2351
40
- flowfile/web/static/assets/ManualInput-4373d163.js,sha256=X1pcEn-n6Tq1FPuXLLlvR3CzpYo0lgPUTPfoWMmx0rw,18285
40
+ flowfile/web/static/assets/ManualInput-90998ae8.js,sha256=oTGPl7X7iTDIO0S0_8ADF4dz_jl7q2joQQtFItoVbqc,18285
41
41
  flowfile/web/static/assets/ManualInput-a71b52c6.css,sha256=pxtSxvOKaahySvuGII68Y_Cq1LjV4F_YyLYfy0tfHfk,2045
42
42
  flowfile/web/static/assets/Output-48f81019.css,sha256=SPgQGb_nR9q6TUEG5eICBdfB9PBvUmWtJRM3iv-BLYo,352098
43
- flowfile/web/static/assets/Output-b534f3c7.js,sha256=H37dF3AXazBoAyX-wC4DmLpiKKb34e35ogf1EjIjwmw,20932
44
- flowfile/web/static/assets/Pivot-2968ff65.js,sha256=--ilqyi85gYL8c5OH7UGbVPENWKszRlxdOSIx5pgs0c,16641
43
+ flowfile/web/static/assets/Output-81e3e917.js,sha256=aaaNQonfzgzsG3hyBdOwz3KkvizztnSQGxvD-Gx-zFY,20932
44
+ flowfile/web/static/assets/Pivot-a3419842.js,sha256=vXH4Yuo4zvoze1NoP6cXQBL-ZpNjcfHSjQMDNl3MTt8,16641
45
45
  flowfile/web/static/assets/Pivot-f415e85f.css,sha256=9BXoXzqyFxLjSN0APdMk3tOX4hYp5Rm6278sOd5FzLQ,678
46
46
  flowfile/web/static/assets/PolarsCode-650322d1.css,sha256=ZQMi0XF5KAv0-3WUVI-51K63gTMJifbhWC8kYtPkBbs,555
47
- flowfile/web/static/assets/PolarsCode-65136536.js,sha256=HSZPNGH5i9f-Iag4VtdFDeqgLNDKKBEuHfYvp7bXHYU,11070
47
+ flowfile/web/static/assets/PolarsCode-72710deb.js,sha256=qiFwDGr5Igu_IKDI17sEl5Ooc57X6J1HmMWyRQ9MOII,11070
48
48
  flowfile/web/static/assets/Read-80dc1675.css,sha256=gNwWda__zBwSDUVxt7oKGiKB-z-tj0H0ROQthMvDNhU,3975
49
- flowfile/web/static/assets/Read-c56339ed.js,sha256=O_o_aZkG-apVTbWypmNgRkzpToO1Tk56V_5z8FmsEAE,28383
50
- flowfile/web/static/assets/RecordCount-1c641a5e.js,sha256=BOae0rjRSdRY2Umv6KpZE3dTC11oEUEYJObiTZvbexA,4250
51
- flowfile/web/static/assets/RecordId-df308b8f.js,sha256=yWVOB9tDSdgBFG9bvUIk_SiGoPcd7g5deWB9IxSjoWU,14830
52
- flowfile/web/static/assets/Sample-293e8a64.js,sha256=EfmUWdq8JYmv4WemmW2sdRLYof3sZxTpFKUZKO_WGME,7046
53
- flowfile/web/static/assets/SecretManager-03911655.js,sha256=03dtFbQbBLSIMHGKWF0FUO6FOYz-_zk9u8QzU3j3oEE,16198
54
- flowfile/web/static/assets/Select-3058a13d.js,sha256=Z6BNy8E_TYg0u7gPTDuWLfYHenNlgcXSKtu7j7wt4Vw,8531
49
+ flowfile/web/static/assets/Read-c4059daf.js,sha256=bWu8CHChgBhHF-We3xRBKfuVW3W5j415oRwpszzCK5Y,28383
50
+ flowfile/web/static/assets/RecordCount-c2b5e095.js,sha256=Vu46kvBRs8FxGqtcP3dPIFS4MYWWYtkkhTwVS17tRsA,4250
51
+ flowfile/web/static/assets/RecordId-10baf191.js,sha256=Coc-Q8cNvav44okIcJSrbIiP0rMG37_um2RJRe1VGd4,14830
52
+ flowfile/web/static/assets/Sample-3ed9a0ae.js,sha256=FW5qO-jY-pfm0BufoA2ivhoMJk26Qhc50B-0STc4mNg,7046
53
+ flowfile/web/static/assets/SecretManager-0d49c0e8.js,sha256=hI7NLHzAkj4kvSXKMfYjtM6fbwh9w6SX59xOpCN6NbE,16198
54
+ flowfile/web/static/assets/Select-8a02a0b3.js,sha256=mEY_1Je9X6Y8-BlkK0_kZmbtGJJ_0Dlzk-B2j1APL4U,8531
55
+ flowfile/web/static/assets/SettingsSection-4c0f45f5.js,sha256=LBm2qkblvIPL8vVk0U1VrsUoq4rGUCkCb8QipKUOR14,3449
55
56
  flowfile/web/static/assets/SettingsSection-9c836ecc.css,sha256=nINuzFyCzLJoIEU5l-IQxPvP6eRRfdEk2mAH7gSfLFE,988
56
- flowfile/web/static/assets/SettingsSection-fbf4fb39.js,sha256=wgcYnp8iOV6sSFyyQEAjGXvgVTDLZqIHOZ0CLELv7JE,3449
57
57
  flowfile/web/static/assets/Sort-7ccfa0fe.css,sha256=fM-g_iik339gSkOk-7C0VH3sbcSvBAZ05wzOYa13izI,1272
58
- flowfile/web/static/assets/Sort-a29bbaf7.js,sha256=GN4HkM-OWhTtKDHvnj2FXHNI0SKwuKKU3Z8Y82l_ztQ,13662
59
- flowfile/web/static/assets/TextToRows-c7d7760e.js,sha256=nU03jfGTKPa2n7h8XG_MjxM6P-bQt1pTvC6S98UBhYM,13753
58
+ flowfile/web/static/assets/Sort-f55c9f9d.js,sha256=9SIjX3e-_IuYoyTm9f_-qEws1Pu8IX4oP--np3TtzgE,13662
59
+ flowfile/web/static/assets/TextToRows-5dbc2145.js,sha256=XENJrKAguHPONGfkvAajrKAqJaPSk2aJNU92GWp82oU,13753
60
60
  flowfile/web/static/assets/TextToRows-c92d1ec2.css,sha256=yS0ewva76G5zLWBuM0pBMht8uLG_deq759uuVMJM1fU,839
61
- flowfile/web/static/assets/UnavailableFields-118f1d20.js,sha256=L5x4zziKaV2zd6iY8LqgnA056rBFPcjTwBiB7UiEVDo,1245
62
61
  flowfile/web/static/assets/UnavailableFields-5edd5322.css,sha256=Xt1TInpopOWG_eHq77x7tpg9HJ4UEds_OcnuyPsruNc,1146
62
+ flowfile/web/static/assets/UnavailableFields-a1768e52.js,sha256=p67v1Mie90P2KAy2y9p_mtlnVLoBsvrHbyJspi7MXdE,1245
63
63
  flowfile/web/static/assets/Union-8d9ac7f9.css,sha256=jZrH-YPCY2PeNyL6pgKMepdiItH9RJErX8PbgdfBJrc,605
64
- flowfile/web/static/assets/Union-f0589571.js,sha256=dh1kqvHzr4nbBG4zMoTKOmw-TynGJM2mh5i37BbooRk,5006
65
- flowfile/web/static/assets/Unique-7329a207.js,sha256=Ut8Re7tGy25LvFROw7c9qIx5v9V1ToijKrBHW4UQJk0,10097
64
+ flowfile/web/static/assets/Union-f2aefdc9.js,sha256=14z9JSBZ4HDZ8bKUNwsRjxkdTOaR9qb1pbHohYnbxC8,5006
65
+ flowfile/web/static/assets/Unique-46b250da.js,sha256=U40XTCaLNgvFejBeA0tdFGOQzyddbbmgB5vwX86NzFM,10097
66
66
  flowfile/web/static/assets/Unique-b5615727.css,sha256=tWFXJydKrd1MCKOOWv4tCWiTqi46PdEVoIIqBVNIVd4,1272
67
67
  flowfile/web/static/assets/Unpivot-246e9bbd.css,sha256=JG6bvXhm4hOKJTfiAS0bEKbA7L3KDZvIaMQUef9fkWI,1593
68
- flowfile/web/static/assets/Unpivot-30b0be15.js,sha256=3mHQUQQzQq3dCLD4Les7Gkj6AsjdP7rZSjJgCKCGv-Q,18414
68
+ flowfile/web/static/assets/Unpivot-25ac84cc.js,sha256=gICOeaTaCad_iL2h3kM3HaRMZbSgUuLPNEx6H3yJPQM,18414
69
69
  flowfile/web/static/assets/airbyte-292aa232.png,sha256=KSqiMiLlZ9SSDOuaN7TXiVatwlEHiWT1Z1FdcV9-7wE,10456
70
- flowfile/web/static/assets/api-602fb95c.js,sha256=Q3ac_bJu7xVOYN_LnduuVR93eR0Byv_9zDRs82lLSiI,2174
71
- flowfile/web/static/assets/api-fb67319c.js,sha256=1infW40zs0K8YhQxCmHprEJfFcI5soPa3GSC_byRbME,3111
70
+ flowfile/web/static/assets/api-6ef0dcef.js,sha256=mtVmOL4LAxBTnKNAvE_3MTzg-jRadWLAA5IVTisEPqM,3111
71
+ flowfile/web/static/assets/api-a0abbdc7.js,sha256=5MXdex3OTpI_q4XOV6k6fvGEyI0kjj69wlBVJBQLMTM,2174
72
72
  flowfile/web/static/assets/cloud_storage_reader-aa1415d6.png,sha256=qhQV1j6sLj5Y8mYbonyvmawB7yRMxpYUJZvqRMn2ZFA,6085
73
73
  flowfile/web/static/assets/cross_join-d30c0290.png,sha256=0wwCkKGjCkcIJhCO1ZTy8ZKezANsYPaeYWf9w_LBKSQ,19192
74
74
  flowfile/web/static/assets/database_reader-ce1e55f3.svg,sha256=zh5V87BPAEOyMKkOQz0LSU_hsgrgodKeEKgsZrTs-Uk,1419
75
75
  flowfile/web/static/assets/database_writer-b4ad0753.svg,sha256=tK0HU1fxo8ksAySP8hud8S0txXfVg6iqqta5v4ltF-k,1259
76
+ flowfile/web/static/assets/designer-13eabd83.js,sha256=MOxLPZ7fuV1SkJSQwXtbUCXFCNRYQJASlvfqY5JiCSU,2627380
76
77
  flowfile/web/static/assets/designer-186f2e71.css,sha256=GG8ucUFRgHhWMCJqKTH2midxTU9QfOCmwhS7Qp5xADc,317431
77
- flowfile/web/static/assets/designer-94a6bf4d.js,sha256=EDIyZX1UFhY3q0Hwdjqwey9z8RmHlcaYwkl4p-Vj3zI,2627380
78
78
  flowfile/web/static/assets/documentation-12216a74.css,sha256=EiFqdFDNczJt_IeP7KJyv7MGCvYRiSuSaUcSs6MHWpE,1200
79
- flowfile/web/static/assets/documentation-a224831e.js,sha256=Q9IPSY7yu-gxl37U4_7wbqz_hxqMD3V1JPXyDf_KnxE,1198
79
+ flowfile/web/static/assets/documentation-b87e7f6f.js,sha256=fUG4o93ifogQm0Vri6pmSkUBSZrlnjRnQVZ8qxW7S2I,1198
80
+ flowfile/web/static/assets/dropDown-13564764.js,sha256=1bdxx_-ofqNVLhlrvnlEnqUBTlrG1DhQQY6l8i55Yek,11474
80
81
  flowfile/web/static/assets/dropDown-35135ba8.css,sha256=NRNbqLG5Ckh7uE1m5Z038kTCFnYcFUCD4iTUU1i6VPU,3176
81
- flowfile/web/static/assets/dropDown-c2d2aa97.js,sha256=YHGruvVfmaMBufGR2_JlW07FdeFQvXkGvcrJAw3zzyI,11474
82
82
  flowfile/web/static/assets/element-icons-9c88a535.woff,sha256=nIilNdx2T_GKI3IC0Z-dYpdmN8jnoyTPaeK6LUBm9us,24820
83
83
  flowfile/web/static/assets/element-icons-de5eb258.ttf,sha256=3l6yWG-kOvjHWaPTe87HTczNsjLCGPpSA_P5FpV3Y-U,50372
84
84
  flowfile/web/static/assets/explore_data-8a0a2861.png,sha256=igooYexoyuVyai_ukUYC7QlaR9JRWFQY_6ey8W01vDw,14720
@@ -93,18 +93,18 @@ flowfile/web/static/assets/fa-v4compatibility-30f6abf6.ttf,sha256=MPar9rqkJYJYKH
93
93
  flowfile/web/static/assets/filter-d7708bda.png,sha256=13CL2k0PIl1uYYMMhH86rwJrov4XRgR6sfV4ZRhnK3I,15838
94
94
  flowfile/web/static/assets/formula-eeeb1611.png,sha256=7usWEStTOxFA0T8k7FXGXg5RluCJDLsqUcp048xjD2M,19295
95
95
  flowfile/web/static/assets/fullEditor-178376bb.css,sha256=F4N2uyLmmmAoyKAfgHvBZ23H-kH-tbtnJ1JLVwfFz50,5965
96
- flowfile/web/static/assets/fullEditor-921ac5fd.js,sha256=jdn9nrBqOMM5Nv6oRDPMpUQmVZ0i8PEs37OzMsxw1-M,24415
96
+ flowfile/web/static/assets/fullEditor-fd2cd6f9.js,sha256=3w8LbOde1BG9H4Ntw_lcgNRy6DBqYs0CA-uvsErO8L8,24415
97
97
  flowfile/web/static/assets/fuzzy_match-40c161b2.png,sha256=QMFhsk1rZn6x2Z7aMwVoMVIehdgkmhFrrck9Gks3-_g,13865
98
- flowfile/web/static/assets/genericNodeSettings-7013cc94.js,sha256=-VGiz3npm90dSjoASTXCnXB_ujCuqkac7jeahM5Mo6c,6251
98
+ flowfile/web/static/assets/genericNodeSettings-71e11604.js,sha256=hD2uNpbZ4RbAwvuOOtOVhpcog89C784FboUe20XFAh8,6251
99
99
  flowfile/web/static/assets/genericNodeSettings-924759c7.css,sha256=kkdZx4gQRslPM--BetVKpsQdTi8Ezdc8YFclLORTYtg,1017
100
100
  flowfile/web/static/assets/graph_solver-8b7888b8.png,sha256=i3iIuPx5-fvXVwP9Dk1-bp6paSN61bVork9bGpPuVpE,11180
101
101
  flowfile/web/static/assets/group_by-80561fc3.png,sha256=gFYfw_ipVhzG6YLKSjl32XoIHPJYMZW5LBK8T9HQoNo,16156
102
- flowfile/web/static/assets/index-3a75211d.js,sha256=nfcv0FlFRXQvTwL7w5WLrbngHAeNOjruwQJqxbgI59U,1917747
103
102
  flowfile/web/static/assets/index-681a3ed0.css,sha256=aBo-0D4m-NuvQf0XepvMEyEKFf5JKH1HcNKUZO5c-Ys,416122
103
+ flowfile/web/static/assets/index-f6c15e76.js,sha256=IqBLJw0cEH_yAAL0kj9fLrRWY9xgRFuaSaAON65RQnk,1918955
104
104
  flowfile/web/static/assets/input_data-ab2eb678.png,sha256=qy62eFHc5m7_aGxUScHGy7kavT7x7Wz0p7-WhD3L684,13172
105
105
  flowfile/web/static/assets/join-349043ae.png,sha256=NJBDrnJbVOiE9nDYFxoQoepGE2JUvPwA7CfGH4XfnRQ,9603
106
106
  flowfile/web/static/assets/manual_input-ae98f31d.png,sha256=rpjzHerLp1wecn-hsKEcYMJWRDRB8S15i4_SmBBIexg,13587
107
- flowfile/web/static/assets/nodeTitle-a63d4680.js,sha256=SNf89OGq9qJP_F8oDLy0dghfKGXFAJgH5QIUCtN5y28,7871
107
+ flowfile/web/static/assets/nodeTitle-988d9efe.js,sha256=FhBUe2haIuUg96kIzf1OEIE043dEvFHWveMgGLiDNws,7871
108
108
  flowfile/web/static/assets/nodeTitle-f4b12bcb.css,sha256=9LEry77j7biVsPqjfZwCqL3aUhbp00_vQL_SrDfHwzY,3611
109
109
  flowfile/web/static/assets/old_join-5d0eb604.png,sha256=XQ62BOHlpgVIHVxSf589g8vzQ-vo_XUt4uMNKcOSlsU,9325
110
110
  flowfile/web/static/assets/output-06ec0371.png,sha256=BuwDcRqgJU9Vnf0Zr1-Fzg_DshEIucmsIqPw0FhIwPg,12055
@@ -113,9 +113,9 @@ flowfile/web/static/assets/polars_code-05ce5dc6.png,sha256=Bc5dxp286-RZ2VayediJO
113
113
  flowfile/web/static/assets/record_count-dab44eb5.png,sha256=2rROtfInJu6NVYw0N4NmalWPkaErI2DyrteHdBRIJdU,7682
114
114
  flowfile/web/static/assets/record_id-0b15856b.png,sha256=CxWFa702605nnK46FqOafmp_AwTuVkkSJAQgnKh1jBs,16066
115
115
  flowfile/web/static/assets/sample-693a88b5.png,sha256=aTqItY0lcq5Vw58v-6ZU6DI4277L_ZWS47yQNOfDXEA,9222
116
- flowfile/web/static/assets/secretApi-763aec6e.js,sha256=gylMYuBRrJKm1kRldygQnMvTsvcAXfFnIF6Wbd-GgxE,1346
116
+ flowfile/web/static/assets/secretApi-dd636aa2.js,sha256=67TMiY2VSJIemloewf_dVuhDnT7V4xNh-owkCW8rhIs,1346
117
117
  flowfile/web/static/assets/select-b0d0437a.png,sha256=sNBDesTxseBqQUetu6Rbijky24UI0FLmoS33ldvr_hM,14339
118
- flowfile/web/static/assets/selectDynamic-08464729.js,sha256=ZfD8leqoqzP0PYmvBasMu_vc8A1gLdI3fdd_0qUJc-E,15336
118
+ flowfile/web/static/assets/selectDynamic-af36165e.js,sha256=VnWcc9p1DbQ4pQcrU-DVK3DTBnp59VdHPm42wpyD8D8,15336
119
119
  flowfile/web/static/assets/selectDynamic-b062bc9b.css,sha256=sGK8m1dDYX0ViRGnrYmBuLHeIWKtgPDnSswNCCDJHFo,2301
120
120
  flowfile/web/static/assets/sort-2aa579f0.png,sha256=KqV58FQ9BhINj95x87vnV50_VcYVCrdHWbORrDYiY2M,11528
121
121
  flowfile/web/static/assets/summarize-2a099231.png,sha256=KgmSMVKXng6xq0cNQ8YJEXdThQhhmHaiKs_31ybbr8g,11762
@@ -125,8 +125,8 @@ flowfile/web/static/assets/unique-1958b98a.png,sha256=GVi5is2VQF1Zc5H9lh0o92eVF8
125
125
  flowfile/web/static/assets/unpivot-d3cb4b5b.png,sha256=08tLWwGQ51ZYu_ZmS5iz7jtE27lxEW-FluhqSgG44_A,18488
126
126
  flowfile/web/static/assets/view-7a0f0be1.png,sha256=eg8L4bC8yRlmh7nWrOQqQtXMQAWeorb6v8BWsv12spY,8353
127
127
  flowfile/web/static/assets/vue-codemirror-bccfde04.css,sha256=vM_eBMuqLyBd_Y5bLjLKifKtvrpD8l5r5ZNjnjZUZBo,756
128
- flowfile/web/static/assets/vue-codemirror.esm-f15a5f87.js,sha256=xt_YZR8EjQpW5-q375PqIksbxV0sMix66pBTLgYrOlY,802047
129
- flowfile/web/static/assets/vue-content-loader.es-93bd09d7.js,sha256=PPUkiHoGuUE1YrV3qoGmG5bzhV6cX9axnS_Ax3S54oA,5545
128
+ flowfile/web/static/assets/vue-codemirror.esm-2847001e.js,sha256=1gISUJjB8dUsftR83jJZjKcLyJoY5bSEgw-FNNreLaU,802047
129
+ flowfile/web/static/assets/vue-content-loader.es-0371da73.js,sha256=5hOY5qac2nt4AKGH3HpZFUatNSRVlWjANITsSokAVeM,5545
130
130
  flowfile/web/static/favicon.ico,sha256=h3sdj7Htz3s3Pib0j3gF3g7VqRUBTLP9qIudaBdkKJQ,3134
131
131
  flowfile/web/static/flowfile.svg,sha256=hOLvhgtIBAuDAFwTCw3yUYO4xHMA9Jk_HpiBjk8t_dA,314188
132
132
  flowfile/web/static/icons/flowfile.png,sha256=0uV0ELU3Vw4DfggPs8CHR1N2WdXutRbONUsdzJ_nxGA,240862
@@ -134,19 +134,19 @@ flowfile/web/static/images/airbyte.png,sha256=_KUGN4TrpkZBFXxdE-I8BiXKo-lx56mVYt
134
134
  flowfile/web/static/images/flowfile.svg,sha256=hOLvhgtIBAuDAFwTCw3yUYO4xHMA9Jk_HpiBjk8t_dA,314188
135
135
  flowfile/web/static/images/google.svg,sha256=HWvs3MThQhVAoqPMUfno4tl670VD0CYy0OqgtgROIVo,1054
136
136
  flowfile/web/static/images/sheets.png,sha256=wpWE7P1eSIZ85ZtE4DuKZXoJwXL3gamodjyTt4dozDA,6260
137
- flowfile/web/static/index.html,sha256=5uLfZxOV29R8Y-C0GBNJPm5BYN88MXXihCMA7OmxZXs,739
137
+ flowfile/web/static/index.html,sha256=u5PFBFAFyoG8I7OTUtq_wuYgDqTGpHkavhfJRQZYTvk,739
138
138
  flowfile/web/static/vite.svg,sha256=SnSK_UQ5GLsWWRyDTEAdrjPoeGGrXbrQgRw6O0qSFPs,1497
139
139
  flowfile/web/static/vue.svg,sha256=VTLbNPHFKEGIG6uK7KbD6NCSvSGmiaZfTY-M-AQe750,496
140
- flowfile_core/__init__.py,sha256=WIX3Vkm5L_RtW_XhC3OIwoOJRGf8yl9YEB2f08IS1ZA,333
140
+ flowfile_core/__init__.py,sha256=I6E9A0JpzX7tpuYfPPJ0xzACLTq2vS5P2I0B5_TkYRI,334
141
141
  flowfile_core/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
142
- flowfile_core/auth/jwt.py,sha256=-j_eZd5z2ABP0KHo5PmmsuCyJUsvAFFlnANJiRCnNx4,4828
142
+ flowfile_core/auth/jwt.py,sha256=6PJ1K5P48kOdvOldHRHqmTcmT5jqhPM94AcZLeqNMSI,6290
143
143
  flowfile_core/auth/models.py,sha256=ilQqy7ief1mwAP9xiNWbftCR9yyccECMa0Qsnnwax_g,648
144
144
  flowfile_core/auth/secrets.py,sha256=5TixLt9I64pR0OT4AoqgIzAmjCQNoGF4YPGuRhCWBH0,5840
145
145
  flowfile_core/configs/__init__.py,sha256=W72OpTyVRF1kJyLPQFXT9tB6FoX-Bzvi5rTUusERfKI,1318
146
146
  flowfile_core/configs/flow_logger.py,sha256=Pk1yhaC58jjISMrgwhBFIue9Qj5XfYo8NfOefqsR-gA,15822
147
147
  flowfile_core/configs/node_store/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
148
- flowfile_core/configs/node_store/nodes.py,sha256=7jT--p_lPB_fZrb00ih5vU-4TWYUvWvcqJGrMwvlzAQ,6242
149
- flowfile_core/configs/settings.py,sha256=37SLuk2sL4E69SrYtN5ygJILIcc8CwAHLm5FiaTlC9Y,3065
148
+ flowfile_core/configs/node_store/nodes.py,sha256=cZmevDcRYthaHxM04BE2WjsswQdMpaOQHNus-sRBQlc,6388
149
+ flowfile_core/configs/settings.py,sha256=5EAZKlq7oehakL3F0uT_VI_xXGkcIK9NL2-KAZq_Na8,3199
150
150
  flowfile_core/configs/utils.py,sha256=BjyJCfO4gR_n9Sbs6dPlFfSKwxfxd3aKZ9zUH0Xs5GY,474
151
151
  flowfile_core/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
152
152
  flowfile_core/database/connection.py,sha256=g6oqL8d47eED58lJleL6mVdTTzSZTb2BY-E-6P0zWRY,3057
@@ -164,7 +164,7 @@ flowfile_core/flowfile/analytics/graphic_walker.py,sha256=snYNQUTPZLhtz1egv_rSmo
164
164
  flowfile_core/flowfile/analytics/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
165
  flowfile_core/flowfile/analytics/utils.py,sha256=x-FS1ZwQrHLzAfKm1THiQEKeCm_w0vO5dyWgyyIPjLY,487
166
166
  flowfile_core/flowfile/code_generator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
- flowfile_core/flowfile/code_generator/code_generator.py,sha256=gjK0FXWw6vkj0yQqd9tuoxBNN2VoS0mcj-JF-WyRNSQ,48703
167
+ flowfile_core/flowfile/code_generator/code_generator.py,sha256=q_JXQupL5rd6n044sHDHZUlAGFdwnPvrQ28rq1XOJMc,53267
168
168
  flowfile_core/flowfile/connection_manager/__init__.py,sha256=wLAGuQBA0lgN1tZleYZ32eFeY4UODG46RrclWoEc7hM,134
169
169
  flowfile_core/flowfile/connection_manager/_connection_manager.py,sha256=W9FWRAFUT1c2eHa2QhFpKNWA-Kps63o2vcGAH1zXSeo,2612
170
170
  flowfile_core/flowfile/connection_manager/models.py,sha256=5c56bCPIvnEJfdiWJtgOTx5iYI4seJ-IiO25TYPCjq8,211
@@ -173,10 +173,10 @@ flowfile_core/flowfile/database_connection_manager/db_connections.py,sha256=dVYr
173
173
  flowfile_core/flowfile/database_connection_manager/models.py,sha256=lVJSifqznQ8fKGWBEBCy_8JeXmdKF4pnAE5P5oXRrLM,379
174
174
  flowfile_core/flowfile/extensions.py,sha256=gUKTzNs6YBayHF51-ZacMknvrE1S8OXc89qGIdqPl2w,1814
175
175
  flowfile_core/flowfile/flow_data_engine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
176
- flowfile_core/flowfile/flow_data_engine/cloud_storage_reader.py,sha256=oUq6rPW7aR6j4XbqUd-Lxail0dh3BM1UA4Of94YPpGI,10441
176
+ flowfile_core/flowfile/flow_data_engine/cloud_storage_reader.py,sha256=9QlduMjmFhhwEvzwqkbS3eANvmMasn1C_lj_knSfDJw,10493
177
177
  flowfile_core/flowfile/flow_data_engine/create/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
178
178
  flowfile_core/flowfile/flow_data_engine/create/funcs.py,sha256=Hvk4L3aOppt3RyKBEqFutx1t2RF8qA6QdrS1lPnJJkY,7822
179
- flowfile_core/flowfile/flow_data_engine/flow_data_engine.py,sha256=icNnKgRo1-TUQYgbO9B3gaai2gwXqW5_ZBmcADXuMlI,84954
179
+ flowfile_core/flowfile/flow_data_engine/flow_data_engine.py,sha256=Wg9UkvtKN9t8dVfPyxOC0cotwHfh1EVJ5Rki3JzP0lI,100068
180
180
  flowfile_core/flowfile/flow_data_engine/flow_file_column/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
181
  flowfile_core/flowfile/flow_data_engine/flow_file_column/main.py,sha256=auDG4EeLcnXlsTe3IlU6t8jLsVUEre0-QcoQRACt0xU,7484
182
182
  flowfile_core/flowfile/flow_data_engine/flow_file_column/polars_type.py,sha256=xusyOLwSxevBk8-Uy9ZKISB_KOi0JeYfZ0wihcG-Qjk,530
@@ -188,7 +188,7 @@ flowfile_core/flowfile/flow_data_engine/join/__init__.py,sha256=XItML6eDh8uOgtHS
188
188
  flowfile_core/flowfile/flow_data_engine/join/utils.py,sha256=D_dole-79JoNwl3k4fxSWf80CQnxbWJhlSMzt0EIBVw,1023
189
189
  flowfile_core/flowfile/flow_data_engine/join/verify_integrity.py,sha256=TfjYEIu2G9I-N6NuXVNsQWbj57_n4WbZO2kphZcHOmc,2245
190
190
  flowfile_core/flowfile/flow_data_engine/pivot_table.py,sha256=seqJqbrhwK4gkO-EQ3MSQWseh5HR3D_slQtq6pjT_pw,366
191
- flowfile_core/flowfile/flow_data_engine/polars_code_parser.py,sha256=R3ZNe7UlkYxWUkT8Sppo8NUCobn0N2Iq610wdmrS2dA,9598
191
+ flowfile_core/flowfile/flow_data_engine/polars_code_parser.py,sha256=GIzEWKf-jTFbNF5dOnnWiMVENYi53KWmocL9I3jfetM,9657
192
192
  flowfile_core/flowfile/flow_data_engine/read_excel_tables.py,sha256=q7TccqyToowJEOU4j2tY40HshXYkDACkYE95bNqoiw8,5937
193
193
  flowfile_core/flowfile/flow_data_engine/sample_data.py,sha256=7r-SJBrgtatgy0r0vrd0HQAw-Su2GbIKP4TPzHRLDtk,5026
194
194
  flowfile_core/flowfile/flow_data_engine/subprocess_operations/__init__.py,sha256=04ZpOvZ6gF42vQ02a0Lim9w5EP7-xu2l_S2WrSoll-g,97
@@ -197,17 +197,17 @@ flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operati
197
197
  flowfile_core/flowfile/flow_data_engine/threaded_processes.py,sha256=15IPoqIoCfkPMb648o9hnOzNnZINhYQxJi5hNfQuRwE,1311
198
198
  flowfile_core/flowfile/flow_data_engine/types.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
199
199
  flowfile_core/flowfile/flow_data_engine/utils.py,sha256=Nkw4MM6SX9veOAC8bthWTLUqA_aIFLtDnJG3bTNcwoc,6628
200
- flowfile_core/flowfile/flow_graph.py,sha256=ZwQjLsR6XCScVMM8wSfkUoVKxmt8KblWKTv9AXnRAe4,74805
201
- flowfile_core/flowfile/flow_graph_utils.py,sha256=VEaJcCxpsiBzoACovsBN9IyikYHbUInqjbk4QpNc6pE,10105
200
+ flowfile_core/flowfile/flow_graph.py,sha256=UqEk3sLDL1K4EucMgySw75B45Mj5Qnjbzl3k1LJ4w7o,91002
201
+ flowfile_core/flowfile/flow_graph_utils.py,sha256=nqfQdkFo4DM1WpbMuL1tZps51dKFWZi2yu_UgNUxtNU,10057
202
202
  flowfile_core/flowfile/flow_node/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
203
- flowfile_core/flowfile/flow_node/flow_node.py,sha256=ebPWKRjG_ar3jZSXx5yhWdgDLr6ambhdnTotJIldzCc,37200
204
- flowfile_core/flowfile/flow_node/models.py,sha256=u_L3x5s7fnQWRAg4SM23k8UblYAMV6v5cJDrZx4zp9c,5480
203
+ flowfile_core/flowfile/flow_node/flow_node.py,sha256=L9p0grp59WBFEtw6NxNK5nHOcXwIqs7XVG9eG90-oOQ,51948
204
+ flowfile_core/flowfile/flow_node/models.py,sha256=2inXz2Ov5gl2NzGh6HGtrKM3ow93iyEixsqX2w3pgdM,9929
205
205
  flowfile_core/flowfile/flow_node/schema_callback.py,sha256=ed8OLzRgQluC6aa2CcvSWq7WC3ZNZnLvDk9rXWwIux4,2410
206
- flowfile_core/flowfile/handler.py,sha256=0rX-t_bJxbuB3stijhi2tKOmBzBXKHXesseVvbnSJNo,4103
206
+ flowfile_core/flowfile/handler.py,sha256=Ov25vblx6oiMM4atPScqk6OnuEZ1PEPgCCO6mqT0y8I,3210
207
207
  flowfile_core/flowfile/manage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
208
208
  flowfile_core/flowfile/manage/compatibility_enhancements.py,sha256=UCe0s7OECW2FEW-JdiBhP0CWqTGBKVngOIj35avRpX0,3989
209
209
  flowfile_core/flowfile/manage/manage_flowfile.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
210
- flowfile_core/flowfile/manage/open_flowfile.py,sha256=6EQdO1DRgrs-n8kIe_L1x50mRZ9-lTAqgdbFhJZcAhQ,6726
210
+ flowfile_core/flowfile/manage/open_flowfile.py,sha256=NRLxtCdJB_0Lwv8NDxbg_-f1rC9SMeM6zDglaIXJf-Q,6668
211
211
  flowfile_core/flowfile/setting_generator/__init__.py,sha256=WvQpRzzrzQL-XSdayaoN2SfW0ngvF9l6fqldNh1ZD2k,98
212
212
  flowfile_core/flowfile/setting_generator/setting_generator.py,sha256=Zy9eoncp0pwnJqYSshZTXiWc3UC5fwoY4zrOfjAb1z4,1254
213
213
  flowfile_core/flowfile/setting_generator/settings.py,sha256=PQ3OQW48HZsqvbuNM1zj5bN2EA0ga-qQvMsRZ0dgf9c,9154
@@ -224,28 +224,26 @@ flowfile_core/flowfile/sources/external_sources/sql_source/models.py,sha256=C6lh
224
224
  flowfile_core/flowfile/sources/external_sources/sql_source/sql_source.py,sha256=202iHv9FthKUisYNXfbhGuX0nsAwdeoX2FliXjkBcgg,12992
225
225
  flowfile_core/flowfile/sources/external_sources/sql_source/utils.py,sha256=Cj-uKhHT6s_S8vmO7mONf0zrKb987ZzxVLISaUdtAVw,11765
226
226
  flowfile_core/flowfile/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
227
- flowfile_core/flowfile/util/calculate_layout.py,sha256=FxDQztZyUA8cLuEaISD2nwU3su4ld83Hf9Q3P-6-Th8,5068
227
+ flowfile_core/flowfile/util/calculate_layout.py,sha256=9mu0AsB-9UldCkyC4Lkz76kTy7ojNINotTNq7-iICng,4911
228
228
  flowfile_core/flowfile/util/execution_orderer.py,sha256=IJ-upXUruZfFj8z4J-2oDLz2hDSOnRIdgd_YLlRKU-c,5828
229
- flowfile_core/flowfile/utils.py,sha256=ZlvEvFl_prb9DKWzERfPdoVPurple3j8haS_xeqG4EI,3676
230
- flowfile_core/main.py,sha256=lZEMr_a9Q_E4wbpLxNHUcCF-7Idq8l256dAJZ-uGJGc,4040
229
+ flowfile_core/flowfile/utils.py,sha256=lvEmKySSCjnsrseNm9ZlpFlrjYXBglul3F4sB7lyx78,4545
230
+ flowfile_core/main.py,sha256=rdJcPVqmVBmbr4RFDCIwBJf7mE70nYYVUBFeJv9BK74,4840
231
231
  flowfile_core/routes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
232
232
  flowfile_core/routes/auth.py,sha256=-2SWMCDDKYSnriiYH3hOadnsHdmVckcIV_vA2mZfBu0,1251
233
- flowfile_core/routes/cloud_connections.py,sha256=7_uJzwcscU8nzyKCjZysl9CAPJZiB68QE1hlIMuyO2k,3479
234
- flowfile_core/routes/logs.py,sha256=LL2MCotkISIvZu5SABdbmozuGlQ71FrNrV3G7NKlJc0,5802
235
- flowfile_core/routes/public.py,sha256=bRmRyphaCLTTdPjPn_M6NWPUEQKHB5eeKlKoOs7jWzA,217
236
- flowfile_core/routes/routes.py,sha256=QTRrb2q7RBO0FCILjnTUORbWuRdCU68-53QTXiAdfkQ,22239
237
- flowfile_core/routes/secrets.py,sha256=SG5zNGk-XRAVod7GBLKXhjEpTuTqdlCHOCoqsMGi4T8,3075
233
+ flowfile_core/routes/cloud_connections.py,sha256=MBja9DkTO9sl9fuHiIKob3KV6FGGpcHWQ4Cuh7mZpHM,3453
234
+ flowfile_core/routes/logs.py,sha256=pNapo1OlC4KsCj4d4LXZJRw7P4HtQ0j1SI8Moi_xCpw,5782
235
+ flowfile_core/routes/public.py,sha256=4dIC9rrn7Qbwsg1WLTBOZKSnmVeD4c9asRIo4eKvXWY,265
236
+ flowfile_core/routes/routes.py,sha256=uDsSKIDAUbb8kTbIvzI2v11ekT4w8vXMz2vyfMIcCZM,26753
237
+ flowfile_core/routes/secrets.py,sha256=idns8HJofEnsHy6NCLx-9SRxQImHFc4Or2KaKosx6kU,5270
238
238
  flowfile_core/run_lock.py,sha256=1bINUPwZe7v9rHRePTk0CaExscqf2pvk4hWoYFZWQqE,296
239
- flowfile_core/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
239
+ flowfile_core/schemas/__init__.py,sha256=AnB9y91_FVcdJmccyb19FCMK1-qjR5ITuIls9_PI2OU,346
240
240
  flowfile_core/schemas/analysis_schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
241
241
  flowfile_core/schemas/analysis_schemas/graphic_walker_schemas.py,sha256=1PQeiBFIhZg3cqDKD1AaeMbA9yMss9ajDv-elKOb2Lk,2885
242
242
  flowfile_core/schemas/cloud_storage_schemas.py,sha256=KgsCNCRXQiFHKwIPUXmN66Rv-_IFc8YEFT0wRpSv_zw,7799
243
- flowfile_core/schemas/defaults.py,sha256=5FeYJIn1ZJ4Es8WQfSW3EkfoOnWsvifg9bvwZO7fklg,228
244
- flowfile_core/schemas/input_schema.py,sha256=NejBYxyOxRxVhYft29yQ-tWbcEWXJOySNXuERdVaY3c,14887
245
- flowfile_core/schemas/models.py,sha256=W22swh1TZ1aAZY8R-OL0AiTXvIEUKtN9B1ZFc0dxZQI,5253
246
- flowfile_core/schemas/output_model.py,sha256=yenexlnHI9ecQhTDBPNChO2p25YNZ9btR5_cXd-ehLg,2665
247
- flowfile_core/schemas/schemas.py,sha256=BhU8FHEi915usDYPbmPvdBgQlWFnQMhiNBjK84tMiAQ,2887
248
- flowfile_core/schemas/transform_schema.py,sha256=XLWmwkM5y7jqAYKoyZ7Z8Tn2-e1fT49ekHqnhORz-tA,22922
243
+ flowfile_core/schemas/input_schema.py,sha256=_EbVpwfGUgl6VjwoBD9XivDiXB1WkquiwIX-SyfDIDI,18631
244
+ flowfile_core/schemas/output_model.py,sha256=MsAtXMHBTJb96ERyBPs-bSEbvpHj22rhwDifT62oSmU,3847
245
+ flowfile_core/schemas/schemas.py,sha256=MYhIwEXdQ_Ky5SBdotBxEe9WHObsk7egR0zi8EzX7io,9058
246
+ flowfile_core/schemas/transform_schema.py,sha256=zwvomSAEgoEyQTdUbp_Mnawz2zVIuTv0ElC7hOJ81BQ,28593
249
247
  flowfile_core/secret_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
250
248
  flowfile_core/secret_manager/secret_manager.py,sha256=6G9hqo-GjTE7va6i6r3_ZmGo4Y26Aw_PY0W8L6pNo7E,2086
251
249
  flowfile_core/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -255,24 +253,27 @@ flowfile_core/utils/fileManager.py,sha256=LnJhK_pwjb9MIApG2e4Hp3L5Z7Wny8YYHaL9Sk
255
253
  flowfile_core/utils/fl_executor.py,sha256=eNnNZHZ9451brzZD00_X8aoCHFl1hR1gVOIGxtE0Db4,1301
256
254
  flowfile_core/utils/utils.py,sha256=XPanIHWQjNLkd-lC7mKoWdjP3TAR_GZwYIbZ5_KF5o0,1326
257
255
  flowfile_core/utils/validate_setup.py,sha256=1kaintlS0MA-PDO6IKgW0NGGai7WVUeAM_Vnvbm1Mfk,1737
258
- flowfile_frame/__init__.py,sha256=L2-jTwdtPEtdIS4c1foVXwnh5T0jDzpkgn3CBJvOPHg,1544
256
+ flowfile_frame/__init__.py,sha256=JDEFbzBQ-YtB129IppN06v-8KOYb3SADtOTDgCpPh0k,2044
259
257
  flowfile_frame/adapters.py,sha256=8H1z6UpYQ3aeuSYNs8GbWfL5BUzVbGJbGzi6b9uVBt4,528
260
258
  flowfile_frame/adding_expr.py,sha256=K9KdF3WCbPy2YO5radyEBXQ0yi6SOI4nviaPwXmKW0k,12428
259
+ flowfile_frame/cloud_storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
260
+ flowfile_frame/cloud_storage/frame_helpers.py,sha256=4x5I5WVKpT1PXoPvEJd28MmsHDCJNhZxAdG6MKOSA_4,2271
261
+ flowfile_frame/cloud_storage/secret_manager.py,sha256=lIjOf2u6ZWrXFFYCrHK2XH51p2DEl9m7Pr1uLKe1DUI,2540
261
262
  flowfile_frame/config.py,sha256=Tl_4V8byUiO1y3ANesW2E9qeTtZvtKYJl8KU00hc1Cg,176
262
- flowfile_frame/expr.py,sha256=09o-uIle1hXDXPbTlyOs3ZPINW5BY2L-5_-T3FG3ufM,58022
263
- flowfile_frame/expr.pyi,sha256=HR1qBfGIlei-6Lt3qztGUR_XfyiQJMUbUWCMY1pEBYo,87903
263
+ flowfile_frame/expr.py,sha256=OmpQZ7xleBoBmSLwlZ1pp1_WVd38bpqCs8OGQL0vx7s,59264
264
+ flowfile_frame/expr.pyi,sha256=kUMj6IRlczjInzUb6WXkBrxboCRhWdkxGlpiR30zCKw,89316
264
265
  flowfile_frame/expr_name.py,sha256=0VZZwC3xc6tiwOJPu7emQ86Xp2mVu7U-j-jrsMjbc2Y,9852
265
- flowfile_frame/flow_frame.py,sha256=meKuQOzMAbF1Jdfv4dolmicEQr6hLDrNZI2FK6ihYas,92732
266
- flowfile_frame/flow_frame.pyi,sha256=aX6CF-fjsf1bpuXUtuM-pHim0s2fEY7FiFI46HOOrhA,29723
267
- flowfile_frame/flow_frame_methods.py,sha256=tm4kYcLqDwGC3r6ooRKkDn5N7rXQxs11gFrH27BQzTs,23247
268
- flowfile_frame/group_frame.py,sha256=VfYxEcvU9KfzTsgy4GiN8PZF83bRr1nCQ9c2DKTS9VI,11558
266
+ flowfile_frame/flow_frame.py,sha256=NCny_WgHzM2tnqdJGZTDGrFOj1jiMAJWvFgSK0N7tv4,101530
267
+ flowfile_frame/flow_frame.pyi,sha256=P0DPw5xx6nXoL7hbUOS5t06OmGZjY7P5ZgHO1iCvYIw,33956
268
+ flowfile_frame/flow_frame_methods.py,sha256=mHFltRFeKQ4m2aDsU0HcpAhACR0gdLCeONvBFeG-wJk,29054
269
+ flowfile_frame/group_frame.py,sha256=aLpiT9ZEidVDJ04ORr57SPxR7WfgmziBPkBGXB9oR54,11632
269
270
  flowfile_frame/join.py,sha256=YQCHmw8nYzvGzvrFc0jOmVMy-rahK3CPtuFdKB7loS8,2437
270
271
  flowfile_frame/lazy.py,sha256=sBWzetJ_AzCm9C6Q-fjwEAx-yNcow4AoFng_dgw5mG8,28617
271
272
  flowfile_frame/lazy_methods.py,sha256=ysSmdDF6guDWN-ogBIpGoCHdjAUbnnl8CncjqDUdg_Y,7730
272
273
  flowfile_frame/list_name_space.py,sha256=7m7qxZ9GANrVM8U-gOq3hZ7aPGwSGD1hbI6kRJLc0Tg,15778
273
274
  flowfile_frame/selectors.py,sha256=Rnaa9AuMgzazt6ujB9yyvcbH9zA7JmYjs8rFqdZ2TYM,9186
274
275
  flowfile_frame/series.py,sha256=VkhLr03iA8LF2EifGoKdNvg1ajm7Ln9OgzkMurg_nR0,2199
275
- flowfile_frame/utils.py,sha256=ilNsWVelvCRdqYMccHhpn3cSi2ecA1j_O3rGRbZjxtM,3778
276
+ flowfile_frame/utils.py,sha256=tTClnsPOOPoUOsXn7R0qqMoa4VqrsBJ51HqlNmFAC6g,4283
276
277
  flowfile_worker/__init__.py,sha256=ZDdn3JCP7LWTiTsmntVIVduB4p2bUkJcZUKVEj7V9TU,1375
277
278
  flowfile_worker/configs.py,sha256=7fYtlj06vxDrMiRuMbwvSDOD1JRVMZqnPbcQFuikCJM,2714
278
279
  flowfile_worker/create/__init__.py,sha256=vkWy5uODffivUdxt3nNVALj6xgQK3HPBetqR-QqZ-uo,1643
@@ -309,10 +310,11 @@ test_utils/postgres/commands.py,sha256=4oA8EHW3EqwGkG02HSqEGbXEBGM01sUW5FsyHm86W
309
310
  test_utils/postgres/fixtures.py,sha256=kR8UBjQr3pgbe-xM-V8x8VseTHCPv0EmDEzPHl5Qc8Y,13507
310
311
  test_utils/s3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
311
312
  test_utils/s3/commands.py,sha256=m-r6rWZZP7Q7bzXwuOId1QbQkw8aq8-3qcjH8wpSqxI,1427
312
- test_utils/s3/data_generator.py,sha256=E6Q1lqseckxrxB7-J1doqal4WP2sRIWkavNWsaOT7wA,10938
313
- test_utils/s3/fixtures.py,sha256=PUmmaGAd7rdQUhhP6Lv7RnaPomh1xM7YjcAFxHjvuV4,7460
314
- flowfile-0.3.6.dist-info/LICENSE,sha256=pCfLAA27jMHReYk_wGiirZxWRRXz_Bm7PVInRCa9P5g,1075
315
- flowfile-0.3.6.dist-info/METADATA,sha256=EbNWmiU8WeSNxewBJ-kr76UX5QTIz-u4f0wvU4YZwJ0,8815
316
- flowfile-0.3.6.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
317
- flowfile-0.3.6.dist-info/entry_points.txt,sha256=3VMU1A7kmYy8DSPw7axzpy00DEaVRoVagE4jyZFAz2U,425
318
- flowfile-0.3.6.dist-info/RECORD,,
313
+ test_utils/s3/data_generator.py,sha256=qEVN6paBvPf1W4Pxjb341WOLvTrx9D20MyJ944TAHc8,10939
314
+ test_utils/s3/demo_data_generator.py,sha256=YuYnbEmuKBUsuuBMjvq9SCmm11pYJc75u-OqpOGMr5A,7682
315
+ test_utils/s3/fixtures.py,sha256=n5qTGbW1LASFusYbeNh5_53aKui2Xp0yhT70_VXJ4NU,7778
316
+ flowfile-0.3.7.dist-info/LICENSE,sha256=pCfLAA27jMHReYk_wGiirZxWRRXz_Bm7PVInRCa9P5g,1075
317
+ flowfile-0.3.7.dist-info/METADATA,sha256=nmpxLVZlB17JVxvG3ZbxHmBAnAdxDOXenZLOKrU_B4g,8814
318
+ flowfile-0.3.7.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
319
+ flowfile-0.3.7.dist-info/entry_points.txt,sha256=3VMU1A7kmYy8DSPw7axzpy00DEaVRoVagE4jyZFAz2U,425
320
+ flowfile-0.3.7.dist-info/RECORD,,
flowfile_core/__init__.py CHANGED
@@ -1,3 +1,4 @@
1
+
1
2
  import os
2
3
  from flowfile_core.utils.validate_setup import validate_setup
3
4
  validate_setup()
flowfile_core/auth/jwt.py CHANGED
@@ -38,6 +38,45 @@ def get_jwt_secret():
38
38
  return key
39
39
 
40
40
 
41
+ def get_current_user_sync(token: str, db: Session):
42
+ """Synchronous version of get_current_user for non-FastAPI contexts"""
43
+ credentials_exception = HTTPException(
44
+ status_code=status.HTTP_401_UNAUTHORIZED,
45
+ detail="Could not validate credentials",
46
+ headers={"WWW-Authenticate": "Bearer"},
47
+ )
48
+
49
+ if not token:
50
+ raise credentials_exception
51
+
52
+ try:
53
+ # Decode token in all modes (Electron and Docker)
54
+ payload = jwt.decode(token, get_jwt_secret(), algorithms=[ALGORITHM])
55
+ username: str = payload.get("sub")
56
+ if username is None:
57
+ raise credentials_exception
58
+ token_data = TokenData(username=username)
59
+ except JWTError:
60
+ raise credentials_exception
61
+
62
+ # In Electron mode, if token is valid, return default user
63
+ if os.environ.get("FLOWFILE_MODE") == "electron":
64
+ if token_data.username == "local_user":
65
+ electron_user = User(username="local_user", id=1, disabled=False)
66
+ return electron_user
67
+ else:
68
+ # Invalid username in token
69
+ raise credentials_exception
70
+ else:
71
+ # In Docker mode, get user from database
72
+ user = db.query(db_models.User).filter(db_models.User.username == token_data.username).first()
73
+ if user is None:
74
+ raise credentials_exception
75
+ if user.disabled:
76
+ raise HTTPException(status_code=400, detail="Inactive user")
77
+ return user
78
+
79
+
41
80
  async def get_current_user(token: str = Depends(oauth2_scheme), db: Session = Depends(get_db)):
42
81
  # Require token in all modes
43
82
  credentials_exception = HTTPException(
@@ -96,3 +96,4 @@ node_defaults = {node.item: NodeDefault(node_name=node.name,
96
96
  ) for node in nodes_list}
97
97
 
98
98
  node_dict = {n.item: n for n in nodes_list}
99
+ node_dict["polars_lazy_frame"] = NodeTemplate(name='LazyFrame node', item='polars_lazy_frame', input=0, output=1, node_group="special", image="",)
@@ -15,10 +15,10 @@ from flowfile_core.configs.utils import MutableBool
15
15
  DEFAULT_SERVER_HOST = "0.0.0.0"
16
16
  DEFAULT_SERVER_PORT = 63578
17
17
  DEFAULT_WORKER_PORT = 63579
18
- SINGLE_FILE_MODE: bool = os.environ.get("SINGLE_FILE_MODE", "0") == "1"
18
+ SINGLE_FILE_MODE: bool = os.environ.get("FLOWFILE_SINGLE_FILE_MODE", "0") == "1"
19
19
 
20
20
 
21
- OFFLOAD_TO_WORKER = MutableBool(True)
21
+ OFFLOAD_TO_WORKER = MutableBool(not SINGLE_FILE_MODE)
22
22
 
23
23
 
24
24
  def parse_args():
@@ -61,7 +61,7 @@ def get_default_worker_url(worker_port=None):
61
61
  worker_host = os.getenv("WORKER_HOST", None)
62
62
 
63
63
  if worker_port is None:
64
- worker_port = os.getenv("WORKER_PORT", DEFAULT_WORKER_PORT)
64
+ worker_port = os.getenv("FLOWFILE_WORKER_PORT", DEFAULT_WORKER_PORT)
65
65
 
66
66
  # Convert to int if it's a string
67
67
  worker_port = int(worker_port) if isinstance(worker_port, str) else worker_port
@@ -81,14 +81,15 @@ args = parse_args()
81
81
 
82
82
  SERVER_HOST = args.host if args.host is not None else DEFAULT_SERVER_HOST
83
83
  SERVER_PORT = args.port if args.port is not None else DEFAULT_SERVER_PORT
84
- WORKER_PORT = args.worker_port if args.worker_port is not None else int(os.getenv("WORKER_PORT", DEFAULT_WORKER_PORT))
84
+ WORKER_PORT = args.worker_port if args.worker_port is not None else int(os.getenv("FLOWFILE_WORKER_PORT",
85
+ DEFAULT_WORKER_PORT))
85
86
  WORKER_HOST = os.getenv("WORKER_HOST", "0.0.0.0" if platform.system() != "Windows" else "127.0.0.1")
86
87
 
87
88
  config = Config(".env")
88
89
  DEBUG: bool = config("DEBUG", cast=bool, default=False)
89
90
  FILE_LOCATION = config("FILE_LOCATION", cast=str, default=".\\files\\")
90
91
  AVAILABLE_RAM = config("AVAILABLE_RAM", cast=int, default=8)
91
- WORKER_URL = config("WORKER_URL", cast=str, default=get_default_worker_url(WORKER_PORT))
92
+ WORKER_URL = config("FLOWFILE_WORKER_URL", cast=str, default=get_default_worker_url(WORKER_PORT))
92
93
  IS_RUNNING_IN_DOCKER = os.getenv('RUNNING_IN_DOCKER', 'false').lower() == 'true'
93
94
  TEMP_DIR = get_temp_dir()
94
95
 
@@ -130,6 +130,42 @@ class FlowGraphToPolarsConverter:
130
130
  self._add_code(f' skip_rows={file_settings.starting_from_line},')
131
131
  self._add_code(").lazy()")
132
132
 
133
+ def _handle_cloud_storage_reader(self, settings: input_schema.NodeCloudStorageReader, var_name: str, input_vars: Dict[str, str]):
134
+ cloud_read_settings = settings.cloud_storage_settings
135
+ self.imports.add(
136
+ "import flowfile as ff"
137
+ )
138
+ if cloud_read_settings.file_format == "csv":
139
+ self._add_code(f"{var_name} = ff.scan_csv_from_cloud_storage(")
140
+ self._add_code(f' "{cloud_read_settings.resource_path}",')
141
+ self._add_code(f' connection_name="{cloud_read_settings.connection_name}",')
142
+ self._add_code(f' scan_mode="{cloud_read_settings.scan_mode}",')
143
+ self._add_code(f' delimiter="{cloud_read_settings.csv_delimiter}",')
144
+ self._add_code(f' has_header={cloud_read_settings.csv_has_header},')
145
+ self._add_code(f' encoding="{cloud_read_settings.csv_encoding}",')
146
+
147
+ elif cloud_read_settings.file_format == "parquet":
148
+ self._add_code(f"{var_name} = ff.scan_parquet_from_cloud_storage(")
149
+ self._add_code(f' "{cloud_read_settings.resource_path}",')
150
+ self._add_code(f' connection_name="{cloud_read_settings.connection_name}",')
151
+ self._add_code(f' scan_mode="{cloud_read_settings.scan_mode}",')
152
+
153
+ elif cloud_read_settings.file_format == "json":
154
+ self._add_code(f"{var_name} = ff.scan_json_from_cloud_storage(")
155
+ self._add_code(f' "{cloud_read_settings.resource_path}",')
156
+ self._add_code(f' connection_name="{cloud_read_settings.connection_name}",')
157
+ self._add_code(f' scan_mode="{cloud_read_settings.scan_mode}",')
158
+
159
+ elif cloud_read_settings.file_format == "delta":
160
+ self._add_code(f"{var_name} = ff.scan_delta(")
161
+ self._add_code(f' "{cloud_read_settings.resource_path}",')
162
+ self._add_code(f' connection_name="{cloud_read_settings.connection_name}",')
163
+ self._add_code(f' scan_mode="{cloud_read_settings.scan_mode}",')
164
+ self._add_code(f' version_id={cloud_read_settings.delta_version},')
165
+ else:
166
+ return
167
+ self._add_code(").data")
168
+
133
169
  def _handle_read(self, settings: input_schema.NodeRead, var_name: str, input_vars: Dict[str, str]) -> None:
134
170
  """Handle file reading nodes."""
135
171
  file_settings = settings.received_file
@@ -647,6 +683,7 @@ class FlowGraphToPolarsConverter:
647
683
  self._add_code(f".lazy()")
648
684
 
649
685
  self._add_code(")")
686
+
650
687
  def _handle_group_by(self, settings: input_schema.NodeGroupBy, var_name: str, input_vars: Dict[str, str]) -> None:
651
688
  """Handle group by nodes."""
652
689
  input_df = input_vars.get('main', 'df')
@@ -846,6 +883,40 @@ class FlowGraphToPolarsConverter:
846
883
  self._add_code(f"{var_name} = {left_df}.join({right_df}, how='cross')")
847
884
  self._add_code("")
848
885
 
886
+ def _handle_cloud_storage_writer(self, settings: input_schema.NodeCloudStorageWriter, var_name: str, input_vars: Dict[str, str]) -> None:
887
+ """Handle cloud storage writer nodes."""
888
+ input_df = input_vars.get('main', 'df')
889
+ # def write_csv_to_cloud_storage(self, path: str, connection_name: typing.Optional[str] = None, delimiter: str = ';', encoding: typing.Literal['utf8', 'utf8-lossy'] = 'utf8', description: Optional[str] = None) -> 'FlowFrame': ...
890
+
891
+ output_settings = settings.cloud_storage_settings
892
+ self.imports.add("import flowfile as ff")
893
+ self._add_code(f"(ff.FlowFrame({input_df})")
894
+ if output_settings.file_format == "csv":
895
+ self._add_code(f' .write_csv_to_cloud_storage(')
896
+ self._add_code(f' path="{output_settings.resource_path}",')
897
+ self._add_code(f' connection_name="{output_settings.connection_name}",')
898
+ self._add_code(f' delimiter="{output_settings.csv_delimiter}",')
899
+ self._add_code(f' encoding="{output_settings.csv_encoding}",')
900
+ self._add_code(f' description="{settings.description}"')
901
+ elif output_settings.file_format == "parquet":
902
+ self._add_code(f' .write_parquet_to_cloud_storage(')
903
+ self._add_code(f' path="{output_settings.resource_path}",')
904
+ self._add_code(f' connection_name="{output_settings.connection_name}",')
905
+ self._add_code(f' description="{settings.description}"')
906
+ elif output_settings.file_format == "json":
907
+ self._add_code(f' .write_json_to_cloud_storage(')
908
+ self._add_code(f' path="{output_settings.resource_path}",')
909
+ self._add_code(f' connection_name="{output_settings.connection_name}",')
910
+ self._add_code(f' description="{settings.description}"')
911
+ elif output_settings.file_format == "delta":
912
+ self._add_code(f' .write_delta(')
913
+ self._add_code(f' path="{output_settings.resource_path}",')
914
+ self._add_code(f' write_mode="{output_settings.write_mode}",')
915
+ self._add_code(f' connection_name="{output_settings.connection_name}",')
916
+ self._add_code(f' description="{settings.description}"')
917
+ self._add_code(' )')
918
+ self._add_code(')')
919
+
849
920
  def _handle_output(self, settings: input_schema.NodeOutput, var_name: str, input_vars: Dict[str, str]) -> None:
850
921
  """Handle output nodes."""
851
922
  input_df = input_vars.get('main', 'df')
@@ -233,7 +233,7 @@ def _create_s3_client(storage_options: Optional[Dict[str, Any]]):
233
233
  if 'aws_region' in client_options:
234
234
  client_options['region_name'] = client_options.pop('aws_region')
235
235
 
236
- return boto3.client('s3', **client_options)
236
+ return boto3.client('s3', **{k: v for k, v in client_options.items() if k != "aws_allow_http"})
237
237
 
238
238
 
239
239
  def _get_first_file(s3_client, bucket_name: str, base_prefix: str, file_extension: str) -> Dict[Any, Any]: