Flowfile 0.5.3__py3-none-any.whl → 0.5.4__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 (146) hide show
  1. flowfile/__init__.py +16 -0
  2. flowfile/web/static/assets/{AdminView-49392a9a.js → AdminView-f9847d67.js} +1 -1
  3. flowfile/web/static/assets/{CloudConnectionView-36bcd6df.css → CloudConnectionView-cf85f943.css} +17 -17
  4. flowfile/web/static/assets/{CloudConnectionView-f13f202b.js → CloudConnectionView-faace55b.js} +4 -4
  5. flowfile/web/static/assets/{CloudStorageReader-0023d4a5.js → CloudStorageReader-d86ecaa7.js} +8 -8
  6. flowfile/web/static/assets/{CloudStorageWriter-8e781e11.js → CloudStorageWriter-0f4d9a44.js} +8 -8
  7. flowfile/web/static/assets/ColumnActionInput-c44b7aee.css +159 -0
  8. flowfile/web/static/assets/ColumnActionInput-f4189ae0.js +330 -0
  9. flowfile/web/static/assets/{ColumnSelector-8ad68ea9.js → ColumnSelector-e66b33da.js} +1 -1
  10. flowfile/web/static/assets/ContextMenu-49463352.js +9 -0
  11. flowfile/web/static/assets/ContextMenu-dd5f3f25.js +9 -0
  12. flowfile/web/static/assets/ContextMenu-f709b884.js +9 -0
  13. flowfile/web/static/assets/ContextMenu.vue_vue_type_script_setup_true_lang-a1bd6314.js +59 -0
  14. flowfile/web/static/assets/{CrossJoin-03df6938.js → CrossJoin-24694b8f.js} +9 -9
  15. flowfile/web/static/assets/{CustomNode-8479239b.js → CustomNode-569d45ff.js} +27 -20
  16. flowfile/web/static/assets/CustomNode-edb9b939.css +42 -0
  17. flowfile/web/static/assets/{DatabaseConnectionSettings-e91df89a.css → DatabaseConnectionSettings-c20a1e16.css} +22 -20
  18. flowfile/web/static/assets/{DatabaseConnectionSettings-869e3efd.js → DatabaseConnectionSettings-cfc08938.js} +4 -4
  19. flowfile/web/static/assets/{DatabaseReader-36898a00.css → DatabaseReader-5bf8c75b.css} +39 -44
  20. flowfile/web/static/assets/{DatabaseReader-c58b9552.js → DatabaseReader-701feabb.js} +13 -13
  21. flowfile/web/static/assets/{DatabaseView-d26a9140.js → DatabaseView-0482e5b5.js} +2 -2
  22. flowfile/web/static/assets/{DatabaseWriter-4d05ddc7.js → DatabaseWriter-16721989.js} +12 -12
  23. flowfile/web/static/assets/{DatabaseWriter-217a99f1.css → DatabaseWriter-bdcf2c8b.css} +27 -25
  24. flowfile/web/static/assets/{DesignerView-a6d0ee84.css → DesignerView-49abb835.css} +391 -339
  25. flowfile/web/static/assets/{DesignerView-e6f5c0e8.js → DesignerView-f64749fb.js} +220 -118
  26. flowfile/web/static/assets/{DocumentationView-2e78ef1b.js → DocumentationView-61bd2990.js} +3 -3
  27. flowfile/web/static/assets/{DocumentationView-fd46c656.css → DocumentationView-9ea6e871.css} +9 -9
  28. flowfile/web/static/assets/{ExploreData-7b54caca.js → ExploreData-e2735b13.js} +7 -7
  29. flowfile/web/static/assets/{ExternalSource-3fa399b2.js → ExternalSource-2535c3b2.js} +9 -9
  30. flowfile/web/static/assets/{ExternalSource-47ab05a3.css → ExternalSource-7ac7373f.css} +17 -17
  31. flowfile/web/static/assets/{Filter-8cbbdbf3.js → Filter-2cdbc93c.js} +9 -9
  32. flowfile/web/static/assets/{Formula-aac42b1e.js → Formula-fcda3c2c.js} +9 -9
  33. flowfile/web/static/assets/{FuzzyMatch-cd9bbfca.js → FuzzyMatch-f8d3b7d3.js} +10 -10
  34. flowfile/web/static/assets/{GraphSolver-c24dec17.css → GraphSolver-4b4d7db9.css} +4 -4
  35. flowfile/web/static/assets/{GraphSolver-c7e6780e.js → GraphSolver-72eaa695.js} +11 -11
  36. flowfile/web/static/assets/GroupBy-5792782d.css +9 -0
  37. flowfile/web/static/assets/{GroupBy-93c5d22b.js → GroupBy-8aa0598b.js} +9 -9
  38. flowfile/web/static/assets/{Join-a19b2de2.js → Join-e40f0ffa.js} +10 -10
  39. flowfile/web/static/assets/{LoginView-0df4ed0a.js → LoginView-5111c9ae.js} +1 -1
  40. flowfile/web/static/assets/{ManualInput-8d3374b2.js → ManualInput-9b6f3224.js} +6 -6
  41. flowfile/web/static/assets/{MultiSelect-ad1b6243.js → MultiSelect-ef28e19e.js} +2 -2
  42. flowfile/web/static/assets/{MultiSelect.vue_vue_type_script_setup_true_lang-e278950d.js → MultiSelect.vue_vue_type_script_setup_true_lang-83b3bbfd.js} +1 -1
  43. flowfile/web/static/assets/{NodeDesigner-5f53be3f.css → NodeDesigner-94cd4dd3.css} +190 -190
  44. flowfile/web/static/assets/{NodeDesigner-40b647c9.js → NodeDesigner-d2b7ee2b.js} +171 -69
  45. flowfile/web/static/assets/{NumericInput-7100234c.js → NumericInput-1d789794.js} +2 -2
  46. flowfile/web/static/assets/{NumericInput.vue_vue_type_script_setup_true_lang-5130219f.js → NumericInput.vue_vue_type_script_setup_true_lang-7775f83e.js} +1 -1
  47. flowfile/web/static/assets/{Output-35e97000.css → Output-692dd25d.css} +10 -10
  48. flowfile/web/static/assets/{Output-f5efd2aa.js → Output-cefef801.js} +13 -12
  49. flowfile/web/static/assets/{Pivot-d981d23c.js → Pivot-bab1b75b.js} +10 -10
  50. flowfile/web/static/assets/{PivotValidation-63de1f73.js → PivotValidation-e7941f91.js} +1 -1
  51. flowfile/web/static/assets/{PivotValidation-39386e95.js → PivotValidation-fba09336.js} +1 -1
  52. flowfile/web/static/assets/{PolarsCode-f9d69217.js → PolarsCode-740e40fa.js} +7 -7
  53. flowfile/web/static/assets/{PopOver-b22f049e.js → PopOver-862d7e28.js} +1 -1
  54. flowfile/web/static/assets/{Read-aec2e377.js → Read-225cc63f.js} +15 -14
  55. flowfile/web/static/assets/{Read-36e7bd51.css → Read-90f366bc.css} +13 -13
  56. flowfile/web/static/assets/{RecordCount-78ed6845.js → RecordCount-ffc71eca.js} +6 -6
  57. flowfile/web/static/assets/{RecordId-2156e890.js → RecordId-a70bb8df.js} +9 -9
  58. flowfile/web/static/assets/{SQLQueryComponent-48c72f5b.js → SQLQueryComponent-15a421f5.js} +3 -3
  59. flowfile/web/static/assets/SQLQueryComponent-edb90b98.css +29 -0
  60. flowfile/web/static/assets/{Sample-1352ca74.js → Sample-6c26afc7.js} +6 -6
  61. flowfile/web/static/assets/{SecretSelector-22b5ff89.js → SecretSelector-ceed9496.js} +2 -2
  62. flowfile/web/static/assets/{SecretsView-17df66ee.js → SecretsView-214d255a.js} +2 -2
  63. flowfile/web/static/assets/{Select-0aee4c54.js → Select-8fc29999.js} +9 -9
  64. flowfile/web/static/assets/{SettingsSection-f2002a6d.js → SettingsSection-3f70e4c3.js} +1 -1
  65. flowfile/web/static/assets/{SettingsSection-0784e157.js → SettingsSection-83090218.js} +1 -1
  66. flowfile/web/static/assets/{SettingsSection-cd341bb6.js → SettingsSection-9f0d1725.js} +1 -1
  67. flowfile/web/static/assets/SetupView-3fa0aa03.js +160 -0
  68. flowfile/web/static/assets/SetupView-e2da3442.css +230 -0
  69. flowfile/web/static/assets/{SingleSelect-460cc0ea.js → SingleSelect-a4a568cb.js} +2 -2
  70. flowfile/web/static/assets/{SingleSelect.vue_vue_type_script_setup_true_lang-30741bb2.js → SingleSelect.vue_vue_type_script_setup_true_lang-c8ebdd33.js} +1 -1
  71. flowfile/web/static/assets/{SliderInput-5d926864.js → SliderInput-be533e71.js} +1 -1
  72. flowfile/web/static/assets/{Sort-3cdc971b.js → Sort-154dad81.js} +9 -9
  73. flowfile/web/static/assets/Sort-4abb7fae.css +9 -0
  74. flowfile/web/static/assets/{TextInput-a2d0bfbd.js → TextInput-454e2bda.js} +2 -2
  75. flowfile/web/static/assets/{TextInput.vue_vue_type_script_setup_true_lang-abad1ca2.js → TextInput.vue_vue_type_script_setup_true_lang-e86510d0.js} +1 -1
  76. flowfile/web/static/assets/{TextToRows-918945f7.js → TextToRows-ea73433d.js} +9 -9
  77. flowfile/web/static/assets/{ToggleSwitch-f0ef5196.js → ToggleSwitch-9d7b30f1.js} +2 -2
  78. flowfile/web/static/assets/{ToggleSwitch.vue_vue_type_script_setup_true_lang-5605c793.js → ToggleSwitch.vue_vue_type_script_setup_true_lang-00f2580e.js} +1 -1
  79. flowfile/web/static/assets/{UnavailableFields-54d2f518.css → UnavailableFields-394a1f78.css} +13 -13
  80. flowfile/web/static/assets/{UnavailableFields-bdad6144.js → UnavailableFields-b72a2c72.js} +4 -4
  81. flowfile/web/static/assets/{Union-e8ab8c86.js → Union-1e44f263.js} +6 -6
  82. flowfile/web/static/assets/Unique-2b705521.css +3 -0
  83. flowfile/web/static/assets/{Unique-8cd4f976.js → Unique-a3bc6d0a.js} +12 -12
  84. flowfile/web/static/assets/{Unpivot-710a2948.css → Unpivot-b6ad6427.css} +6 -6
  85. flowfile/web/static/assets/{Unpivot-8da14095.js → Unpivot-e27935fc.js} +11 -11
  86. flowfile/web/static/assets/{UnpivotValidation-6f7d89ff.js → UnpivotValidation-72497680.js} +1 -1
  87. flowfile/web/static/assets/{VueGraphicWalker-3fb312e1.js → VueGraphicWalker-d9ab70a3.js} +1 -1
  88. flowfile/web/static/assets/{api-24483f0d.js → api-a2102880.js} +1 -1
  89. flowfile/web/static/assets/{api-8b81fa73.js → api-f75042b0.js} +1 -1
  90. flowfile/web/static/assets/{dropDown-3d8dc5fa.css → dropDown-1d6acbd9.css} +26 -26
  91. flowfile/web/static/assets/{dropDown-ac0fda9d.js → dropDown-2798a109.js} +3 -3
  92. flowfile/web/static/assets/{fullEditor-5497a84a.js → fullEditor-cf7d7d93.js} +3 -3
  93. flowfile/web/static/assets/{fullEditor-a0be62b3.css → fullEditor-fe9f7e18.css} +3 -3
  94. flowfile/web/static/assets/{genericNodeSettings-99014e1d.js → genericNodeSettings-14eac1c3.js} +3 -3
  95. flowfile/web/static/assets/{index-fb6493ae.js → index-387a6f18.js} +175 -86
  96. flowfile/web/static/assets/{index-07dda503.js → index-6b367bb5.js} +1 -1
  97. flowfile/web/static/assets/{index-e6289dd0.css → index-e96ab018.css} +249 -10
  98. flowfile/web/static/assets/{index-3ba44389.js → index-f0a6e5a5.js} +2 -2
  99. flowfile/web/static/assets/nodeInput-ed2ae8d7.js +2 -0
  100. flowfile/web/static/assets/{outputCsv-8f8ba42d.js → outputCsv-3c1757e8.js} +1 -1
  101. flowfile/web/static/assets/{outputExcel-393f4fef.js → outputExcel-686e1f48.js} +1 -1
  102. flowfile/web/static/assets/{outputParquet-07c81f65.js → outputParquet-df28faa7.js} +1 -1
  103. flowfile/web/static/assets/{readCsv-07f6d9ad.js → readCsv-e37eee21.js} +1 -1
  104. flowfile/web/static/assets/{readExcel-ed69bc8f.js → readExcel-a13f14bb.js} +3 -3
  105. flowfile/web/static/assets/{readParquet-e3ed4528.js → readParquet-344cf746.js} +1 -1
  106. flowfile/web/static/assets/{secrets.api-002e7d7e.js → secrets.api-ae198c5c.js} +1 -1
  107. flowfile/web/static/assets/{selectDynamic-80b92899.js → selectDynamic-6b4b0767.js} +3 -3
  108. flowfile/web/static/assets/{vue-codemirror.esm-0965f39f.js → vue-codemirror.esm-31ba0e0b.js} +1 -1
  109. flowfile/web/static/assets/{vue-content-loader.es-c506ad97.js → vue-content-loader.es-4469c8ff.js} +1 -1
  110. flowfile/web/static/index.html +2 -2
  111. {flowfile-0.5.3.dist-info → flowfile-0.5.4.dist-info}/METADATA +2 -2
  112. {flowfile-0.5.3.dist-info → flowfile-0.5.4.dist-info}/RECORD +134 -129
  113. flowfile_core/auth/secrets.py +56 -13
  114. flowfile_core/fileExplorer/funcs.py +26 -4
  115. flowfile_core/flowfile/code_generator/__init__.py +11 -0
  116. flowfile_core/flowfile/code_generator/code_generator.py +347 -2
  117. flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +13 -1
  118. flowfile_core/flowfile/flow_graph.py +2 -0
  119. flowfile_core/flowfile/flow_node/flow_node.py +52 -28
  120. flowfile_core/flowfile/node_designer/__init__.py +4 -0
  121. flowfile_core/flowfile/node_designer/ui_components.py +144 -1
  122. flowfile_core/routes/public.py +43 -1
  123. flowfile_core/schemas/cloud_storage_schemas.py +39 -15
  124. flowfile_core/secret_manager/secret_manager.py +107 -6
  125. flowfile_frame/__init__.py +11 -0
  126. flowfile_frame/database/__init__.py +36 -0
  127. flowfile_frame/database/connection_manager.py +205 -0
  128. flowfile_frame/database/frame_helpers.py +249 -0
  129. flowfile_worker/configs.py +31 -15
  130. flowfile_worker/secrets.py +105 -15
  131. flowfile_worker/spawner.py +10 -6
  132. flowfile/web/static/assets/ContextMenu-26d4dd27.css +0 -26
  133. flowfile/web/static/assets/ContextMenu-31ee57f0.js +0 -41
  134. flowfile/web/static/assets/ContextMenu-69a74055.js +0 -41
  135. flowfile/web/static/assets/ContextMenu-8e2051c6.js +0 -41
  136. flowfile/web/static/assets/ContextMenu-8ec1729e.css +0 -26
  137. flowfile/web/static/assets/ContextMenu-9b310c60.css +0 -26
  138. flowfile/web/static/assets/CustomNode-59e99a86.css +0 -32
  139. flowfile/web/static/assets/GroupBy-be7ac0bf.css +0 -51
  140. flowfile/web/static/assets/SQLQueryComponent-1c2f26b4.css +0 -27
  141. flowfile/web/static/assets/Sort-8a871341.css +0 -51
  142. flowfile/web/static/assets/Unique-9fb2f567.css +0 -51
  143. flowfile/web/static/assets/nodeInput-0eb13f1a.js +0 -2
  144. {flowfile-0.5.3.dist-info → flowfile-0.5.4.dist-info}/WHEEL +0 -0
  145. {flowfile-0.5.3.dist-info → flowfile-0.5.4.dist-info}/entry_points.txt +0 -0
  146. {flowfile-0.5.3.dist-info → flowfile-0.5.4.dist-info}/licenses/LICENSE +0 -0
@@ -1,13 +1,13 @@
1
- import "./nodeInput-0eb13f1a.js";
2
- import { u as useNodeStore } from "./PopOver-b22f049e.js";
3
- import { d as defineComponent, r as ref, A as computed, l as resolveComponent, o as openBlock, c as createElementBlock, b as createBaseVNode, x as createBlock, f as createCommentVNode, m as createVNode, p as withCtx, s as unref, q as createTextVNode, F as Fragment, D as renderList, j as axios, i as _export_sfc } from "./index-fb6493ae.js";
4
- import CsvTableConfig from "./outputCsv-8f8ba42d.js";
5
- import ExcelTableConfig from "./outputExcel-393f4fef.js";
6
- import ParquetTableConfig from "./outputParquet-07c81f65.js";
7
- import { w as warning_filled_default, F as FileBrowser } from "./DesignerView-e6f5c0e8.js";
1
+ import "./nodeInput-ed2ae8d7.js";
2
+ import { u as useNodeStore } from "./PopOver-862d7e28.js";
3
+ import { d as defineComponent, r as ref, B as computed, m as resolveComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, y as createBlock, e as createCommentVNode, p as createVNode, q as withCtx, x as unref, f as createTextVNode, G as Fragment, H as renderList, k as axios, g as _export_sfc } from "./index-387a6f18.js";
4
+ import CsvTableConfig from "./outputCsv-3c1757e8.js";
5
+ import ExcelTableConfig from "./outputExcel-686e1f48.js";
6
+ import ParquetTableConfig from "./outputParquet-df28faa7.js";
7
+ import { w as warning_filled_default, F as FileBrowser } from "./DesignerView-f64749fb.js";
8
8
  import { i as isOutputCsvTable, b as isOutputExcelTable, c as isOutputParquetTable } from "./node.types-2c15bb7e.js";
9
- import "./index-3ba44389.js";
10
- import "./vue-codemirror.esm-0965f39f.js";
9
+ import "./index-f0a6e5a5.js";
10
+ import "./vue-codemirror.esm-31ba0e0b.js";
11
11
  function createDefaultOutputSettings() {
12
12
  return {
13
13
  name: "output.csv",
@@ -310,10 +310,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
310
310
  "allowed-file-types": ["csv", "xlsx", "parquet"],
311
311
  "allow-directory-selection": true,
312
312
  mode: "create",
313
+ "is-visible": showFileSelectionModal.value,
313
314
  onDirectorySelected: handleDirectorySelected,
314
315
  onOverwriteFile: handleFileSelected,
315
316
  onCreateFile: handleFileSelected
316
- })
317
+ }, null, 8, ["is-visible"])
317
318
  ]),
318
319
  _: 1
319
320
  }, 8, ["modelValue"])
@@ -321,8 +322,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
321
322
  };
322
323
  }
323
324
  });
324
- const Output_vue_vue_type_style_index_0_scoped_69fa7434_lang = "";
325
- const Output = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-69fa7434"]]);
325
+ const Output_vue_vue_type_style_index_0_scoped_cd5ad616_lang = "";
326
+ const Output = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-cd5ad616"]]);
326
327
  export {
327
328
  Output as default
328
329
  };
@@ -1,12 +1,12 @@
1
- import { d as defineComponent, r as ref, A as computed, 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-31ee57f0.js";
4
- import SettingsSection from "./SettingsSection-cd341bb6.js";
5
- import PivotValidation from "./PivotValidation-39386e95.js";
6
- import { G as GenericNodeSettings } from "./genericNodeSettings-99014e1d.js";
7
- import "./DesignerView-e6f5c0e8.js";
8
- import "./index-3ba44389.js";
9
- import "./vue-codemirror.esm-0965f39f.js";
1
+ import { d as defineComponent, r as ref, B as computed, F as onMounted, Z as nextTick, l as onUnmounted, m as resolveComponent, o as openBlock, c as createElementBlock, p as createVNode, q as withCtx, a as createBaseVNode, G as Fragment, H as renderList, n as normalizeClass, w as withModifiers, t as toDisplayString, y as createBlock, e as createCommentVNode, g as _export_sfc } from "./index-387a6f18.js";
2
+ import { u as useNodeStore } from "./PopOver-862d7e28.js";
3
+ import "./DesignerView-f64749fb.js";
4
+ import { _ as _sfc_main$1 } from "./ContextMenu.vue_vue_type_script_setup_true_lang-a1bd6314.js";
5
+ import SettingsSection from "./SettingsSection-9f0d1725.js";
6
+ import PivotValidation from "./PivotValidation-fba09336.js";
7
+ import { G as GenericNodeSettings } from "./genericNodeSettings-14eac1c3.js";
8
+ import "./index-f0a6e5a5.js";
9
+ import "./vue-codemirror.esm-31ba0e0b.js";
10
10
  const _hoisted_1 = {
11
11
  key: 0,
12
12
  class: "listbox-wrapper"
@@ -209,7 +209,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
209
209
  }), 128))
210
210
  ])
211
211
  ]),
212
- showContextMenu.value ? (openBlock(), createBlock(ContextMenu, {
212
+ showContextMenu.value ? (openBlock(), createBlock(_sfc_main$1, {
213
213
  key: 0,
214
214
  id: "pivot-context-menu",
215
215
  ref_key: "contextMenuRef",
@@ -1,4 +1,4 @@
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";
1
+ import { d as defineComponent, B as computed, o as openBlock, y as createBlock, q as withCtx, p as createVNode, a as createBaseVNode, x as unref, at as ElIcon, c as createElementBlock, e as createCommentVNode, ax as ElPopover, g as _export_sfc } from "./index-387a6f18.js";
2
2
  const _hoisted_1 = { class: "validation-wrapper" };
3
3
  const _hoisted_2 = {
4
4
  key: 0,
@@ -1,4 +1,4 @@
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";
1
+ import { d as defineComponent, B as computed, o as openBlock, y as createBlock, q as withCtx, p as createVNode, a as createBaseVNode, x as unref, at as ElIcon, c as createElementBlock, e as createCommentVNode, ax as ElPopover, g as _export_sfc } from "./index-387a6f18.js";
2
2
  const _hoisted_1 = { class: "validation-wrapper" };
3
3
  const _hoisted_2 = {
4
4
  key: 0,
@@ -1,10 +1,10 @@
1
- import { C as CodeLoader } from "./vue-content-loader.es-c506ad97.js";
2
- import { u as useNodeStore } from "./PopOver-b22f049e.js";
3
- import { d as defineComponent, r as ref, a2 as shallowRef, B as watch, o as openBlock, c as createElementBlock, m as createVNode, s as unref, t as toDisplayString, f as createCommentVNode, p as withCtx, x as createBlock } from "./index-fb6493ae.js";
4
- import { k as keymap, a as acceptCompletion, i as indentMore, b as indentLess, c as EditorState, d as autocompletion, P as Prec, T } from "./vue-codemirror.esm-0965f39f.js";
5
- import { p as python, o as oneDark } from "./index-3ba44389.js";
6
- import { G as GenericNodeSettings } from "./genericNodeSettings-99014e1d.js";
7
- import "./DesignerView-e6f5c0e8.js";
1
+ import { C as CodeLoader } from "./vue-content-loader.es-4469c8ff.js";
2
+ import { u as useNodeStore } from "./PopOver-862d7e28.js";
3
+ import { d as defineComponent, r as ref, a4 as shallowRef, C as watch, o as openBlock, c as createElementBlock, p as createVNode, x as unref, t as toDisplayString, e as createCommentVNode, q as withCtx, y as createBlock } from "./index-387a6f18.js";
4
+ import { k as keymap, a as acceptCompletion, i as indentMore, b as indentLess, c as EditorState, d as autocompletion, P as Prec, T } from "./vue-codemirror.esm-31ba0e0b.js";
5
+ import { p as python, o as oneDark } from "./index-f0a6e5a5.js";
6
+ import { G as GenericNodeSettings } from "./genericNodeSettings-14eac1c3.js";
7
+ import "./DesignerView-f64749fb.js";
8
8
  const polarsCompletionVals = [
9
9
  // Polars basics
10
10
  { label: "pl", type: "variable", info: "Polars main module" },
@@ -1,4 +1,4 @@
1
- import { y as defineStore, j as axios, a2 as shallowRef, r as ref, d as defineComponent, al as useCssVars, C as onMounted, o as openBlock, c as createElementBlock, b as createBaseVNode, R as renderSlot, x as createBlock, t as toDisplayString, f as createCommentVNode, Z as normalizeStyle, n as normalizeClass, ae as Teleport, X as nextTick, i as _export_sfc } from "./index-fb6493ae.js";
1
+ import { z as defineStore, k as axios, a4 as shallowRef, r as ref, d as defineComponent, an as useCssVars, F as onMounted, o as openBlock, c as createElementBlock, a as createBaseVNode, T as renderSlot, y as createBlock, t as toDisplayString, e as createCommentVNode, a0 as normalizeStyle, n as normalizeClass, ag as Teleport, Z as nextTick, g as _export_sfc } from "./index-387a6f18.js";
2
2
  const FLOW_ID_STORAGE_KEY = "last_flow_id";
3
3
  const useFlowStore = defineStore("flow", {
4
4
  state: () => {
@@ -1,15 +1,15 @@
1
- import { C as CodeLoader } from "./vue-content-loader.es-c506ad97.js";
2
- import ExcelTableConfig from "./readExcel-ed69bc8f.js";
3
- import CsvTableConfig from "./readCsv-07f6d9ad.js";
4
- import ParquetTableConfig from "./readParquet-e3ed4528.js";
5
- import "./nodeInput-0eb13f1a.js";
6
- import { u as useNodeStore } from "./PopOver-b22f049e.js";
7
- import { d as defineComponent, r as ref, A as computed, l as resolveComponent, o as openBlock, c as createElementBlock, b as createBaseVNode, t as toDisplayString, s as unref, x as createBlock, f as createCommentVNode, m as createVNode, p as withCtx, i as _export_sfc } from "./index-fb6493ae.js";
8
- import { F as FileBrowser } from "./DesignerView-e6f5c0e8.js";
1
+ import { C as CodeLoader } from "./vue-content-loader.es-4469c8ff.js";
2
+ import ExcelTableConfig from "./readExcel-a13f14bb.js";
3
+ import CsvTableConfig from "./readCsv-e37eee21.js";
4
+ import ParquetTableConfig from "./readParquet-344cf746.js";
5
+ import "./nodeInput-ed2ae8d7.js";
6
+ import { u as useNodeStore } from "./PopOver-862d7e28.js";
7
+ import { d as defineComponent, r as ref, B as computed, m as resolveComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, t as toDisplayString, x as unref, y as createBlock, e as createCommentVNode, p as createVNode, q as withCtx, g as _export_sfc } from "./index-387a6f18.js";
8
+ import { F as FileBrowser } from "./DesignerView-f64749fb.js";
9
9
  import { d as isInputExcelTable, e as isInputCsvTable, f as isInputParquetTable } from "./node.types-2c15bb7e.js";
10
- import "./dropDown-ac0fda9d.js";
11
- import "./index-3ba44389.js";
12
- import "./vue-codemirror.esm-0965f39f.js";
10
+ import "./dropDown-2798a109.js";
11
+ import "./index-f0a6e5a5.js";
12
+ import "./vue-codemirror.esm-31ba0e0b.js";
13
13
  const _hoisted_1 = {
14
14
  key: 0,
15
15
  class: "listbox-wrapper"
@@ -205,8 +205,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
205
205
  createVNode(FileBrowser, {
206
206
  "allowed-file-types": ["csv", "txt", "parquet", "xlsx"],
207
207
  mode: "open",
208
+ "is-visible": modalVisibleForOpen.value,
208
209
  onFileSelected: handleFileChange
209
- })
210
+ }, null, 8, ["is-visible"])
210
211
  ]),
211
212
  _: 1
212
213
  }, 8, ["modelValue"])
@@ -214,8 +215,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
214
215
  };
215
216
  }
216
217
  });
217
- const Read_vue_vue_type_style_index_0_scoped_91a12890_lang = "";
218
- const Read = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-91a12890"]]);
218
+ const Read_vue_vue_type_style_index_0_scoped_6b4a9868_lang = "";
219
+ const Read = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6b4a9868"]]);
219
220
  export {
220
221
  Read as default
221
222
  };
@@ -1,5 +1,5 @@
1
1
 
2
- .context-menu[data-v-91a12890] {
2
+ .context-menu[data-v-6b4a9868] {
3
3
  position: fixed;
4
4
  z-index: 1000;
5
5
  border: 1px solid #ccc;
@@ -8,7 +8,7 @@
8
8
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
9
9
  border-radius: 4px;
10
10
  }
11
- .context-menu button[data-v-91a12890] {
11
+ .context-menu button[data-v-6b4a9868] {
12
12
  display: block;
13
13
  background: none;
14
14
  border: none;
@@ -17,17 +17,17 @@
17
17
  width: 100%;
18
18
  cursor: pointer;
19
19
  }
20
- .context-menu button[data-v-91a12890]:hover {
21
- background-color: #f0f0f0;
20
+ .context-menu button[data-v-6b4a9868]:hover {
21
+ background-color: var(--color-background-secondary);
22
22
  }
23
- .file-upload-wrapper[data-v-91a12890] {
23
+ .file-upload-wrapper[data-v-6b4a9868] {
24
24
  position: relative;
25
25
  width: 100%;
26
26
  }
27
- .file-upload-label[data-v-91a12890] {
27
+ .file-upload-label[data-v-6b4a9868] {
28
28
  display: flex;
29
29
  align-items: center;
30
- background-color: #f5f5f5;
30
+ background-color: var(--color-background-secondary);
31
31
  border: 1px solid #ddd;
32
32
  border-radius: 4px;
33
33
  padding: 10px 15px;
@@ -37,18 +37,18 @@
37
37
  cursor: pointer;
38
38
  transition: background-color 0.3s ease;
39
39
  }
40
- .file-upload-label[data-v-91a12890]:hover {
41
- background-color: #e4e4e4;
40
+ .file-upload-label[data-v-6b4a9868]:hover {
41
+ background-color: var(--color-background-primary);
42
42
  }
43
- .file-icon[data-v-91a12890] {
43
+ .file-icon[data-v-6b4a9868] {
44
44
  margin-right: 10px;
45
45
  font-size: 20px;
46
46
  }
47
- .file-label-text[data-v-91a12890] {
47
+ .file-label-text[data-v-6b4a9868] {
48
48
  flex-grow: 1;
49
49
  margin-left: 10px;
50
50
  }
51
- input[type="text"][data-v-91a12890] {
51
+ input[type="text"][data-v-6b4a9868] {
52
52
  width: 100%;
53
53
  padding: 8px;
54
54
  border: 1px solid #ddd;
@@ -56,7 +56,7 @@ input[type="text"][data-v-91a12890] {
56
56
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
57
57
  transition: border-color 0.2s ease;
58
58
  }
59
- input[type="text"][data-v-91a12890]:focus {
59
+ input[type="text"][data-v-6b4a9868]:focus {
60
60
  border-color: #3498db;
61
61
  outline: none;
62
62
  }
@@ -1,9 +1,9 @@
1
- import { u as useNodeStore } from "./PopOver-b22f049e.js";
2
- import { d as defineComponent, r as ref, C as onMounted, X as nextTick, o as openBlock, c as createElementBlock, m as createVNode, p as withCtx, b as createBaseVNode, f as createCommentVNode } from "./index-fb6493ae.js";
3
- import { G as GenericNodeSettings } from "./genericNodeSettings-99014e1d.js";
4
- import "./DesignerView-e6f5c0e8.js";
5
- import "./index-3ba44389.js";
6
- import "./vue-codemirror.esm-0965f39f.js";
1
+ import { u as useNodeStore } from "./PopOver-862d7e28.js";
2
+ import { d as defineComponent, r as ref, F as onMounted, Z as nextTick, o as openBlock, c as createElementBlock, p as createVNode, q as withCtx, a as createBaseVNode, e as createCommentVNode } from "./index-387a6f18.js";
3
+ import { G as GenericNodeSettings } from "./genericNodeSettings-14eac1c3.js";
4
+ import "./DesignerView-f64749fb.js";
5
+ import "./index-f0a6e5a5.js";
6
+ import "./vue-codemirror.esm-31ba0e0b.js";
7
7
  const _hoisted_1 = {
8
8
  key: 0,
9
9
  class: "listbox-wrapper"
@@ -1,11 +1,11 @@
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, q as createTextVNode, g as withDirectives, v as vModelText, F as Fragment, D as renderList, n as normalizeClass, w as withModifiers, t as toDisplayString, x as createBlock, f as createCommentVNode } from "./index-fb6493ae.js";
2
- import { u as useNodeStore } from "./PopOver-b22f049e.js";
3
- import ContextMenu from "./ContextMenu-31ee57f0.js";
4
- import SettingsSection from "./SettingsSection-cd341bb6.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";
1
+ import { d as defineComponent, r as ref, F as onMounted, Z as nextTick, l as onUnmounted, m as resolveComponent, o as openBlock, c as createElementBlock, p as createVNode, q as withCtx, a as createBaseVNode, f as createTextVNode, i as withDirectives, v as vModelText, G as Fragment, H as renderList, n as normalizeClass, w as withModifiers, t as toDisplayString, y as createBlock, e as createCommentVNode } from "./index-387a6f18.js";
2
+ import { u as useNodeStore } from "./PopOver-862d7e28.js";
3
+ import "./DesignerView-f64749fb.js";
4
+ import { _ as _sfc_main$1 } from "./ContextMenu.vue_vue_type_script_setup_true_lang-a1bd6314.js";
5
+ import SettingsSection from "./SettingsSection-9f0d1725.js";
6
+ import { G as GenericNodeSettings } from "./genericNodeSettings-14eac1c3.js";
7
+ import "./index-f0a6e5a5.js";
8
+ import "./vue-codemirror.esm-31ba0e0b.js";
9
9
  const _hoisted_1 = {
10
10
  key: 0,
11
11
  class: "listbox-wrapper"
@@ -236,7 +236,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
236
236
  }, toDisplayString(col_schema.name) + " (" + toDisplayString(col_schema.data_type) + ") ", 43, _hoisted_7);
237
237
  }), 128))
238
238
  ]),
239
- showContextMenu.value ? (openBlock(), createBlock(ContextMenu, {
239
+ showContextMenu.value ? (openBlock(), createBlock(_sfc_main$1, {
240
240
  key: 0,
241
241
  id: "record-id-menu",
242
242
  ref_key: "contextMenuRef",
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, o as openBlock, c as createElementBlock, b as createBaseVNode, i as _export_sfc } from "./index-fb6493ae.js";
1
+ import { d as defineComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, g as _export_sfc } from "./index-387a6f18.js";
2
2
  const _hoisted_1 = { class: "query-section" };
3
3
  const _hoisted_2 = { class: "form-group" };
4
4
  const _hoisted_3 = ["value"];
@@ -31,8 +31,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
31
31
  };
32
32
  }
33
33
  });
34
- const SQLQueryComponent_vue_vue_type_style_index_0_scoped_3bdbfe3d_lang = "";
35
- const SqlQueryComponent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3bdbfe3d"]]);
34
+ const SQLQueryComponent_vue_vue_type_style_index_0_scoped_10f7cdfb_lang = "";
35
+ const SqlQueryComponent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-10f7cdfb"]]);
36
36
  export {
37
37
  SqlQueryComponent as default
38
38
  };
@@ -0,0 +1,29 @@
1
+
2
+ .query-section[data-v-10f7cdfb] {
3
+ margin-top: 1rem;
4
+ padding-top: 1rem;
5
+ border-top: 1px solid var(--color-border-light);
6
+ }
7
+ .section-subtitle[data-v-10f7cdfb] {
8
+ margin: 0 0 0.75rem 0;
9
+ font-size: 0.95rem;
10
+ font-weight: 600;
11
+ color: var(--color-text-secondary);
12
+ }
13
+ .form-group[data-v-10f7cdfb] {
14
+ margin-bottom: 1rem;
15
+ }
16
+ .form-control[data-v-10f7cdfb] {
17
+ width: 100%;
18
+ padding: 0.5rem;
19
+ border: 1px solid var(--color-border-primary);
20
+ border-radius: 4px;
21
+ font-size: 0.875rem;
22
+ background-color: var(--color-background-primary);
23
+ color: var(--color-text-primary);
24
+ }
25
+ .textarea[data-v-10f7cdfb] {
26
+ resize: vertical;
27
+ min-height: 100px;
28
+ font-family: monospace;
29
+ }
@@ -1,9 +1,9 @@
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, q as createTextVNode, g as withDirectives, v as vModelText, f as createCommentVNode } from "./index-fb6493ae.js";
2
- import { u as useNodeStore } from "./PopOver-b22f049e.js";
3
- import { G as GenericNodeSettings } from "./genericNodeSettings-99014e1d.js";
4
- import "./DesignerView-e6f5c0e8.js";
5
- import "./index-3ba44389.js";
6
- import "./vue-codemirror.esm-0965f39f.js";
1
+ import { d as defineComponent, r as ref, F as onMounted, Z as nextTick, l as onUnmounted, m as resolveComponent, o as openBlock, c as createElementBlock, p as createVNode, q as withCtx, a as createBaseVNode, f as createTextVNode, i as withDirectives, v as vModelText, e as createCommentVNode } from "./index-387a6f18.js";
2
+ import { u as useNodeStore } from "./PopOver-862d7e28.js";
3
+ import { G as GenericNodeSettings } from "./genericNodeSettings-14eac1c3.js";
4
+ import "./DesignerView-f64749fb.js";
5
+ import "./index-f0a6e5a5.js";
6
+ import "./vue-codemirror.esm-31ba0e0b.js";
7
7
  const _hoisted_1 = {
8
8
  key: 0,
9
9
  class: "listbox-wrapper"
@@ -1,5 +1,5 @@
1
- import { d as defineComponent, r as ref, A as computed, C as onMounted, l as resolveComponent, o as openBlock, c as createElementBlock, b as createBaseVNode, q as createTextVNode, t as toDisplayString, f as createCommentVNode, m as createVNode, p as withCtx, F as Fragment, D as renderList, x as createBlock, i as _export_sfc } from "./index-fb6493ae.js";
2
- import { S as SecretsApi } from "./secrets.api-002e7d7e.js";
1
+ import { d as defineComponent, r as ref, B as computed, F as onMounted, m as resolveComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, f as createTextVNode, t as toDisplayString, e as createCommentVNode, p as createVNode, q as withCtx, G as Fragment, H as renderList, y as createBlock, g as _export_sfc } from "./index-387a6f18.js";
2
+ import { S as SecretsApi } from "./secrets.api-ae198c5c.js";
3
3
  const _hoisted_1 = { class: "component-container" };
4
4
  const _hoisted_2 = { class: "listbox-subtitle" };
5
5
  const _hoisted_3 = {
@@ -1,5 +1,5 @@
1
- import { r as ref, A as computed, d as defineComponent, C as onMounted, c as createElementBlock, b as createBaseVNode, w as withModifiers, g as withDirectives, v as vModelText, h as vModelDynamic, n as normalizeClass, q as createTextVNode, t as toDisplayString, s as unref, U as isRef, f as createCommentVNode, F as Fragment, D as renderList, o as openBlock, i as _export_sfc } from "./index-fb6493ae.js";
2
- import { f as fetchSecretsApi, a as addSecretApi, g as getSecretValueApi, d as deleteSecretApi } from "./secrets.api-002e7d7e.js";
1
+ import { r as ref, B as computed, d as defineComponent, F as onMounted, c as createElementBlock, a as createBaseVNode, w as withModifiers, i as withDirectives, v as vModelText, j as vModelDynamic, n as normalizeClass, f as createTextVNode, t as toDisplayString, x as unref, W as isRef, e as createCommentVNode, G as Fragment, H as renderList, o as openBlock, g as _export_sfc } from "./index-387a6f18.js";
2
+ import { f as fetchSecretsApi, a as addSecretApi, g as getSecretValueApi, d as deleteSecretApi } from "./secrets.api-ae198c5c.js";
3
3
  function useSecretManager() {
4
4
  const secrets = ref([]);
5
5
  const isLoading = ref(true);
@@ -1,12 +1,12 @@
1
- import { r as ref, d as defineComponent, o as openBlock, c as createElementBlock, m as createVNode, p as withCtx, x as createBlock, s as unref } from "./index-fb6493ae.js";
2
- import { C as CodeLoader } from "./vue-content-loader.es-c506ad97.js";
3
- import { u as useNodeStore } from "./PopOver-b22f049e.js";
4
- import { s as selectDynamic } from "./selectDynamic-80b92899.js";
5
- import { G as GenericNodeSettings } from "./genericNodeSettings-99014e1d.js";
6
- import "./UnavailableFields-bdad6144.js";
7
- import "./DesignerView-e6f5c0e8.js";
8
- import "./index-3ba44389.js";
9
- import "./vue-codemirror.esm-0965f39f.js";
1
+ import { r as ref, d as defineComponent, o as openBlock, c as createElementBlock, p as createVNode, q as withCtx, y as createBlock, x as unref } from "./index-387a6f18.js";
2
+ import { C as CodeLoader } from "./vue-content-loader.es-4469c8ff.js";
3
+ import { u as useNodeStore } from "./PopOver-862d7e28.js";
4
+ import { s as selectDynamic } from "./selectDynamic-6b4b0767.js";
5
+ import { G as GenericNodeSettings } from "./genericNodeSettings-14eac1c3.js";
6
+ import "./UnavailableFields-b72a2c72.js";
7
+ import "./DesignerView-f64749fb.js";
8
+ import "./index-f0a6e5a5.js";
9
+ import "./vue-codemirror.esm-31ba0e0b.js";
10
10
  const createSelectInput = (column_name, data_type = void 0, position = void 0, original_position = void 0) => {
11
11
  const selectInput = {
12
12
  old_name: column_name,
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, o as openBlock, c as createElementBlock, b as createBaseVNode, t as toDisplayString, q as createTextVNode, f as createCommentVNode, i as _export_sfc } from "./index-fb6493ae.js";
1
+ import { d as defineComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, t as toDisplayString, f as createTextVNode, e as createCommentVNode, g as _export_sfc } from "./index-387a6f18.js";
2
2
  const _hoisted_1 = { class: "listbox-wrapper" };
3
3
  const _hoisted_2 = { class: "listbox-row" };
4
4
  const _hoisted_3 = { class: "listbox-subtitle" };
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, o as openBlock, c as createElementBlock, b as createBaseVNode, Z as normalizeStyle, t as toDisplayString, F as Fragment, D as renderList, q as createTextVNode, f as createCommentVNode, i as _export_sfc } from "./index-fb6493ae.js";
1
+ import { d as defineComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, a0 as normalizeStyle, t as toDisplayString, G as Fragment, H as renderList, f as createTextVNode, e as createCommentVNode, g as _export_sfc } from "./index-387a6f18.js";
2
2
  const _hoisted_1 = { class: "listbox-wrapper" };
3
3
  const _hoisted_2 = { class: "listbox-row" };
4
4
  const _hoisted_3 = { class: "items-container" };
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, o as openBlock, c as createElementBlock, b as createBaseVNode, t as toDisplayString, F as Fragment, D as renderList, q as createTextVNode, f as createCommentVNode, i as _export_sfc } from "./index-fb6493ae.js";
1
+ import { d as defineComponent, o as openBlock, c as createElementBlock, a as createBaseVNode, t as toDisplayString, G as Fragment, H as renderList, f as createTextVNode, e as createCommentVNode, g as _export_sfc } from "./index-387a6f18.js";
2
2
  const _hoisted_1 = { class: "listbox-wrapper" };
3
3
  const _hoisted_2 = { class: "listbox-row" };
4
4
  const _hoisted_3 = { class: "listbox-subtitle" };
@@ -0,0 +1,160 @@
1
+ import { d as defineComponent, r as ref, c as createElementBlock, a as createBaseVNode, b as createStaticVNode, t as toDisplayString, e as createCommentVNode, n as normalizeClass, f as createTextVNode, s as setupService, o as openBlock, _ as _imports_1, g as _export_sfc } from "./index-387a6f18.js";
2
+ const _hoisted_1 = { class: "setup-container" };
3
+ const _hoisted_2 = { class: "setup-card" };
4
+ const _hoisted_3 = { class: "setup-content" };
5
+ const _hoisted_4 = {
6
+ key: 0,
7
+ class: "error-message"
8
+ };
9
+ const _hoisted_5 = {
10
+ key: 1,
11
+ class: "generate-section"
12
+ };
13
+ const _hoisted_6 = ["disabled"];
14
+ const _hoisted_7 = {
15
+ key: 0,
16
+ class: "loading-spinner"
17
+ };
18
+ const _hoisted_8 = {
19
+ key: 1,
20
+ class: "fa-solid fa-key"
21
+ };
22
+ const _hoisted_9 = {
23
+ key: 2,
24
+ class: "key-result"
25
+ };
26
+ const _hoisted_10 = { class: "key-display" };
27
+ const _hoisted_11 = { class: "key-value-wrapper" };
28
+ const _hoisted_12 = { class: "key-value" };
29
+ const _hoisted_13 = { class: "instructions-box" };
30
+ const _hoisted_14 = { class: "instruction-content" };
31
+ const _hoisted_15 = { class: "code-block" };
32
+ const _sfc_main = /* @__PURE__ */ defineComponent({
33
+ __name: "SetupView",
34
+ setup(__props) {
35
+ const isGenerating = ref(false);
36
+ const error = ref("");
37
+ const generatedKey = ref(null);
38
+ const copied = ref(false);
39
+ const copiedEnv = ref(false);
40
+ const handleGenerateKey = async () => {
41
+ isGenerating.value = true;
42
+ error.value = "";
43
+ try {
44
+ generatedKey.value = await setupService.generateKey();
45
+ } catch (err) {
46
+ error.value = "Failed to generate key. Please check if the backend is running.";
47
+ console.error("Generate key error:", err);
48
+ } finally {
49
+ isGenerating.value = false;
50
+ }
51
+ };
52
+ const copyToClipboard = async (text, flagRef) => {
53
+ try {
54
+ await navigator.clipboard.writeText(text);
55
+ flagRef.value = true;
56
+ setTimeout(() => {
57
+ flagRef.value = false;
58
+ }, 2e3);
59
+ } catch (err) {
60
+ console.error("Failed to copy:", err);
61
+ }
62
+ };
63
+ const copyKey = () => {
64
+ if (generatedKey.value) {
65
+ copyToClipboard(generatedKey.value.key, copied);
66
+ }
67
+ };
68
+ const copyEnvVar = () => {
69
+ if (generatedKey.value) {
70
+ copyToClipboard(`FLOWFILE_MASTER_KEY="${generatedKey.value.key}"`, copiedEnv);
71
+ }
72
+ };
73
+ return (_ctx, _cache) => {
74
+ return openBlock(), createElementBlock("div", _hoisted_1, [
75
+ createBaseVNode("div", _hoisted_2, [
76
+ _cache[7] || (_cache[7] = createStaticVNode('<div class="setup-header" data-v-04875383><div class="logo-container" data-v-04875383><img src="' + _imports_1 + '" alt="Flowfile" class="logo" data-v-04875383></div><h1 class="setup-title" data-v-04875383>Initial Setup Required</h1><p class="setup-subtitle" data-v-04875383>Configure your master encryption key to get started</p></div>', 1)),
77
+ createBaseVNode("div", _hoisted_3, [
78
+ _cache[6] || (_cache[6] = createBaseVNode("div", { class: "info-box" }, [
79
+ createBaseVNode("i", { class: "fa-solid fa-shield-halved info-icon" }),
80
+ createBaseVNode("div", { class: "info-text" }, [
81
+ createBaseVNode("h3", null, "What is the Master Key?"),
82
+ createBaseVNode("p", null, " The master key encrypts all secrets stored in Flowfile (API keys, passwords, tokens). It must be configured before the application can be used. ")
83
+ ])
84
+ ], -1)),
85
+ error.value ? (openBlock(), createElementBlock("div", _hoisted_4, [
86
+ _cache[0] || (_cache[0] = createBaseVNode("i", { class: "fa-solid fa-circle-exclamation" }, null, -1)),
87
+ createBaseVNode("span", null, toDisplayString(error.value), 1)
88
+ ])) : createCommentVNode("", true),
89
+ !generatedKey.value ? (openBlock(), createElementBlock("div", _hoisted_5, [
90
+ createBaseVNode("button", {
91
+ class: "btn btn-primary generate-button",
92
+ disabled: isGenerating.value,
93
+ onClick: handleGenerateKey
94
+ }, [
95
+ isGenerating.value ? (openBlock(), createElementBlock("span", _hoisted_7)) : (openBlock(), createElementBlock("i", _hoisted_8)),
96
+ createBaseVNode("span", null, toDisplayString(isGenerating.value ? "Generating..." : "Generate Master Key"), 1)
97
+ ], 8, _hoisted_6)
98
+ ])) : (openBlock(), createElementBlock("div", _hoisted_9, [
99
+ createBaseVNode("div", _hoisted_10, [
100
+ _cache[1] || (_cache[1] = createBaseVNode("label", { class: "key-label" }, "Your Generated Master Key:", -1)),
101
+ createBaseVNode("div", _hoisted_11, [
102
+ createBaseVNode("code", _hoisted_12, toDisplayString(generatedKey.value.key), 1),
103
+ createBaseVNode("button", {
104
+ class: "copy-button",
105
+ title: "Copy to clipboard",
106
+ onClick: copyKey
107
+ }, [
108
+ createBaseVNode("i", {
109
+ class: normalizeClass(copied.value ? "fa-solid fa-check" : "fa-solid fa-copy")
110
+ }, null, 2)
111
+ ])
112
+ ])
113
+ ]),
114
+ createBaseVNode("div", _hoisted_13, [
115
+ _cache[4] || (_cache[4] = createBaseVNode("h4", null, "Configuration Instructions:", -1)),
116
+ createBaseVNode("div", _hoisted_14, [
117
+ _cache[2] || (_cache[2] = createBaseVNode("p", null, [
118
+ createTextVNode("Add this line to a "),
119
+ createBaseVNode("code", null, ".env"),
120
+ createTextVNode(" file in your project root:")
121
+ ], -1)),
122
+ createBaseVNode("div", _hoisted_15, [
123
+ createBaseVNode("code", null, 'FLOWFILE_MASTER_KEY="' + toDisplayString(generatedKey.value.key) + '"', 1),
124
+ createBaseVNode("button", {
125
+ class: "copy-button small",
126
+ onClick: copyEnvVar
127
+ }, [
128
+ createBaseVNode("i", {
129
+ class: normalizeClass(copiedEnv.value ? "fa-solid fa-check" : "fa-solid fa-copy")
130
+ }, null, 2)
131
+ ])
132
+ ]),
133
+ _cache[3] || (_cache[3] = createBaseVNode("p", { class: "hint" }, [
134
+ createTextVNode(" Then restart: "),
135
+ createBaseVNode("code", null, "docker-compose down && docker-compose up")
136
+ ], -1))
137
+ ])
138
+ ]),
139
+ _cache[5] || (_cache[5] = createBaseVNode("div", { class: "warning-box" }, [
140
+ createBaseVNode("i", { class: "fa-solid fa-triangle-exclamation" }),
141
+ createBaseVNode("div", null, [
142
+ createBaseVNode("strong", null, "Important:"),
143
+ createTextVNode(" Back up this key securely. If lost, all stored secrets become unrecoverable. ")
144
+ ])
145
+ ], -1))
146
+ ]))
147
+ ]),
148
+ _cache[8] || (_cache[8] = createBaseVNode("div", { class: "setup-footer" }, [
149
+ createBaseVNode("p", { class: "footer-text" }, "Flowfile - Visual Data Processing")
150
+ ], -1))
151
+ ])
152
+ ]);
153
+ };
154
+ }
155
+ });
156
+ const SetupView_vue_vue_type_style_index_0_scoped_04875383_lang = "";
157
+ const SetupView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-04875383"]]);
158
+ export {
159
+ SetupView as default
160
+ };